@font-face{font-family:DM;src:url('/assets/fonts/dm-sans.ttf')}@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif.ttf')}
:root{color-scheme:light;--ink:#2b335d;--muted:#62677a;--paper:#fbf8f3;--cream:#fffcf7;--line:#ddd9d4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 DM,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,label.upload,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin:0}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7384ad;outline-offset:3px}header{max-width:1320px;margin:auto;padding:24px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}header img{width:220px;height:auto;display:block}header>a:last-child{font-size:14px;min-height:44px;display:flex;align-items:center;gap:10px}main{max-width:1220px;margin:auto;padding:0 32px}.intro{padding:44px 0 38px;display:grid;grid-template-columns:1fr 1fr;gap:18px 80px}.eyebrow{font-size:12px;letter-spacing:.05em;color:var(--muted)}.intro .eyebrow{grid-column:1/-1}h1{font:500 48px/1.07 DM,sans-serif;letter-spacing:-.04em}h1 em,.closing em{font-family:Instrument,Georgia,serif;font-weight:400;font-style:normal}.intro>p:last-child{max-width:330px;font-size:18px;color:var(--muted);align-self:end}.studio{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:64px;align-items:start}.preview-column{position:sticky;top:24px;min-width:0}.stage-wrap{position:relative;max-width:360px;margin:auto;border-radius:20px;background:#e8e2da;box-shadow:0 15px 50px #2b335d12;overflow:hidden;line-height:0;isolation:isolate}.stage-wrap canvas{display:block;width:100%;height:auto}.stage-wrap.wide{max-width:100%}#handles{position:absolute;inset:0;pointer-events:none}.handle{position:absolute;background:transparent;border:1px solid transparent;border-radius:8px;pointer-events:auto;touch-action:none;user-select:none;padding:0;min-width:24px;min-height:24px;cursor:grab}.handle[aria-pressed=true]{border:2px dashed #fff;box-shadow:0 0 0 1px #2b335d;outline-offset:4px}.handle:active{cursor:grabbing}.stage-badge{position:absolute;right:12px;bottom:12px;font-size:11px;line-height:1.4;color:var(--ink);background:#fffcf7e8;padding:5px 9px;border-radius:99px;pointer-events:none}.playback{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:20px;max-width:440px;margin:auto;font-size:12px;font-variant-numeric:tabular-nums}.playback button{background:transparent;min-height:44px;color:var(--ink);padding:6px;font-size:14px}.scrub{display:block;max-width:440px;margin:auto}.scrub input{width:100%;min-height:30px;accent-color:var(--ink)}.preview-hint{font-size:12px;color:var(--muted);text-align:center;max-width:400px;margin:8px auto 22px}.output-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:18px 0 10px}.preview-column>.output-actions{justify-content:center}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;border-radius:99px;padding:12px 20px;font-size:14px;line-height:1.4;text-decoration:none}.primary{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}.secondary{background:transparent;border:1px solid #9295a3}.text-button{font-size:14px;min-height:44px;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.fine{font-size:12px;color:var(--muted);line-height:1.7}#render-status{text-align:center}.tools{min-width:0}.card-context{padding:26px 30px;background:#efdee6;border-radius:14px;box-shadow:0 2px 4px #2b335d05;margin-bottom:30px}.card-context h2{font:400 38px/1.1 Instrument,Georgia,serif;letter-spacing:-.02em;margin:16px 0}.card-context p{font-size:14px;max-width:350px}.card-context a{display:inline-block;margin-top:16px;font-size:12px;min-height:30px}.tool-section{border-bottom:1px solid var(--line);padding:24px 0}.section-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}.section-heading span{font-size:12px;color:var(--muted)}.section-heading h2{font-size:20px;font-weight:500;letter-spacing:-.025em}.upload-actions,.row{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}.upload{position:relative;cursor:pointer}.upload input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.upload:focus-within{outline:3px solid #7384ad;outline-offset:3px}.tool-section>.fine{margin-top:10px}.source-name{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:14px 0}details{margin-top:18px}summary{font-size:14px;cursor:pointer;min-height:44px;padding:9px 0}details>label{display:block;margin-top:14px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:14px}label{font-size:12px}select,textarea{width:100%;display:block;border:1px solid #a6a5ae;background:var(--cream);border-radius:9px;padding:11px 12px;font-size:16px;margin:6px 0 0;min-width:0}select{min-height:46px}textarea{resize:vertical;line-height:1.5}input[type=range]{width:100%;accent-color:var(--ink);display:block;min-height:36px}#packs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}#packs button{font-size:12px;padding:9px 14px;min-height:42px;border-radius:99px;background:transparent;border:1px solid var(--line)}#packs button[aria-pressed=true]{background:var(--pack);border-color:#8c8da0}#sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0 10px}.sticker{background:#f2eee8;border:1px solid transparent;border-radius:12px;padding:8px 6px;color:var(--ink);min-width:0}.sticker:hover{background:#eae5dd;border-color:#aaa9ae}.sticker img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:auto}.sticker span{font-size:10px;line-height:1.3;display:block;min-height:26px;margin-top:6px}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.suggestions button{font-size:12px;background:#eeeae4;border-radius:8px;padding:8px 10px;min-height:38px}#selection{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}#selection h3{font-size:16px;font-weight:500}#text-settings{margin-top:16px}#text-settings>label{display:block;margin-top:12px}#layers{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}#layers button{border-radius:8px;font-size:12px;min-height:40px;padding:8px 10px;background:#eeeae4;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#layers button[aria-pressed=true]{background:var(--ink);color:var(--cream)}#clear-items{font-size:12px;color:var(--muted)}.footnote{margin-top:24px}#camera-panel{margin-top:18px}#camera-preview{display:block;width:100%;max-height:260px;border-radius:12px;background:#242840;transform:scaleX(-1)}#camera-status{font-size:14px;margin:12px 0}#result{margin:30px 0;padding-top:24px;border-top:1px solid var(--line)}#result h2{font-size:24px;font-weight:500;margin-bottom:16px}#result-video{display:block;max-height:440px;width:100%;border-radius:12px;background:#242840}#result>.fine{margin-top:12px}.closing{border-top:1px solid var(--line);margin-top:72px;padding:48px 0 64px}.closing h2{font:500 36px/1.15 DM,sans-serif;letter-spacing:-.03em;margin:20px 0}.closing p:not(.eyebrow){color:var(--muted)}.closing a{display:inline-block;font-size:14px;margin-top:24px;min-height:44px}footer{border-top:1px solid var(--line);padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}footer img{width:170px;height:auto}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 20px;background:var(--ink);color:white;border-radius:12px;font-size:14px;z-index:10;box-shadow:0 6px 24px #0002}#notice:empty{display:none}.skip{position:fixed;top:12px;left:12px;z-index:20;padding:12px;background:var(--ink);color:white}.skip:not(:focus),.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0}[hidden]{display:none!important}.busy .tools,.busy #handles{pointer-events:none;opacity:.6}
@media(max-width:950px){.studio{gap:32px}.intro{gap:18px 40px}main{padding:0 24px}.card-context{padding:24px}.stage-wrap{max-width:330px}#sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){header{padding:18px 20px;gap:20px}header img{width:170px}header>a:last-child{font-size:12px}main{padding:0 20px}.intro{display:block;padding:30px 0}.intro .eyebrow{margin-bottom:14px}h1{font-size:40px}.intro>p:last-child{font-size:16px;margin-top:16px;max-width:340px}.studio{display:flex;flex-direction:column;gap:26px}.preview-column{position:relative;top:auto;width:100%}.stage-wrap{max-width:300px}.stage-wrap.wide{max-width:100%}.tools{width:100%}.card-context{margin-bottom:6px;padding:22px}.card-context h2{font-size:32px}.tool-section{padding:22px 0}#sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sticker span{font-size:10px}.closing{margin-top:40px;padding:32px 0 40px}.closing h2{font-size:30px}footer{padding:24px 20px;flex-wrap:wrap;gap:14px}.output-actions{gap:10px 18px}.preview-hint{margin-bottom:14px}.field-row{gap:12px}.secondary{font-size:13px;padding:12px 16px}}
@media(max-width:360px){main{padding:0 16px}header{padding:16px}header img{width:146px}header>a:last-child{max-width:95px}#sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row{grid-template-columns:1fr}.card-context{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
