:root{--ink:#13271f;--panel:#fffdf7;--panel-raised:#edf0e8;--line:#cfc8ba;--muted:#58635d;--ivory:#13271f;--amber:#2b4658;--lime:#c9ff7a;--coral:#ff7154;--focus:#2b4658}.editor-shell{min-height:100vh;padding:var(--space-5) clamp(var(--space-4), 4vw, var(--space-8)) var(--space-8);background:radial-gradient(circle at 18% 0%, #f26f5517, transparent 31rem), linear-gradient(#ffffff05 1px, transparent 1px), var(--ink);background-size:auto,100% 5px,auto;font-family:IBM Plex Sans,sans-serif;position:relative;overflow:hidden}.editor-shell:after{content:"";pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E");position:fixed;inset:0}.masthead,.upload-landing,.editor-intro,.file-picker,.inline-alert,.batch-strip,.workbench,.share-settings{z-index:1;width:min(100%,1440px);margin-inline:auto;position:relative}.share-settings{gap:clamp(var(--space-6), 6vw, var(--space-8));margin-top:var(--space-7);padding:clamp(var(--space-5), 3vw, var(--space-6));border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(0,.8fr) minmax(18rem,1.2fr);display:grid}.share-settings h2{margin:var(--space-2) 0 var(--space-4);color:var(--ivory);font:3rem/1 Instrument Serif,serif}.share-settings p{color:var(--muted);margin:0;line-height:1.6}.share-fields{gap:var(--space-4);display:grid}.share-fields>label{gap:var(--space-2);color:var(--ivory);font-size:.82rem;display:grid}.share-fields label span{color:var(--muted)}.share-fields input,.share-fields select{border:1px solid var(--line);background:var(--ink);width:100%;min-height:46px;color:var(--ivory);padding:.7rem}.password-actions{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.password-actions button,.create-share-button{border:1px solid var(--line);background:var(--panel-raised);min-height:46px;color:var(--ivory);cursor:pointer}.share-fields .setting-check{align-items:center;gap:.7rem;min-height:46px;display:flex}.share-fields .setting-check input{width:20px;min-height:20px}.turnstile-boundary{min-height:65px}.create-share-button{background:var(--amber);color:var(--ink);border:0;font-weight:600}.create-share-button:disabled{cursor:wait;opacity:.55}.masthead{padding-bottom:var(--space-5);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.masthead-actions{align-items:center;gap:var(--space-4);display:flex}.local-badge{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:9px;font-size:.76rem;display:flex}.local-badge i,.status-dot{background:#80c492;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #80c4921a}.editor-intro{gap:var(--space-3) var(--space-7);padding:clamp(var(--space-7), 7vw, var(--space-8)) 0 var(--space-6);grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:end;display:grid}.editor-intro .eyebrow{color:var(--amber);letter-spacing:.18em;text-transform:uppercase;grid-column:1/-1;margin:0;font-size:.7rem;font-weight:600}.editor-intro h1{letter-spacing:-.045em;max-width:760px;margin:0;font:400 clamp(3.2rem,7vw,7rem)/.86 Instrument Serif,Georgia,serif}.editor-intro>p:not(.eyebrow){max-width:480px;color:var(--muted);margin:0 0 4px;font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.65}.file-picker{align-items:center;gap:var(--space-4);border:1px solid var(--line);border-left:3px solid var(--coral);min-height:86px;padding:var(--space-4) var(--space-5);cursor:pointer;background:#201e1bc7;transition:border-color .18s,transform .18s,background .18s;display:flex}.file-picker:hover{background:var(--panel-raised);border-color:#72685d;transform:translateY(-1px)}.file-picker:focus-within{outline:2px solid var(--focus);outline-offset:3px}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.picker-mark{background:var(--coral);width:48px;height:48px;color:var(--ink);place-items:center;font-size:1.7rem;display:grid}.file-picker strong,.file-picker small{display:block}.file-picker strong{color:var(--ivory);font-size:.98rem}.file-picker small{color:var(--muted);margin-top:5px;font-size:.78rem}.inline-alert{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);color:#ffc5b8;background:#f26f5514;border:1px solid #f26f5599;font-size:.86rem}.inline-alert span{display:block}.inline-alert span+span{margin-top:5px}.batch-strip{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:170px 1fr;align-items:center;display:grid}.batch-strip>p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.82rem}.batch-strip>p strong{color:var(--amber);font:400 1.6rem Instrument Serif,serif}.batch-list{gap:var(--space-2);padding:var(--space-1);display:flex;overflow-x:auto}.batch-list button{border:1px solid var(--line);min-width:150px;min-height:48px;color:var(--muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;padding:8px 12px;overflow:hidden}.batch-list button span{color:#b8b0a4;margin-right:9px;font-size:.68rem}.workbench{gap:clamp(var(--space-5), 3vw, var(--space-7));margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) clamp(280px,25vw,350px);align-items:start;display:grid}.preview-panel{border:1px solid var(--line);background:#0b0b0a;min-width:0;box-shadow:0 24px 70px #00000057}.preview-header,.preview-panel footer{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:48px;padding:0 var(--space-4);color:var(--muted);letter-spacing:.04em;font-size:.72rem;display:flex}.preview-header{border-bottom:1px solid var(--line);min-height:56px;padding-inline:var(--space-5)}.preview-header div{color:#cfc8bd;text-transform:uppercase;align-items:center;gap:9px;display:flex}.preview-header p{color:var(--lime);margin:0;font-weight:700}.canvas-stage{min-height:48vh;padding:clamp(var(--space-5), 2vw, var(--space-6));background:repeating-conic-gradient(#141311 0 25%, #181714 0 50%) 50% / 22px 22px;place-items:center;display:grid;position:relative;overflow:hidden}.canvas-frame{max-width:100%;line-height:0;display:inline-block;position:relative}.canvas-stage canvas{object-fit:contain;touch-action:none;max-width:100%;max-height:66vh;display:block;box-shadow:0 12px 40px #0000007a}.canvas-stage.is-mosaic canvas{cursor:crosshair}.canvas-hint{color:var(--ink);background:var(--amber);margin:0;padding:9px 13px;font-size:.75rem;font-weight:600;position:absolute;bottom:18px}.crop-overlay{box-sizing:border-box;border:2px solid var(--amber);pointer-events:none;background:#ffb45c1f;position:absolute;box-shadow:0 0 0 9999px #0000008c}.crop-handle{pointer-events:auto;touch-action:none;width:44px;height:44px;color:var(--ivory);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.crop-handle:after{content:"";background:var(--amber);border:2px solid;width:12px;height:12px;box-shadow:0 0 0 1px #00000073}.crop-handle--nw{cursor:nwse-resize;top:0;left:0}.crop-handle--ne{cursor:nesw-resize;top:0;left:100%}.crop-handle--sw{cursor:nesw-resize;top:100%;left:0}.crop-handle--se{cursor:nwse-resize;top:100%;left:100%}.crop-handle:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}.preview-panel footer{border-top:1px solid var(--line)}.editor-rail{border-top:2px solid var(--amber)}.rail-label{border-bottom:1px solid var(--line);min-height:58px;color:var(--ivory);background:var(--ink);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.76rem;display:flex}.rail-label em{border:1px solid var(--line);color:#4f5b54;background:var(--panel-raised);letter-spacing:.04em;text-transform:none;border-radius:999px;padding:7px 10px;font-size:.66rem;font-style:normal}.tool-dock{margin-top:var(--space-3);background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.tool-dock button,.history-actions button{color:#d7d0c5;background:var(--panel);cursor:pointer;border:0;min-height:56px}.tool-dock button{text-align:left;align-items:center;gap:10px;padding:8px 12px;display:flex}.tool-dock button span{width:30px;height:30px;color:var(--amber);place-items:center;font-size:1.25rem;display:grid}.tool-dock button:hover span,.tool-dock button.selected span{color:var(--ink)}.history-actions{background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1px;display:grid}.history-actions button{min-width:44px;min-height:46px;color:var(--muted);font-size:.75rem}.history-actions button:disabled{cursor:not-allowed;opacity:.38}.crop-controls{margin:var(--space-4) 0 0;border:1px solid var(--line);padding:var(--space-4);background:var(--panel)}.crop-controls legend{color:var(--amber);text-transform:uppercase;letter-spacing:.08em;padding:0 6px;font-size:.75rem}.crop-controls>label{min-height:48px;color:var(--muted);grid-template-columns:1fr 88px;align-items:center;gap:10px;font-size:.76rem;display:grid}.crop-controls input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ivory);background:#12110f;padding:6px 8px}.crop-controls>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.crop-controls button{border:1px solid var(--line);min-height:44px;color:var(--ivory);background:#292621}.crop-controls button:last-child{border-color:var(--amber);color:var(--ink);background:var(--amber);font-weight:600}.privacy-settings{margin:var(--space-6) 0 0;border:0;border-top:1px solid var(--line);padding:var(--space-5) 0 0}.privacy-settings legend{color:var(--ivory);padding:0;font:400 1.55rem Instrument Serif,serif}.privacy-settings>p{color:var(--muted);margin:7px 0 18px;font-size:.76rem;line-height:1.55}.privacy-settings label{min-height:56px;color:var(--ivory);cursor:pointer;border-top:1px solid #2d2a26;align-items:center;gap:11px;display:flex}.privacy-settings label.is-disabled{cursor:not-allowed;opacity:.46}.privacy-settings input{width:19px;height:19px;accent-color:var(--coral)}.privacy-settings strong,.privacy-settings small{display:block}.privacy-settings strong{font-size:.8rem;font-weight:500}.privacy-settings small{color:var(--muted);margin-top:2px;font-size:.68rem}.privacy-settings .risk-confirm{color:#ffc5b8;background:#f26f5514;border:1px solid #f26f557a;min-height:62px;padding:8px 10px;font-size:.72rem}.privacy-settings .format-note{border-left:2px solid var(--amber);color:#d7d0c5;background:#ffb45c0f;margin:0 0 10px;padding:8px 10px}.prepare-button{width:100%;min-height:50px;margin-top:var(--space-5);border:1px solid var(--coral);color:var(--ink);background:var(--coral);cursor:pointer;font-weight:600}.prepare-button:disabled{cursor:wait;opacity:.6}.rail-alert{width:100%;margin-top:10px}.prepared-list{gap:7px;margin-top:10px;display:grid}.prepared-list a{border:1px solid var(--line);min-height:44px;color:var(--ivory);background:var(--panel);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.76rem;text-decoration:none;display:flex}.prepared-list a:hover{border-color:var(--amber);color:var(--amber)}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (width<=760px){.editor-shell{padding:var(--space-4) 0 calc(var(--space-8) + 52px)}.masthead,.editor-intro,.file-picker,.inline-alert,.batch-strip{width:auto;margin-inline:var(--space-4)}.share-settings{margin:var(--space-6) var(--space-4) 0;padding:var(--space-5);grid-template-columns:1fr}.password-actions{grid-template-columns:1fr}.masthead{padding-bottom:14px}.local-badge{text-align:right;justify-content:flex-end;max-width:155px;font-size:.61rem}.masthead-actions{gap:8px}.masthead-actions .local-badge{display:none}.editor-intro{padding-top:var(--space-7);display:block}.editor-intro h1{max-width:350px;margin-top:var(--space-4);font-size:clamp(3.6rem,18vw,5.2rem)}.editor-intro>p:not(.eyebrow){margin-top:var(--space-5)}.file-picker{margin-top:var(--space-6)}.batch-strip{margin-top:var(--space-6);display:block}.batch-list{margin-top:var(--space-3)}.workbench{flex-direction:column;gap:0;width:100%;margin-top:15px;display:flex}.preview-panel{border-inline:0;width:100%}.canvas-stage{min-height:42vh;padding:22px}.canvas-stage canvas{width:100%;height:auto;max-height:58vh}.preview-panel footer span:last-child{display:none}.editor-rail{width:auto;margin:var(--space-5) var(--space-4) 0;border-top:1px solid var(--line)}.rail-label{display:none}.tool-dock{z-index:10;padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border:0;background:#141311f7;border-top:1px solid #49433b;grid-template-columns:repeat(5,1fr);gap:0;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 35px #00000061}.tool-dock button{text-align:center;flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:62px;padding:3px;font-size:.62rem}.tool-dock button span{height:28px}.history-actions{margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.editor-shell[data-visual-theme=gallery]{color:var(--ink);background-color:#f5f1e8;background-image:linear-gradient(#13271f06 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 6px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.editor-shell:after{opacity:.045;mix-blend-mode:multiply}.upload-landing{z-index:1;gap:clamp(var(--space-6), 5vw, var(--space-8));width:min(100%,1440px);padding:clamp(var(--space-7), 7vw, var(--space-8)) 0 var(--space-6);grid-template-columns:minmax(20rem,.78fr) minmax(32rem,1.22fr);align-items:center;margin-inline:auto;display:grid;position:relative}.masthead{z-index:20;border-color:var(--line)}.local-badge{color:var(--muted)}.upload-landing .editor-intro{width:auto;margin:0;padding:0;display:block}.editor-intro .eyebrow{color:var(--amber)}.editor-intro h1{max-width:820px;color:var(--ink);font-size:clamp(3.1rem,6.4vw,6.4rem);line-height:.9}html:lang(ja) .editor-intro h1{font-size:clamp(2.9rem,4.5vw,4.5rem);line-height:.98}.editor-intro>p:not(.eyebrow){color:var(--muted)}.trust-points{gap:var(--space-3);margin:var(--space-5) 0 0;color:var(--ink);padding:0;font-size:.82rem;font-weight:700;list-style:none;display:grid}.trust-points li{align-items:center;gap:10px;display:flex}.trust-points li:before{content:"✓";width:22px;height:22px;color:var(--amber);border:1px solid #8f968f;border-radius:50%;place-items:center;font-size:.7rem;display:grid}.upload-panel{border:1px solid var(--line);min-width:0;padding:clamp(var(--space-4), 2vw, var(--space-5));background:var(--panel);border-radius:4px;box-shadow:0 18px 46px #30271b1a}.upload-panel .file-picker{width:100%;margin:0}.file-picker{min-height:168px;box-shadow:none;text-align:left;background:#faf8f1;border:1px dashed #918b7e;justify-content:center}.file-picker:hover{border-color:var(--ink);background:#faf8f1;transform:translateY(-2px)}.file-picker.is-dragging{border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--lime);background:#efffd7;border-style:solid;transform:translateY(-2px)}.picker-mark{border:2px solid var(--ink);background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:50%}.file-picker strong{color:var(--ink)}.file-picker small{color:var(--muted)}.upload-defaults{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:12px;display:grid}.upload-defaults>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:.72rem;display:flex}.upload-defaults span{color:var(--muted)}.upload-defaults strong{color:var(--ink);font-size:.72rem}.upload-note{color:var(--muted);text-align:center;margin:12px 0 0;font-size:.68rem;line-height:1.5}.signal-action{transition:transform .16s,box-shadow .16s,background .16s}.prepare-button.signal-action,.create-share-button.signal-action{border:2px solid var(--ink);background:var(--coral);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:4px;font-weight:800}.signal-action:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.inline-alert{color:#7a281c;background:#fff0e9;border-color:#c84934}.batch-strip>p,.batch-list button{color:var(--muted)}.batch-strip>p strong{color:var(--amber)}.batch-list button{background:#fffdf7a8}.batch-list button span{color:#526058}.batch-list button.is-active{border-color:var(--ink);color:var(--ink);background:var(--lime)}.editor-rail{border-top-color:var(--lime)}.rail-label{color:var(--ink);background:var(--panel)}.rail-label em{color:var(--muted)}.tool-dock,.history-actions{background:var(--line)}.tool-dock button,.history-actions button{color:var(--ink);background:var(--panel)}.tool-dock button span{color:var(--amber)}.tool-dock button:hover,.tool-dock button.selected{color:var(--ink);background:var(--lime)}.history-actions button:hover:not(:disabled){color:var(--ink);background:var(--panel-raised)}.crop-controls,.share-settings{background:var(--panel)}.crop-controls legend,.crop-controls button:last-child{color:var(--ink)}.crop-controls input,.share-fields input,.share-fields select{color:var(--ink);background:#fff}.crop-controls button{color:var(--ink);background:var(--panel-raised)}.crop-controls button:last-child{border-color:var(--ink);background:var(--lime)}.privacy-settings legend,.privacy-settings label,.share-settings h2,.share-fields>label{color:var(--ink)}.privacy-settings label{border-color:var(--line)}.privacy-settings .format-note{color:var(--ink);background:#eef2e9}.privacy-settings .risk-confirm{color:#762719;background:#fff0e9}.prepared-list a{color:var(--ink);background:var(--panel)}.share-settings{border-radius:4px;box-shadow:0 14px 36px #30271b14}.password-actions button{color:var(--ink);background:var(--panel-raised)}@media (width<=760px){.upload-landing{gap:var(--space-6);width:auto;margin-inline:var(--space-4);padding:var(--space-7) 0 var(--space-6);grid-template-columns:1fr;display:grid}.upload-landing .editor-intro{width:100%;margin:0;padding:0}.editor-intro h1{font-size:clamp(3rem,15vw,4.8rem)}html:lang(ja) .editor-intro h1{font-size:clamp(2.75rem,12vw,4rem);line-height:1}.editor-intro>p:not(.eyebrow),.trust-points{margin-top:var(--space-5)}.upload-panel{padding:var(--space-3)}.upload-panel .file-picker{min-height:148px;margin:0}.upload-defaults{grid-template-columns:1fr}.tool-dock{background:#13271ffa;border-top-color:#3b4f46}.tool-dock button{color:#f5f1e8;background:0 0}.tool-dock button span{color:var(--lime)}.tool-dock button:hover,.tool-dock button.selected{color:var(--ink);background:var(--lime)}}
