@font-face{font-family:Noto Sans JP UI;src:url(/fonts/noto-sans-jp-ui.woff2?v=3)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-interface);font-synthesis:none;text-rendering:optimizelegibility;--font-interface:"Noto Sans JP UI", Inter, "Helvetica Neue", Arial, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--type-display-size:clamp(47px, 6.3vw, 84px);--type-display-weight:530;--type-display-leading:1.05;--type-display-tracking:-.09em;--type-headline-size:clamp(22px, 2.3vw, 31px);--type-headline-weight:530;--type-headline-tracking:-.06em;--type-body-size:15px;--type-body-leading:1.8;--type-body-tracking:-.02em;--type-label-size:10px;--type-label-weight:700;--type-label-tracking:.2em;--type-mono-size:9px;--type-mono-leading:1.5;--type-mono-tracking:.08em;--space-page-gutter:48px;--space-tablet-gutter:28px;--space-mobile-gutter:20px;--control-height:52px;--control-height-mobile:54px;--layout-shell-max:1440px;--layout-landing-max:1160px;--layout-editor-max:1190px;--layout-editor-content-max:880px;--focus-outline:3px solid var(--accent);--focus-outline-offset:4px;--motion-interaction:.18s ease;--bg:#f3f2ee;--surface:#faf9f6;--text:#111;--text-secondary:#777570;--text-faint:#a19f99;--border:#11111121;--border-strong:#1111113b;--accent:#5b5ceb;--accent-soft:#5b5ceb1a;--mask:#080808;--editor-bg:#0d0d0e;--editor-surface:#161618;--editor-text:#f4f3ef;--editor-secondary:#959497;--editor-border:#f4f3ef29;--editor-border-strong:#f4f3ef47;--editor-accent:#8a8bff;--editor-control-surface:#17171a;--editor-control-active:#f4f3ef;--editor-mosaic:#b8b9ff;--surface-upload:#faf9f680;--border-editor-stage:#f4f3ef1a;--color-error:#b33a3a;--editor-error:#e59a9a;--editor-disabled:#656467;--editor-footer:#68676a;--white:#fff;--shadow-image:0 24px 80px #0000004d;--radius-small:8px;--radius-large:18px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-width:320px;color:var(--text)}button,input{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button{border:0}button:not(:disabled),label:not(.upload-area--disabled){cursor:pointer}button:focus-visible,label:focus-within{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none;display:block}.landing-view,.editor-view{flex-direction:column;min-height:100svh;display:flex}.landing-view{background:var(--bg)}.site-header{width:100%;max-width:var(--layout-shell-max);padding:28px var(--space-page-gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand-mark{color:var(--text);letter-spacing:-.04em;align-items:center;gap:10px;font-size:17px;font-weight:650;line-height:1;display:inline-flex}.brand-icon{object-fit:contain;width:24px;height:24px;display:block}.brand-mark--button{color:var(--editor-text);background:0 0;padding:8px 0}.header-meta{min-width:0;color:var(--text-secondary);letter-spacing:.14em;align-items:center;gap:22px;font-size:10px;font-weight:650;display:flex}.header-index{color:var(--text-faint)}.landing-main{width:min(calc(100% - var(--space-page-gutter) - var(--space-page-gutter)), var(--layout-landing-max));flex:1;grid-template-rows:1fr auto;grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr);align-items:center;gap:44px 8vw;margin:0 auto;padding:clamp(46px,9vh,112px) 0 50px;display:grid}.landing-hero{align-self:center;padding-bottom:30px}.eyebrow{color:var(--accent);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);align-items:center;gap:9px;margin-bottom:31px;display:inline-flex}.eyebrow-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.landing-hero h1{max-width:560px;font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:var(--type-display-leading);margin:0}.landing-hero h1 .landing-hero-line{white-space:nowrap;display:inline-block}.landing-hero h1 .landing-hero-line--accent{color:var(--accent)}.landing-lede{color:var(--text-secondary);font-size:var(--type-body-size);letter-spacing:var(--type-body-tracking);line-height:var(--type-body-leading);margin:34px 0 0}.mobile-only{display:none}.upload-section{align-self:center;width:100%}.upload-wrap{width:100%}.upload-area{border:1px solid var(--border-strong);border-radius:var(--radius-large);background:var(--surface-upload);min-height:330px;transition:border-color var(--motion-interaction), background var(--motion-interaction), transform var(--motion-interaction);grid-template-rows:1fr auto;grid-template-columns:1fr auto;align-items:center;padding:38px 40px 29px;display:grid;position:relative}.upload-area:hover,.upload-area:focus-within{border-color:var(--accent);background:var(--surface)}.upload-area--dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.012)}.upload-area--disabled{cursor:wait;opacity:.62}.upload-glyph{border:1px solid var(--border);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.upload-copy{flex-direction:column;grid-area:1/1/auto/2;align-self:end;gap:6px;margin-top:65px;display:flex}.upload-copy strong{font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);letter-spacing:var(--type-headline-tracking)}.upload-copy span{color:var(--text-secondary);font-size:13px}.upload-action{color:var(--accent);grid-area:1/2;align-self:end;align-items:center;gap:12px;margin-top:65px;font-size:13px;font-weight:650;display:inline-flex}.upload-formats{border-top:1px solid var(--border);color:var(--text-faint);letter-spacing:.16em;grid-area:2/1/auto/-1;padding-top:27px;font-size:9px;font-weight:700}.upload-feedback{min-height:24px;color:var(--text-faint);padding:13px 2px 0;font-size:11px;line-height:1.5}.upload-feedback--error{color:var(--color-error)}.landing-principles{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:32px;padding-top:25px;display:grid}.principle{grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:13px;display:grid}.principle-index{color:var(--text-faint);font-family:var(--font-mono);grid-row:1/-1;font-size:10px;line-height:1.5}.principle-label{color:var(--text);letter-spacing:.16em;font-size:11px;font-weight:700}.principle-copy{color:var(--text-secondary);margin-top:4px;font-size:11px}.landing-footer,.editor-footer{width:100%;max-width:var(--layout-shell-max);padding:19px var(--space-page-gutter) 27px;color:var(--text-faint);font-family:var(--font-mono);font-size:var(--type-mono-size);line-height:var(--type-mono-leading);letter-spacing:var(--type-mono-tracking);justify-content:space-between;margin:0 auto;display:flex}.editor-footer-meta{justify-content:space-between;width:100%;display:flex}.editor-footer-actions{font-family:var(--font-interface);display:none}button.editor-footer-save{display:none}.editor-view{color:var(--editor-text);background:var(--editor-bg)}.site-header--editor{color:var(--editor-text)}.site-header--editor .header-index{color:var(--editor-secondary)}.site-header--editor .face-counter{color:var(--editor-secondary);letter-spacing:.05em}.site-header--editor .face-counter strong{color:var(--editor-text);letter-spacing:-.04em;font-size:15px;font-weight:500}.editor-main{width:min(calc(100% - var(--space-page-gutter) - var(--space-page-gutter)), var(--layout-editor-max));flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:0 clamp(28px,4vw,64px);margin:0 auto;padding:15px 0 32px;display:grid}.editor-context{width:100%;color:var(--editor-secondary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:baseline;padding:0 0 16px;font-size:9px;display:flex}.editor-file-name{max-width:58%;color:var(--editor-secondary);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:9px;overflow:hidden}.editor-stage{border-top:1px solid var(--border-editor-stage);border-bottom:1px solid var(--border-editor-stage);grid-area:2/1;justify-content:center;align-items:center;width:100%;min-height:min(68vh,700px);padding:28px 0;display:flex}.editor-image-frame{justify-content:center;align-items:center;max-width:100%;max-height:min(68vh,700px);display:flex;position:relative}.editor-image{object-fit:contain;width:auto;max-width:100%;max-height:min(68vh,700px);box-shadow:var(--shadow-image);animation:.4s cubic-bezier(.2,.8,.2,1) both image-enter;display:block}.editor-image-placeholder{background:linear-gradient(105deg, var(--editor-surface), #1b1b1e, var(--editor-surface));background-size:240% 100%;width:min(75vw,500px);height:min(54vh,500px);animation:1.4s ease-in-out infinite placeholder-shimmer}.image-preview-trigger{z-index:3;border-radius:var(--radius-small);width:44px;height:44px;color:var(--editor-text);transition:background var(--motion-interaction), border-color var(--motion-interaction), color var(--motion-interaction);background:#0d0d0edb;border:1px solid #f4f3ef4d;place-items:center;display:grid;position:absolute;top:12px;right:12px}.image-preview-trigger:hover:not(:disabled){border-color:var(--editor-accent);background:var(--editor-accent);color:var(--white)}.image-preview-trigger:disabled{cursor:not-allowed;opacity:.48}.image-preview-dialog-backdrop{z-index:30;background:#000000d6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.image-preview-dialog{border:1px solid var(--editor-border-strong);border-radius:var(--radius-small);background:var(--editor-bg);flex-direction:column;gap:10px;width:min(100%,1440px);max-height:calc(100dvh - 32px);padding:16px;display:flex;position:relative;box-shadow:0 18px 60px #0006}.image-preview-dialog-header{min-height:44px;color:var(--editor-text);justify-content:space-between;align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.image-preview-dialog-close{min-height:44px;color:var(--editor-secondary);background:0 0;border:0;padding:0 4px;font-size:12px}.image-preview-dialog-close:hover{color:var(--editor-text)}.image-preview-dialog-visual{place-items:center;width:min(90vw,1360px);height:min(82dvh,820px);min-height:0;display:grid}.image-preview-dialog-image{object-fit:contain;width:100%;height:100%;box-shadow:var(--shadow-image);display:block}.processing-mark{border:1px solid #f4f3ef40;border-top-color:var(--editor-accent);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite spin;position:absolute;bottom:14px;right:14px}.editor-status{width:100%;min-height:78px;color:var(--editor-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.editor-status p{color:var(--editor-text);letter-spacing:-.03em;margin:0;font-size:14px;font-weight:520}.editor-status span:not(.status-dots){font-size:12px}.editor-status--completed p{color:var(--editor-accent)}.editor-status--error p,.editor-status--no-face p{color:var(--editor-error)}.status-dots{width:21px;color:var(--editor-accent);letter-spacing:.08em;vertical-align:bottom;animation:1.2s steps(4,end) infinite dots;display:inline-block;overflow:hidden}.editor-panel{border-left:1px solid var(--border-editor-stage);flex-direction:column;grid-area:2/2;justify-content:center;gap:20px;min-width:0;padding-left:clamp(24px,3vw,48px);display:flex}.editor-controls{width:100%;margin-top:0}.mask-mode-fieldset{border:0;min-width:0;margin:0;padding:0}.mask-mode-fieldset legend{color:var(--editor-secondary);font-family:var(--font-interface);letter-spacing:.1em;text-transform:uppercase;padding:0;font-size:9px}.mask-mode-options{border:1px solid var(--editor-border);border-radius:var(--radius-small);background:var(--editor-border);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:9px;display:grid;overflow:hidden}.mask-mode-option{background:var(--editor-control-surface);min-height:54px;color:var(--editor-secondary);text-align:left;transition:background var(--motion-interaction), color var(--motion-interaction);flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:0 16px;display:flex}.mask-mode-option:hover:not(:disabled){color:var(--editor-text)}.mask-mode-option--selected{background:var(--editor-control-active);color:var(--editor-bg)}.mask-mode-option span{letter-spacing:-.02em;font-size:12px;font-weight:650}.mask-mode-option small{color:inherit;opacity:.72;font-size:10px}.mask-style-controls{border-bottom:1px solid var(--border-editor-stage);align-items:center;gap:20px;min-height:62px;display:flex}.mosaic-opacity-control{min-width:220px;color:var(--editor-secondary);white-space:nowrap;flex:1;align-items:center;gap:14px;font-size:10px;display:flex}.mosaic-opacity-control span{min-width:105px}.mosaic-opacity-control strong{color:var(--editor-text);font-weight:600}.mosaic-opacity-control input{appearance:none;background:var(--editor-border);cursor:pointer;touch-action:pan-y;border-radius:999px;width:100%;height:6px}.mosaic-opacity-control input::-webkit-slider-thumb{appearance:none;border:2px solid var(--editor-bg);background:var(--editor-accent);width:18px;height:18px;box-shadow:0 0 0 1px var(--editor-accent);border-radius:50%}.mosaic-opacity-control input::-moz-range-thumb{border:2px solid var(--editor-bg);background:var(--editor-accent);width:14px;height:14px;box-shadow:0 0 0 1px var(--editor-accent);border-radius:50%}.mosaic-opacity-control input:focus-visible{outline:var(--focus-outline);outline-offset:5px}.black-shape-control{border:0;align-items:center;gap:12px;min-width:220px;margin:0;padding:0;display:flex}.black-shape-control legend{color:var(--editor-secondary);white-space:nowrap;padding:0;font-size:10px}.black-shape-control>div{gap:4px;display:inline-flex}.black-shape-control button{border:1px solid var(--editor-border);border-radius:var(--radius-small);background:var(--editor-control-surface);min-width:54px;min-height:36px;color:var(--editor-secondary);transition:background var(--motion-interaction), border-color var(--motion-interaction), color var(--motion-interaction);padding:0 10px;font-size:11px}.black-shape-control button:hover:not(:disabled){border-color:var(--editor-border-strong);color:var(--editor-text)}.black-shape-option--selected{border-color:var(--editor-accent)!important;background:var(--editor-accent)!important;color:var(--editor-bg)!important}.stamp-emoji-control{align-items:center;gap:10px;display:flex;position:relative}.stamp-emoji-label{color:var(--editor-secondary);white-space:nowrap;font-size:10px}.stamp-emoji-picker{position:relative}.stamp-emoji-trigger{border:1px solid var(--editor-border);border-radius:var(--radius-small);background:var(--editor-control-surface);width:112px;height:44px;color:var(--editor-text);transition:background var(--motion-interaction), border-color var(--motion-interaction);grid-template-columns:1fr auto;place-items:center;padding:0 11px 0 14px;display:grid}.stamp-emoji-trigger:hover:not(:disabled),.stamp-emoji-trigger[aria-expanded=true]{border-color:var(--editor-accent);background:var(--editor-control-active)}.stamp-emoji-trigger:disabled{cursor:not-allowed;opacity:.48}.stamp-emoji-trigger-value{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:25px;line-height:1}.stamp-emoji-trigger .icon{width:14px;color:var(--editor-secondary)}.stamp-emoji-dialog-backdrop{z-index:20;background:#00000085;position:fixed;inset:0}.stamp-emoji-popover{z-index:21;width:min(420px, calc(100vw - (var(--space-mobile-gutter) * 2)));border:1px solid var(--editor-border-strong);border-radius:var(--radius-small);background:var(--editor-surface);flex-direction:column;max-height:calc(100dvh - 40px);padding:16px;display:flex;position:fixed;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 14px 36px #00000047}.stamp-emoji-dialog-header{min-height:44px;color:var(--editor-text);justify-content:space-between;align-items:center;gap:16px;padding-bottom:8px;font-size:14px;font-weight:600;display:flex}.stamp-emoji-dialog-close{min-height:44px;color:var(--editor-secondary);background:0 0;border:0;padding:0 4px;font-size:12px}.stamp-emoji-grid{scrollbar-gutter:stable;scrollbar-color:var(--editor-border-strong) transparent;scrollbar-width:thin;grid-template-columns:repeat(6,44px);align-self:center;gap:8px;max-height:304px;display:grid;overflow:hidden auto}.stamp-emoji-grid::-webkit-scrollbar{width:6px;height:6px}.stamp-emoji-grid::-webkit-scrollbar-track{background:0 0}.stamp-emoji-grid::-webkit-scrollbar-thumb{background:var(--editor-border-strong);background-clip:padding-box;border:1px solid #0000;border-radius:999px}.stamp-emoji-grid::-webkit-scrollbar-thumb:hover{background:var(--editor-accent);background-clip:padding-box}.stamp-emoji-grid::-webkit-scrollbar-button{display:none}.stamp-emoji-option{border:1px solid var(--editor-border);border-radius:var(--radius-small);background:var(--editor-control-surface);width:44px;height:44px;color:var(--editor-text);transition:background var(--motion-interaction), border-color var(--motion-interaction), transform var(--motion-interaction);place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:23px;line-height:1;display:grid}.stamp-emoji-option:hover:not(:disabled){border-color:var(--editor-border-strong);transform:translateY(-1px)}.stamp-emoji-option--selected{border-color:var(--editor-accent);background:var(--editor-accent)}.stamp-emoji-option:disabled{cursor:not-allowed;opacity:.48}.automatic-mask-controls{border-bottom:1px solid var(--border-editor-stage);align-items:center;gap:12px;min-height:52px;display:flex}.automatic-mask-add-button{border:1px solid var(--editor-border);border-radius:var(--radius-small);min-height:36px;color:var(--editor-secondary);letter-spacing:-.02em;transition:background var(--motion-interaction), border-color var(--motion-interaction), color var(--motion-interaction);background:0 0;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:650;display:inline-flex}.automatic-mask-add-button:hover:not(:disabled){border-color:var(--editor-border-strong);color:var(--editor-text)}.automatic-mask-add-button:disabled{cursor:not-allowed;opacity:.48}.automatic-mask-message{color:var(--editor-secondary);font-size:10px}.manual-mask-controls{border-bottom:1px solid var(--border-editor-stage);align-items:center;gap:16px;min-height:65px;display:flex}.manual-mask-actions{flex:none;align-items:center;gap:12px;display:flex}.manual-mask-toggle{border:1px solid var(--editor-border);border-radius:var(--radius-small);min-height:34px;color:var(--editor-secondary);letter-spacing:-.02em;transition:background var(--motion-interaction), border-color var(--motion-interaction), color var(--motion-interaction);background:0 0;padding:0 12px;font-size:11px;font-weight:650}.manual-mask-toggle:hover:not(:disabled){border-color:var(--editor-border-strong);color:var(--editor-text)}.manual-mask-toggle--active{border-color:var(--editor-accent);background:var(--editor-accent);color:var(--editor-bg)}.manual-mask-size{min-width:160px;color:var(--editor-secondary);white-space:nowrap;flex:1;align-items:center;gap:12px;font-size:10px;display:flex}.manual-mask-size input{width:100%;accent-color:var(--editor-accent)}.manual-mask-history{gap:5px;display:flex}.manual-mask-icon-button{border:1px solid var(--editor-border);border-radius:var(--radius-small);width:44px;height:44px;color:var(--editor-secondary);transition:background var(--motion-interaction), border-color var(--motion-interaction), color var(--motion-interaction);background:0 0;place-items:center;display:inline-grid}.manual-mask-icon-button:hover:not(:disabled){border-color:var(--editor-border-strong);color:var(--editor-text)}.manual-mask-icon-button:disabled,.manual-mask-toggle:disabled,.manual-mask-icon-button:disabled,.mask-mode-option:disabled{cursor:not-allowed;opacity:.48}.mask-mode-note{color:var(--editor-secondary);margin:10px 0 0;font-size:10px;line-height:1.5}.manual-mask-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.manual-mask-canvas--active{pointer-events:auto;cursor:crosshair;touch-action:none}.manual-mask-cursor{z-index:2;border:1px solid var(--editor-mosaic);pointer-events:none;background:#b8b9ff24;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0d0d0ecc}.manual-mask-cursor--black{background:#0808086b;border-color:#f4f3efbf}.manual-mask-cursor--black.manual-mask-cursor--square{border-radius:2px}.manual-mask-cursor--black.manual-mask-cursor--circle,.manual-mask-cursor--mosaic{border-radius:50%}.manual-mask-cursor--stamp{border-color:var(--editor-accent);background:#0d0d0e38;place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1;display:grid}.manual-mask-canvas:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.editor-toolbar{justify-content:space-between;gap:14px;width:100%;display:flex}.completion-toast{z-index:20;right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));border:1px solid var(--editor-border-strong);border-radius:var(--radius-small);background:var(--editor-surface);width:min(320px,100vw - 48px);color:var(--editor-secondary);opacity:0;pointer-events:none;flex-direction:column;gap:4px;padding:14px 16px;transition:opacity .22s,transform .22s;display:flex;position:fixed;transform:translateY(10px);box-shadow:0 16px 42px #00000057}.completion-toast--visible{opacity:1;transform:translateY(0)}.completion-toast strong{color:var(--editor-accent);font-size:11px;font-weight:650}.completion-toast span{font-size:11px;line-height:1.45}.editor-button{min-height:var(--control-height);border-radius:var(--radius-small);letter-spacing:-.02em;transition:background var(--motion-interaction), color var(--motion-interaction), border-color var(--motion-interaction), transform var(--motion-interaction);justify-content:center;align-items:center;gap:11px;padding:0 20px;font-size:12px;font-weight:650;display:inline-flex}.editor-button:active:not(:disabled){transform:scale(.98)}.editor-button--secondary{border:1px solid var(--editor-border);min-width:126px;color:var(--editor-secondary);background:0 0}.editor-button--secondary:hover{border-color:var(--editor-border-strong);color:var(--editor-text)}.editor-button--primary{background:var(--editor-text);min-width:150px;color:var(--editor-bg)}.editor-button--primary:hover:not(:disabled){background:var(--editor-accent);color:var(--white)}.editor-button--primary:disabled{cursor:not-allowed;background:var(--editor-surface);color:var(--editor-disabled)}.editor-footer{color:var(--editor-footer)}@media (max-width:1024px){.editor-main{flex-direction:column;align-items:center;display:flex}.editor-context{width:min(100%, var(--layout-editor-content-max));grid-column:auto}.editor-stage{grid-area:auto;min-height:min(54vh,650px)}.editor-image-frame,.editor-image{max-height:min(54vh,650px)}.editor-panel{width:min(100%, var(--layout-editor-content-max));border-left:0;grid-area:auto;padding-left:0}}@media (max-width:820px){.site-header,.landing-footer,.editor-footer{padding-right:var(--space-tablet-gutter);padding-left:var(--space-tablet-gutter)}.landing-main,.editor-main{width:min(calc(100% - var(--space-tablet-gutter) - var(--space-tablet-gutter)), 680px)}.landing-main{grid-template-rows:auto auto auto;grid-template-columns:1fr;align-content:center;gap:44px;padding-top:45px}.landing-hero{padding-bottom:0}.landing-principles{grid-column:1}.editor-stage,.editor-image-frame,.editor-image{max-height:54vh}.editor-stage{min-height:54vh}}@media (max-width:560px){.site-header{padding:22px var(--space-mobile-gutter)}.header-meta{gap:12px;font-size:9px}.header-index{display:none}.landing-main,.editor-main{width:calc(100% - var(--space-mobile-gutter) - var(--space-mobile-gutter))}.landing-main{gap:38px;padding-top:42px;padding-bottom:30px}.landing-hero h1{font-size:clamp(44px,13vw,65px)}.landing-lede{margin-top:24px;font-size:14px}.mobile-only{display:block}.upload-area{min-height:274px;padding:27px 25px 23px}.upload-copy{margin-top:42px}.upload-copy strong{font-size:24px}.upload-action{align-self:end;margin-top:42px}.upload-action span{display:none}.upload-formats{padding-top:20px}.landing-principles{grid-template-columns:1fr;gap:18px;padding-top:21px}.principle-copy{margin-top:2px}.landing-footer,.editor-footer{padding:15px var(--space-mobile-gutter) 20px;font-size:8px}.landing-footer span:last-child,.editor-footer-meta span:last-child{display:none}.editor-main{padding-top:8px;padding-bottom:calc(106px + env(safe-area-inset-bottom))}.editor-context{width:100%;padding-bottom:12px}.editor-stage{width:100%;min-height:51vh;padding:18px 0}.editor-image-frame,.editor-image{max-height:51vh}.image-preview-dialog{width:100%;padding:12px}.image-preview-dialog-visual{width:100%;height:min(76dvh,680px)}.editor-panel{gap:0;width:100%}.editor-status{min-height:78px}.editor-toolbar{display:none}.editor-footer{z-index:10;max-width:none;padding:10px var(--space-mobile-gutter) max(10px, calc(10px + env(safe-area-inset-bottom)));border-top:1px solid var(--border-editor-stage);background:var(--editor-bg);margin:0;display:block;position:fixed;bottom:0;left:0;right:0}.editor-footer-meta{display:none}.editor-footer-actions{gap:8px;display:flex}.editor-footer-actions .editor-button{width:100%;min-width:0}button.editor-footer-save{width:auto;display:flex}.completion-toast{right:var(--space-mobile-gutter);bottom:calc(84px + env(safe-area-inset-bottom));width:calc(100vw - (var(--space-mobile-gutter) * 2))}.editor-controls{width:100%}.mask-style-controls{flex-wrap:wrap;gap:12px;padding:13px 0}.stamp-emoji-grid{grid-template-columns:repeat(4,minmax(44px,1fr));width:100%;max-height:352px}.stamp-emoji-option{width:100%;height:52px}.mosaic-opacity-control{min-width:100%}.manual-mask-controls{grid-template-columns:minmax(0,1fr);gap:10px;padding:13px 0;display:grid}.manual-mask-actions{justify-content:space-between;width:100%}.automatic-mask-controls{flex-wrap:wrap;gap:8px;padding:11px 0}.manual-mask-size{width:100%;min-width:0}.editor-button{min-height:var(--control-height-mobile);flex:1;padding:0 12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes image-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes placeholder-shimmer{0%,to{background-position:100% 0}50%{background-position:0 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dots{0%{width:0}50%{width:21px}to{width:0}}
