@font-face{font-family:StudioSans;src:url('../assets/StudioSans.ttf')}@font-face{font-family:StudioSerif;src:url('../assets/StudioSerif.ttf')}
body.studio{--paper:#eddda2;--card:#fff9eb;--text:#632c3b;--text-2:#876552;--text-3:#876552;--hot:#632c3b;--tint:#e6d2a5;--edge:#632c3b35;--serif:StudioSerif,Georgia,serif;--sans:StudioSans,Arial,sans-serif;background:var(--paper)}
.studio .press{height:100svh;min-height:710px;overflow:hidden}
.studio .press::before{inset:20px;border:0;border-top:1px solid var(--edge)}
.studio .press-brand{top:29px;left:28px;font-size:57px;line-height:.69;letter-spacing:-.09em}
.studio .press-brand>span+span{margin-top:9px}.studio .press-brand small{font:8px Consolas,monospace;letter-spacing:.12em;margin-top:16px}.studio .brand-dot{font-size:11px;margin-left:6px}
.studio .press-edition{left:179px;top:29px;gap:5px;font-size:8px;letter-spacing:.12em}.studio .press-edition strong{font:700 23px/1.35 var(--serif);letter-spacing:-.06em}.studio .press-edition br{display:none}
.studio .press-links{top:31px;right:30px;gap:15px;font-size:11px}.studio .begin-composing{font-size:11px}
.studio .print-station{top:78px;right:28px;width:auto;text-align:left;z-index:13}.studio .output-buttons{display:flex;align-items:center;gap:8px}.studio #plan-pill{font:9px Consolas;margin:5px 0;text-align:right}.studio .btn{font-size:11px;min-height:34px;padding:6px 10px}.studio .btn.export{background:var(--text);color:var(--card);font-size:13px}.studio .export-options{top:40px;bottom:auto;right:0;width:220px}.studio .export-options .btn{width:100%;text-align:left;justify-content:flex-start;white-space:normal}
.studio .proof,.studio .press[data-view=edit] .proof{top:145px;left:360px;right:255px;bottom:130px;transition:none;min-width:0}
.studio .stage{height:100%;overflow:visible}.studio .proof-folio{font:9px Consolas;gap:8px;padding-top:9px}.studio .proof-folio #meta{gap:9px;font-size:9px}.studio .canvas{inset:39px 0 52px;overflow:hidden;padding:0}.studio .impression{transform:none!important;height:100%;max-width:100%;padding:20px;background:#fff9eb;box-shadow:7px 8px 0 #632c3b09;aspect-ratio:1}.studio .art{max-height:100%;max-width:100%;object-fit:contain;outline:none}.studio .paper-caption{font-size:6px}.studio .proof-tools{bottom:7px;gap:5px}.studio .pads button,.studio .zoom-tools button{font-size:9px;padding:4px 6px}.studio .proof-edit,.studio .press[data-view=edit] .proof-edit{display:flex;left:auto;right:0;bottom:-31px;width:auto;flex-direction:row;gap:20px}.studio .proof-edit .btn,.studio .proof-edit .text-button{font-size:10px;padding:2px}
.studio .compositor{top:153px;bottom:130px;left:28px;right:auto;width:302px;height:auto;padding:0;background:transparent;border:0;box-shadow:none;animation:drawer-in .22s ease;z-index:8;display:flex;flex-direction:column}.studio .compositor-head{height:30px;flex:none;border-bottom:1px solid var(--text);font-size:11px}.studio .compositor-head button{padding:3px;font-size:9px}.studio .panel-body,.studio .panel-body[data-tool=content]{display:block;height:auto;flex:1;padding:17px 10px 20px 0;overflow:auto;scrollbar-width:thin}.studio .panel-body>.block{min-width:0;margin:0 0 22px}.studio .panel-body .block>h2{font:700 15px var(--serif);margin-bottom:9px}.studio .panel-body .block>p{font-size:10px;line-height:1.7}.studio .panel-body textarea.field{height:105px;min-height:90px;font-size:12px;line-height:1.8;padding:9px;border:1px solid var(--edge);background:#fff9eb40}.studio .field{font-size:12px}.studio .field:focus{outline:1px solid var(--text)}.studio .sample-links{flex-wrap:wrap;gap:7px}.studio .sample-links button{font-size:10px}.studio .advanced{margin:17px 0 20px}.studio .advanced>summary{font-size:12px}.studio .hint{font-size:10px;line-height:1.7}.studio .row{margin:14px 0}.studio .row>div>span{font-size:12px}.studio .switch{gap:1px;flex-wrap:wrap}.studio .switch button{font-size:11px;min-height:31px;flex:1 1 auto;padding:5px}.studio .create-actions{height:auto;min-height:60px;flex:none;flex-direction:column;align-items:stretch;gap:5px;padding-top:10px}.studio .create-actions .btn{min-width:0;font-size:13px}.studio .create-actions p{font-size:9px}
.studio .preset-grid{min-width:0;grid-template-columns:repeat(4,1fr);gap:6px}.studio .preset-grid button{min-height:63px;border-bottom:1px solid var(--edge)}.studio .preset-grid img{width:33px;height:33px}.studio .preset-grid em{font-size:10px}.studio .emoji-grid{min-width:0;grid-template-columns:repeat(5,1fr);gap:5px}.studio .emoji-grid button{font-size:24px}.studio .font-list{max-height:270px;overflow:auto;display:grid;grid-template-columns:1fr;gap:0}.studio .font-list label{min-width:0;padding:9px 4px;border-bottom:1px solid var(--edge)}.studio .font-list b{font-size:12px}.studio .palette-grid{min-width:0;grid-template-columns:repeat(2,1fr)}.studio .dropzone{min-width:0;min-height:115px}
.studio-inspector{position:absolute;right:28px;top:156px;width:199px;bottom:143px;z-index:10;border-top:1px solid var(--text);padding-top:12px}.eyebrow{font:8px Consolas;letter-spacing:.14em}.studio-inspector h2{font:700 40px/1.25 var(--serif);letter-spacing:-.08em;margin:22px 0}.studio-inspector h2 em{font-style:normal}.studio-inspector>p{font-size:11px;line-height:1.9}.inspector-foot{position:absolute;bottom:0;font:8px/2.5 Consolas;letter-spacing:.06em}.inspector-foot a{font:11px var(--sans);letter-spacing:0}
.studio .word-pop{position:static!important;inset:auto!important;width:100%;max-width:100%;padding:0;background:none;border:0;box-shadow:none;transform:none;animation:none}.studio .word-pop header{border-bottom:1px solid var(--edge);padding:0 0 12px;gap:5px}.studio .word-pop select{background:transparent;font:700 24px var(--serif);max-width:145px;border:0;color:var(--text);min-width:0}.studio .word-pop header small{font:11px Consolas;white-space:nowrap}.studio .word-pop .swatches{margin:20px 0;gap:8px;flex-wrap:wrap}.studio .word-pop .acts{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.studio .word-pop .acts button{border:1px solid var(--edge);padding:10px 7px;font-size:12px}.studio .word-pop .acts button:hover{background:var(--text);color:var(--card)}
#selection-wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9;overflow:visible}#selection-wire rect,#selection-wire path{fill:none;stroke:#632c3b;stroke-width:1}#selection-wire path{stroke-dasharray:3 3;opacity:.65}
.studio .type-dock{left:28px;right:28px;bottom:25px;background:var(--text);color:var(--card);padding:12px 20px;gap:15px;height:75px;z-index:15}.studio .type-dock button{color:var(--card);gap:12px;min-height:0;padding:0 10px;border-right:1px solid #fff9eb30;align-items:center}.studio .type-dock button:last-child{border:0}.studio .type-dock .tool-number{font:italic 39px Georgia}.studio .type-dock .tool-name{font:14px var(--serif)}.studio .type-dock button.on{color:#f4d278}.studio .type-dock button::after{font-size:13px;align-self:center}.studio .type-dock button:hover{background:#fff9eb12}
.analysis-title{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.analysis-title h2{font:700 15px var(--serif);margin:0}.analysis-title button{font-size:10px;border:0;background:none;border-bottom:1px solid var(--text);padding:3px}.material-table{max-height:255px;overflow:auto;border-top:1px solid var(--text);margin-top:10px}.material-row{display:grid;grid-template-columns:27px 1fr 35px 57px;gap:4px;align-items:center;min-height:35px;border-bottom:1px solid var(--edge);font-size:12px}.material-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-row>span:nth-child(3){text-align:center;font:11px Consolas}.material-row input[type=number]{width:55px;background:transparent;border:1px solid var(--edge);font:12px Consolas;padding:4px}.material-row input[type=checkbox]{accent-color:var(--text)}.material-heading{font:9px var(--sans);position:sticky;top:0;background:var(--paper)}.excluded>span{text-decoration:line-through;opacity:.5}#analysis-status{font-size:10px;line-height:1.7;margin:9px 0}#material-add{display:flex;gap:9px;margin-top:12px}#material-add input{width:0;flex:1;min-width:0;border:0;border-bottom:1px solid var(--edge);background:none;font-size:12px;padding:6px}#material-add button{border:0;background:var(--text);color:var(--card);padding:6px 10px;font-size:11px}
.embed-options{position:relative;font-size:10px}.embed-options>summary{cursor:pointer}.embed-options[open]{background:var(--card)}.embed-options label,.embed-options>a{display:block;padding:10px}.embed-options[open]{position:absolute;right:0;top:41px;min-width:190px;border:1px solid var(--text);z-index:20}.result-details{position:relative;cursor:pointer}.result-details>span{position:absolute;top:25px;right:0;width:260px;background:var(--card);padding:13px;border:1px solid var(--edge);z-index:20;font-size:11px}.studio .stage-note strong{font-size:21px}.studio .stage-note>span{font-size:11px}.studio .toast{bottom:110px}.studio .read{padding-top:45px}
@keyframes drawer-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1700px){.studio .proof,.studio .press[data-view=edit] .proof{left:400px;right:310px}.studio .compositor{width:325px;left:35px}.studio-inspector{width:230px;right:35px}.studio-inspector h2{font-size:49px}}
@media(max-width:1100px){.studio .proof,.studio .press[data-view=edit] .proof{left:335px;right:215px}.studio .compositor{width:275px}.studio-inspector{width:165px}.studio-inspector h2{font-size:33px}.studio .press-edition{display:none}.studio .proof-folio>span{display:none}.studio .type-dock .tool-number{font-size:30px}.studio .type-dock .tool-name{font-size:12px}}
@media(max-width:800px){.studio .press{height:auto;min-height:1100px}.studio .press-links{right:20px}.studio .print-station{top:135px;left:20px;right:20px}.studio .output-buttons{flex-wrap:wrap}.studio .proof,.studio .press[data-view=edit] .proof{left:20px;right:20px;top:222px;bottom:auto;height:420px}.studio .compositor{left:20px;top:680px;bottom:100px;width:calc(100% - 40px);background:var(--paper);z-index:12}.studio-inspector{right:20px;top:700px;width:200px;bottom:auto;background:var(--paper);padding:12px;z-index:13}.studio-inspector:has(#word-pop.hidden){display:none}.studio-inspector h2{font-size:23px;margin:10px 0}.inspector-foot{position:static;margin-top:15px}.studio .type-dock{position:fixed;bottom:12px;left:12px;right:12px;height:67px;padding:10px;gap:4px}.studio .type-dock button{gap:5px;padding:3px;flex-direction:column}.studio .type-dock button::after{display:none}.studio .type-dock .tool-number{font-size:21px}.studio .type-dock .tool-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.studio *{animation:none!important;transition:none!important}}
.studio .press[data-view=edit] .print-station,.studio .print-station{top:78px;right:28px;width:auto;display:block}
.studio .export-menu{width:auto;margin:0}.studio .export-menu summary{width:auto;height:35px;min-height:35px;border-radius:0;outline:none;margin:0;transform:none;flex-direction:row;padding:6px 13px;font:12px var(--sans)}.studio .export-menu summary svg{width:16px;height:16px}.studio .output-buttons{flex-wrap:nowrap;justify-content:flex-end}
.studio .press[data-view=edit] .press-edition{display:flex}.studio .materials-analysis{margin-bottom:25px}.studio .material-table{max-height:185px}
.studio .preset-grid button.on img{filter:grayscale(1) brightness(0) invert(1)}
.studio .panel-body[data-tool=content]>.block:first-child{margin-bottom:16px}.studio .panel-body[data-tool=content] textarea.field{height:85px;min-height:75px}
@media(min-width:801px) and (max-height:820px){.studio .compositor{top:140px;bottom:115px}.studio .proof,.studio .press[data-view=edit] .proof{top:130px;bottom:115px}.studio-inspector{top:140px;bottom:125px}.studio .type-dock{bottom:20px;height:65px}.studio .panel-body{padding-top:12px}.studio .panel-body[data-tool=content]>.block:first-child{margin-bottom:10px}}
.studio{height:100svh;overflow:hidden}.studio .read{display:none}.studio .read:target{display:block;position:fixed;inset:20px;max-width:none;overflow:auto;background:var(--card);border:1px solid var(--text);padding:35px;z-index:100}.guide-close{display:block;text-align:right;margin-bottom:25px;position:sticky;top:0;background:var(--card);padding:12px}
@media(max-width:1100px){.studio .press[data-view=edit] .press-edition{display:none}}
@media(max-width:800px){.studio .press[data-view=edit] .print-station,.studio .print-station{top:135px;left:20px;right:20px}.studio .output-buttons{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:800px){body.studio{height:auto;overflow:auto}}
/* The outer tool header already identifies the product. Preserve all editing controls. */
.studio.tool-embedded .press-brand,.studio.tool-embedded .press-edition{display:none!important}
.studio.tool-embedded .press-links{top:10px}.studio.tool-embedded .print-station{top:40px!important}
@media(min-width:801px){.studio.tool-embedded .compositor{top:94px;bottom:94px}.studio.tool-embedded .proof,.studio.tool-embedded .press[data-view=edit] .proof{top:86px;bottom:94px}.studio.tool-embedded .studio-inspector{top:94px;bottom:100px}.studio.tool-embedded .type-dock{bottom:12px;height:60px}.studio.tool-embedded .studio-inspector h2{font-size:29px;margin:13px 0}}
@media(min-width:801px){.studio.tool-embedded .press{min-height:0;height:100svh}.studio.tool-embedded .press[data-view=preview] .proof{left:28px;right:255px}.studio.tool-embedded .studio-inspector{overflow:auto;scrollbar-width:thin}.studio.tool-embedded .studio-inspector:has(#word-pop:not(.hidden)) h2,.studio.tool-embedded .studio-inspector:has(#word-pop:not(.hidden)) .inspector-foot{display:none}}
/* Surface mode is used only by the independent Creative Tools host. */
body.tool-surface{--input-width:310px;--column-gap:28px;overflow:hidden}
.studio.tool-surface .press{height:100svh;min-height:0}.tool-surface .press::before,.tool-surface .press-links,.tool-surface .print-station,.tool-surface .type-dock,.tool-surface .proof-folio,.tool-surface .paper-caption,.tool-surface .proof-edit{display:none!important}
.studio.tool-surface .proof,.studio.tool-surface .press[data-view=edit] .proof,.studio.tool-surface .press[data-view=preview] .proof{left:calc(var(--input-width) + var(--column-gap));right:0;top:113px;bottom:91px;height:auto;opacity:1;pointer-events:auto}
.studio.tool-surface .canvas{inset:6px;overflow:hidden}.studio.tool-surface .impression{padding:0;background:none;box-shadow:none;aspect-ratio:auto;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.studio.tool-surface .art{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.tool-surface .proof-tools{display:none}
.studio.tool-surface .compositor{left:0;right:auto;top:39px;bottom:0;width:var(--input-width);height:auto;background:var(--paper)}.tool-surface .compositor-head{display:none}.studio.tool-surface .panel-body{overflow-x:hidden;padding-right:10px}.tool-surface .panel-body .block{max-width:100%}
.studio.tool-surface .studio-inspector{left:0;right:auto;top:39px;bottom:0;width:var(--input-width);height:auto;background:var(--paper);z-index:10;padding:15px 10px 15px 0}.tool-surface .studio-inspector h2,.tool-surface .studio-inspector .inspector-foot{display:none}.tool-surface .studio-inspector:has(#word-pop.hidden){display:none}.tool-surface #selection-wire{z-index:11;pointer-events:none}.tool-surface .toast{bottom:100px}.tool-surface .action-bar{flex:none}
@media(min-width:1644px){body.tool-surface{--input-width:345px;--column-gap:38px}}
@media(max-width:994px){body.tool-surface{--input-width:270px;--column-gap:20px}}
@media(max-width:704px){body.tool-surface{overflow:auto}.studio.tool-surface .press{min-height:750px}.studio.tool-surface .proof,.studio.tool-surface .press[data-view] .proof{left:16px;right:16px;top:45px;bottom:auto;height:300px}.studio.tool-surface .compositor,.studio.tool-surface .studio-inspector{top:370px;left:16px;bottom:10px;width:calc(100% - 32px)}}
.tool-surface.surface-expanded .compositor,.tool-surface.surface-expanded .studio-inspector{visibility:hidden}
.tool-surface .impression::before,.tool-surface .impression::after{display:none!important}
.studio.tool-surface .art{background:none}.tool-surface .crop{display:none}

.studio.transparent-output .art{background-color:#fff9eb;background-image:conic-gradient(#e8e1d3 25%,transparent 0 50%,#e8e1d3 0 75%,transparent 0);background-size:16px 16px}
.studio .background-hint{font-size:11px}

/* The host supplies canvas geometry at every width, including narrow windows. */
body.studio.tool-surface.host-compact{height:100svh;overflow:hidden}
.studio.tool-surface.host-compact .press{height:100svh;min-height:0}
.studio.tool-surface.host-compact .canvas{inset:6px}
.studio.tool-surface.host-compact .compositor,.studio.tool-surface.host-compact .studio-inspector{top:var(--surface-top,130px);bottom:auto;left:0;width:min(290px,100%);height:var(--surface-height,350px);background:var(--paper);padding:12px;border:1px solid var(--edge);z-index:12}
.studio.tool-surface.host-compact .compositor{display:flex;flex-direction:column}
.studio.tool-surface.host-compact .panel-body{flex:1;min-height:0;overflow:auto}
.studio.tool-surface.host-compact .studio-inspector{overflow:auto}
.studio.tool-surface.host-compact .proof,.studio.tool-surface.host-compact .press[data-view] .proof{opacity:1}
.studio.tool-surface.host-compact #selection-wire{display:none}
