*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf6f0;--surface: #ffffff;--surface-2: #f5efe6;--border: #ece3d6;--border-2: #ddd0be;--text: #2f2924;--text-mid: #6f6257;--text-dim: #a39484;--accent: #d9653b;--accent-rgb: 217, 101, 59;--accent-dark: #c2542c;--accent-soft: #fcebe2;--accent-text: #c2542c;--accent-line: #efc4b0;--green-line: #bfe0c9;--green-solid: #3f9a5c;--green: #3f9a5c;--green-soft: #e8f4ec;--red: #c8483f;--red-soft: #fbe7e4;--gold: #e0a458;--radius: 12px;--shadow: 0 1px 2px rgba(60,40,20,.05), 0 4px 16px rgba(60,40,20,.06);--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}html{width:100%;overflow-x:hidden;overflow-y:auto}body{width:100%;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit}:root{--edge: #e6dac8;--hud-h: 124px;--dock-h: 96px;--stage-r: 0px}#app{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden}#canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(90% 70% at 50% 0%,#fffdf8,#fffdf800 70%),var(--bg);touch-action:none}#game-canvas{display:block;cursor:default;touch-action:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:700;padding:9px 16px;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:background .15s,transform .08s,box-shadow .08s;white-space:nowrap}.btn .i{width:16px;height:16px}.btn-ghost{background:transparent;color:var(--text-mid)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}.btn-primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--accent-dark)}.btn-go{display:flex;align-items:center;justify-content:center;gap:8px;height:58px;padding:0 28px;border:none;border-radius:20px;background:var(--accent);color:#fff;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 5px 0 var(--accent-dark);transition:background .15s,transform .08s,box-shadow .08s}.btn-go .i{width:22px;height:22px}.btn-go:hover{background:color-mix(in srgb,var(--accent) 88%,#fff)}.btn-go:active{transform:translateY(4px);box-shadow:0 1px 0 var(--accent-dark)}.btn-go.big{height:66px;padding:0 40px;font-size:21px;border-radius:22px}.btn-go.ready{background:var(--green-solid);box-shadow:0 5px #2f7a47;animation:bob 1.1s ease-in-out infinite}.btn-go.ready:active{animation:none;box-shadow:0 1px #2f7a47}@keyframes bob{50%{transform:translateY(-5px)}}.btn-go.shake{animation:shake .4s ease}@keyframes shake{20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.i{width:1.15em;height:1.15em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.i-fill{fill:currentColor}.mobile-only{display:none!important}#hud{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;flex-direction:column;align-items:center;gap:10px;padding:max(12px,env(safe-area-inset-top)) 14px 0;pointer-events:none}#hud>*{pointer-events:auto}#hud-row{width:100%;display:flex;align-items:center;gap:8px}.grow{flex:1}.hud-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border:2px solid var(--edge);border-radius:15px;background:var(--surface);color:var(--text-mid);cursor:pointer;box-shadow:0 3px 0 var(--edge);transition:transform .08s,box-shadow .08s,color .15s,border-color .15s}.hud-btn .i{width:22px;height:22px}.hud-btn:hover:not(:disabled){color:var(--accent-text);border-color:var(--accent-line)}.hud-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--edge)}.hud-btn:disabled{opacity:.4;cursor:default}.hud-btn.small{width:42px;height:42px;border-radius:13px}.hud-btn.small .i{width:19px;height:19px}#level-info{display:flex;align-items:center;gap:10px;height:46px;min-width:0;padding:0 18px 0 7px;background:var(--surface);border:2px solid var(--edge);border-radius:999px;box-shadow:0 3px 0 var(--edge)}#level-badge{flex-shrink:0;background:var(--accent);color:#fff;font-size:13px;font-weight:800;padding:5px 12px;border-radius:999px;white-space:nowrap}#level-name-display{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#task-bubble{max-width:min(580px,calc(100% - var(--stage-r)));margin-right:var(--stage-r);padding:10px 20px;background:var(--surface);border:2px solid var(--edge);border-radius:18px;box-shadow:0 3px 0 var(--edge);font-size:16px;font-weight:700;line-height:1.35;text-align:center;animation:drop-in .4s cubic-bezier(.34,1.4,.64,1)}@keyframes drop-in{0%{transform:translateY(-14px) scale(.96);opacity:0}}#info-panel{position:absolute;right:14px;top:var(--card-top, var(--hud-h));z-index:15;width:306px;max-height:var(--panel-max, calc(100% - var(--hud-h) - 14px));overflow-y:auto;padding:16px 16px 18px;background:var(--surface);border:2px solid var(--edge);border-radius:22px;box-shadow:0 4px 0 var(--edge)}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.section-gap{height:18px}.goal table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;border:2px solid var(--border);border-radius:14px;overflow:hidden}.goal th{background:var(--surface-2);color:var(--text-mid);font-weight:700;font-size:12px;padding:7px 4px;text-align:center}.goal td{padding:6px 4px;text-align:center;border-top:1px solid var(--border);transition:background .25s}.goal .grp th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 4px}.goal .grp-in{background:#e9f0f7;color:#4b7396}.goal .grp-out{background:var(--green-soft);color:var(--green)}.goal .grp .arrow-col,.goal .grp .tt-status{background:var(--surface-2)}.goal .arrow-col{width:20px;padding:0;color:var(--text-dim);border-left:1px solid var(--border);border-right:1px solid var(--border)}.goal .arrow-col .i{width:14px;height:14px;vertical-align:middle}.goal thead tr:last-child th{border-top:1px solid var(--border)}.goal tr.tt-now td{background:#fff7e8}.goal tr.tt-now td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.goal .tt-status{width:28px;color:var(--green)}.goal .tt-status .i{width:15px;height:15px;vertical-align:middle;stroke-width:3}.tt-row-fail .tt-status{color:var(--red)}.tt-row-pass td{background:var(--green-soft)}.tt-row-fail td{background:var(--red-soft)}.v{display:inline-block;min-width:36px;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:700}.v1{background:var(--green-solid);color:#fff}.v0{background:var(--surface-2);color:var(--text-dim)}#compliance-list{display:flex;flex-direction:column;gap:2px}.compliance-item{display:flex;align-items:center;gap:10px;padding:4px 0}.comp-text{flex:1;font-size:13px;font-weight:600;line-height:1.4}.comp-mark{display:flex;width:18px;color:var(--text-dim)}.comp-mark .i{width:18px;height:18px;stroke-width:3}.comp-mark.ok{color:var(--green)}.comp-mark.bad{color:var(--red)}#test-summary{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:800;padding:10px 12px;border-radius:14px;margin-bottom:8px}.summary-pass{background:var(--green-soft);color:var(--green)}.summary-fail{background:var(--red-soft);color:var(--red);justify-content:flex-start}.test-result-item{font-size:13px;line-height:1.5;color:var(--text-mid);padding:6px 0;border-bottom:1px solid var(--border)}.test-result-item:last-child{border-bottom:none}.test-result-item b{color:var(--text);font-weight:700}#dock{position:absolute;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 calc(14px + var(--stage-r)) max(14px,env(safe-area-inset-bottom)) 14px;pointer-events:none}#dock>*{pointer-events:auto}#canvas-history{display:flex;gap:8px}#palette-panel{min-width:0;padding:10px 10px 8px;background:var(--surface);border:2px solid var(--edge);border-radius:24px;box-shadow:0 4px 0 var(--edge);overflow-x:auto;scrollbar-width:none}#palette-panel::-webkit-scrollbar{display:none}#palette-list{display:flex;gap:6px}.palette-item{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px;width:76px;padding:9px 4px 7px;border:2px solid transparent;border-radius:16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s cubic-bezier(.34,1.4,.64,1),background .15s,border-color .15s}.palette-item:hover{background:var(--surface-2);transform:translateY(-3px)}.palette-item.active{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-9px);box-shadow:0 5px rgba(var(--accent-rgb),.28)}.gate-swatch{width:48px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 13%,var(--surface))}.gate-swatch .i{width:26px;height:26px}.palette-item-name{font-size:12px;font-weight:800}.palette-help{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:999px;background:transparent;color:var(--text-dim);cursor:pointer;opacity:.55}.palette-help .i{width:14px;height:14px}.palette-help:hover{opacity:1;color:var(--accent-text)}#canvas-band{position:absolute;left:14px;right:calc(14px + var(--stage-r));bottom:calc(var(--dock-h) + 8px);z-index:12;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}#canvas-tip{flex:0 1 auto;min-width:0;height:36px;padding:0 16px;border-radius:999px;background:#2f2924e0;color:#fff;font-size:13px;font-weight:700;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#canvas-tip:empty{display:none}#btn-canvas-action{flex:none;display:flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:2px solid var(--edge);border-radius:14px;background:var(--surface);color:var(--text);font-size:14px;font-weight:800;cursor:pointer;pointer-events:auto;box-shadow:0 3px 0 var(--edge)}#btn-canvas-action .i{width:17px;height:17px}#btn-canvas-action:active{transform:translateY(3px);box-shadow:none}#confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;pointer-events:none}#title-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:radial-gradient(80% 60% at 50% 10%,#fffdf8,#fffdf800 70%),var(--bg)}.ts-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.ts-logo{width:96px;height:96px;border-radius:24px;box-shadow:0 7px 0 var(--accent-dark),0 18px 30px rgba(var(--accent-rgb),.25);animation:float 3.2s ease-in-out infinite}.ts-logo img{display:block;width:100%;height:100%;border-radius:24px}.ts-card h1{font-size:clamp(42px,9vw,64px);line-height:.98;font-weight:900;letter-spacing:-.035em;margin-top:6px}.ts-card p{max-width:300px;font-size:16px;font-weight:600;color:var(--text-mid);margin-bottom:10px}@keyframes float{50%{transform:translateY(-9px) rotate(-3deg)}}.ts-deco .i{position:absolute;stroke-width:1.4;opacity:.16;animation:float 5s ease-in-out infinite}.d1{width:120px;height:120px;left:8%;top:14%;color:#5a9e6f}.d2{width:90px;height:90px;right:10%;top:18%;color:#e08e2b;animation-delay:-1.2s}.d3{width:100px;height:100px;left:14%;bottom:14%;color:#d1495b;animation-delay:-2.4s}.d4{width:130px;height:130px;right:8%;bottom:12%;color:#c9a227;animation-delay:-.6s}.d5{width:70px;height:70px;left:44%;top:6%;color:#9a6fb0;animation-delay:-3s}.d6{width:80px;height:80px;right:36%;bottom:6%;color:#5b8fb9;animation-delay:-1.8s}#modal-overlay,#cms-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f292459;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;animation:fade-in .2s ease}#cms-overlay{z-index:110}@keyframes fade-in{0%{opacity:0}to{opacity:1}}#modal-box,#cms-box{background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #3c28142e;animation:slide-up .25s ease}@keyframes slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}#modal-box{width:min(560px,100%);max-height:85vh;overflow-y:auto}#modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0 22px}#modal-title{font-size:17px;font-weight:700}#modal-close,#cms-close,#sheet-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px;line-height:1;width:32px;height:32px;border-radius:8px}#modal-close:hover,#cms-close:hover,#sheet-close:hover{background:var(--surface-2);color:var(--text)}#modal-body{padding:16px 22px 22px;line-height:1.6}.intro{text-align:center}.intro-gate{display:block;margin:0 auto 10px;border-radius:14px}.intro h3{font-size:22px;font-weight:700}.intro h3 span{display:block;font-size:14px;color:var(--accent-text);font-weight:600;margin-top:2px}.intro-plain{font-size:16px;margin-top:4px;color:var(--text-mid)}.intro-try{margin:18px 0;padding:14px;border-radius:14px;background:var(--surface-2)}.intro-try-label{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:10px}.intro-row{display:flex;align-items:center;justify-content:center;gap:14px}.intro-ins{display:flex;flex-direction:column;gap:8px}.intro-arrow{display:flex;color:var(--text-dim)}.intro-arrow .i{width:20px;height:20px}.switch,.lamp{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:96px;padding:8px 12px;border-radius:10px;border:2px solid var(--border-2);background:var(--surface);font-size:14px;color:var(--text-mid)}.switch{cursor:pointer;transition:border-color .15s,background .15s}.switch:hover{border-color:var(--text-dim)}.switch b,.lamp b{color:var(--text-dim)}.switch.on,.lamp.on{border-color:var(--green);background:var(--green-soft)}.switch.on b,.lamp.on b{color:var(--green)}.lamp.on{box-shadow:0 0 0 5px #3f9a5c1f}.modal-ok{width:100%;padding:12px;font-size:15px}.modal-ok .i{width:18px;height:18px}.howto{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.howto li{counter-increment:step;display:grid;grid-template-columns:32px 1fr;column-gap:12px}.howto li:before{content:counter(step);grid-row:span 2;width:32px;height:32px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-weight:700;display:flex;align-items:center;justify-content:center}.howto b{font-size:15px}.howto span{font-size:14px;color:var(--text-mid)}.howto span .i{width:15px;height:15px;color:var(--green);stroke-width:2.5;vertical-align:-.2em}.win{text-align:center;padding:4px 0 0}.win-icon{width:64px;height:64px;margin:0 auto 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.win-icon .i{width:30px;height:30px}.win h2{font-size:24px;margin:4px 0 2px}.win p{color:var(--text-mid);margin-bottom:20px}.hint-text{font-size:15px;line-height:1.7}.modal-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.level-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.level-card{padding:14px 8px;border:1px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.level-card:hover:not(.locked){border-color:var(--accent);background:var(--accent-soft)}.level-card.locked{opacity:.4;cursor:not-allowed}.level-card.completed{background:var(--green-soft);border-color:transparent}.level-card.current{border-color:var(--accent)}.lc-num{font-size:20px;font-weight:700}.lc-name{font-size:12px;color:var(--text-mid);margin-top:2px}.lc-status{display:flex;justify-content:center;height:18px;margin-top:6px;color:var(--text-mid)}.lc-status .i{width:16px;height:16px}.level-card.completed .lc-status{color:var(--green)}.level-card.current .lc-status{color:var(--accent)}#cms-box{width:min(760px,100%);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}#cms-header{display:flex;align-items:center;flex-wrap:wrap;gap:14px 12px;padding:18px 20px 14px;flex-shrink:0}#cms-brand{display:flex;align-items:center;gap:12px;flex:1}.cms-badge{width:44px;height:44px;border-radius:14px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 var(--accent-dark);transform:rotate(-4deg)}.cms-badge .i{width:22px;height:22px}#cms-title{font-size:22px;font-weight:900;letter-spacing:-.02em}#cms-tabs{order:3;flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px}.cms-tab{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border:2px solid var(--edge);border-radius:999px;background:var(--surface);color:var(--text-mid);font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 var(--edge);transition:transform .08s,box-shadow .08s,color .15s,border-color .15s}.cms-tab .n{width:22px;height:22px;border-radius:999px;background:var(--surface-2);font-size:12px;display:flex;align-items:center;justify-content:center}.cms-tab .i{width:17px;height:17px;margin-left:4px}.cms-tab:hover{color:var(--text)}.cms-tab:active{transform:translateY(3px);box-shadow:none}.cms-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 0 var(--accent-dark)}.cms-tab.active .n{background:#ffffff40;color:#fff}.cms-tab.magic:not(.active){color:var(--accent-text)}#cms-body{flex:1;overflow-y:auto;padding:8px 22px 22px}.cms-panel{display:flex;flex-direction:column;gap:16px;animation:fade-in .2s ease}.cms-lead{font-size:16px;font-weight:600;color:var(--text-mid);line-height:1.45}.cms-lead b{color:var(--text)}.cms-note{font-size:13px;color:var(--text-dim);font-weight:600}.cms-note b{color:var(--text-mid)}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label,.sub-title{font-size:14px;font-weight:800;color:var(--text)}.field-group label em{font-style:normal;font-weight:600;color:var(--text-dim)}.sub-title{margin:4px 0 -6px}.field-hint{font-size:12.5px;font-weight:600;color:var(--text-dim)}#cms-body input,#cms-body textarea,#cms-body select{font-family:inherit;font-size:15px;font-weight:600;color:var(--text);background:var(--surface);border:2px solid var(--edge);border-radius:14px;padding:10px 14px;outline:none;resize:none;transition:border-color .15s,box-shadow .15s}#cms-body input::placeholder,#cms-body textarea::placeholder{color:#c4b7a6;font-weight:500}#cms-body input:focus,#cms-body textarea:focus,#cms-body select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.size-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.size-opt{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;height:104px;padding:12px 8px 10px;border:2px solid var(--edge);border-radius:18px;background:var(--surface);box-shadow:0 3px 0 var(--edge);font-size:14px;color:var(--text);cursor:pointer;transition:transform .08s,box-shadow .08s}.size-opt:active{transform:translateY(3px);box-shadow:none}.size-shape{border-radius:6px;background:var(--surface-2);border:2px dashed var(--border-2)}.size-opt.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 3px rgba(var(--accent-rgb),.35)}.size-opt.active .size-shape{background:var(--surface);border-color:var(--accent)}.io-list{display:flex;flex-direction:column;gap:8px}.io-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:18px;background:var(--surface-2)}.io-row input{flex:1;min-width:0}.dot{width:14px;height:14px;border-radius:999px;flex-shrink:0}.dot.input{background:#5b8fb9;box-shadow:0 0 0 4px #e1ebf4}.dot.output{background:#5a9e6f;box-shadow:0 0 0 4px #e0efe5}.icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--edge);border-radius:13px;background:var(--surface);color:var(--text-dim);cursor:pointer;flex-shrink:0;box-shadow:0 3px 0 var(--edge);transition:transform .08s,box-shadow .08s,color .15s}.icon-btn .i{width:18px;height:18px}.icon-btn:hover{color:var(--red)}.icon-btn:active{transform:translateY(3px);box-shadow:none}.btn-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border:2px dashed var(--border-2);border-radius:18px;background:transparent;color:var(--text-mid);font-size:14px;font-weight:800;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.btn-add .i{width:17px;height:17px;stroke-width:2.6}.btn-add:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.cms-goal{overflow-x:auto}.cms-goal table{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--border);border-radius:16px;overflow:hidden}.cms-goal th{background:var(--surface-2);color:var(--text-mid);font-size:13px;font-weight:800;padding:8px 10px;text-align:center}.cms-goal .grp th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px}.cms-goal .grp-in{background:#e9f0f7;color:#4b7396}.cms-goal .grp-out{background:var(--green-soft);color:var(--green)}.cms-goal .grp .arrow-col{background:var(--surface-2)}.cms-goal td{padding:7px 10px;text-align:center;border-top:1px solid var(--border)}.cms-goal .arrow-col{width:28px;padding:0;color:var(--text-dim);border-left:1px solid var(--border);border-right:1px solid var(--border)}.cms-goal .arrow-col .i{width:15px;height:15px;vertical-align:middle}.cms-goal .v{min-width:52px;padding:3px 10px;font-size:13px}.cms-goal button.v{border:none;font-family:inherit;cursor:pointer;box-shadow:0 2px #0000001f;transition:transform .08s,box-shadow .08s}.cms-goal button.v:active{transform:translateY(2px);box-shadow:none}.gate-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.gate-toggle{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 12px;border:2px solid var(--edge);border-radius:18px;background:var(--surface);box-shadow:0 3px 0 var(--edge);cursor:pointer;opacity:.65;transition:transform .08s,box-shadow .08s,opacity .15s}.gate-toggle:active{transform:translateY(3px);box-shadow:none}.gate-toggle .gate-swatch{width:52px;height:40px}.gate-toggle .gate-swatch .i{width:28px;height:28px}.gt-name{font-size:14px;font-weight:800;color:var(--text)}.gt-sub{font-size:12px;font-weight:600;color:var(--text-dim)}.gate-toggle.enabled{opacity:1;border-color:var(--accent);background:var(--accent-soft);box-shadow:0 3px rgba(var(--accent-rgb),.35)}.gate-toggle.enabled:after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:999px;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat}.rule-card{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:20px;background:var(--surface-2)}.rule-line{display:flex;align-items:center;gap:10px}.rule-line select{flex:1;font-weight:800}.rule-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700}.rule-fields input,.rule-fields select{padding:7px 10px;border-radius:12px}.rule-preview{font-size:13px;font-weight:600;color:var(--text-dim)}.rule-preview b{color:var(--text-mid)}.gen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.gen-preset{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px 14px;border:2px solid var(--edge);border-radius:20px;background:var(--surface);box-shadow:0 3px 0 var(--edge);cursor:pointer;transition:transform .12s cubic-bezier(.34,1.4,.64,1),box-shadow .08s,border-color .15s}.gen-preset:hover{transform:translateY(-3px) rotate(-1deg);border-color:currentColor}.gen-preset:active{transform:translateY(3px);box-shadow:none}.gen-icon{width:56px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb,currentColor 13%,var(--surface));margin-bottom:4px}.gen-icon .i{width:30px;height:30px}.gen-label{font-size:15px;font-weight:900;color:var(--text)}.gen-desc{font-size:12px;font-weight:600;color:var(--text-dim)}#cms-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 16px;border-top:2px solid var(--border);background:var(--surface);flex-shrink:0}#cms-status{font-size:13.5px;font-weight:700;color:var(--text-mid);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cms-actions{display:flex;gap:8px;flex-shrink:0;margin-left:auto}#cms-save .i{width:15px;height:15px}#win-banner{text-align:center;padding:24px 16px}#win-banner h2{font-size:26px;color:var(--accent);margin-bottom:10px}#win-banner p{font-size:15px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.hidden{display:none!important}hr.section{border:none;border-top:1px solid var(--border);margin:4px 0}@keyframes pop{0%{transform:scale(.9) translateY(12px);opacity:0}to{transform:none;opacity:1}}#modal-box,#cms-box{border:2px solid var(--edge);box-shadow:0 6px 0 var(--edge),0 30px 70px #3c281438;animation:pop .34s cubic-bezier(.34,1.4,.64,1)}#modal-title{font-weight:800}.intro-gate{background:var(--bg)}.level-card{border:2px solid var(--edge);box-shadow:0 3px 0 var(--edge);transition:transform .12s,border-color .15s,background .15s}.level-card:hover:not(.locked){transform:translateY(-3px)}.level-card:active:not(.locked){transform:translateY(2px);box-shadow:none}.level-card.completed{border-color:var(--green-line);box-shadow:0 3px 0 var(--green-line)}.level-card.current{border-color:var(--accent);box-shadow:0 3px rgba(var(--accent-rgb),.35)}.lc-num{font-weight:800}.switch,.lamp{border-bottom-width:4px}@media (max-width: 1300px){.mobile-only{display:flex!important}#info-panel{left:0;right:0;top:auto;bottom:0;width:100%;max-height:72%;padding:0 18px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:none;box-shadow:0 -8px 30px #3c281424;transform:translateY(108%);transition:transform .28s cubic-bezier(.3,1.1,.5,1);z-index:40}#info-panel.open{transform:none}#sheet-head{position:sticky;top:0;align-items:center;justify-content:center;height:38px;margin:0 -18px 4px;background:var(--surface);z-index:1}.sheet-grip{width:38px;height:5px;border-radius:3px;background:var(--border-2)}#sheet-close{position:absolute;right:10px;top:4px}}@media (max-width: 820px){#hud{padding-left:10px;padding-right:10px;gap:8px}#hud-row{gap:6px}.hud-btn{width:40px;height:40px;border-radius:13px}.hud-btn .i{width:20px;height:20px}#level-info{height:40px;padding-right:12px;gap:8px}#level-badge{font-size:12px;padding:4px 10px}#level-name-display{font-size:14px}#task-bubble{padding:8px 14px;font-size:14px;border-radius:16px}#dock{gap:8px;padding-left:10px;padding-right:10px}#canvas-history{flex-direction:column;gap:6px}#canvas-history .hud-btn.small{width:38px;height:38px}#palette-panel{flex:1;border-radius:20px;padding:8px 8px 6px}.palette-item{width:66px;padding:7px 2px 5px}.gate-swatch{width:42px;height:32px}.gate-swatch .i{width:23px;height:23px}#dock .btn-go{width:60px;height:60px;padding:0;border-radius:20px}#dock .btn-go span{display:none}#dock .btn-go .i{width:26px;height:26px}.btn-go.big{height:60px;padding:0 30px;font-size:19px}#canvas-band{left:10px;right:10px}#canvas-tip{font-size:12.5px;padding:0 14px}#modal-overlay,#cms-overlay{padding:0;align-items:flex-end}#modal-box{width:100%;max-height:88vh;border-radius:24px 24px 0 0;border-bottom:none;animation:slide-up .28s ease}#cms-box{width:100%;height:100%;max-height:none;border-radius:0;border:none;animation:slide-up .28s ease}#cms-header{padding:12px 14px;gap:8px}#cms-tabs{order:3;flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin:-2px -2px 0}#cms-tabs::-webkit-scrollbar{display:none}.cms-tab{flex-shrink:0}#cms-close{margin-left:auto}#cms-body{padding:16px}#cms-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}#cms-status{flex-basis:100%}.field-row,.field-row-3{grid-template-columns:1fr}.level-select-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 400px){#hud-row{gap:5px}.hud-btn{width:38px;height:38px}}.panel-sub{margin:-4px 0 10px;font-size:13px;font-weight:600;color:var(--text-mid);line-height:1.4;white-space:nowrap}#now-line:empty{display:none}.now{margin-top:10px;padding:9px 12px;border-radius:14px;background:var(--surface-2);font-size:13px;font-weight:600;line-height:1.4}.now b{font-weight:800}.now .i{width:15px;height:15px;vertical-align:-.2em;stroke-width:3}.now-label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.now.ok{background:var(--green-soft);color:var(--green)}.now.bad{background:var(--red-soft);color:var(--red)}.tr-when{color:var(--text);font-weight:700}.test-result-item.tip{color:var(--text-dim);font-size:12px}html.snippet-embed #title-screen,html.snippet-embed #btn-levels,html.snippet-embed #btn-sound,html.snippet-embed .palette-help,html.snippet-embed #btn-next-level{display:none!important}html.snippet-embed #palette-panel{overflow:visible;padding:6px 6px 4px}html.snippet-embed #palette-list{flex-wrap:wrap;justify-content:center;gap:4px}html.snippet-embed .palette-item{width:calc(25% - 3px);min-width:0;padding:4px 2px 3px;gap:2px}html.snippet-embed .gate-swatch{width:100%;max-width:48px;height:26px}html.snippet-embed .gate-swatch .i{width:20px;height:20px}html.snippet-embed .palette-item-name{font-size:10px}html.snippet-embed .palette-item.active{transform:translateY(-4px)}:is(html[data-snippet-theme=dark],html[data-theme=dark]){--bg: #1a1714;--surface: #262220;--surface-2: #2f2a26;--border: #3a332d;--border-2: #4a4139;--text: #f1ebe3;--text-mid: #cbbdae;--text-dim: #a99b8c;--accent-soft: #3b2a22;--green-soft: #1f3327;--red-soft: #3b2321;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.35);--edge: #3a332d;--accent: #d9653b;--accent-rgb: 217, 101, 59;--accent-dark: #b4491f;--accent-text: #f4a07a;--accent-line: #6b4a3a;--green: #52b374;--green-solid: #2e8a4f;--green-line: #2f5a40;--red: #e5675d;color-scheme:dark}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #canvas-wrap{background:radial-gradient(90% 70% at 50% 0%,#2a2521,#2a252100 70%),var(--bg)}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .gate-swatch{background:color-mix(in srgb,currentColor 18%,#262220)}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .hud-btn:hover:not(:disabled){border-color:var(--accent-line)}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .goal .grp-in{background:#243040;color:#8db4d6}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .goal tr.tt-now td{background:#3a3122}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .level-card.completed{border-color:#2f5a40;box-shadow:0 3px #2f5a40}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #canvas-tip{background:#f1ebe324}html.snippet-embed #task-bubble{padding:6px 12px;font-size:13px;line-height:1.3}html.snippet-embed #canvas-tip{font-size:12px;padding:0 12px}@media (max-height: 660px){html.snippet-embed .palette-item-name{display:none}html.snippet-embed .palette-item{padding:3px 2px}html.snippet-embed #canvas-history .hud-btn.small{width:34px;height:34px}}.goal th .th-ico{display:block}.goal th .th-ico .i{width:18px;height:18px;margin-bottom:1px}.goal th .th-name{display:block;font-size:11px;line-height:1.2;overflow-wrap:anywhere}.goal thead tr:last-child th{padding:6px 3px;vertical-align:bottom}#task-bubble{display:flex;align-items:center;gap:12px;padding:7px 20px 7px 8px;text-align:left;cursor:pointer;transition:transform .08s,box-shadow .08s}#task-bubble:hover{border-color:var(--accent-line)}#task-bubble:active{transform:translateY(3px);box-shadow:0 0 0 var(--edge)}#task-bubble:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}#task-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:13px;background:var(--accent-soft);color:var(--accent-text)}#task-icon .i{width:23px;height:23px}#modal-box.mission-box{position:relative;width:min(600px,100%);max-height:94vh}.mission-box #modal-header{position:absolute;top:0;right:0;z-index:4;padding:10px 12px 0 0}.mission-box #modal-body{padding:18px 20px}.mission{display:flex;flex-direction:column;gap:12px}.mission-head{display:flex;align-items:center;gap:14px;padding-right:28px}.mission-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;border-radius:20px;background:var(--accent-soft);color:var(--accent-text);box-shadow:0 4px rgba(var(--accent-rgb),.3)}.mission-icon .i{width:36px;height:36px;stroke-width:1.8}.mission-kicker{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.mission-task{margin-top:2px;font-size:21px;font-weight:900;line-height:1.2;letter-spacing:-.02em}.mission-block{width:100%;padding:12px;border-radius:18px;background:var(--surface-2)}.mission-h{margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.mission-h b{color:var(--text-mid)}.mission-block .goal table{background:var(--surface)}.mission-block .goal th{padding:4px 3px}.mission-block .goal td{padding:3px 4px}.mission-block .v{min-width:38px;padding:0 6px;font-size:12px;line-height:20px}.mission-block .goal .grp th{padding:4px}.mission-rules{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.mission-rules li{display:flex;align-items:center;gap:7px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--surface);font-size:13.5px;font-weight:700}.mission-rules li .i{width:16px;height:16px;color:var(--accent-text)}.mission .modal-ok{margin-top:2px}.lc-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0 auto 6px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.lc-icon .i{width:22px;height:22px}.level-card.completed .lc-icon{background:var(--green-soft);color:var(--green)}.level-card .lc-num{font-size:17px}.icon-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}.icon-opt{display:flex;align-items:center;justify-content:center;height:50px;border:2px solid var(--edge);border-radius:15px;background:var(--surface);color:var(--text-mid);box-shadow:0 3px 0 var(--edge);cursor:pointer;transition:transform .08s,box-shadow .08s}.icon-opt .i{width:24px;height:24px}.icon-opt:active{transform:translateY(3px);box-shadow:none}.icon-opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);box-shadow:0 3px rgba(var(--accent-rgb),.35)}@media (max-width: 820px){#task-bubble{padding:6px 14px 6px 6px;gap:10px}#task-icon{width:34px;height:34px;border-radius:11px}#task-icon .i{width:20px;height:20px}.mission-box #modal-body{padding:14px 12px 12px}.mission{gap:10px}.mission-head{gap:12px}.mission-icon{width:46px;height:46px;border-radius:15px;box-shadow:0 3px rgba(var(--accent-rgb),.3)}.mission-icon .i{width:26px;height:26px}.mission-task{font-size:17px}.mission-block{padding:10px}.mission-h{margin-bottom:6px}.mission-block .goal th .th-ico .i{width:16px;height:16px}.mission-block .goal td{padding:2px 3px}.mission-block .v{min-width:34px;font-size:11.5px;line-height:17px}.mission-rules li{padding:5px 10px 5px 7px;font-size:13px}.mission .modal-ok{padding:10px}}.mission-icon{width:54px;height:54px;border-radius:17px}.mission-icon .i{width:30px;height:30px}.mission-task{font-size:18px}.mission-block{padding:10px}.mission-block .v{min-width:34px;font-size:11.5px;line-height:18px}.mission-block{padding:12px}.mission-icon{width:68px;height:68px}.ts-links{display:flex;gap:6px}.endless-card{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:12px;padding:12px 16px 12px 12px;border:2px solid var(--edge);border-radius:20px;background:var(--surface);box-shadow:0 3px 0 var(--edge);text-align:left;cursor:pointer;transition:transform .12s,border-color .15s,background .15s}.endless-card:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft)}.endless-card:active{transform:translateY(2px);box-shadow:none}.endless-card.current{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 3px rgba(var(--accent-rgb),.35)}.endless-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:15px;background:var(--accent);color:#fff;box-shadow:0 3px 0 var(--accent-dark)}.endless-icon .i{width:28px;height:28px}.endless-text{display:flex;flex-direction:column;flex:1;min-width:0}.endless-text b{font-size:17px;font-weight:900}.endless-text span{font-size:13px;font-weight:600;color:var(--text-mid)}.endless-go{display:flex;color:var(--accent-text)}.endless-go .i{width:20px;height:20px}#info-panel.dense{padding:12px 14px 14px}#info-panel.denser .panel-sub{display:none}#info-panel.dense .section-gap{height:12px}#info-panel.dense .goal td{padding:3px 4px}#info-panel.dense .goal .v{min-width:34px;font-size:11.5px;line-height:18px}#info-panel.dense .goal th .th-ico .i{width:15px;height:15px}#info-panel.dense .goal .grp th{padding:4px}#info-panel.dense .now{margin-top:6px;padding:6px 10px}#info-panel.dense .compliance-item{padding:1px 0}#info-panel.dense .test-result-item{padding:4px 0}#info-panel.dense #test-summary{padding:7px 10px;margin-bottom:4px}#info-panel.denser .goal td{padding:1px 3px}#info-panel.denser .goal .v{min-width:32px;padding:0 5px;font-size:11px;line-height:15px}#info-panel.denser .goal th .th-ico{display:none}#info-panel.denser .goal thead tr:last-child th{padding:3px}#info-panel.denser .now,#info-panel.denser .test-result-item.extra,#info-panel.denser .test-result-item.tip{display:none}#result-pop{position:absolute;left:0;right:var(--stage-r);margin:0 auto;bottom:calc(var(--dock-h) + 14px);z-index:16;width:min(520px,calc(100% - 24px));max-height:46%;overflow-y:auto;padding:12px 44px 12px 14px;background:var(--surface);border:2px solid var(--edge);border-radius:20px;box-shadow:0 4px 0 var(--edge),0 14px 34px #3c281424;animation:pop .28s cubic-bezier(.34,1.4,.64,1)}#result-close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:10px;background:transparent;color:var(--text-dim);cursor:pointer}#result-close:hover{background:var(--surface-2);color:var(--text)}#result-close .i{width:16px;height:16px}#result-pop #test-summary{justify-content:flex-start}.goal th .th-name{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.goal.many th .th-name{font-size:10px;letter-spacing:-.01em}.goal.many .v{min-width:32px;padding:0 5px}#info-panel.ultra{padding:10px 12px 12px}#info-panel.ultra .panel-title{margin-bottom:4px}#info-panel.ultra .section-gap{height:8px}#info-panel.ultra .goal td{padding:0 3px}#info-panel.ultra .goal .v{min-width:30px;padding:0 4px;font-size:10.5px;line-height:13px}#info-panel.ultra .goal th,#info-panel.ultra .goal .grp th{padding:2px 3px}#info-panel.ultra .compliance-item{padding:0}#info-panel.ultra .comp-text{font-size:12px}#info-panel.dense .goal td,#info-panel.denser .goal td,#info-panel.ultra .goal td{font-size:0}#result-pop{max-height:calc(100% - var(--dock-h) - var(--hud-h) - 28px)}@media (max-height: 700px){#result-pop .test-result-item.tip{display:none}}#info-panel .goal.many .v{min-width:30px;padding:0 4px}#info-panel .goal.many td,#info-panel .goal.many th{padding-left:2px;padding-right:2px}#task-bubble{display:flex;align-items:center;gap:12px;width:min(640px,calc(100% - var(--stage-r)));max-width:none;padding:7px 14px 7px 7px;text-align:center}#task-icon{width:42px;height:42px}#task-text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px}#task-kicker{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);line-height:1.2}#objective-text{font-size:16px;font-weight:800;line-height:1.28;letter-spacing:-.005em;color:var(--text);text-wrap:balance}#task-more{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;color:var(--text-dim);opacity:.75}#task-more .i{width:19px;height:19px}#task-bubble:hover #task-more{color:var(--accent-text);opacity:1}@media (max-width: 820px){#task-bubble{width:100%;gap:10px;padding:6px 12px 6px 6px}#task-icon{width:36px;height:36px}#task-text{align-items:flex-start;text-align:left}#objective-text{font-size:14.5px}#task-kicker{font-size:10px}#task-more{display:none}}html.snippet-embed #task-bubble{width:100%;padding:5px 10px 5px 5px;gap:8px}html.snippet-embed #task-kicker,html.snippet-embed #task-more{display:none}html.snippet-embed #objective-text{font-size:13px}html.snippet-embed #task-text{align-items:flex-start;text-align:left}html.snippet-embed #task-icon{width:30px;height:30px}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #title-screen{background:radial-gradient(80% 60% at 50% 10%,#2a2521,#2a252100 70%),var(--bg)}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #modal-overlay,:is(html[data-snippet-theme=dark],html[data-theme=dark]) #cms-overlay{background:#0a08069e}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #modal-box,:is(html[data-snippet-theme=dark],html[data-theme=dark]) #cms-box{box-shadow:0 6px 0 var(--edge),0 30px 70px #00000080}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #info-panel{box-shadow:0 4px 0 var(--edge)}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .cms-goal .grp-in{background:#243040;color:#8db4d6}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .dot.input{box-shadow:0 0 0 4px #243040}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .dot.output{box-shadow:0 0 0 4px #1f3327}:is(html[data-snippet-theme=dark],html[data-theme=dark]) #cms-body input::placeholder,:is(html[data-snippet-theme=dark],html[data-theme=dark]) #cms-body textarea::placeholder{color:#75695d}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .ts-deco .i{opacity:.22}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .btn-go.ready{box-shadow:0 5px #2f7a47}:is(html[data-snippet-theme=dark],html[data-theme=dark]) .v0{background:var(--surface-2)}#settings-pop{position:absolute;right:14px;z-index:35;display:flex;flex-direction:column;gap:12px;min-width:250px;padding:14px;background:var(--surface);border:2px solid var(--edge);border-radius:20px;box-shadow:0 4px 0 var(--edge),0 14px 34px #3c281424;animation:pop .22s cubic-bezier(.34,1.4,.64,1)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.set-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800}.set-label .i{width:18px;height:18px;color:var(--text-dim)}.seg{display:flex;padding:3px;gap:2px;border-radius:12px;background:var(--surface-2)}.seg button{padding:6px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-mid);font-size:13px;font-weight:800;cursor:pointer;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--accent);color:#fff;box-shadow:0 2px 0 var(--accent-dark)}@media (max-width: 820px){#settings-pop{right:10px}}html.snippet-embed #btn-settings,html.snippet-embed #settings-pop{display:none!important}.ts-theme{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2;width:auto;gap:8px;padding:0 16px 0 14px;font-size:14px;font-weight:800;color:var(--text-mid)}.ts-theme-ico{display:flex}.ts-theme-ico .i{width:20px;height:20px}.ts-theme:hover{color:var(--text)}@media (max-width: 820px){.ts-theme{right:10px;height:40px;border-radius:13px}}html.snippet-embed .ts-theme{display:none}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.theme-fade,html.theme-fade *,html.theme-fade *:before,html.theme-fade *:after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease,fill .45s ease,stroke .45s ease!important}.ts-theme-ico.spin .i{animation:theme-spin .6s cubic-bezier(.34,1.5,.64,1)}@keyframes theme-spin{0%{transform:rotate(-140deg) scale(.3);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.ts-theme-ico.spin .i{animation:none}}.ts-tools{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;z-index:2;display:flex;gap:8px}.ts-theme{position:static}.ts-sound .i{width:22px;height:22px}.ts-sound-ico{display:flex}@media (max-width: 820px){.ts-tools{right:10px}.ts-sound{width:40px;height:40px;border-radius:13px}}html.snippet-embed .ts-tools{display:none}button.ts-logo{display:block;padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button.ts-logo:focus-visible{outline:3px solid var(--accent-soft);outline-offset:6px}.ts-logo.zap{animation:logo-zap .65s cubic-bezier(.34,1.5,.64,1)}@keyframes logo-zap{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.16) rotate(-7deg);box-shadow:0 7px 0 var(--accent-dark),0 0 0 10px rgba(var(--accent-rgb),.22),0 18px 40px rgba(var(--accent-rgb),.5)}65%{transform:scale(.97) rotate(3deg)}to{transform:scale(1) rotate(0)}}html.rail #hud{flex-direction:row;align-items:center;gap:6px;padding:8px 10px 0}html.rail #hud-row{display:contents}html.rail #hud-row>*{pointer-events:auto}html.rail .hud-btn{width:40px;height:40px;border-radius:13px}html.rail .hud-btn .i{width:20px;height:20px}html.rail .grow,html.rail #level-name-display{display:none}html.rail #btn-levels{order:0}html.rail #level-info{order:1;height:40px;padding:0 6px}html.rail #task-bubble{order:2;flex:1;width:auto;min-width:0;margin:0;padding:4px 12px 4px 4px;gap:8px;text-align:left}html.rail #task-icon{width:30px;height:30px;border-radius:10px}html.rail #task-icon .i{width:17px;height:17px}html.rail #task-kicker,html.rail #task-more{display:none}html.rail #task-text{align-items:flex-start}html.rail #objective-text{font-size:13px;line-height:1.2;text-align:left}html.rail #btn-info,html.rail #btn-hint,html.rail #btn-reset,html.rail #btn-settings{order:3}html.rail #dock{position:absolute;top:0;right:0;bottom:0;left:0;display:block;padding:0;pointer-events:none}html.rail #dock>*{position:absolute;pointer-events:auto}html.rail #palette-panel{left:10px;top:calc(var(--hud-b, 56px) + 8px);bottom:10px;width:94px;padding:6px;border-radius:20px;overflow-x:hidden;overflow-y:auto}html.rail #palette-list{flex-direction:column;gap:3px}html.rail .palette-item{width:100%;flex-direction:row;justify-content:flex-start;gap:4px;padding:5px 4px;border-radius:13px}html.rail .palette-item:hover{transform:none}html.rail .palette-item.active{transform:translate(5px);box-shadow:0 3px rgba(var(--accent-rgb),.28)}html.rail .gate-swatch{width:24px;height:22px;border-radius:8px;flex-shrink:0}html.rail .gate-swatch .i{width:16px;height:16px}html.rail .palette-item-name{font-size:10.5px;min-width:0;overflow:hidden;text-overflow:ellipsis}html.rail .palette-help{display:none}html.rail #canvas-history{right:10px;top:calc(var(--hud-b, 56px) + 8px);flex-direction:column;gap:6px}html.rail #dock .btn-go{right:10px;bottom:10px;width:56px;height:56px;padding:0;border-radius:18px}html.rail #dock .btn-go span{display:none}html.rail #dock .btn-go .i{width:26px;height:26px}html.rail #canvas-band{left:118px;right:80px;bottom:8px}html.rail #canvas-tip{font-size:12px}html.rail #result-pop{bottom:52px;width:min(520px,calc(100% - 230px));max-height:calc(100% - var(--hud-b, 56px) - 66px)}html.rail #settings-pop{right:10px}html.rail .ts-card{gap:6px}html.rail .ts-logo{width:56px;height:56px;border-radius:16px;box-shadow:0 4px 0 var(--accent-dark)}html.rail .ts-logo img{border-radius:16px}html.rail .ts-card h1{font-size:34px;margin-top:2px;display:flex;gap:.28em;justify-content:center}html.rail .ts-card h1 br{display:none}html.rail .ts-theme{width:auto;padding:0 14px 0 12px}html.rail .ts-card p{font-size:14px;margin-bottom:2px;max-width:420px}html.rail .btn-go.big{height:52px;font-size:18px;padding:0 30px}html.rail .ts-deco .i{opacity:.1}html.rail #modal-box.mission-box{width:min(880px,calc(100% - 20px));max-height:calc(100% - 12px);border-radius:24px;border-bottom:2px solid var(--edge)}html.rail #modal-overlay{align-items:center;padding:6px 10px}html.rail .mission-box #modal-body{padding:12px 14px}html.rail .mission{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:12px;row-gap:8px;align-items:start}html.rail .mission-head{grid-column:1;grid-row:1;padding-right:0}html.rail .mission .mb-rules{grid-column:1;grid-row:2}html.rail .mission .mb-table{grid-column:2;grid-row:1 / span 2}html.rail .mission .modal-ok{grid-column:1 / -1;grid-row:3;position:sticky;bottom:2px;padding:9px;box-shadow:0 4px 0 var(--accent-dark),0 -12px 12px 4px var(--surface)}html.rail .mission-icon{width:44px;height:44px;border-radius:14px}html.rail .mission-icon .i{width:25px;height:25px}html.rail .mission-task{font-size:16px}html.rail .mission-block{padding:8px 10px}html.rail .mission-h{margin-bottom:4px}html.rail .mission-block .goal td{padding:1px 3px;font-size:0}html.rail .mission-block .v{min-width:32px;font-size:11px;line-height:15px;padding:0 5px}html.rail .mission-block .goal th,html.rail .mission-block .goal .grp th{padding:2px 3px}html.rail .mission-block .goal th .th-ico{display:none}html.rail .mission-rules li{padding:4px 10px 4px 7px;font-size:12.5px}html.rail .mission-block .goal.tall td{padding:0 3px}html.rail .mission-block .goal.tall .v{min-width:28px;padding:0 4px;font-size:10px;line-height:12px}html.rail .mission-block .goal.tall th,html.rail .mission-block .goal.tall .grp th{padding:1px 3px}html.rail .mission-block .mission-h{margin-bottom:3px;font-size:11px}html.rail #info-panel{max-height:calc(100% - 10px)}.goal.split{display:flex;gap:8px;align-items:flex-start}.goal.split table{flex:1;min-width:0}html.rail #info-panel .goal.split{margin:0}html.rail .mission:has(.goal.split){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}html.rail .mission:has(.goal.split) .mission-head{grid-column:1;grid-row:1}html.rail .mission:has(.goal.split) .mb-rules{grid-column:2;grid-row:1;align-self:stretch}html.rail .mission:has(.goal.split) .mb-table{grid-column:1 / -1;grid-row:2}html.rail .mission:has(.goal.split) .modal-ok{grid-row:3}html.rail .mission:has(.goal.split) .mb-table .mission-h{display:none}html.rail .mission:has(.goal.split){row-gap:6px}html.rail .mission:has(.goal.split) .mission-task{font-size:14.5px}html.rail .mission:has(.goal.split) .mission-icon{width:38px;height:38px;border-radius:12px}html.rail .mission:has(.goal.split) .mb-table,html.rail .mission:has(.goal.split) .mb-rules{padding:6px 10px}html.rail .mission:has(.goal.split) .modal-ok{padding:8px}.kit-badge{position:absolute;top:-3px;left:-3px;z-index:1;display:flex;align-items:center;justify-content:center;gap:1px;min-width:22px;height:19px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 2px 0 var(--accent-dark),0 0 0 2px var(--surface);pointer-events:none}.kit-x{font-size:10px;opacity:.85}.palette-item.bump .kit-badge{animation:kit-bump .32s cubic-bezier(.34,1.8,.64,1)}@keyframes kit-bump{0%{transform:scale(1.5)}to{transform:scale(1)}}.palette-item.empty .gate-swatch,.palette-item.empty .palette-item-name{opacity:.45}.palette-item.empty .gate-swatch{filter:grayscale(.8)}.palette-item.empty .kit-badge{background:var(--surface-2);color:var(--text-dim);box-shadow:0 0 0 2px var(--surface)}.palette-item.nope{animation:tile-nope .4s ease}@keyframes tile-nope{20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.mission-rules li.part{padding:5px 14px 5px 7px}.mission-rules li.part .part-ico{display:flex;align-items:center;justify-content:center;width:32px;height:26px;border-radius:9px;background:color-mix(in srgb,currentColor 14%,var(--surface))}.mission-rules li.part .part-ico .i{width:19px;height:19px;color:inherit}html.rail .kit-badge{top:50%;left:auto;right:5px;transform:translateY(-50%);min-width:17px;height:17px;padding:0 4px;font-size:10.5px}html.rail .palette-item.bump .kit-badge{animation:kit-bump-rail .32s cubic-bezier(.34,1.8,.64,1)}@keyframes kit-bump-rail{0%{transform:translateY(-50%) scale(1.5)}to{transform:translateY(-50%) scale(1)}}html.rail .kit-x{display:none}html.rail #palette-panel{width:104px}html.rail #canvas-band{left:128px}html.snippet-embed .kit-badge{top:1px;left:1px;min-width:18px;height:17px;padding:0 5px;font-size:10.5px}html.snippet-embed .kit-x{display:none}html.rail .mission-rules li.part{padding:3px 10px 3px 4px;font-size:12px}html.rail .mission-rules li.part .part-ico{width:26px;height:20px;border-radius:7px}html.rail .mission-rules li.part .part-ico .i{width:15px;height:15px}#canvas-tip[data-kind=good]{background:var(--green-solid, #3f9a5d)}#canvas-tip[data-kind=bad]{background:#d2493c}#canvas-tip[data-kind]{transition:background .15s}html.testing #canvas-wrap canvas{cursor:progress}.btn-go.busy{animation:none;opacity:.85}.btn-go.busy .i{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#canvas-wrap.shake{animation:boardshake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes boardshake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-9px)}40%,60%{transform:translate(9px)}}@media (prefers-reduced-motion: reduce){#canvas-wrap.shake{animation:none}}.palette-item{touch-action:pan-x;user-select:none;-webkit-user-select:none}html.rail .palette-item{touch-action:pan-y}html.dragging-part,html.dragging-part *{cursor:grabbing!important}.world-pick{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 12px}.world-pick:empty{display:none}.world-chip{font:inherit;font-size:13px;font-weight:800;padding:7px 14px;border-radius:999px;cursor:pointer;border:2px solid var(--border);background:var(--surface);color:var(--text-mid)}.world-chip.on{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.world-chip:active{transform:scale(.96)}.world-chip{display:inline-flex;align-items:center;gap:7px}.world-chip .i{width:18px;height:18px}.world-chip small{font-size:11px;font-weight:800;opacity:.65}@media (max-width: 380px){.world-chip{padding:6px 10px;font-size:12px}}@media (max-height: 420px){.world-pick{gap:4px;margin:0 0 6px;flex-wrap:nowrap}.world-chip{padding:4px 9px;font-size:11px;gap:4px}.world-chip .i{display:none}.world-chip small{font-size:10px}}html.rail #btn-home{order:-1}html.snippet-embed #btn-home{display:none}@media (max-width: 380px){html:not(.rail) #btn-info.mobile-only{display:none!important}#level-info{min-width:0}}.world-chip.locked{opacity:.55;border-style:dashed}.world-chip.shake{animation:shake .4s ease}.world-note{flex-basis:100%;margin:4px 0 0;font-size:12.5px;font-weight:700;color:var(--text-mid);text-align:center;min-height:0}.world-note:empty{display:none}.win-unlock{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--green);font-weight:700}.win-unlock .i{width:16px;height:16px}.win .modal-world{margin-top:8px}.chapter p{font-size:15px;line-height:1.45;color:var(--text-mid);margin:0 0 16px}.goal .tick-col{width:28px;text-align:center;font-size:11px;font-weight:800;color:var(--text-dim)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.game-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:14px;cursor:pointer;font:inherit;border:2px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text)}.game-card:hover{border-color:var(--accent);background:var(--accent-soft)}.game-card.on{border-color:var(--accent)}.game-card img{border-radius:14px}.game-card .gc-name{font-size:17px;font-weight:800}.game-card .gc-blurb{font-size:13px;color:var(--text-mid);line-height:1.35}.game-card small{font-size:11.5px;font-weight:800;color:var(--text-dim)}#hub-card{max-width:640px;width:100%}#hub-card h1{font-size:clamp(38px,8vw,58px)}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin-top:4px}.hub-grid .game-card{align-items:center;text-align:center;padding:16px 12px;border-color:color-mix(in srgb,var(--gc) 35%,var(--border));box-shadow:0 4px color-mix(in srgb,var(--gc) 30%,var(--border))}.hub-grid .game-card:hover{border-color:var(--gc);background:color-mix(in srgb,var(--gc) 10%,var(--surface));transform:translateY(-2px)}.hub-grid .game-card:active{transform:translateY(2px);box-shadow:0 1px 0 var(--border)}.hub-grid .game-card img{width:64px;height:64px}.hub-grid .game-card small{color:var(--gc)}@media (max-height: 460px){#hub-card h1{display:none}#hub-card>p{margin:0 0 6px}.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hub-grid .game-card{padding:8px 6px;gap:3px}.hub-grid .game-card img{width:40px;height:40px}.hub-grid .gc-blurb{display:none}.hub-grid .gc-name{font-size:13px}}@media (max-width: 400px){.hub-grid .gc-blurb{display:none}}.palette-item-name{display:block;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-align:center;line-height:1.2}.palette-item-name{height:16px;line-height:16px}html.rail .palette-item-name{height:auto;line-height:1.2}#hub-card{max-width:720px}.hub-grid{gap:14px}.hub-grid .game-card{--gcs: color-mix(in srgb, var(--gc) 30%, var(--border));align-items:stretch;text-align:left;gap:10px;padding:16px 16px 14px;border-width:2px;border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--gc) 9%,var(--surface)) 0%,var(--surface) 55%);border-color:var(--gcs);box-shadow:0 5px 0 var(--gcs);transition:transform .15s,box-shadow .15s,border-color .15s}.hub-grid .game-card:hover{transform:translateY(-4px);border-color:var(--gc);box-shadow:0 9px 0 var(--gcs),0 16px 28px color-mix(in srgb,var(--gc) 22%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--gc) 14%,var(--surface)) 0%,var(--surface) 60%)}.hub-grid .game-card:active{transform:translateY(2px);box-shadow:0 2px 0 var(--gcs)}.hub-grid .game-card:focus-visible{outline:3px solid var(--gc);outline-offset:3px}.hub-grid .gc-top{display:flex;gap:12px;align-items:center;min-width:0}.hub-grid .game-card img{flex:none;width:64px;height:64px;border-radius:18px;transition:transform .2s}.hub-grid .game-card:hover img{transform:rotate(-6deg) scale(1.08)}.hub-grid .gc-text{display:flex;flex-direction:column;gap:3px;min-width:0}.hub-grid .gc-name{font-size:19px;line-height:1.15}.hub-grid .gc-blurb{font-size:13px;line-height:1.35}.hub-grid .gc-topics{display:flex;flex-wrap:wrap;gap:5px}.hub-grid .gc-topics i{font-style:normal;font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:999px;color:var(--gc);background:color-mix(in srgb,var(--gc) 12%,transparent)}.hub-grid .gc-bar{display:block;height:7px;border-radius:999px;background:color-mix(in srgb,var(--gc) 14%,var(--border));overflow:hidden}.hub-grid .gc-bar i{display:block;height:100%;border-radius:999px;background:var(--gc)}.hub-grid .gc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.hub-grid .gc-foot small{font-size:12px;font-weight:800;color:var(--text-dim)}.hub-grid .gc-cta{font-size:13px;font-weight:800;color:#fff;background:var(--gc);padding:6px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 3px color-mix(in srgb,var(--gc) 70%,#000)}@media (max-width: 560px){.hub-grid{grid-template-columns:1fr;gap:10px}.hub-grid .game-card{padding:11px 13px 10px;gap:7px}.hub-grid .game-card img{width:46px;height:46px;border-radius:13px}.hub-grid .gc-name{font-size:16px}.hub-grid .gc-blurb,.hub-grid .gc-topics{display:none}}@media (max-height: 460px){#hub-card{max-width:100%}.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hub-grid .game-card{padding:8px;gap:5px}.hub-grid .gc-top{flex-direction:column;text-align:center;gap:4px}.hub-grid .game-card img{width:36px;height:36px;border-radius:10px}.hub-grid .gc-name{font-size:12.5px}.hub-grid .gc-blurb,.hub-grid .gc-topics,.hub-grid .gc-foot small{display:none}.hub-grid .gc-foot{justify-content:center}.hub-grid .gc-cta{font-size:11px;padding:4px 8px}}@media (max-width: 560px){.hub-grid .game-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"top foot" "bar foot";align-items:center;column-gap:10px;row-gap:7px;padding:10px 12px}.hub-grid .gc-top{grid-area:top}.hub-grid .gc-bar{grid-area:bar}.hub-grid .gc-foot{grid-area:foot}.hub-grid .gc-foot small{display:none}.hub-grid .gc-cta{font-size:12px;padding:6px 10px}#hub-card{gap:8px}}@media (max-height: 640px) and (min-height: 461px){#hub-card h1{font-size:clamp(30px,8vw,40px)}#hub-card>p{margin:0}}.win-fact{margin:10px auto 14px;max-width:30ch;padding:10px 12px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text);font-size:.9rem;line-height:1.35;text-align:left}.win-fact b{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.v.sc{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;position:relative;padding:2px 7px}.v.sc .i{width:18px;height:18px}.v.sc.sc-in{width:32px;height:28px;padding:0;border-radius:10px}.v.sc.sc-in.v1{background:rgba(var(--accent-rgb),.14);color:var(--accent-text)}.v.sc.sc-in.v0{background:var(--surface-2);color:var(--text-dim);opacity:.75}.v.sc.sc-in.v0:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;background:currentColor;transform:rotate(-35deg);border-radius:2px}.v.sc.sc-out{font-size:11px}.v.sc.sc-out.v1{background:var(--green-solid);color:#fff}.v.sc.sc-out.v0{opacity:.85}.win-icon{width:52px;height:52px;margin-bottom:4px}.win-icon .i{width:26px;height:26px}.win h2{font-size:22px;margin:2px 0 0;letter-spacing:-.01em}.win p{margin-bottom:14px}.win p:not(.win-fact):not(.win-unlock){font-size:14px;color:var(--text-dim);font-weight:600;margin-bottom:12px}.win .win-fact{max-width:36ch;margin:0 auto 14px;padding:9px 12px 10px 14px;text-align:left;border:0;border-left:3px solid var(--accent);border-radius:4px 12px 12px 4px;background:rgba(var(--accent-rgb),.08);color:var(--text);font-size:13.5px;line-height:1.4}.win .win-fact b{display:block;margin-bottom:1px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}#info-panel .panel-title,#info-panel .panel-sub,#info-panel .goal,#info-panel #now-line,#info-panel #rules-section,#info-panel #test-results-wrap,#info-panel .section-gap{max-width:620px;margin-left:auto;margin-right:auto}.v.sc.sc-in{width:28px;height:24px;border-radius:8px}.v.sc .i{width:16px;height:16px}.v.sc.sc-in.v0:after{left:5px;right:5px}.goal td{padding-top:4px;padding-bottom:4px}@media (max-width: 430px){html:not(.rail) #level-name-display{display:none}html:not(.rail) #level-info{padding:0 7px}}#modal-box:has(.win){width:min(400px,100%)}#modal-box:has(.win) #modal-title:empty{display:none}#modal-box:has(.win) .win{padding-top:14px}#modal-box:has(.win) .win .win-fact{max-width:none}#modal-box:has(.win) #modal-header{position:absolute;top:8px;right:8px;padding:0;min-height:0;z-index:2}#modal-box:has(.win) .win{padding-top:6px}#modal-box:has(.win){position:relative}html.booting #title-screen .ts-card,html.booting #title-screen .ts-deco{visibility:hidden}#title-screen{overflow-y:auto;overflow-x:hidden;align-items:flex-start}#title-screen .ts-card{margin:auto;padding:4px 0 8px;width:100%}html[data-game] #title-screen:not(.hubmode){background:radial-gradient(70% 50% at 50% 4%,rgba(var(--accent-rgb),.17),rgba(var(--accent-rgb),0) 72%),radial-gradient(80% 60% at 50% 10%,#fffdf8,#fffdf800 70%),var(--bg)}:is(html[data-snippet-theme=dark],html[data-theme=dark])[data-game] #title-screen{background:radial-gradient(70% 50% at 50% 4%,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),0) 72%),radial-gradient(80% 60% at 50% 10%,#2a2521,#2a252100 70%),var(--bg)}.ts-stat{margin:-4px 0 4px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)!important}.topic-path{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;width:min(880px,100%);margin:6px auto 8px;padding:0 2px}.topic-path .topic-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:12px;border-radius:18px;border:2px solid var(--edge);background:var(--surface);color:var(--text);box-shadow:0 3px 0 var(--edge);font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.topic-path .topic-card:hover:not(.locked){transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 0 var(--accent-line)}.topic-path .topic-card.on{border-color:var(--accent);background:linear-gradient(180deg,var(--accent-soft),var(--surface) 70%)}.topic-path .topic-card.locked{border-style:dashed;box-shadow:none;opacity:.8;background:color-mix(in srgb,var(--surface) 72%,transparent)}.topic-path .tc-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent-text)}.topic-path .tc-ico .i{width:20px;height:20px}.topic-path .locked .tc-ico{background:var(--surface-2);color:var(--text-dim)}.topic-path .tc-body{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0}.topic-path .tc-top{display:flex;align-items:center;gap:6px}.topic-path .tc-num{font-style:normal;font-size:11px;font-weight:900;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;flex-shrink:0}.topic-path .locked .tc-num{background:var(--border);color:var(--text-mid)}.topic-path .wc-name{font-size:15px;font-weight:800;line-height:1.15}.topic-path .tc-blurb{font-size:12px;font-weight:600;line-height:1.3;color:var(--text-mid);opacity:1;display:block;min-height:2.6em}.topic-path .tc-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:2px}.topic-path .tc-bar i{display:block;height:100%;border-radius:99px;background:var(--accent)}.topic-path .full .tc-bar i{background:var(--green-solid, #3f9a5c)}.topic-path .tc-count{position:absolute;top:12px;right:12px;font-size:11px;font-weight:800;color:var(--text-dim)}.topic-path .world-note{grid-column:1 / -1;margin:0;text-align:center}@media (max-width: 560px){.topic-path{grid-template-columns:1fr;gap:7px}.topic-path .topic-card{flex-direction:row;align-items:center;gap:12px;padding:9px 12px;border-radius:16px}.topic-path .tc-blurb{min-height:0}.topic-path .tc-count{position:static;margin-left:auto;align-self:center}.topic-path .tc-body{flex:1}}html.rail .topic-path{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(104px,1fr);gap:6px;width:min(720px,100%);margin:2px auto;overflow-x:auto}html.rail .topic-path .topic-card{padding:6px 8px;gap:3px;border-radius:12px;flex-direction:row;align-items:center}html.rail .topic-path .tc-blurb,html.rail .topic-path .tc-bar,html.rail .topic-path .tc-count{display:none}html.rail .topic-path .tc-ico{width:24px;height:24px;border-radius:8px}html.rail .topic-path .tc-ico .i{width:14px;height:14px}html.rail .topic-path .wc-name{font-size:12px}html.rail .ts-stat{display:none}html.rail .topic-path .tc-ico .i,.topic-path .tc-ico .i{display:block!important}.topic-path .topic-card:disabled{cursor:default;pointer-events:none}.topic-path .locked .tc-blurb{opacity:.7}.board-tip{position:absolute;z-index:25;max-width:240px;padding:7px 11px 8px;border-radius:12px;pointer-events:none;background:var(--text);color:var(--surface);font-size:12.5px;line-height:1.35;box-shadow:0 6px 18px #00000038;opacity:0;transform:translateY(3px);transition:opacity .12s,transform .12s}.board-tip.on{opacity:1;transform:none}.board-tip b{font-weight:800}.board-tip span{display:block;margin-top:1px;opacity:.82;font-weight:600}@media (pointer: coarse){.board-tip{display:none}}.board-tip span.eg{margin-top:3px;opacity:.65;font-style:italic}.board-tip{max-width:270px}
