:root{--bg:#fff8e6;--bg-deep:#fbf0d4;--card:#fffcf5;--well:#fdf6e6;--yellow:#ffd76a;--yellow-hover:#ffc94a;--yellow-soft:#fff1c4;--border:#f0e3c5;--border-strong:#e4d3ab;--text:#202020;--text-2:#6b675f;--dark-btn:#222;--dark-btn-hover:#000;--dark-btn-text:#fff;--check-a:#fff;--check-b:#ececec;--error:#b42318;--error-bg:#fef1ef;--focus:#b8860b;--shadow:0 1px 2px #503c0a0d, 0 4px 16px #503c0a0d;--radius-l:16px;--radius-m:10px;--radius-s:8px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#161513;--bg-deep:#11100e;--card:#201f1c;--well:#1a1917;--yellow:#e9c25c;--yellow-hover:#f2cd6a;--yellow-soft:#3a3322;--border:#33302a;--border-strong:#45413a;--text:#f3efe6;--text-2:#a9a397;--dark-btn:#f3efe6;--dark-btn-hover:#fff;--dark-btn-text:#161513;--check-a:#2b2a27;--check-b:#232220;--error:#ff8b7d;--error-bg:#3a2220;--focus:#e9c25c;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:38px;padding:0 var(--s4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);color:var(--text);font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--yellow-soft);border-color:var(--yellow)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--yellow);color:#202020;border-color:#0000;width:100%;min-height:48px;font-size:15px;font-weight:650}.btn-primary:hover:not(:disabled){background:var(--yellow-hover);border-color:#0000}.btn-dark{background:var(--dark-btn);width:100%;min-height:48px;color:var(--dark-btn-text);border-color:#0000;font-size:15px;font-weight:650}.btn-dark:hover:not(:disabled){background:var(--dark-btn-hover);border-color:#0000}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--yellow-soft);border-color:#0000}.icon-btn{min-width:34px;min-height:34px;padding:0 var(--s2);border-radius:var(--s2)}.link-btn{padding:var(--s1) 0;color:var(--text-2);text-underline-offset:3px;background:0 0;border:0;font-size:13px;text-decoration:underline}.link-btn:hover:not(:disabled){color:var(--text)}.link-btn:disabled{opacity:.45;cursor:default}.shell{gap:var(--s4);height:100dvh;padding:var(--s4) clamp(16px, 2.2vw, 40px) clamp(16px, 2vw, 28px);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.header{align-items:center;gap:var(--s4);display:flex}.brand{align-items:center;gap:var(--s3);min-width:0;display:flex}.brand-mark{flex:none}.wordmark{letter-spacing:-.02em;font-size:22px;font-weight:750;line-height:1.1}.wordmark .x{color:var(--yellow-hover)}:root[data-theme=dark] .wordmark .x{color:var(--yellow)}.tagline{color:var(--text-2);margin:2px 0 0;font-size:13px}.header-actions{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.workspace{gap:var(--s4);grid-template-columns:minmax(0,1fr) clamp(260px,21%,320px);min-height:0;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-l);box-shadow:var(--shadow)}.compare-area{gap:var(--s2);grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);min-width:0;min-height:0;display:grid}.panel{min-width:0;min-height:0;padding:var(--s3);flex-direction:column;display:flex;position:relative;overflow:hidden}.panel-head{align-items:center;gap:var(--s2);padding:var(--s1) var(--s1) var(--s3);font-size:15px;font-weight:650;display:flex}.panel-head svg{color:var(--text-2)}.viewport{border-radius:var(--radius-m);background:var(--well);border:1px solid var(--border);touch-action:none;cursor:grab;flex:1;min-height:160px;position:relative;overflow:hidden}.viewport.is-panning{cursor:grabbing}.viewport.is-inspecting{cursor:crosshair}.viewport.is-empty{cursor:default}.viewport>.layer{transform-origin:0 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.viewport>.backdrop{pointer-events:none;position:absolute}.checker{background-color:var(--check-a);background-image:repeating-conic-gradient(var(--check-b) 0 25%, var(--check-a) 0 50%);background-size:16px 16px}.panel-foot{align-items:center;gap:var(--s2);padding:var(--s3) var(--s1) 0;min-height:46px;display:flex}.meta{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.zoom{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--card);align-items:center;gap:2px;padding:2px;display:inline-flex}.zoom .icon-btn{background:0 0;border:0;min-width:30px;min-height:30px}.zoom .icon-btn:hover:not(:disabled){background:var(--yellow-soft)}.zoom-value{text-align:center;font-variant-numeric:tabular-nums;min-width:52px;color:var(--text);background:0 0;border:0;border-radius:6px;padding:4px;font-size:13px}.zoom-value:hover:not(:disabled){background:var(--yellow-soft)}.gutter{justify-content:center;align-items:center;gap:var(--s2);flex-direction:column;display:flex}.round-btn{border:1px solid var(--border-strong);background:var(--card);width:40px;height:40px;color:var(--text);box-shadow:var(--shadow);border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.round-btn:hover:not(:disabled){background:var(--yellow-soft);border-color:var(--yellow)}.round-btn[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:#202020}.round-btn:disabled{opacity:.45;cursor:default}.round-btn .badge{background:var(--dark-btn);min-width:20px;color:var(--dark-btn-text);text-align:center;border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;bottom:-4px;right:-6px}.lens{pointer-events:none;z-index:3;background-repeat:no-repeat;border-radius:50%;width:150px;height:150px;display:none;position:absolute;top:0;left:0;box-shadow:0 0 0 2px #fff,0 0 0 3px #0000002e,0 8px 20px #0000002e}.lens:before,.lens:after{content:"";background:#fffc;position:absolute;box-shadow:0 0 0 .5px #0000004d}.lens:before{width:1px;height:14px;top:calc(50% - 7px);left:50%}.lens:after{width:14px;height:1px;top:50%;left:calc(50% - 7px)}.empty{padding:var(--s6);text-align:center;color:var(--text-2);place-items:center;display:grid;position:absolute;inset:0}.dropzone{justify-items:center;gap:var(--s3);max-width:340px;padding:var(--s8) var(--s6);border:1.5px dashed var(--border-strong);border-radius:var(--radius-l);background:var(--card);display:grid}.dropzone .drop-icon{background:var(--yellow-soft);width:52px;height:52px;color:var(--text);border-radius:50%;place-items:center;display:grid}.dropzone strong{color:var(--text);font-size:16px}.dropzone small{font-size:12px}.dropzone .btn{background:var(--yellow);color:#202020;border-color:#0000;font-weight:600}.dropzone .btn:hover{background:var(--yellow-hover)}.drag-veil{z-index:50;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:#ffd76a40;place-items:center;display:grid;position:fixed;inset:0}.drag-veil div{padding:var(--s5) var(--s8);border:2px dashed var(--yellow-hover);border-radius:var(--radius-l);background:var(--card);font-weight:600}.working{z-index:2;padding:var(--s3);background:color-mix(in srgb, var(--well) 55%, transparent);place-items:center;display:grid;position:absolute;inset:0}.progress{gap:var(--s2);width:min(340px,100%);padding:var(--s3) var(--s4) var(--s4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);box-shadow:var(--shadow);display:grid}.progress-label{justify-content:space-between;align-items:baseline;gap:var(--s3);color:var(--text);font-size:14px;font-weight:600;display:flex}.progress-note{color:var(--text-2);margin:-4px 0 0;font-size:12px}.progress-step{color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:500}.progress-track{border:1px solid var(--border-strong);background:var(--well);border-radius:4px;grid-template-columns:repeat(20,minmax(0,1fr));gap:3px;height:18px;padding:3px;display:grid}.progress-track span{border-radius:1.5px}.progress-track .seg-todo{background:var(--border)}.progress-track .seg-done{background:var(--yellow-hover)}.progress-track .seg-active{background:var(--border);animation:1.1s ease-in-out infinite seg-pulse}@keyframes seg-pulse{0%,to{background:var(--border)}45%{background:var(--yellow)}}.tools{gap:var(--s4);min-height:0;padding:var(--s5);flex-direction:column;display:flex;overflow:auto}.tool-group{gap:var(--s2);display:grid}.tool-label{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.pill{gap:var(--s2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pill-btn{min-height:62px;padding:var(--s2) var(--s1);border:1px solid var(--border-strong);background:var(--card);color:var(--text);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:550;line-height:1.1;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.pill-btn svg{width:20px;height:20px;color:var(--text-2);flex:none;transition:color .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover){.pill-btn:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--yellow);background:var(--yellow-soft);transform:translateY(-1px)}.pill-btn:hover:not(:disabled) svg{transform:scale(1.1)}}.pill-btn[aria-pressed=true]{border-color:var(--yellow-hover);background:var(--yellow);color:#202020;font-weight:650;box-shadow:0 2px 8px #c8910a47,inset 0 1px #ffffff73}.pill-btn[aria-pressed=true] svg{color:#202020}.pill-btn:disabled{opacity:.5;cursor:default}.subject-tip{padding:var(--s2) 10px;background:var(--yellow-soft);color:var(--text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:13px;line-height:1.3;display:flex}.subject-tip svg{color:var(--text);flex:none}.tip-chips{gap:5px;display:inline-flex}.subject-tip button{border:1px solid var(--yellow-hover);background:var(--card);min-height:28px;color:var(--text);border-radius:999px;padding:0 10px;font-size:12.5px;font-weight:600}.subject-tip button:hover{background:var(--yellow)}.compact .subject-tip button{min-height:40px;padding:0 var(--s4);font-size:14px}.tool-pair{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.tool-option{gap:6px;display:grid}.tool-hint{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.4}.m-option{border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);justify-content:center;align-items:center;gap:6px;width:100%;min-height:46px;font-size:14px;font-weight:550;display:flex}.m-option svg{color:var(--text-2)}.m-option:disabled{opacity:.45}.m-option:active{background:var(--yellow-soft)}.compact .tool-hint{padding:0 var(--s1)}.btn-soft{border-color:var(--border-strong);background:var(--card);min-height:42px}.tool-download{gap:var(--s3);margin-top:var(--s1);padding-top:var(--s4);border-top:1px solid var(--border);display:grid}.fill-row{align-items:center;gap:var(--s2);color:var(--text-2);font-size:13px;display:flex}.fill-row .select{flex:1}.row{align-items:center;gap:var(--s2);display:flex}.select{min-height:36px;padding:0 var(--s2);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--card);color:var(--text);flex:1}.colour{border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--card);width:40px;height:36px;padding:2px}.hint{color:var(--text-2);margin:0;font-size:13px}.error{padding:var(--s2) var(--s3);border-radius:var(--radius-s);background:var(--error-bg);color:var(--error);margin:0;font-size:13px}.error-actions{gap:var(--s2);display:flex}.veil{z-index:40;padding:var(--s3);background:#201c1047;place-items:center;display:grid;position:fixed;inset:0}.dialog{flex-direction:column;width:min(460px,100%);max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.dialog.wide{width:min(1120px,100%);height:min(860px,100dvh - 24px)}.dialog-head{align-items:center;gap:var(--s2);padding:var(--s4) var(--s5) var(--s2);display:flex}.dialog-head h2{margin:0;font-size:17px;font-weight:650}.dialog-head .icon-btn{margin-left:auto}.dialog-body{padding:var(--s2) var(--s5) var(--s4);color:var(--text);overflow:auto}.dialog-body p,.dialog-body li{margin:var(--s2) 0}.dialog-body ol{padding-left:20px}.dialog-body a{color:inherit;-webkit-text-decoration-color:var(--yellow-hover);text-decoration-color:var(--yellow-hover);text-underline-offset:3px}.dialog-actions{justify-content:flex-end;gap:var(--s2);padding:0 var(--s5) var(--s5);display:flex}.dialog-actions .btn-primary{width:auto;min-height:38px;padding:0 var(--s5);font-size:14px}.dialog.wide .dialog-body{flex:1;padding:0;display:flex;overflow:hidden}@media (width<=1100px){.tagline{display:none}.workspace{grid-template-columns:minmax(0,1fr) 260px}.header-actions .label{display:none}}@media (prefers-reduced-motion:reduce){.progress-track .seg-active{background:var(--yellow-soft);animation:none}.btn,.pill-btn,.round-btn{transition:none}}.shell.compact{gap:var(--s2);height:100dvh;padding:max(var(--s2), env(safe-area-inset-top)) max(var(--s3), env(safe-area-inset-right)) max(var(--s3), env(safe-area-inset-bottom)) max(var(--s3), env(safe-area-inset-left));flex-direction:column;display:flex;overflow:auto}.compact .header{gap:var(--s2);flex:none;min-height:48px}.compact .brand{gap:var(--s2)}.compact .brand-mark{width:34px;height:34px}.compact .wordmark{font-size:19px}.compact .header-actions{gap:0}.compact .header-actions .icon-btn{border-radius:var(--radius-m);min-width:44px;min-height:44px}.more{position:relative}.more-menu{z-index:45;min-width:168px;padding:var(--s1);display:grid;position:absolute;top:calc(100% + 4px);right:0}.more-menu button{min-height:44px;padding:0 var(--s4);border-radius:var(--radius-s);text-align:left;background:0 0;border:0;font-size:15px}.more-menu button:hover,.more-menu button:focus-visible{background:var(--yellow-soft)}.site-notice{align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s4);border:1px solid var(--yellow);border-radius:var(--radius-m);background:var(--yellow-soft);flex:none;font-size:14px;display:flex}.site-notice p{margin:var(--s2) 0;flex:1}.m-main{gap:var(--s2);flex-direction:column;flex:1;min-height:0;display:flex}.p-viewer{gap:var(--s2);flex-direction:column;flex:1;min-height:260px;display:flex}.p-viewer.is-empty{justify-content:center}.p-toolbar{justify-content:space-between;align-items:center;gap:var(--s2);flex:none;min-height:48px;display:flex}.p-title{padding-left:var(--s1);font-size:15px;font-weight:650}.p-views{border:1px solid var(--border-strong);background:var(--card);border-radius:12px;padding:2px;display:inline-flex}.p-views button{min-height:44px;padding:0 var(--s3);background:0 0;border:0;border-radius:10px;font-size:14px;font-weight:550}.p-views button[aria-pressed=true]{background:var(--yellow);color:#202020;font-weight:650}.p-actions{gap:var(--s2);display:flex}.p-icon{min-width:44px;height:44px;padding:0 var(--s2);border:1px solid var(--border-strong);background:var(--card);border-radius:12px;justify-content:center;align-items:center;gap:4px;display:inline-flex}.p-icon.on{background:var(--yellow);border-color:var(--yellow);color:#202020;font-weight:650}.p-frame{flex:1;place-items:center;min-height:0;display:grid;container-type:size}.p-box{width:min(100cqw, calc(100cqh * var(--ar)));aspect-ratio:var(--ar);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--well);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:hidden}.p-stage{transform-origin:0 0;position:absolute;inset:0}.p-stage img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.p-full{position:absolute;inset:0}.p-clip{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0);position:absolute;inset:0}.p-divider{top:0;bottom:0;left:var(--pos,50%);pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;box-shadow:0 0 0 1px #0000002e}.p-knob{background:var(--yellow);border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #fff,0 2px 8px #00000040}.p-knob:before,.p-knob:after{content:"";border:0 solid #202020;border-width:0 0 2px 2px;width:7px;height:7px;margin-top:-4px;position:absolute;top:50%}.p-knob:before{left:8px;transform:rotate(45deg)}.p-knob:after{right:8px;transform:rotate(-135deg)}.p-tag{top:var(--s2);padding:2px var(--s2);color:#fff;pointer-events:none;background:#2020209e;border-radius:999px;font-size:12px;position:absolute}.p-tag.left{left:var(--s2)}.p-tag.right{right:var(--s2)}.p-mark{pointer-events:none;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;display:none;position:absolute;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #00000059}.p-hint{left:50%;bottom:var(--s3);max-width:calc(100% - 24px);padding:var(--s2) var(--s3);color:#fff;text-align:center;pointer-events:none;background:#202020bf;border-radius:999px;font-size:13px;position:absolute;transform:translate(-50%)}.p-lens{z-index:60;pointer-events:none;background-repeat:no-repeat;border-radius:50%;width:136px;height:136px;display:none;position:fixed;top:0;left:0;box-shadow:0 0 0 3px #fff,0 0 0 4px #0003,0 10px 24px #00000040}.p-lens:before,.p-lens:after{content:"";background:#ffffffd9;position:absolute;box-shadow:0 0 0 .5px #00000059}.p-lens:before{width:1px;height:16px;top:calc(50% - 8px);left:50%}.p-lens:after{width:16px;height:1px;top:50%;left:calc(50% - 8px)}.p-lens>span{color:#fff;white-space:nowrap;background:#202020b3;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.p-lens-close{background:var(--dark-btn);width:26px;height:26px;color:var(--dark-btn-text);pointer-events:auto;touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:7px;left:103px;box-shadow:0 0 0 2px #fff,0 2px 6px #0000004d}.p-lens-close:before{content:"";border-radius:50%;position:absolute;inset:-9px}.p-lens-close:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.m-empty{justify-items:center;gap:var(--s4);padding:var(--s4) 0;display:grid}.m-upload{justify-items:center;gap:var(--s3);width:min(100%,380px);padding:var(--s8) var(--s5);border:1.5px dashed var(--border-strong);border-radius:var(--radius-l);background:var(--card);color:var(--text-2);box-shadow:var(--shadow);display:grid}.m-upload .drop-icon{background:var(--yellow-soft);width:56px;height:56px;color:var(--text);border-radius:50%;place-items:center;display:grid}.m-upload strong{color:var(--text);font-size:18px}.m-upload-btn{isolation:isolate;align-items:center;gap:var(--s2);min-height:50px;padding:0 var(--s6);border-radius:var(--radius-m);background:var(--yellow);color:#202020;border:0;font-size:15px;font-weight:650;transition:transform .18s cubic-bezier(.34,1.56,.64,1),background-color .15s,box-shadow .15s;animation:2.6s ease-out infinite upload-glow;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px #78550040,0 0 #ffc94a8c}.m-upload-btn:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000,#ffffff8c,#0000);width:45%;animation:3.4s ease-in-out 1s infinite upload-sheen;position:absolute;inset:0 auto 0 -60%;transform:skew(-18deg)}.m-upload-btn svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.m-upload-btn:active{transform:scale(.95);box-shadow:0 1px #78550040}@media (hover:hover){.m-upload-btn:hover{background:var(--yellow-hover);transform:translateY(-1px)}.m-upload-btn:hover svg{transform:translateY(-2px)rotate(-8deg)}}@keyframes upload-glow{0%{box-shadow:0 2px #78550040,0 0 #ffc94a8c}70%,to{box-shadow:0 2px #78550040,0 0 0 14px #ffc94a00}}@keyframes upload-sheen{0%,55%{left:-60%}85%,to{left:130%}}@media (prefers-reduced-motion:reduce){.m-upload-btn,.m-upload-btn:after{animation:none}.m-upload-btn:after{display:none}.m-upload-btn,.m-upload-btn svg{transition:none}}.m-upload small{font-size:13px}.m-steps{justify-content:center;gap:var(--s2) var(--s3);counter-reset:step;color:var(--text-2);flex-wrap:wrap;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.m-steps li{counter-increment:step;align-items:center;gap:6px;display:inline-flex}.m-steps li:before{content:counter(step);background:var(--yellow-soft);width:20px;height:20px;color:var(--text);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.m-panel{gap:var(--s2);padding:var(--s3);flex:none;display:grid}.m-seg,.m-tools{gap:var(--s2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.m-tools.two{grid-template-columns:repeat(2,minmax(0,1fr))}.m-seg button,.m-tools button{min-height:46px;padding:0 var(--s1);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:550;display:flex}.m-seg button svg,.m-tools button svg{color:var(--text-2);flex:none}.m-seg button[aria-pressed=true]{background:var(--yellow);border-color:var(--yellow);color:#202020;font-weight:650}.m-seg button[aria-pressed=true] svg{color:#202020}.m-seg button:disabled,.m-tools button:disabled{opacity:.45}.m-tools button:active,.m-seg button:active{background:var(--yellow-soft)}.compact .btn-primary,.compact .btn-dark{min-height:50px}.m-download{gap:var(--s2);display:flex}.m-download .select{min-width:0;min-height:50px;padding:0 var(--s3);border-radius:var(--radius-m);flex:0 42%;font-size:14px}.m-download .colour{border-radius:var(--radius-m);flex:none;width:50px;height:50px}.m-download .btn-dark{flex:1;width:auto;min-width:0}.compact .error-actions .btn{flex:1;min-height:44px}.compact .veil:has(.dialog.wide){padding:0}.compact .dialog.wide{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.compact .dialog.wide .dialog-head{padding:max(var(--s2), env(safe-area-inset-top)) var(--s3) var(--s2) var(--s4)}.compact .dialog.wide .dialog-head .icon-btn{min-width:44px;min-height:44px}@media (height<=540px){.shell.compact{height:auto;min-height:100dvh}.p-viewer{flex:none}.p-frame{flex:none;height:78dvh}}.refine-action{color:#d5d1c9;background:0 0;border:1px solid #514e47;border-radius:8px;min-height:38px;padding:8px 11px;font-size:12px}.refine-action:hover{color:#f5f3ee;border-color:#e86f32}.refine-backdrop{z-index:20;background:#0a0a09e0;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.refine-modal{background:#1d1d1b;border:1px solid #3b3934;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:1320px;height:calc(100dvh - 24px);display:grid;position:relative;overflow:hidden}.refine-modal:focus{outline:none}.refine-modal button,.refine-modal input[type=range]{font:inherit}.refine-modal :focus-visible{outline-offset:2px;outline:2px solid #f5f3ee}.refine-header{border-bottom:1px solid #35332f;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.refine-header h2{color:#f5f3ee;margin:0;font-size:17px}.refine-header small{color:#8f8c85;font-size:11px}.refine-close{color:#aaa7a0;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px}.refine-close:hover:not(:disabled){color:#f5f3ee}.refine-body{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.refine-stage-wrap{background:#131312;min-width:0;min-height:0;position:relative}.refine-stage{padding:12px;display:flex;position:absolute;inset:0;overflow:auto}.refine-frame{flex:none;margin:auto;position:relative;overflow:hidden}.refine-canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block}.refine-canvas.is-pixelated{image-rendering:pixelated}.refine-canvas.tool-paint{cursor:none}.refine-canvas.tool-pan{cursor:grab}.refine-canvas.tool-pan:active{cursor:grabbing}.refine-cursor{pointer-events:none;border:1.5px solid #fff;border-radius:50%;display:none;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #000c}.refine-message{color:#aaa7a0;margin:auto;font-size:14px}.refine-busy{color:#f5f3ee;background:#171717;border:1px solid #45423d;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;font-size:13px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.refine-spinner{border:2px solid #514e47;border-top-color:#e86f32;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite refine-spin}@keyframes refine-spin{to{transform:rotate(360deg)}}.refine-controls{border-left:1px solid #35332f;align-content:start;gap:11px;padding:12px 14px;display:grid;overflow-y:auto}.refine-controls section{gap:6px;display:grid}.refine-controls h3{color:#8f8c85;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.refine-hint{color:#807d77;margin:0;font-size:11px;line-height:1.4}.refine-segments{gap:6px;display:grid}.refine-segments.three{grid-template-columns:repeat(3,1fr)}.refine-modal button{color:#d7d3cc;cursor:pointer;background:0 0;border:1px solid #4b4841;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:6px 10px;font-size:12px;display:inline-flex}@media (hover:hover){.refine-modal button:hover:not(:disabled){color:#f5f3ee;border-color:#8f8c85}}.refine-modal button:disabled{cursor:not-allowed;opacity:.4}.refine-toggle{width:100%;justify-content:space-between!important}.refine-toggle-label{align-items:center;gap:6px;display:inline-flex}.refine-switch{background:#45423d;border-radius:999px;flex:none;width:30px;height:16px;position:relative}.refine-switch span{background:#d7d3cc;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px}.refine-modal .refine-toggle.is-active{color:#171717;background:#f5f3ee;border-color:#f5f3ee;font-weight:700}.refine-toggle.is-active .refine-switch{background:#e86f32}.refine-toggle.is-active .refine-switch span{background:#171717;left:16px}.refine-modal .refine-segments button.is-active,.refine-modal .refine-segments button.is-active:hover{color:#171717;background:#f5f3ee;border-color:#f5f3ee;font-weight:700}.refine-segments .keep svg{color:#8db07f}.refine-segments .remove svg{color:#e86f32}.refine-segments button.is-active svg{color:#171717}.refine-slider{color:#b8b4ac;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;font-size:12px;display:grid}.refine-slider input{accent-color:#e86f32;grid-column:1/-1;width:100%;margin:0}.refine-slider output,.refine-zoom output{color:#f5f3ee;font:11px DM Mono,monospace}.refine-zoom{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:6px;display:grid}.refine-zoom button{min-height:32px;padding:6px 8px}.refine-zoom input{accent-color:#e86f32;width:100%;min-width:0;margin:0}.refine-zoom output{text-align:right;min-width:38px}.refine-footer{background:#1d1d1b;border-top:1px solid #35332f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.refine-footer-left,.refine-footer-right{flex-wrap:wrap;gap:8px;display:flex}.refine-error{color:#ff8a7a;text-align:center;flex:1;min-width:0;margin:0;font-size:12px}.refine-error:empty{display:none}.refine-modal .refine-apply{color:#25170f;background:#e86f32;border-color:#e86f32;min-height:38px;padding:8px 18px;font-size:13px;font-weight:800}.refine-modal .refine-apply:hover:not(:disabled){color:#25170f;filter:brightness(1.08);border-color:#f5f3ee}.refine-confirm-backdrop{z-index:2;background:#0a0a09b8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.refine-confirm{background:#232321;border:1px solid #514e47;border-radius:10px;max-width:380px;padding:18px}.refine-confirm h3{color:#f5f3ee;margin:0 0 8px;font-size:16px}.refine-confirm p{color:#aaa7a0;margin:0 0 16px;font-size:13px;line-height:1.45}.refine-confirm div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.refine-modal .refine-discard{color:#e86f32;border-color:#e86f32}@media (width<=900px){.refine-body{flex-direction:column;display:flex;overflow-y:auto}.refine-stage-wrap{flex:none;height:clamp(260px,52dvh,560px)}.refine-controls{border-top:1px solid #35332f;border-left:0;flex:none;overflow:visible}.refine-header small{display:none}.refine-footer{gap:8px}.refine-error{text-align:left;flex-basis:100%;order:3}}@media (width<=480px){.refine-backdrop{padding:0}.refine-modal{border-radius:0;height:100dvh}.refine-footer-left button,.refine-footer-right button{padding:6px 8px}}@media (prefers-reduced-motion:reduce){.refine-spinner{animation:none}}.ss-veil{z-index:40;padding:var(--s3);overscroll-behavior:contain;background:#201c1057;place-items:center;display:grid;position:fixed;inset:0}.ss-editor{width:min(1320px,100%);height:calc(100dvh - 24px);color:var(--text);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.ss-editor:focus{outline:none}.ss-editor :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ss-head{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4) var(--s3) var(--s5);border-bottom:1px solid var(--border);display:flex}.ss-head h2{margin:0;font-size:17px;font-weight:650}.ss-head p{color:var(--text-2);margin:2px 0 0;font-size:13px}.ss-head>.ss-icon{margin-left:auto}.ss-body{grid-template-columns:minmax(0,1fr) 300px;min-height:0;display:grid}.ss-stage-wrap{min-width:0;min-height:0;margin:var(--s3);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--well);position:relative;overflow:hidden}.ss-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:absolute;inset:0}.ss-canvas{display:block;position:absolute;top:0;left:0}.ss-message{color:var(--text-2);pointer-events:none;place-items:center;margin:0;font-size:14px;display:grid;position:absolute;inset:0}.ss-hint{left:50%;bottom:var(--s3);max-width:calc(100% - 24px);padding:6px var(--s3);color:#fff;text-align:center;pointer-events:none;background:#202020b8;border-radius:999px;margin:0;font-size:13px;position:absolute;transform:translate(-50%)}.ss-float{top:var(--s2);right:var(--s2);gap:var(--s2);display:flex;position:absolute}.ss-chip{border:1px solid var(--border-strong);background:var(--card);width:44px;height:44px;color:var(--text);box-shadow:var(--shadow);border-radius:12px;place-items:center;padding:0;display:grid}.ss-swatch{border:1px solid var(--border-strong);border-radius:5px;flex:none;width:18px;height:18px;display:inline-block}.ss-swatch.checker{background-color:#fff;background-image:repeating-conic-gradient(#d9d9d9 0 25%, #fff 0 50%);background-size:9px 9px}.ss-swatch.white{background:#fff}.ss-swatch.black{background:#000}.ss-working{z-index:2;padding:var(--s3);background:color-mix(in srgb, var(--well) 60%, transparent);place-items:center;display:grid;position:absolute;inset:0}.ss-busy{left:50%;bottom:var(--s4);padding:10px var(--s4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);box-shadow:var(--shadow);white-space:nowrap;align-items:center;gap:10px;font-size:14px;display:flex;transform:translate(-50%)}.ss-spinner{border:2px solid var(--border-strong);border-top-color:var(--yellow-hover);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite ss-spin}@keyframes ss-spin{to{transform:rotate(360deg)}}.ss-side{align-content:start;gap:var(--s4);min-height:0;padding:var(--s3) var(--s4) var(--s4) var(--s2);display:grid;overflow-y:auto}.ss-side section{gap:var(--s2);display:grid}.ss-side h3{color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.ss-btn{min-height:40px;padding:0 var(--s3);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--card);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:550;display:inline-flex}.ss-btn svg{flex:none}.ss-btn:disabled{opacity:.42;cursor:default}.ss-btn[aria-pressed=true]{border-color:var(--yellow-hover);background:var(--yellow);color:#202020;font-weight:650}.ss-btn.ss-icon{background:0 0;border-color:#0000;min-width:40px;padding:0}.ss-btn.ss-primary,.ss-btn.ss-keep{border-color:var(--yellow-hover);background:var(--yellow);color:#202020;font-weight:650}.ss-btn.ss-remove{font-weight:650}.ss-btn.ss-region{border-color:var(--dark-btn);background:var(--dark-btn);color:var(--dark-btn-text);font-weight:650}.ss-btn.ss-region svg{color:var(--yellow)}.ss-btn.ss-strong{border-color:var(--text);font-weight:650}.ss-btn.ss-danger{border-color:var(--error);color:var(--error)}@media (hover:hover){.ss-btn:hover:not(:disabled):not([aria-pressed=true]):not(.ss-primary):not(.ss-keep):not(.ss-region){border-color:var(--yellow);background:var(--yellow-soft)}.ss-btn.ss-primary:hover:not(:disabled),.ss-btn.ss-keep:hover:not(:disabled){background:var(--yellow-hover)}.ss-btn.ss-region:hover:not(:disabled){background:var(--dark-btn-hover)}.ss-tool:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--yellow);background:var(--yellow-soft)}}.ss-row{gap:var(--s2);flex-wrap:wrap;display:flex}.ss-row>.ss-btn{flex:auto}.ss-seg{gap:var(--s1);border:1px solid var(--border-strong);background:var(--card);border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:2px;display:grid}.ss-seg .ss-btn{min-width:0;min-height:36px;padding:0 var(--s2);background:0 0;border-color:#0000;border-radius:10px;overflow:hidden}.ss-seg .ss-btn span:not(.ss-swatch){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ss-seg .ss-btn[aria-pressed=true]{background:var(--yellow)}.ss-toolgrid{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ss-tool{min-height:52px;padding:var(--s1);border:1px solid var(--border-strong);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:550;display:flex}.ss-tool svg{color:var(--text-2)}.ss-tool[aria-pressed=true]{border-color:var(--yellow-hover);background:var(--yellow);color:#202020;font-weight:650;box-shadow:0 2px 8px #c8910a40}.ss-tool[aria-pressed=true] svg{color:#202020}.ss-tool:disabled{opacity:.45}.ss-slider{align-items:center;gap:var(--s2);color:var(--text-2);grid-template-columns:auto minmax(0,1fr) auto;font-size:13px;display:grid}.ss-slider input{accent-color:#d9a21b;width:100%;min-width:0;margin:0}.ss-slider output{min-width:52px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.ss-zoom{align-items:center;gap:var(--s2);grid-template-columns:auto 1fr auto auto;display:grid}.ss-zoom output{text-align:center;font-variant-numeric:tabular-nums}.ss-zoom .ss-btn{min-width:40px;padding:0}.ss-note,.ss-hint-inline{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.4}.ss-error{padding:var(--s2) var(--s3);border-radius:var(--radius-s);background:var(--error-bg);color:var(--error);margin:0;font-size:13px}.ss-foot{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.ss-foot .ss-row>.ss-btn{flex:none}.ss-foot .ss-primary{padding:0 var(--s5)}.ss-foot .ss-error{text-align:center;flex:1}.ss-confirm-veil{z-index:3;padding:var(--s4);background:#201c104d;place-items:center;display:grid;position:absolute;inset:0}.ss-confirm{width:min(400px,100%);padding:var(--s5)}.ss-confirm h3{margin:0 0 var(--s2);font-size:16px}.ss-confirm p{margin:0 0 var(--s4);color:var(--text-2);font-size:14px;line-height:1.45}.ss-confirm>div{justify-content:flex-end;gap:var(--s2);flex-wrap:wrap;display:flex}.ss-confirm-choices{grid-template-columns:1fr 1fr;display:grid!important}@media (width<=1100px){.ss-body{grid-template-columns:minmax(0,1fr) 270px}}.ss-veil.is-compact{background:var(--bg);place-items:stretch stretch;padding:0}.is-compact .ss-editor{gap:var(--s2);background:var(--bg);width:100%;height:100dvh;padding:max(var(--s2), env(safe-area-inset-top)) max(var(--s3), env(safe-area-inset-right)) max(var(--s3), env(safe-area-inset-bottom)) max(var(--s3), env(safe-area-inset-left));border:0;border-radius:0;flex-direction:column;display:flex}.is-compact .ss-head{gap:var(--s1);border:0;flex:none;min-height:48px;padding:0}.is-compact .ss-head h2{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:17px;overflow:hidden}.is-compact .ss-head-actions{display:flex}.is-compact .ss-btn{min-height:44px}.is-compact .ss-btn.ss-icon{min-width:44px}.is-compact .ss-head .ss-primary{padding:0 var(--s4)}.ss-viewbar{align-items:center;gap:var(--s1);flex:none;display:flex}.ss-viewbar .ss-views{flex:1}.is-compact .ss-views .ss-btn{min-height:40px;padding:0 2px;font-size:13px}.is-compact .ss-stage-wrap{flex:1;min-height:200px;margin:0}.ss-context-area{gap:var(--s2);flex-direction:column;flex:none;height:160px;display:flex}.ss-context{align-items:center;gap:var(--s2);flex:none;min-height:48px;display:flex}.ss-context:has(>.ss-slider){row-gap:var(--s2);flex-wrap:wrap}.ss-context>.ss-seg:not(.ss-mode):first-child{flex:100%}.ss-context>.ss-row{flex-wrap:nowrap;flex:1;min-width:0}.ss-context>.ss-row>.ss-btn{min-width:0;padding:0 var(--s2);flex:1 1 0}.ss-context>.ss-row>.ss-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-context>.ss-row>.ss-btn[aria-label]{flex:0 0 44px}.ss-context .ss-mode{flex:none}.ss-context .ss-mode .ss-btn{width:44px;min-height:40px;padding:0}.ss-context>.ss-seg:not(.ss-mode){flex:none}.ss-context .ss-seg:not(.ss-mode) .ss-btn{min-height:40px}.ss-context .ss-slider{flex:100%;min-width:0;min-height:48px}.ss-context .ss-slider input{height:32px}.ss-context .ss-hint-inline{flex:1;min-width:0;font-size:13px}.ss-tools{gap:var(--s2);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ss-tools .ss-tool{min-height:54px}.is-compact .ss-error{flex:none}.is-compact .ss-busy{bottom:var(--s3)}@media (width<=370px){.ss-context .ss-slider>span{display:none}.ss-context .ss-slider{grid-template-columns:minmax(0,1fr) auto}}@media (height<=540px){.is-compact .ss-editor{gap:var(--s1)}.is-compact .ss-tools .ss-tool{flex-direction:row;min-height:44px}.is-compact .ss-stage-wrap{min-height:140px}}@media (prefers-reduced-motion:reduce){.ss-spinner{animation:none}}.ss-context>.ss-subjects{flex:auto;min-width:0}.ss-context>.ss-subjects .ss-btn{min-height:40px;padding:0 4px;font-size:13px}.ss-context>.ss-region{padding:0 var(--s3);flex:none}.ss-side .ss-region{width:100%}
