:root{color:#e8eceb;font-synthesis:none;text-rendering:optimizelegibility;--surface:#111518;--surface-raised:#171c1f;--line:#ffffff17;--muted:#89918e;--accent:#b8f34a;--accent-dark:#182307;background:#090b0d;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#090b0d;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 18% 5%,#67845b1c,#0000 28rem),#090b0d;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{min-height:100vh}.topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b0dc7;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,4vw,64px);display:flex;position:relative}.brand-group{align-items:center;gap:12px;min-width:0;display:flex}.brand{color:#f3f6f5;letter-spacing:.02em;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-mark{width:34px;height:34px;color:var(--accent);border:1px solid #b8f34a80;border-radius:50%;place-items:center;font-size:20px;display:grid;transform:rotate(-35deg)}.brand em{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:3px 6px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-style:normal;font-weight:500}.author-follow{position:relative}.author-follow-button{color:#aeb6b2;cursor:pointer;white-space:nowrap;background:#b8f34a0b;border:1px solid #b8f34a33;border-radius:6px;min-height:30px;padding:0 10px;font-size:10px;transition:border-color .15s,color .15s,background .15s}.author-follow-button>span{color:var(--accent);margin-right:2px}.author-follow-button:hover,.author-follow:focus-within .author-follow-button{color:#e7ece9;background:var(--accent-dark);border-color:#b8f34a85}.author-follow-card{z-index:30;visibility:hidden;opacity:0;pointer-events:none;background:#121618fa;border:1px solid #b8f34a40;border-radius:10px;width:226px;padding:12px;transition:opacity .15s,visibility .15s,transform .15s;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-5px);box-shadow:0 22px 60px #0000009e}.author-follow-card:before{content:"";background:#121618;border-top:1px solid #b8f34a40;border-left:1px solid #b8f34a40;width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.author-follow:hover .author-follow-card,.author-follow:focus-within .author-follow-card{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%)}.author-follow-card p{color:#e5eae7;text-align:center;margin:0 0 10px;font-size:12px;font-weight:600}.author-follow-card img{border-radius:6px;width:100%;display:block}.landing{text-align:center;flex-direction:column;align-items:center;min-height:calc(100vh - 72px);padding:clamp(64px,9vw,130px) 24px 48px;display:flex;position:relative;overflow:hidden}.landing:before,.landing:after{content:"";pointer-events:none;border:1px solid #ffffff0f;border-radius:50%;position:absolute}.landing:before{width:420px;height:420px;top:18%;left:-260px}.landing:after{width:680px;height:680px;top:-180px;right:-460px}.eyebrow{color:var(--accent);letter-spacing:.2em;margin-bottom:13px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:500;display:block}.hero-copy h1{color:#f2f4f3;letter-spacing:-.06em;margin:0;font-size:clamp(44px,7vw,86px);font-weight:600;line-height:1.08}.hero-copy p{color:var(--muted);margin:28px auto 42px;font-size:clamp(14px,1.6vw,17px)}.upload-card{color:#e8eceb;cursor:pointer;background:#b8f34a09;border:1px dashed #b8f34a61;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:min(520px,100%);min-height:160px;padding:25px;transition:border-color .18s,background .18s,transform .18s;display:flex}.upload-card:hover{border-color:var(--accent);background:#b8f34a13;transform:translateY(-2px)}.upload-card strong{font-size:16px}.upload-card>span:last-child{color:var(--muted);font-size:12px}.upload-icon{color:#0a0d08;background:var(--accent);border-radius:50%;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.feature-strip{color:#6d7471;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:18px;margin-top:46px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;display:flex}.feature-strip i{background:var(--accent);border-radius:50%;width:3px;height:3px}.workspace{grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100vh - 72px);display:grid}.stage-column{flex-direction:column;min-width:0;padding:24px clamp(18px,3vw,44px) 26px;display:flex}.stage-meta{color:#676f6c;justify-content:space-between;align-items:flex-end;gap:16px;min-height:45px;margin-bottom:15px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;display:flex}.stage-meta>div{min-width:0}.stage-meta .eyebrow{margin-bottom:5px}.stage-meta strong{color:#c9cecc;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,520px);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:12px;font-weight:500;display:block;overflow:hidden}.stage{border:1px solid var(--line);background-color:#0d1012;background-image:linear-gradient(45deg,#ffffff05 25%,#0000 25%),linear-gradient(-45deg,#ffffff05 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff05 75%),linear-gradient(-45deg,#0000 75%,#ffffff05 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;flex:1;place-items:center;min-height:300px;padding:clamp(14px,2.2vw,30px);display:grid;overflow:hidden}.preview-frame{width:min(100%, calc((100vh - 245px) * var(--image-aspect)));max-width:100%;max-height:calc(100vh - 245px);position:relative;box-shadow:0 24px 70px #0000006b}.preview-canvas,.original-overlay{object-fit:fill;width:100%;height:100%;display:block}.preview-canvas{cursor:crosshair;max-width:100%;max-height:calc(100vh - 245px)}.original-overlay{opacity:0;pointer-events:none;transition:opacity 90ms;position:absolute;inset:0}.original-overlay.is-visible{opacity:1}.focus-marker{pointer-events:none;border:1px solid #ffffffd9;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000040,inset 0 0 0 3px #00000040}.focus-marker:before,.focus-marker:after{content:"";background:#ffffffd9;position:absolute}.focus-marker:before{width:6px;height:1px;top:10px;left:7px}.focus-marker:after{width:1px;height:6px;top:7px;left:10px}.focus-hint{color:#ffffffc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;white-space:nowrap;background:#0000008f;border-radius:5px;padding:6px 9px;font-size:10px;transition:opacity .18s,transform .18s;position:absolute;bottom:12px;left:50%;transform:translate(-50%)translateY(4px)}.preview-frame:hover .focus-hint{opacity:1;transform:translate(-50%)translateY(0)}.stage-actions{justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:disabled{cursor:wait;opacity:.6}.button-primary{color:#101505;background:var(--accent);min-width:126px}.button-primary:hover:not(:disabled){background:#caff62}.button-secondary{border-color:var(--line);color:#c3c9c6;background:#111518}.button-secondary:hover{background:#171c1f;border-color:#fff3}.controls{border-left:1px solid var(--line);scrollbar-color:#39413d #0b0e10;scrollbar-width:thin;background:#0e1113;padding:30px 28px 34px;overflow-y:auto}.controls::-webkit-scrollbar{width:7px}.controls::-webkit-scrollbar-track{background:#0b0e10}.controls::-webkit-scrollbar-thumb{background:#39413d;border:2px solid #0b0e10;border-radius:999px}.controls::-webkit-scrollbar-thumb:hover{background:#607349}.controls::-webkit-scrollbar-corner{background:#0b0e10}@media (width>=921px){.app-shell.has-workspace{height:100vh;overflow:hidden}.app-shell.has-workspace .topbar{flex:none}.app-shell.has-workspace .workspace{height:calc(100vh - 72px);min-height:0;overflow:hidden}.app-shell.has-workspace .stage-column,.app-shell.has-workspace .stage,.app-shell.has-workspace .controls{min-height:0}.app-shell.has-workspace .stage-column{height:100%;overflow:hidden}.app-shell.has-workspace .controls{overscroll-behavior:contain;height:100%}}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:29px;display:flex}.panel-heading .eyebrow{margin-bottom:5px}.panel-heading h2,.dialog h2{letter-spacing:-.035em;margin:0;font-size:22px;font-weight:600}.text-button{color:#717977;cursor:pointer;background:0 0;border:0;padding:5px;font-size:11px}.text-button:hover{color:var(--accent)}.control-group{border-top:1px solid var(--line);margin-bottom:27px;padding-top:18px}.control-group h3{color:#696f6d;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:500}.control-row{margin-bottom:17px;display:block}.control-label{color:#afb6b3;justify-content:space-between;margin-bottom:8px;font-size:11px;display:flex}.control-name{align-items:center;gap:6px;display:inline-flex}.parameter-help{display:inline-flex;position:relative}.parameter-help-button{color:#737b78;cursor:pointer;background:#121618;border:1px solid #444b48;border-radius:50%;place-items:center;width:15px;height:15px;padding:0;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1;list-style:none;transition:border-color .15s,color .15s,background .15s;display:grid}.parameter-help-button:hover,.parameter-help.is-open .parameter-help-button{color:var(--accent);background:var(--accent-dark);border-color:#b8f34ab3}.parameter-help-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.parameter-help-popover{z-index:8;color:#aeb6b2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14191bfa;border:1px solid #b8f34a38;border-radius:7px;width:245px;padding:13px 14px;position:absolute;top:23px;left:-8px;box-shadow:0 14px 34px #00000075}.parameter-help-popover:before{content:"";background:#14191b;border-top:1px solid #b8f34a38;border-left:1px solid #b8f34a38;width:8px;height:8px;position:absolute;top:-5px;left:10px;transform:rotate(45deg)}.parameter-help-popover strong{color:#e4e9e6;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.parameter-help-popover p{margin:0;font-size:10px;line-height:1.7}.control-label output{color:#6e7572;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--range-progress), #2d3331 var(--range-progress));border-radius:2px;height:2px}input[type=range]::-moz-range-track{background:#2d3331;border-radius:2px;height:2px}input[type=range]::-moz-range-progress{background:var(--accent);height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid #111518;border-radius:50%;width:12px;height:12px;margin-top:-5px;box-shadow:0 0 0 1px #b8f34a66}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid #111518;border-radius:50%;width:10px;height:10px}.button-random{color:#dce4da;background:var(--accent-dark);border-color:#b8f34a38;justify-content:flex-start;width:100%;min-height:54px;padding:0 17px}.button-random:hover{background:#1e2b0b;border-color:#b8f34a85}.button-random>span{color:var(--accent)}.button-random small{color:#617341;margin-left:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:8px}.toast{z-index:20;color:#ffd7d7;background:#311416f2;border:1px solid #ff717142;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;min-width:min(420px,100vw - 32px);padding:13px 14px 13px 16px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0006}.toast button,.dialog-close{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}.dialog-backdrop{z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:#131719;border-radius:12px;width:min(430px,100%);padding:32px;position:relative;box-shadow:0 30px 90px #0000008c}.dialog-close{color:#777e7b;position:absolute;top:16px;right:18px}.dialog fieldset{border:0;margin:28px 0 0;padding:0}.dialog legend{color:#777e7b;margin-bottom:11px;font-size:10px}.segmented{border:1px solid var(--line);background:#0d1012;border-radius:7px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{color:#79807d;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:37px;font-size:11px}.segmented button.is-active{color:#171c08;background:var(--accent);font-weight:700}.option-list{border:1px solid var(--line);background:var(--line);border-radius:7px;gap:1px;display:grid;overflow:hidden}.option-list label{color:#b2b8b5;cursor:pointer;background:#101416;align-items:center;gap:10px;min-height:43px;padding:0 13px;font-size:11px;display:flex}.option-list input{accent-color:var(--accent)}.privacy-note{color:#6d7471;margin:20px 0;font-size:10px}.dialog-submit{width:100%}.export-save-backdrop{padding:12px}.export-save-preview{border:1px solid var(--line);color:#e8eceb;background:#131719;border-radius:12px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 24px);padding:24px;display:flex;box-shadow:0 30px 90px #0009}.export-save-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.export-save-heading .eyebrow{margin-bottom:4px}.export-save-heading h2{margin:0;font-size:20px}.export-save-heading>button{color:#7b8380;cursor:pointer;background:0 0;border:0;font-size:24px}.export-save-image-wrap{border:1px solid var(--line);background:#080a0b;border-radius:8px;flex:1;place-items:center;min-height:120px;display:grid;overflow:auto}.export-save-image-wrap img{object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;max-width:100%;max-height:60vh;display:block}.export-save-preview>p{color:#cbd1ce;text-align:center;margin:15px 0 4px;font-size:12px}.export-save-preview>small{color:#656d69;text-align:center;margin-bottom:14px;font-size:9px}.export-save-preview>.button{flex:none}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=920px){.workspace{display:block}.stage-column{min-height:auto}.app-shell.has-workspace{height:100dvh;overflow:hidden}.app-shell.has-workspace .topbar{height:72px}.app-shell.has-workspace .workspace{flex-direction:column;height:calc(100dvh - 72px);min-height:0;display:flex;overflow:hidden}.app-shell.has-workspace .stage-column{flex:0 0 60%;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding-top:14px;padding-bottom:12px;display:grid;overflow:hidden}.app-shell.has-workspace .stage-meta{min-height:36px;margin-bottom:9px}.app-shell.has-workspace .stage{min-height:0;padding:8px}.app-shell.has-workspace .stage-actions{padding-top:10px}.app-shell.has-workspace .controls{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.controls{border-top:1px solid var(--line);border-left:0}.preview-frame,.preview-canvas{max-height:100%}.preview-frame{width:min(100%, calc(100% * var(--image-aspect)))}}@media (width<=560px){.topbar{height:62px;padding:0 15px}.app-shell.has-workspace .topbar{height:62px}.app-shell.has-workspace .workspace{height:calc(100dvh - 62px)}.app-shell.has-workspace .stage-column{flex-basis:58%;padding:10px 12px}.brand{font-size:13px}.brand-group{gap:6px}.brand-mark{width:30px;height:30px}.author-follow-button{min-height:28px;padding:0 7px;font-size:9px}.author-follow-card{width:min(210px,100vw - 30px);left:0;transform:translateY(-5px)}.author-follow-card:before{left:34px}.author-follow:hover .author-follow-card,.author-follow:focus-within .author-follow-card{transform:translate(0)}.topbar .button{min-height:36px;padding:0 11px}.landing{min-height:calc(100vh - 62px);padding-top:70px}.hero-copy h1{font-size:42px}.hero-copy p{max-width:300px;line-height:1.8}.feature-strip{gap:10px;font-size:8px}.stage-column{padding:18px 12px 20px}.app-shell.has-workspace .stage-meta{min-height:32px;margin-bottom:7px}.stage{min-height:240px;padding:8px}.app-shell.has-workspace .stage{min-height:0}.preview-frame,.preview-canvas{max-height:100%}.preview-frame{width:min(100%, calc(100% * var(--image-aspect)))}.stage-actions{align-items:stretch}.stage-actions .button{flex:1}.compare-button{min-width:0}.controls{padding:28px 20px 40px}.app-shell.has-workspace .controls{padding-top:20px}.app-shell.has-workspace .controls::-webkit-scrollbar{width:6px}.parameter-help-popover{width:min(245px,100vw - 70px)}.dialog{padding:28px 22px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
