:root{--kb-primary: #099e7c;--primary-fill: #077d63;--ground: #f1f2f2;--surface: #ffffff;--surface-2: #eaeae9;--ink: #141517;--muted: #5d6166;--line: #dcdedf;--line-strong: #a7a9ac;--accent-ink: #077d63;--on-accent: #ffffff;--warn: #9a5b00;--warn-bg: #fff3dc;--block: #b3261e;--block-bg: #fde8e6;--stage: #eef0f0;--stage-2: #fcfcfc;--sheet: rgba(255, 255, 255, .86);--shadow: 0 1px 2px rgba(20, 21, 23, .06), 0 8px 24px rgba(20, 21, 23, .06);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--r: 10px;--r-sm: 6px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: #1e1f22;--surface: #1d1e21;--surface-2: #26282b;--ink: #f1f2f2;--muted: #afb2b7;--line: rgba(255, 255, 255, .12);--line-strong: #75797f;--accent-ink: #46cfac;--on-accent: #ffffff;--warn: #f3b860;--warn-bg: rgba(243, 184, 96, .12);--block: #ff9a8f;--block-bg: rgba(255, 120, 105, .12);--stage: #212326;--stage-2: #2d2f33;--sheet: rgba(29, 30, 33, .88);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}}:root[data-theme=dark]{--ground: #1e1f22;--surface: #1d1e21;--surface-2: #26282b;--ink: #f1f2f2;--muted: #afb2b7;--line: rgba(255, 255, 255, .12);--line-strong: #75797f;--accent-ink: #46cfac;--on-accent: #ffffff;--warn: #f3b860;--warn-bg: rgba(243, 184, 96, .12);--block: #ff9a8f;--block-bg: rgba(255, 120, 105, .12);--stage: #212326;--stage-2: #2d2f33;--sheet: rgba(29, 30, 33, .88);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}[hidden]{display:none!important}html,body{height:100%}body{background:var(--ground);color:var(--ink);font:400 14px/1.5 var(--font);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button,input,textarea{font:inherit;color:inherit}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--kb-primary);outline-offset:2px}h2,h3{text-wrap:balance;margin:0}p{margin:0}code{font-family:var(--mono);font-size:.92em}.app{display:grid;grid-template-rows:auto auto 1fr;height:100%;min-height:0}.stage{grid-row:-2}.review{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:6px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px}.review-label{font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.logo{display:block;height:30px;width:auto}.logo-on-dark{display:none}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .logo-on-light{display:none}:root:not([data-theme=light]) .logo-on-dark{display:block}}:root[data-theme=dark] .logo-on-light{display:none}:root[data-theme=dark] .logo-on-dark{display:block}.top-right{display:flex;align-items:center;gap:12px;margin-left:auto}.product{font-weight:600;font-size:15px}.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);min-height:0;gap:16px;padding-bottom:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.view{position:relative;min-height:0;border-radius:var(--r);overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,var(--stage-2),var(--stage))}.gl,.poster{position:absolute;inset:0;width:100%;height:100%;display:block}.gl{touch-action:none;cursor:grab}.gl:active{cursor:grabbing}.poster{object-fit:contain;padding:8%;max-width:100%;transition:opacity .4s}.poster.gone{opacity:0;pointer-events:none}.view-tools{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.view-tools>*{pointer-events:auto}.view-note{position:absolute;left:14px;right:14px;bottom:10px;font-size:12px;color:var(--muted);pointer-events:none}.loading{position:absolute;left:50%;bottom:40px;transform:translate(-50%);background:var(--surface);padding:6px 12px;border-radius:999px;font-size:12px;box-shadow:var(--shadow)}.fallback{position:absolute;left:16px;right:16px;bottom:40px;background:var(--surface);padding:10px 12px;border-radius:var(--r-sm);font-size:13px}.panel{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:16px;overscroll-behavior:contain}.card{background:var(--surface);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.card h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}.card h3{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.step-no{display:none}.hint{color:var(--muted);font-size:12.5px}.example{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--kb-primary) 8%,var(--surface));font-size:13px}.link-btn{background:none;border:0;padding:0;color:var(--accent-ink);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.seg{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:var(--surface-2);max-width:100%}.seg-wrap{display:flex;flex-wrap:wrap}.seg button{border:0;background:transparent;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--muted);white-space:nowrap}.seg-sm button{padding:4px 8px;font-size:12px}.seg button[aria-checked=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000001f}.view .seg{background:var(--sheet);backdrop-filter:blur(8px)}.hands{display:grid;grid-template-columns:1fr;gap:8px}.hand{display:flex;flex-direction:column;gap:6px;min-width:0}.balls{display:flex;flex-wrap:wrap;gap:8px}.balls:empty{display:none}.ball{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;position:relative;box-shadow:inset -4px -5px 8px #00000059,inset 3px 4px 6px #ffffff59}.ball[aria-checked=true]:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--kb-primary)}.ball[data-off=true]{opacity:.55}.groups{display:flex;flex-direction:column;gap:10px}.balls{min-height:34px}.seg-wrap:empty{min-height:32px}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--choice-min, 180px)),1fr));gap:4px}.app[data-looks-only] .choices{--choice-min: 100px}.choices-head{margin:4px 0 0;font-size:13px;font-weight:600}.choice{display:flex;align-items:baseline;justify-content:space-between;gap:8px;text-align:left;padding:6px 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;white-space:nowrap;min-width:0}.choice-name{font-weight:600;font-size:13px}.choice-tag{font-size:13px;font-feature-settings:"tnum";color:var(--muted)}.choice-includes{grid-column:1 / -1;font-size:12px;color:var(--muted)}.choice[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice[aria-checked=true] .choice-tag{color:var(--ink)}.choice:disabled{cursor:progress;opacity:.6}.sliders:empty{min-height:96px}.group{display:flex;flex-direction:column;gap:4px}.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.group-name{font-weight:600;font-size:13px}.group-value{font-size:12.5px;color:var(--muted)}.group-covers{font-size:12px;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swatches{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;max-width:520px}.sw{width:100%;max-width:30px;aspect-ratio:1;height:auto;border-radius:50%;border:1px solid rgba(127,127,127,.35);cursor:pointer;position:relative;padding:0}.sw[data-value=black]{border-color:var(--line-strong)}.sw-same{border-style:dashed;border-color:var(--line-strong)}.sw-same:before{content:"=";position:absolute;inset:0;display:grid;place-items:center;font:600 14px/1 system-ui,sans-serif;color:#fff;mix-blend-mode:difference}.sw[aria-checked=true]:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--kb-primary)}.sliders{display:flex;flex-direction:column;gap:10px}.slider{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}.slider label{font-size:13px}.slider output{font-feature-settings:"tnum";font-size:12.5px;color:var(--muted)}.slider input{grid-column:1 / -1;width:100%;accent-color:var(--kb-primary)}.slider-note{grid-column:1 / -1;margin:0;font-size:12px;line-height:1.35;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions .btn{white-space:nowrap}.actions .btn.primary{min-width:min(100%,220px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:600;font-size:14px;text-decoration:none;color:var(--ink)}.btn.primary{background:var(--primary-fill);border-color:var(--primary-fill);color:var(--on-accent);flex:1}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.small{padding:4px 10px;font-size:12px}.share{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px}.share-label{font-weight:600;font-size:13px}.code-row{display:flex;align-items:center;gap:8px;min-width:0}.code-row code{font-size:15px;letter-spacing:.04em;overflow-wrap:anywhere;min-width:0}.app[data-look=b]{position:relative}.app[data-look=b] .stage{position:relative;padding:0;gap:0;grid-template-columns:minmax(0,1fr)}.app[data-look=b] .view{border-radius:0;background:radial-gradient(110% 80% at 40% 25%,var(--stage-2),var(--stage) 70%)}.app[data-look=b] .panel{position:absolute;top:16px;right:max(16px,env(safe-area-inset-right,0px));bottom:16px;width:clamp(340px,40vw,570px);padding:12px;border-radius:14px;background:var(--sheet);backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--shadow)}.app[data-look=b] .card{background:transparent;box-shadow:none;padding:8px 6px 14px;border-bottom:1px solid var(--line);border-radius:0}.app[data-look=b] .card:last-child{border-bottom:0}.app[data-look=b] .view-note{right:420px}.app[data-look=b] .top{border-bottom:1px solid var(--line)}.app[data-look=c]{--r: 2px;--r-sm: 2px}.app[data-look=c] .top{border-bottom:2px solid var(--ink)}.app[data-look=c] .slider output{font-family:var(--mono)}.app[data-look=c] .stage{grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);padding-top:16px}.app[data-look=c] .view{border:1px solid var(--line-strong);background:var(--stage-2);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px}.app[data-look=c] .card{box-shadow:none;border:1px solid var(--line-strong)}.app[data-look=c] .step-no{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--surface);font-family:var(--mono);font-size:12px;font-weight:500}.app[data-look=c] .card h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.app[data-look=c] .seg{border-radius:2px}.app[data-look=c] .seg button{border-radius:1px}.app[data-look=c] .sw,.app[data-look=c] .sw:after{border-radius:3px!important}.app[data-look=c] .btn{border-radius:2px}.app[data-look=c] .example{border-radius:2px;border:1px solid var(--kb-primary);background:transparent}@media (max-width: 820px){.app{display:block;height:auto}.stage,.app[data-look=c] .stage{display:block;padding-left:0;padding-right:0;padding-top:0}.view{position:sticky;top:env(safe-area-inset-top,0px);height:42svh;min-height:260px;border-radius:0;z-index:2}.app[data-look=c] .view{border-left:0;border-right:0}.panel{overflow:visible;padding:12px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}.app[data-look=b] .panel{position:relative;top:auto;right:auto;bottom:auto;width:auto;margin-top:-18px;border-radius:16px 16px 0 0;z-index:3;padding:12px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}.app[data-look=b] .view-note{right:14px;bottom:26px}.view-note{font-size:11px}.top{flex-wrap:wrap;row-gap:8px}.logo{height:24px}}@media (min-width: 821px) and (max-width: 1100px){.stage{grid-template-columns:minmax(0,1fr) 340px}.app[data-look=b] .view-note{right:380px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@media print{.review,.view-tools,.actions,.example{display:none!important}}
