@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#ecebe8;--panel:#fff;--panel-2:#f6f5f3;--panel-3:#efeeeb;--line:#e3e1dd;--line-2:#d4d1cc;--ink:#1e2024;--ink-2:#474c54;--ink-3:#686e78;--accent:#8f3b1f;--accent-2:#a3482a;--accent-ink:#7a3018;--accent-tint:#f7ece6;--warn:#7a4f00;--warn-bg:#fbf3e1;--bad:#b3322d;--r:10px;--shadow:0 1px 2px #14181f0f, 0 8px 24px #14181f14;--shadow-lg:0 2px 6px #14181f14, 0 18px 48px #14181f29;--tabs-h:58px;color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;accent-color:var(--accent);caret-color:var(--accent);font-family:Hanken Grotesk Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--canvas);overscroll-behavior:none;overflow:hidden}::selection{color:var(--ink);background:#ecd3c6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}a{color:var(--accent-ink);text-underline-offset:3px}h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance;margin:0}p{margin:0}.sr{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-3)}.small{font-size:13px}.center{text-align:center}.error{color:var(--bad)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.primary,.secondary{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:600;transition:background-color .16s ease-out,box-shadow .16s ease-out,transform .12s ease-out;display:inline-flex}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-2)}.primary:active:not(:disabled),.secondary:active:not(:disabled){transform:scale(.98)}.secondary{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.secondary:hover:not(:disabled){background:var(--panel-2)}.secondary.small{min-height:32px;padding:0 12px;font-size:14px}.secondary.danger,.menurow.danger{color:var(--bad)}.icon{width:40px;height:40px;color:var(--ink-2);border-radius:9px;place-items:center;transition:background-color .14s ease-out;display:inline-grid}.icon:hover:not(:disabled){background:var(--panel-2);color:var(--ink)}.linkish{color:var(--accent-ink);text-underline-offset:3px;padding:6px 0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.app{height:100dvh}.editor{--float:#fffffff2;--float-shadow:0 1px 2px #14181f14, 0 6px 18px #14181f17;height:100dvh;position:relative;overflow:hidden}.viewport{background:radial-gradient(90% 75% at 50% 42%,#f6f5f3 0%,#e7e5e1 55%,#d5d2cd 100%);position:absolute;inset:0;overflow:hidden}.stage,.stage canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:absolute;inset:0}.fab{background:var(--float);width:44px;height:44px;color:var(--ink-2);box-shadow:var(--float-shadow);border-radius:14px;place-items:center;transition:background-color .14s ease-out,color .14s ease-out,transform .12s ease-out;display:inline-grid}.fab:hover:not(:disabled){color:var(--ink);background:#fff}.fab:active:not(:disabled){transform:scale(.96)}.fab:disabled{opacity:1;color:#b8bbc1;box-shadow:0 1px 2px #14181f0f}.primary-fab{background:var(--accent);color:#fff;align-items:center;gap:8px;width:auto;padding:0 16px;display:inline-flex}.primary-fab:hover:not(:disabled){background:var(--accent-2);color:#fff}.fab-text{font-weight:650}@media (width<=520px){.primary-fab{justify-content:center;width:44px;padding:0}.fab-text{display:none}}.hud-top{z-index:5;padding:calc(env(safe-area-inset-top) + 10px) 10px 0;pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.hud-top .title{flex-direction:column;flex:1;min-width:0;padding-top:1px;display:flex}.name-input{text-overflow:ellipsis;letter-spacing:-.01em;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;max-width:440px;height:30px;padding:0 6px;font-size:17px;font-weight:700}.name-input:hover{background:#ffffff8c}.name-input:focus{border-color:var(--accent);background:#fff;outline:none}.readout{min-height:36px;color:var(--ink-2);pointer-events:none;flex-direction:column;padding:0 7px;font-size:13px;font-weight:560;line-height:1.35;display:flex}.readout-sub{color:var(--ink-3)}.save-note{color:var(--warn);padding:2px 7px 0;font-size:12px}.hud-actions{flex:none;gap:6px;display:flex}.viewbtns{z-index:4;right:10px;top:calc(env(safe-area-inset-top) + 66px);flex-direction:column;gap:8px;transition:right .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute}.fab.on{background:var(--accent);color:#fff}.fab.on:hover:not(:disabled){background:var(--accent-2);color:#fff}.fab.appear{animation:.18s cubic-bezier(.2,.8,.2,1) pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.hud-bottom{z-index:6;padding:0 8px max(8px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;align-items:center;transition:right .26s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0}.hud-bottom>*{pointer-events:auto}.quickbar{pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(100%,560px);margin-bottom:8px;display:flex}.quickbar>*{pointer-events:auto}.quickbar-row{gap:8px;width:100%;max-width:420px;display:flex}.quickbar-row .seg{background:var(--float);box-shadow:var(--float-shadow);border-radius:15px;flex:1;padding:4px}.quickbar-row .seg button{border-radius:11px;min-height:40px;font-size:15px}.quickbar-row .seg button.on{background:var(--accent-tint);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.quick-btn{background:var(--float);width:48px;box-shadow:var(--float-shadow);color:var(--ink-2);border-radius:15px;flex:none;place-items:center;transition:background-color .14s ease-out,color .14s ease-out;display:grid}.quick-btn:hover{color:var(--ink);background:#fff}.quick-btn.on{background:var(--accent);color:#fff}.brush-dot{background:var(--ink-2);box-shadow:0 0 0 1.5px #ffffffe6, 0 0 0 2.5px var(--ink-3);border-radius:50%;display:block}.brushrow{background:var(--float);min-height:48px;box-shadow:var(--float-shadow);border-radius:15px;flex:1;align-items:center;gap:10px;padding:0 6px 0 10px;animation:.16s ease-out fade;display:flex}.brushrow-dot{flex:none;place-items:center;width:30px;height:30px;display:grid}.brushrow-dot span{background:var(--accent);border-radius:50%;display:block}.brushrow-range{appearance:none;cursor:pointer;touch-action:none;background:0 0;flex:1;min-width:0;height:44px;margin:0}.brushrow-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--fill,50%), #c9c5bf var(--fill,50%));border-radius:3px;height:6px}.brushrow-range::-moz-range-track{background:#c9c5bf;border-radius:3px;height:6px}.brushrow-range::-moz-range-progress{background:var(--accent);border-radius:3px;height:6px}.brushrow-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;box-shadow:0 0 0 1px var(--line-2), 0 1px 4px #00000040;background:#fff;border-radius:50%;margin-top:-11px}.brushrow-range::-moz-range-thumb{width:28px;height:28px;box-shadow:0 0 0 1px var(--line-2), 0 1px 4px #00000040;background:#fff;border:0;border-radius:50%}.brushrow-range:focus-visible{outline:none}.brushrow-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-tint), 0 0 0 1px var(--accent)}.brushrow-value{min-width:64px;color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:14px;font-weight:700}.brushrow-done{background:var(--accent);color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.brushrow-done:hover{background:var(--accent-2)}.quickbar{position:relative}.stage-hint{color:#fff;text-align:center;pointer-events:none;background:#1e2024cc;border-radius:12px;width:max-content;max-width:min(420px,100%);padding:8px 14px;font-size:13px;animation:.2s ease-out fade;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.stagetrack{background:var(--float);width:100%;box-shadow:var(--float-shadow);border-radius:15px;grid-template-columns:repeat(6,minmax(0,1fr));padding:8px 4px 6px;display:grid;position:relative}.stagetrack-line{background:var(--line-2);border-radius:2px;height:2px;position:absolute;top:15px;left:calc(8.33333% + 4px);right:calc(8.33333% + 4px)}.stagetrack-line span{background:var(--accent);transform-origin:0;border-radius:2px;width:100%;height:100%;transition:transform .26s cubic-bezier(.2,.8,.2,1);display:block}.stagetrack-step{min-height:40px;color:var(--ink-3);flex-direction:column;align-items:center;gap:5px;padding:0 2px;display:flex;position:relative}.stagetrack-step .dot{width:14px;height:14px;box-shadow:inset 0 0 0 2px var(--line-2);background:#fff;border-radius:50%;transition:box-shadow .2s ease-out,background-color .2s ease-out,transform .2s ease-out}.stagetrack-step.done .dot{background:var(--accent);box-shadow:none;transform:scale(.72)}.stagetrack-step.on .dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.stagetrack-step .name{text-align:center;white-space:nowrap;font-size:12px;line-height:1.15}.stagetrack-step .name-short{display:none}@media (width<=440px){.stagetrack-step .name-long{display:none}.stagetrack-step .name-short{display:inline}}.stagetrack-step.on .name{color:var(--ink);font-weight:650}.dockcard{background:#fff;border-radius:20px;width:min(100%,640px);overflow:hidden;box-shadow:0 1px 2px #14181f14,0 10px 32px #14181f24}.drawer{grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.2,.8,.2,1);display:grid}.drawer.open{grid-template-rows:1fr}.drawer-in{flex-direction:column;min-height:0;display:flex;overflow:hidden}.drawer-head{touch-action:none;cursor:grab;align-items:center;gap:8px;padding:14px 6px 4px 18px;display:flex;position:relative}.drawer-head h2{flex:1;font-size:17px;font-weight:700}.drawer-head .grab{background:var(--line-2);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}.drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(36dvh,340px);padding:6px 18px 18px;overflow-y:auto}.drawer.tall .drawer-body{max-height:max(min(36dvh,340px),100dvh - 430px)}.head-btn{background:var(--panel-3);height:36px;color:var(--ink-2);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;border-radius:11px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:650;display:inline-flex}.head-btn:hover{color:var(--ink)}.head-btn.on{background:var(--accent);color:#fff}.drawer.open+.dock{border-top:1px solid var(--line)}.dock{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dock button{height:58px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:650;transition:color .14s ease-out;display:flex}.dock button.on{color:var(--accent)}.dock button:hover:not(.on){color:var(--ink)}@media (width>=960px){.hud-top{padding:14px 16px 0}.viewbtns{top:84px;right:14px}.editor.drawer-open .viewbtns{right:410px}.hud-bottom{padding-bottom:16px}.editor.drawer-open .hud-bottom{right:396px}.dockcard{width:auto;overflow:visible}.dock{grid-template-columns:repeat(4,96px)}.drawer{z-index:7;width:380px;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:block;position:fixed;top:76px;right:16px;transform:translate(calc(100% + 32px))}.drawer.open{transform:none}.drawer-in{background:#fff;border-radius:18px;max-height:calc(100dvh - 92px);box-shadow:0 2px 6px #14181f14,0 18px 48px #14181f29}.drawer-head{cursor:default;padding:14px 8px 6px 20px}.drawer-head .grab{display:none}.drawer-body,.drawer.tall .drawer-body{flex:auto;min-height:0;max-height:none;padding:8px 20px 24px}.drawer.open+.dock{border-top:0}}.panel-stack{flex-direction:column;gap:16px;display:flex}.group-title{color:var(--ink);margin-top:8px;font-size:14px;font-weight:700}.group-title.flush,.panel-stack>.group-title:first-child{margin-top:0}.row{flex-direction:column;gap:8px;display:flex}.row-head{justify-content:space-between;align-items:center;gap:12px;min-height:22px;display:flex}.row-head label,.row-label{color:var(--ink-2);font-size:14px;font-weight:600}.row-value{color:var(--ink);white-space:nowrap;font-size:14px;font-weight:600}.hint{color:var(--ink-3);font-size:13px}.warn{color:var(--warn);background:var(--warn-bg);border-radius:9px;padding:10px 12px;font-size:14px}.seg{background:var(--panel-3);border-radius:10px;gap:2px;padding:3px;display:flex}.seg button{min-width:0;min-height:38px;color:var(--ink-2);white-space:nowrap;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;transition:background-color .14s ease-out,color .14s ease-out;display:inline-flex}.seg button span{text-overflow:ellipsis;overflow:hidden}.seg button.on{background:var(--panel);color:var(--accent-ink);box-shadow:0 1px 2px #00000014, inset 0 0 0 1px var(--line)}.seg button:hover:not(.on){color:var(--ink)}.seg button,.secondary.small,.head-btn,.drawer-head .icon{position:relative}.seg button:after,.secondary.small:after,.head-btn:after{content:"";position:absolute;inset:-4px 0}.secondary.small:after{inset:-6px -2px}.icon{position:relative}.icon:after{content:"";position:absolute;inset:-2px}.seg.small{flex:none}.seg.small button{flex:none;min-height:36px;padding:0 12px;font-size:13px}.slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--fill,50%), #c9c5bf var(--fill,50%));border-radius:3px;height:6px}.slider::-moz-range-track{background:#c9c5bf;border-radius:3px;height:6px}.slider::-moz-range-progress{background:var(--accent);border-radius:3px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;box-shadow:0 0 0 1px var(--line-2), 0 1px 3px #00000038;background:#fff;border-radius:50%;margin-top:-9px;transition:transform .12s ease-out}.slider::-moz-range-thumb{width:24px;height:24px;box-shadow:0 0 0 1px var(--line-2), 0 1px 3px #00000038;background:#fff;border:0;border-radius:50%}.slider:active::-webkit-slider-thumb{transform:scale(1.12)}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent-tint), 0 0 0 1px var(--accent)}.lengrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lenfield{flex-direction:column;gap:4px;min-width:0;display:flex}.lenfield label{color:var(--ink-2);font-size:13px;font-weight:600}.lenfield-box{background:var(--panel-2);height:44px;box-shadow:inset 0 0 0 1px var(--line);border-radius:9px;align-items:center;transition:box-shadow .14s ease-out;display:flex}.lenfield-box:focus-within{box-shadow:inset 0 0 0 2px var(--accent);background:#fff}.lenfield input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;padding:0 0 0 12px;font-size:16px;font-weight:650}.lenfield-unit{color:var(--ink-3);padding:0 12px 0 6px;font-size:14px}.lenfield-hint{color:var(--ink-3);font-size:12px}.lenfield.bad .lenfield-box{box-shadow:inset 0 0 0 2px var(--bad)}.lenfield-bad{color:var(--bad);font-size:12px;line-height:1.3}.forms{scroll-snap-type:x proximity;gap:8px;margin:0 -16px;padding-bottom:6px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.form-btn{background:var(--panel-2);width:76px;color:var(--ink-2);scroll-snap-align:start;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:6px;padding:8px 4px;font-size:12px;font-weight:600;transition:background-color .14s ease-out;display:flex}.form-btn svg path{fill:currentColor;opacity:.72}.form-btn:hover{background:var(--panel-3)}.form-btn.on{background:var(--accent-tint);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.toggle-row .toggle-label{color:var(--ink-2);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:32px;font-size:14px;font-weight:600;display:flex}.toggle{appearance:none;background:var(--line-2);cursor:pointer;border-radius:14px;flex:none;width:46px;height:28px;margin:0;transition:background-color .16s ease-out;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(18px)}.text-input{background:var(--panel-2);width:100%;height:44px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:9px;padding:0 12px;font-size:16px}.text-input:focus{box-shadow:inset 0 0 0 2px var(--accent);background:#fff;outline:none}select.text-input{appearance:auto}.notes{background:var(--panel-2);width:100%;box-shadow:inset 0 0 0 1px var(--line);resize:vertical;border:0;border-radius:9px;min-height:88px;padding:10px 12px;font-size:15px}.notes:focus{box-shadow:inset 0 0 0 2px var(--accent);background:#fff;outline:none}.inline-form{gap:8px;display:flex}.dims{border-collapse:collapse;width:100%;font-size:14px}.dims th,.dims td{border-bottom:1px solid var(--line);text-align:right;padding:8px 0;font-weight:600}.dims thead th{color:var(--ink-3);padding-top:0;font-size:12px;font-weight:600}.dims tbody th{text-align:left;color:var(--ink-2);font-weight:600}.dims td{white-space:nowrap;padding-left:10px}.dims-note{color:var(--ink-3);font-size:12px;font-weight:400;display:block}.clayfacts{flex-direction:column;gap:6px;display:flex}.clay-big{font-size:16px}.clay-big strong{color:var(--accent-ink);margin-left:4px;font-size:24px;font-weight:700}.slot{text-align:left;background:var(--panel-2);border-radius:12px;align-items:center;gap:12px;width:100%;min-height:52px;padding:6px 10px 6px 6px;transition:background-color .14s ease-out;display:flex}.slot:hover{background:var(--panel-3)}.slot-text{flex-direction:column;flex:1;min-width:0;display:flex}.slot-label{color:var(--ink-3);font-size:12px;font-weight:600}.slot-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;overflow:hidden}.slot-sub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.slot-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.slot-pair .slot{gap:8px;min-height:56px;padding:8px}.slot-pair .chip,.slot-pair .chip-img{width:32px;height:32px}.slot-pair .slot-name{font-size:14px}.slot-pair .slot-label{font-size:11.5px}.chip-wait{background:linear-gradient(100deg,#ece9e4 30%,#f6f4f1 50%,#ece9e4 70%) 0 0/300% 100%;border-radius:10px;flex:none;animation:1.4s linear infinite wait-shine;display:inline-block}@keyframes wait-shine{to{background-position:-150% 0}}@media (prefers-reduced-motion:reduce){.chip-wait{animation:none}}.slot-go{color:var(--ink-3);flex:none}.chip{background-size:cover;border-radius:9px;flex:none;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.chip.gloss:after{content:"";background:linear-gradient(140deg,#ffffff8c 0%,#fff0 38%),radial-gradient(30% 18% at 28% 22%,#ffffffb3,#0000 70%);position:absolute;inset:0}.chip-none{background-image:repeating-linear-gradient(135deg,#0000000f 0 2px,#0000 2px 7px)!important}.subhead{align-items:center;gap:4px;margin:-6px 0 -4px -10px;display:flex}.subhead h3{flex:1;font-size:16px;font-weight:700}.gsection{flex-direction:column;gap:10px;display:flex}.gsection h4{color:var(--ink-2);font-size:13px;font-weight:700}.ggrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px 8px;display:grid}.gtile{color:var(--ink-2);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;font-size:12px;font-weight:600;line-height:1.2;display:flex}.gtile .chip{transition:box-shadow .14s ease-out,transform .14s ease-out}.gtile:hover .chip{transform:translateY(-1px)}.gtile.on{color:var(--accent-ink)}.gtile.on .chip{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.add-chip{background:var(--panel-2);width:56px;height:56px;color:var(--ink-3);box-shadow:inset 0 0 0 1.5px var(--line-2);place-items:center;display:grid}.gactions{flex-wrap:wrap;gap:8px;display:flex}.picklist{flex-direction:column;gap:4px;display:flex}.pickrow{text-align:left;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.pickrow:hover{background:var(--panel-2)}.pickrow.on{background:var(--accent-tint)}.pick-text{flex-direction:column;font-weight:600;display:flex}.wells{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.well{color:var(--ink-2);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:6px 2px;font-size:11px;font-weight:600;line-height:1.15;display:flex}.well-color{border-radius:50%;width:38px;height:38px;box-shadow:inset 0 0 0 1px #00000024}.well.on{background:var(--accent-tint);color:var(--accent-ink)}.well.on .well-color{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.wells-actions{display:flex}.photopick{flex-direction:column;gap:8px;display:flex}.photopick-img{object-fit:contain;cursor:crosshair;background:var(--panel-2);touch-action:none;border-radius:10px;width:100%;height:auto;max-height:260px}.photopick-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.photopick-row .muted{align-items:center;gap:6px;display:inline-flex}.danger-zone,.confirm-row{flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;display:flex}.sheet-backdrop{z-index:20;background:#16181c61;justify-content:center;align-items:flex-end;animation:.16s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);width:100%;max-height:92dvh;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;outline:none;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) rise;display:flex}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 10px 6px 18px;display:flex}.sheet-head h2{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.sheet-body{overscroll-behavior:contain;padding:8px 18px 18px;overflow-y:auto}.sheet-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.sheet-foot .muted{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width>=720px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:16px;max-width:520px;max-height:86dvh;padding-bottom:0}.sheet.wide{max-width:1000px}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.menurow{text-align:left;border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:0 10px;font-weight:600;display:flex}.menurow:hover{background:var(--panel-2)}.photo-layout{gap:16px;display:grid}.photo-kind{margin-bottom:12px}.photo-preview{background:var(--panel-2);aspect-ratio:4/5;border-radius:12px;place-items:center;width:min(100%,33.6dvh);margin:0 auto;display:grid;position:relative;overflow:hidden}.photo-preview.spec{aspect-ratio:8.5/11;width:min(100%,32.4545dvh)}.photo-preview img{object-fit:contain;-webkit-touch-callout:default;width:100%;height:100%;transition:opacity .2s ease-out}.photo-preview img.stale{opacity:.45}.photo-busy{color:#fff;background:#1e2024c7;border-radius:10px;padding:8px 14px;font-size:13px;position:absolute}.photo-options{flex-direction:column;gap:16px;display:flex}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border-radius:50%;width:44px;height:44px;transition:box-shadow .14s ease-out;box-shadow:inset 0 0 0 1px #0000001f}.swatch.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}@media (width>=720px){.photo-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.photo-preview{width:min(100%,56dvh)}.photo-preview.spec{width:min(100%,54.0909dvh)}.photo-kind{max-width:360px}}.shelf{height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);overflow-y:auto}.shelf>*{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:18px;padding-right:18px}.shelf-head{justify-content:space-between;align-items:center;gap:12px;padding-top:18px;padding-bottom:14px;display:flex}.shelf-head h1{font-size:24px;font-weight:750}.shelf-tools{justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.search{background:var(--panel);max-width:360px;height:40px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.search:focus-within{box-shadow:inset 0 0 0 2px var(--accent)}.notice{color:var(--warn);background:var(--warn-bg);border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:12px!important}.potgrid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;margin:0 auto;padding-bottom:24px;list-style:none;display:grid}.potcard{position:relative}.potcard-open{text-align:left;background:var(--panel);width:100%;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:2px;padding:0 0 10px;transition:transform .16s ease-out,box-shadow .16s ease-out;display:flex;overflow:hidden}.potcard-open:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.potcard-img{aspect-ratio:1;background:radial-gradient(at 50% 42%,#f1f0ee,#dcdad6);place-items:center;margin-bottom:8px;display:grid}.potcard-img img{object-fit:cover;width:100%;height:100%;display:block}.potcard-img svg{width:58%;height:58%}.potcard-img svg path{fill:#b9b3aa}.potcard-name{text-overflow:ellipsis;white-space:nowrap;padding:0 44px 0 12px;font-weight:650;overflow:hidden}.potcard-meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;padding:0 12px;font-size:13px;overflow:hidden}.potcard-when{color:var(--ink-3);padding:0 12px;font-size:12px}.potcard-more{position:absolute;bottom:34px;right:4px}.empty{flex-direction:column;align-items:flex-start;gap:10px;padding-top:28px;padding-bottom:40px;display:flex}.empty h2{font-size:22px;font-weight:700}.empty .muted{max-width:46ch}.newforms{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;width:100%;display:grid}.newforms.inline{max-width:760px;margin-top:10px}.newform{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;font-size:14px;font-weight:600;transition:background-color .14s ease-out,box-shadow .14s ease-out;display:flex}.newform svg path{fill:#9f9890}.newform:hover{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent-ink)}.newform:hover svg path{fill:var(--accent)}.sheet .newform{background:var(--panel-2);box-shadow:none}.deleted{padding-bottom:12px}.deleted-list{flex-direction:column;gap:6px;max-width:520px;margin:8px 0 0;padding:0;list-style:none;display:flex}.deleted-list li{background:var(--panel);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.shelf-foot{padding-top:12px;padding-bottom:28px;font-size:13px}.shelf-foot a{color:var(--ink-3)}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;color:#fff;max-width:calc(100% - 32px);box-shadow:var(--shadow-lg);background:#24262b;border-radius:12px;align-items:center;gap:14px;padding:10px 16px;font-size:14px;animation:.2s ease-out rise;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:#f2c6b2;padding:4px 0;font-weight:700}.editor~.toast{bottom:calc(150px + env(safe-area-inset-bottom))}@media (width>=960px){.editor~.toast{bottom:100px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}.subnav{z-index:1;background:#fff;margin:-6px -18px 0;padding:6px 18px 8px;position:sticky;top:-6px}.subnav .seg button{padding:0 6px;font-size:13px}@media (width>=960px){.subnav{margin:-8px -20px 0;padding:8px 20px 10px;top:-8px}}.chip-img{object-fit:cover;background:#f1efeb;border-radius:9px;display:block}.gtile.on .chip-img{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.subhead{z-index:1;background:#fff;padding:6px 0;position:sticky;top:-6px}.subhead h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.readout.probe span{color:var(--accent-ink);font-weight:700}.more{border-top:1px solid var(--line);padding-top:4px}.more>summary{min-height:44px;color:var(--ink-2);cursor:pointer;align-items:center;font-size:14px;font-weight:650;list-style:none;display:flex}.more>summary::-webkit-details-marker{display:none}.more>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin-left:auto;transition:transform .16s ease-out;transform:rotate(45deg)}.more[open]>summary:after{transform:rotate(-135deg)}.more>.panel-stack{padding-top:8px}
