:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f5ec}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh}#root{min-height:100vh}::selection{color:#172033;background:#fbbf24}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#17203338;border-radius:999px}::-webkit-scrollbar-track{background:0 0}*{box-sizing:border-box}body{color:#172033;background:#f6f8fb;margin:0;font-family:Inter,Noto Sans SC,Microsoft YaHei,sans-serif}button,input{font:inherit}.iframe-shell{background:#fff;height:100vh;overflow:hidden}.app-frame{min-height:100vh}.top-nav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #e5e7eb;grid-template-columns:290px minmax(280px,520px);justify-content:start;align-items:center;gap:18px;height:64px;padding:0 24px;display:grid;position:sticky;top:0}.top-brand{align-items:center;gap:12px;min-width:0;display:flex}.top-brand strong,.top-brand small{display:block}.top-brand strong{color:#111827}.top-brand small{color:#64748b;font-size:.78rem}.top-search input{color:#111827;background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;outline:none;width:100%;padding:11px 16px}.top-search input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.lab-shell{grid-template-columns:260px 310px minmax(0,1fr);gap:0;min-height:calc(100vh - 64px);padding:0;display:grid}.lab-sidebar,.algorithm-index,.studio-main>section{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0}.lab-sidebar{background:#fbfdff;border-right:1px solid #e5e7eb;border-radius:0;flex-direction:column;gap:14px;height:calc(100vh - 64px);padding:18px 16px;display:flex;position:sticky;top:64px}.brand-block{color:#fff7ed;background:#172033;border-radius:20px;align-items:center;gap:12px;padding:12px;display:none}.brand-mark{color:#fff;background:#2563eb;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:900;display:inline-flex}.brand-block strong{letter-spacing:.02em;display:block}.brand-block small{color:#fff7edb8;margin-top:3px;display:block}.search-box input{background:#ffffffe6;border:1px solid #1720331f;border-radius:16px;outline:none;width:100%;padding:12px 14px}.search-box input:focus{border-color:#f97316;box-shadow:0 0 0 4px #f9731621}.category-list{gap:4px;padding-right:4px;display:grid;overflow:auto}.category-pill{text-align:left;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px;transition:background .18s,color .18s;display:flex}.category-pill:hover,.category-pill.active{color:#1d4ed8;box-shadow:none;background:#eff6ff;transform:none}.category-pill>span{color:#fff;background:var(--accent);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:900;display:inline-flex}.category-pill strong,.category-pill small{display:block}.category-pill small{color:#64748b;margin-top:2px}.algorithm-index{background:#fff;border-right:1px solid #e5e7eb;border-radius:0;flex-direction:column;height:calc(100vh - 64px);display:flex;position:sticky;top:64px;overflow:hidden}.index-head{color:#172033;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:14px;padding:18px;display:flex}.index-head>span{color:#fff;background:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex}.index-head h2{margin:0 0 4px;font-size:1.2rem}.index-head p{color:#475569;margin:0;font-size:.9rem;line-height:1.45}.algo-list{gap:3px;padding:10px;display:grid;overflow:auto}.algo-row{color:#1e293b;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;transition:all .2s;display:flex}.algo-row:hover,.algo-row.active{background:#f1f5f9;border-color:#0000;transform:none}.algo-row strong,.algo-row small{display:block}.algo-row small{color:#64748b;margin-top:3px;font-size:.78rem}.empty-state{text-align:center;background:#f8fafc;border:1px dashed #64748b4d;border-radius:16px;padding:18px}.empty-state strong,.empty-state small{display:block}.empty-state small{color:#64748b;margin-top:4px}.studio-main{background:#f6f8fb;align-content:start;gap:18px;min-width:0;height:calc(100vh - 64px);padding:24px 32px 48px;display:grid;overflow:auto}.studio-main>section{border:1px solid #e5e7eb;border-radius:12px;padding:22px}.hero-panel{color:#111827;background:#fff;justify-content:space-between;gap:20px;display:flex}.eyebrow{color:#2563eb;letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;font-weight:900}.hero-panel h1{letter-spacing:0;margin:8px 0 6px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05}.hero-panel p{color:#64748b;margin:0}.hero-meta{flex-wrap:wrap;place-content:flex-start flex-end;gap:8px;min-width:180px;display:flex}.hero-meta span,.hero-meta strong{background:#f1f5f9;border-radius:999px;padding:7px 10px;font-size:.8rem}.hero-meta span{color:#1d4ed8;border:1px solid #bfdbfe}.idea-panel h2,.section-head h2{color:#172033;margin:0}.idea-panel p{color:#475569;margin:12px 0 0;font-size:1.03rem;line-height:1.8}.code-toolbar button{color:#172033;cursor:pointer;background:#e2e8f0;border:0;border-radius:8px;padding:10px 12px;font-weight:900}.analysis-panel{box-shadow:none;background:#fff;border:1px solid #e5e7eb}.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.analysis-card{box-shadow:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.analysis-card h3{color:#0f172a;margin:0 0 9px;font-size:1rem}.analysis-card p,.analysis-card li{color:#475569;line-height:1.75}.analysis-card p{margin:0}.analysis-card ul{margin:0;padding-left:18px}.analysis-card li+li{margin-top:6px}.info-disclosure,.nested-disclosure{background:#ffffffc2;border:1px solid #94a3b838;overflow:hidden}.info-disclosure{border-radius:18px;box-shadow:inset 0 1px #ffffffc7,0 12px 24px #0f172a0d}.info-disclosure summary,.nested-disclosure summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.info-disclosure summary::-webkit-details-marker{display:none}.nested-disclosure summary::-webkit-details-marker{display:none}.info-disclosure>summary{color:#0f172a;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:14px 18px;font-weight:900;display:flex}.info-disclosure>summary:after{content:"+";color:#0f766e;background:#ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.15rem;line-height:1;display:inline-flex}.info-disclosure[open]>summary:after{content:"-";color:#fff;background:#14b8a6}.info-disclosure>summary small{color:#64748b;text-align:right;font-size:.82rem;font-weight:800}.info-disclosure-body{color:#475569;padding:0 18px 18px;line-height:1.75}.info-disclosure-body p,.nested-disclosure p{margin:0}.info-disclosure-body ul,.nested-disclosure ul{margin:0;padding-left:18px}.info-disclosure-body p+ul,.nested-disclosure p+ul{margin-top:10px}.info-disclosure-body li+li,.nested-disclosure li+li{margin-top:5px}.nested-info-grid{grid-template-columns:1fr;gap:10px;display:grid}.nested-info-grid:not(:first-child){margin-top:12px}.nested-disclosure{background:#f8fafcd6;border-radius:14px}.nested-disclosure>summary{color:#0f766e;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-weight:900;line-height:1.35;display:flex}.nested-disclosure>summary:after{content:"+";color:#0f766e;background:#ccfbf1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;line-height:1;display:inline-flex}.nested-disclosure[open]>summary:after{content:"-";color:#fff;background:#14b8a6}.nested-disclosure>p,.nested-disclosure>ul{padding:0 14px 14px 32px}.nested-disclosure>p{padding-left:14px}.nested-disclosure>ul{list-style-position:outside}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-head span{color:#7c2d12;background:#ffedd5;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:900}.embedded-simulator{background:#fff;border:1px solid #1720331a;border-radius:20px;overflow:hidden}.flow-card{color:#fff7ed;background:radial-gradient(circle at 20% 15%,#22d3ee2e,#0000 30%),linear-gradient(135deg,#172033,#253348);border-radius:22px;padding:18px}.flow-stage{text-align:center;place-items:center;gap:18px;min-height:310px;display:grid}.flow-core{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);border:1px solid #ffffff26;border-radius:28px;place-items:center;width:min(360px,100%);min-height:160px;padding:22px;display:grid;box-shadow:inset 0 0 40px #ffffff0d}.flow-kicker{color:#67e8f9;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:900}.flow-core strong{font-size:1.6rem}.flow-core small{color:#fff7edad}.flow-rail{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.flow-node{color:#172033;cursor:pointer;background:#ffffffd1;border:0;border-radius:50%;width:42px;height:42px;font-weight:900}.flow-node.done{background:#ccfbf1}.flow-node.active{color:#172033;background:#fbbf24;box-shadow:0 0 0 6px #fbbf242e}.flow-message{color:#fff7edd6;max-width:720px;margin:0;line-height:1.7}.flow-controls{justify-content:center;align-items:center;gap:14px;margin-top:8px;display:flex}.flow-controls button{color:#172033;cursor:pointer;background:#fbbf24;border:0;border-radius:999px;padding:9px 16px;font-weight:900}.flow-controls button:disabled{opacity:.45;cursor:not-allowed}.flow-controls span{color:#fff7edc2;font-weight:900}.template-physical-card{--theme-a:#f97316;--theme-b:#fbbf24;--theme-c:#fff7ed;color:#fff7ed;background:radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--theme-b), transparent 62%), transparent 30%), radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--theme-a), transparent 68%), transparent 35%), linear-gradient(135deg, #111827, #253348);border-radius:28px;padding:18px;position:relative;overflow:hidden;box-shadow:0 28px 70px #0f172a33,inset 0 1px #ffffff14}.template-physical-card.theme-geometry{--theme-a:#06b6d4;--theme-b:#22d3ee;--theme-c:#ecfeff}.template-physical-card.theme-basic{--theme-a:#0ea5e9;--theme-b:#38bdf8;--theme-c:#f0f9ff}.template-physical-card.theme-string{--theme-a:#ec4899;--theme-b:#f472b6;--theme-c:#fdf2f8}.template-physical-card.theme-graph{--theme-a:#14b8a6;--theme-b:#2dd4bf;--theme-c:#f0fdfa}.template-physical-card.theme-dp{--theme-a:#22c55e;--theme-b:#84cc16;--theme-c:#f0fdf4}.template-physical-card.theme-structure{--theme-a:#3b82f6;--theme-b:#60a5fa;--theme-c:#eff6ff}.template-physical-card.theme-xor{--theme-a:#a855f7;--theme-b:#f472b6;--theme-c:#faf5ff}.template-physical-card:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 78%);mask-image:radial-gradient(circle,#000,#0000 78%)}.template-physical-card .flow-stage{z-index:1;text-align:center;place-items:center;gap:18px;min-height:520px;display:grid;position:relative}.template-physical-card .flow-core,.template-physical-card .flow-rail{display:none}.physical-header{background:#ffffff1a;border:1px solid #ffffff26;border-radius:22px;gap:6px;width:min(760px,100%);padding:16px 18px;display:grid;box-shadow:inset 0 0 32px #ffffff0a}.physical-header span{color:color-mix(in srgb, var(--theme-b), white 18%);letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;font-weight:900}.physical-header strong{letter-spacing:-.03em;font-size:clamp(1.35rem,3vw,2rem)}.physical-header small{color:#fff7edb8;line-height:1.6}.physical-machine{perspective:900px;place-items:center;width:min(420px,100%);height:190px;display:grid;position:relative}.machine-shadow{filter:blur(10px);background:#00000047;border-radius:50%;width:72%;height:28px;position:absolute;bottom:12px}.machine-core{color:#111827;background:radial-gradient(circle at 28% 20%, #ffffffd6, transparent 22%), linear-gradient(145deg, var(--theme-c), color-mix(in srgb, var(--theme-a), white 50%));border:2px solid color-mix(in srgb, var(--theme-b), white 20%);width:min(340px,92%);min-height:144px;box-shadow:0 18px 0 color-mix(in srgb, var(--theme-a), black 18%), 0 36px 58px #0000003d, inset 0 1px 0 #ffffffb8;border-radius:34px;place-items:center;gap:7px;padding:22px;transition:transform .45s cubic-bezier(.2,.9,.22,1),box-shadow .35s;display:grid;transform:rotateX(8deg)translateY(-8px)}.template-physical-card:hover .machine-core{box-shadow:0 24px 0 color-mix(in srgb, var(--theme-a), black 18%), 0 46px 76px #0000004d, inset 0 1px 0 #ffffffc7;transform:rotateX(4deg)translateY(-16px)}.machine-core span,.machine-core small{color:#111827a8;font-weight:900}.machine-core strong{font-size:1.35rem;line-height:1.15}.machine-beam{background:linear-gradient(90deg, transparent, var(--theme-b), transparent);width:78%;height:5px;box-shadow:0 0 24px var(--theme-b);border-radius:999px;animation:2.8s ease-in-out infinite beamPulse;position:absolute;bottom:0}.template-command-panel{background:#ffffff1a;border:1px solid #ffffff24;border-radius:24px;grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:12px;width:min(820px,100%);padding:14px;display:grid;box-shadow:inset 0 0 28px #ffffff0d,0 18px 44px #00000029}.template-command-status{text-align:left;align-items:center;gap:10px;min-width:0;display:flex}.template-command-status strong,.template-command-status small{display:block}.template-command-status strong{color:#fff7ed}.template-command-status small{color:#fff7eda8;margin-top:3px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.76rem}.template-engine-led{background:#ffffff57;border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 0 6px #ffffff14}.template-engine-led.running{background:var(--theme-b);box-shadow:0 0 0 6px color-mix(in srgb, var(--theme-b), transparent 76%), 0 0 24px var(--theme-b)}.template-command-stream{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.template-command-stream span{text-align:left;color:#111827;background:color-mix(in srgb, var(--theme-c), white 24%);border:1px solid #ffffff80;border-radius:14px;min-width:112px;padding:8px 10px}.template-command-stream strong,.template-command-stream small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.template-command-stream strong{color:color-mix(in srgb, var(--theme-a), black 16%);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.template-command-stream small{color:#1118279e;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.72rem}.template-trace-workbench{grid-column:1/-1;grid-template-columns:minmax(320px,1.1fr) minmax(280px,.9fr);gap:12px;display:grid}.template-object-stage{background-color:#0f172a57;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff12 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:30px 30px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:20px;min-height:238px;position:relative;overflow:hidden}.template-object-stage.trace-graph{background:radial-gradient(circle at 22% 30%, color-mix(in srgb, var(--theme-a), transparent 66%), transparent 20%), radial-gradient(circle at 74% 62%, color-mix(in srgb, var(--theme-b), transparent 70%), transparent 22%), #0f172a61}.template-object-stage.trace-matrix{background-color:#0f172a61;background-image:linear-gradient(90deg,#ffffff1f 1px,#0000 1px),linear-gradient(#ffffff1f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:46px 46px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.template-object-stage.trace-string{background:repeating-linear-gradient(90deg,#ffffff17 0 48px,#ffffff05 48px 52px),#0f172a61}.template-object-stage.trace-tree{background:radial-gradient(circle at 50% 16%, color-mix(in srgb, var(--theme-b), transparent 68%), transparent 18%), #0f172a61}.template-object-stage svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.template-object-stage line{stroke:color-mix(in srgb, var(--theme-b), transparent 28%);stroke-width:3px;stroke-linecap:round;stroke-dasharray:10 10;animation:1.8s linear infinite templateEdgeFlow}@keyframes templateEdgeFlow{to{stroke-dashoffset:-20px}}.template-object-node{left:var(--node-x);top:var(--node-y,50%);color:#111827;background:#ffffffe0;border:1px solid #ffffff8c;border-radius:20px;place-items:center;width:86px;min-height:74px;padding:9px;transition:transform .45s cubic-bezier(.2,.9,.22,1),background .25s,box-shadow .25s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 34px #0000002e}.template-object-node small{color:#11182780;font-weight:900}.template-object-node strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;overflow:hidden}.template-object-node.state-compare{background:linear-gradient(145deg, #fef3c7, var(--theme-b));box-shadow:0 28px 48px color-mix(in srgb, var(--theme-b), transparent 66%);transform:translate(-50%,-66%)scale(1.08)}.template-object-node.state-aux{color:#fff;background:linear-gradient(145deg, var(--theme-a), color-mix(in srgb, var(--theme-a), black 10%));transform:translate(-50%,-58%)scale(1.04)}.template-object-node.state-done{color:#052e16;background:linear-gradient(145deg,#d1fae5,#10b981)}.trace-matrix .template-object-node{border-radius:14px;width:96px}.trace-string .template-object-node{border-radius:16px;width:102px;min-height:58px}.trace-tree .template-object-node{border-radius:50%;width:82px;min-height:82px}.concept-stage{color:#e0f2fe;background:radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--theme-b), transparent 72%), transparent 34%), linear-gradient(145deg, #020617d1, #0f172a94);border:1px solid #ffffff1f;border-radius:20px;grid-template-rows:auto minmax(120px,1fr) auto;gap:12px;min-height:238px;padding:14px;display:grid;overflow:hidden}.concept-head{text-align:left;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.concept-head span{color:color-mix(in srgb, var(--theme-b), white 10%);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;font-weight:900;display:block}.concept-head strong{color:#f8fafc;margin-top:3px;font-size:.95rem;line-height:1.25;display:block}.concept-head code{color:#111827;background:color-mix(in srgb, var(--theme-c), white 18%);white-space:normal;overflow-wrap:anywhere;border-radius:11px;max-width:44%;padding:7px 9px;font-size:.68rem}.concept-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.concept-metrics span{background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;padding:7px 8px}.concept-metrics span.active{background:color-mix(in srgb, var(--theme-b), transparent 68%);border-color:color-mix(in srgb, var(--theme-b), white 24%)}.concept-metrics small,.concept-metrics strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.concept-metrics small{color:#e0f2fe9e;text-transform:uppercase;font-size:.6rem;font-weight:900}.concept-metrics strong{color:#f8fafc;font-size:.72rem}.container-lab{grid-template-columns:minmax(0,1fr) 140px;align-items:stretch;gap:12px;display:grid}.container-rail,.structure-track,.string-tape,.number-pipeline{align-items:center;gap:8px;min-width:0;display:flex;overflow:auto}.container-rail.vertical{flex-direction:column-reverse;justify-content:flex-start;align-items:stretch}.container-rail.map-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.container-cell,.structure-track span,.string-tape span,.number-node{color:#0f172a;background:#ffffffd1;border:1px solid #ffffff7a;border-radius:14px;place-items:center;gap:2px;min-width:58px;min-height:58px;padding:7px;transition:transform .35s,background .25s,box-shadow .25s;display:grid;box-shadow:0 12px 24px #00000029}.container-cell.active,.structure-track span.active,.string-tape span.active,.number-node.active{background:linear-gradient(145deg, #fef3c7, var(--theme-b));box-shadow:0 20px 34px color-mix(in srgb, var(--theme-b), transparent 66%);transform:translateY(-10px)scale(1.04)}.container-cell.done,.structure-track span.done,.string-tape span.done,.number-node.done{color:#052e16;background:linear-gradient(145deg,#d1fae5,#10b981)}.container-cell small,.structure-track small,.string-tape small,.number-node small{color:#0f172a85;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.62rem;font-weight:900}.container-cell strong,.structure-track strong,.string-tape strong,.number-node strong{font-size:1rem;line-height:1}.container-action,.number-formula-card,.structure-invariant,.pattern-strip{text-align:center;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:16px;place-items:center;padding:10px;display:grid}.container-action span,.number-formula-card span{color:color-mix(in srgb, var(--theme-b), white 8%);text-transform:uppercase;font-size:.64rem;font-weight:900}.container-action strong{color:#f8fafc;font-size:1.45rem}.container-action small{color:#e0f2fea8;line-height:1.35}.number-pipeline{justify-content:center}.sieve-board,.divisor-pair-board,.phi-wheel,.mask-state-board,.basis-board,.xor-fingerprint-board,.fenwick-board{align-content:center;gap:8px;display:grid}.sieve-board{grid-template-columns:repeat(8,minmax(0,1fr))}.sieve-board span,.divisor-pair-board span,.phi-wheel span,.mask-state-board span,.basis-board span,.xor-fingerprint-board span,.fenwick-board span{color:#cbd5e1;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;place-items:center;min-height:38px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-weight:900;transition:transform .28s,background .25s,color .25s,box-shadow .25s;display:grid}.sieve-board span.prime,.phi-wheel span.coprime{color:#052e16;background:#34d399}.sieve-board span.marked,.phi-wheel span.removed{color:#64748b;background:#94a3b82e;text-decoration:line-through}.sieve-board span.active,.divisor-pair-board span.active,.phi-wheel span.active,.mask-state-board span.active,.basis-board span.active,.xor-fingerprint-board span.active,.fenwick-board span.active{color:#111827;background:#fbbf24;transform:translateY(-6px);box-shadow:0 0 22px #fbbf2457}.crt-ring-field{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid;position:relative}.crt-ring{aspect-ratio:1;color:#bfdbfe;background:radial-gradient(circle,#0ea5e92e,#0f172a1f);border:2px solid #67e8f95c;border-radius:50%;place-items:center;padding:12px;display:grid;box-shadow:inset 0 0 30px #67e8f914}.crt-ring.active{color:#fef3c7;border-color:#fbbf24;box-shadow:0 0 26px #fbbf2461,inset 0 0 30px #fbbf241a}.crt-ring.done{border-color:#34d399}.crt-ring span,.crt-ring strong,.crt-merge-core small,.crt-merge-core strong,.factor-badges small,.factor-badges strong,.divisor-pair-board small,.divisor-pair-board strong,.fenwick-board small,.fenwick-board strong,.fenwick-board em{text-align:center;display:block}.crt-ring span,.crt-merge-core small,.factor-badges small,.divisor-pair-board small,.fenwick-board small,.fenwick-board em{color:#e0f2fea8;font-size:.62rem;font-style:normal}.crt-ring strong,.crt-merge-core strong{color:inherit;font-size:.9rem}.crt-merge-core{color:#f8fafc;background:#ffffff1a;border:1px solid #ffffff24;border-radius:16px;grid-column:1/-1;justify-self:center;min-width:140px;padding:10px 14px}.factor-lab{grid-template-columns:minmax(0,1fr) 150px;align-items:stretch;gap:12px;display:grid}.factor-chain{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex;overflow:auto}.factor-chain span{color:#0f172a;background:#ffffffdb;border-radius:50%;place-items:center;min-width:54px;min-height:54px;font-weight:900;display:grid;position:relative}.factor-chain span+span:before{content:"/";color:#67e8f9;position:absolute;left:-12px}.factor-chain span.active{color:#111827;background:#fbbf24}.factor-chain span.done{color:#052e16;background:#34d399}.factor-badges{gap:8px;display:grid}.factor-badges span{color:#93c5fd;background:#ffffff14;border:1px solid #ffffff1a;border-radius:13px;place-items:center;padding:8px;display:grid}.factor-badges span.active{color:#052e16;background:#34d399}.divisor-pair-board{grid-template-columns:repeat(5,minmax(0,1fr))}.divisor-pair-board span{min-height:74px}.divisor-pair-board span.done{color:#052e16;background:#34d399}.phi-wheel{grid-template-columns:repeat(6,minmax(0,1fr));align-self:center}.number-pipeline .number-node{position:relative}.number-pipeline .number-node+.number-node:before{content:"";background:color-mix(in srgb, var(--theme-b), transparent 30%);width:12px;height:2px;position:absolute;top:50%;left:-10px}.number-formula-card strong,.structure-invariant,.pattern-strip{color:#f8fafc;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.78rem;line-height:1.45}.geometry-plane,.graph-frontier-plane{background-color:#0f172a61;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:16px;width:100%;min-height:150px}.geometry-plane polygon{fill:color-mix(in srgb, var(--theme-a), transparent 80%);stroke:#ffffff38;stroke-width:.8px}.geometry-plane line,.graph-frontier-plane line{stroke:#bfdbfe85;stroke-width:1.1px}.geometry-plane line.active,.graph-frontier-plane line.active{stroke:var(--theme-b);stroke-width:2px;filter:drop-shadow(0 0 3px var(--theme-b))}.geometry-plane circle,.graph-frontier-plane circle{fill:#ffffffe0;stroke:var(--theme-b);stroke-width:.8px}.geometry-plane g.active circle,.graph-frontier-plane g.active circle{fill:#fbbf24;filter:drop-shadow(0 0 5px #fbbf24)}.geometry-plane g.done circle,.graph-frontier-plane g.done circle{fill:#34d399}.geometry-plane .geo-rect{fill:#0ea5e92e;stroke:#67e8f959;stroke-width:.7px}.geometry-plane .geo-rect.active{fill:#22d3ee52}.geometry-plane .geo-sweep-line,.geometry-plane .geo-ray,.geometry-plane .geo-distance,.geometry-plane .geo-caliper{stroke:#fbbf24;stroke-width:1.6px;stroke-dasharray:4 3;filter:drop-shadow(0 0 4px #fbbf24b3)}.geometry-plane .geo-query{fill:#fbbf24;stroke:#fff7ed;stroke-width:1px}.geometry-plane text,.graph-frontier-plane text{fill:#e0f2fe;text-anchor:middle;font-size:3.5px;font-weight:900}.graph-frontier-plane text{fill:#0f172a}.dp-concept-grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));grid-template-rows:repeat(var(--rows), minmax(24px, 1fr));gap:5px;display:grid}.lis-board{align-content:center;gap:14px;display:grid}.lis-values,.lis-tails{justify-content:center;gap:8px;min-width:0;display:flex;overflow:auto}.lis-values span,.lis-tails span{color:#0f172a;background:#ffffffd1;border-radius:13px;place-items:center;min-width:52px;min-height:52px;font-weight:900;transition:transform .25s,background .25s;display:grid}.lis-values span.active,.lis-tails span.active{color:#111827;background:#fbbf24;transform:translateY(-6px)}.lis-values span.done{color:#052e16;background:#34d399}.lis-tails small,.lis-tails strong{text-align:center;display:block}.lis-tails small{color:#0f172a8f;font-size:.62rem}.interval-dp-grid{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:5px;display:grid}.interval-dp-grid span,.mask-state-board span{color:#94a3b8;background:#ffffff14;border:1px solid #ffffff1a;border-radius:9px;place-items:center;min-height:36px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.68rem;font-weight:900;display:grid}.interval-dp-grid span.blocked{opacity:.18}.interval-dp-grid span.active,.mask-state-board span.active{color:#111827;background:#fbbf24}.mask-state-board{grid-template-columns:repeat(4,minmax(0,1fr))}.mask-state-board span.done{color:#052e16;background:#34d399}.dp-concept-grid span,.bitset-grid span{color:#94a3b8;background:#ffffff14;border:1px solid #ffffff1a;border-radius:9px;place-items:center;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-weight:900;display:grid}.dp-concept-grid span.active,.bitset-grid span.active{color:#111827;background:#fbbf24;box-shadow:0 0 18px #fbbf245c}.dp-concept-grid span.done,.bitset-grid span.on{color:#052e16;background:#34d399}.bitset-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-content:center;gap:8px;display:grid}.string-tape{background:repeating-linear-gradient(90deg,#ffffff14 0 42px,#ffffff05 42px 46px);border-radius:18px;justify-content:center;padding:12px}.structure-track{justify-content:center;min-height:96px}.graph-state-strip{justify-content:center;gap:8px;min-width:0;padding:3px 0;display:flex;overflow:auto}.graph-state-strip span{color:#cbd5e1;background:#ffffff14;border:1px solid #ffffff1a;border-radius:11px;min-width:58px;padding:7px 9px}.graph-state-strip span.active{color:#111827;background:#fbbf24}.graph-state-strip small,.graph-state-strip strong{text-align:center;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;display:block}.graph-state-strip small{color:#0f172a94;font-size:.62rem}.permutation-recursion{align-content:center;gap:8px;padding-left:18px;display:grid}.permutation-recursion span{color:#bfdbfe;background:#ffffff14;border:1px solid #ffffff1a;border-radius:13px;align-items:center;min-height:42px;padding:8px 12px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-weight:900;display:flex}.permutation-recursion span:nth-child(2){margin-left:24px}.permutation-recursion span:nth-child(3){margin-left:48px}.permutation-recursion span:nth-child(4){margin-left:72px}.permutation-recursion span.active{color:#111827;background:#fbbf24}.permutation-recursion span.done{color:#052e16;background:#34d399}.fenwick-board{grid-template-columns:repeat(4,minmax(0,1fr))}.fenwick-board span{min-height:78px}.fenwick-board span.done{color:#052e16;background:#34d399}.segment-concept-tree,.sweep-bit-plane{background-color:#0f172a61;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:16px;width:100%;min-height:150px}.segment-concept-tree line,.sweep-bit-plane line{stroke:#bfdbfe80;stroke-width:.8px}.segment-concept-tree g rect{fill:#ffffffdb;stroke:#67e8f980}.segment-concept-tree g.active rect{fill:#fbbf24;stroke:#fff7ed}.segment-concept-tree g.done rect{fill:#34d399}.segment-concept-tree text,.sweep-bit-plane text{fill:#0f172a;text-anchor:middle;font-size:3px;font-weight:900}.sweep-bit-plane line.active{stroke:#fbbf24;stroke-width:1.6px;filter:drop-shadow(0 0 4px #fbbf24b3)}.sweep-bit-plane circle{fill:#ffffffe0;stroke:#67e8f9;stroke-width:.8px}.sweep-bit-plane g.active circle{fill:#fbbf24}.sweep-bit-plane g.done circle{fill:#34d399}.basis-board{grid-template-columns:repeat(4,minmax(0,1fr))}.basis-board span{min-height:72px}.basis-board span.done{color:#052e16;background:#34d399}.basis-board small,.basis-board strong{text-align:center;display:block}.basis-board small{color:#0f172a8f;font-size:.62rem}.xor-fingerprint-board{grid-template-columns:repeat(5,minmax(0,1fr))}.xor-fingerprint-board span.cancelled{color:#64748b;background:#94a3b82e;text-decoration:line-through}.template-trace-code{text-align:left;color:#dbeafe;background:radial-gradient(circle at 20% 0,#38bdf82e,#0000 34%),#020617;border:1px solid #94a3b82e;border-radius:20px;min-height:238px;max-height:238px;margin:0;padding:12px 0;overflow:auto;box-shadow:inset 0 1px #ffffff0f}.trace-code-line{color:#94a3b8;grid-template-columns:42px minmax(0,1fr);gap:10px;padding:3px 12px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.78rem;line-height:1.45;display:grid}.trace-code-line span{color:#64748b;text-align:right;-webkit-user-select:none;user-select:none}.trace-code-line code{text-overflow:ellipsis;white-space:pre;overflow:hidden}.trace-code-line.active{color:#fff;border-left:3px solid var(--theme-b);background:linear-gradient(90deg,#14b8a657,#14b8a614)}.trace-code-line.active span{color:var(--theme-b)}@keyframes beamPulse{0%,to{opacity:.42;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}.artifact-rail{background:linear-gradient(#ffffff1f,#ffffff0d),repeating-linear-gradient(90deg,#ffffff0f 0 2px,#0000 2px 18px);border:1px solid #ffffff24;border-radius:26px;flex-wrap:wrap;justify-content:center;gap:12px;width:min(720px,100%);padding:16px;display:flex;box-shadow:inset 0 -14px 26px #00000029}.artifact-card{color:#111827;background:linear-gradient(145deg, #fffffff2, color-mix(in srgb, var(--theme-c), white 24%));cursor:pointer;border:2px solid #ffffff9e;border-radius:22px;place-items:center;width:118px;height:92px;padding:11px;transition:transform .45s cubic-bezier(.2,.9,.22,1),box-shadow .35s,background .25s;display:grid;box-shadow:0 12px #ffffff1a,0 22px 34px #0000002e}.artifact-card span{color:#11182785;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:900}.artifact-card strong{font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:1.18rem}.artifact-card.state-compare{background:linear-gradient(145deg,#fef3c7,#fbbf24);transform:translateY(-18px)scale(1.06)rotate(-1deg);box-shadow:0 20px #fbbf2424,0 34px 46px #fbbf2440}.artifact-card.state-aux{color:#fff;background:linear-gradient(145deg,#8b5cf6,#a855f7);transform:translateY(-10px)scale(1.03)rotate(1deg);box-shadow:0 26px 42px #8b5cf647}.artifact-card.state-done{color:#052e16;background:linear-gradient(145deg,#d1fae5,#10b981);border-color:#6ee7b7}.physical-step-dock{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;width:min(820px,100%);display:grid}.physical-step{color:#fff7edb8;cursor:pointer;text-align:left;background:#ffffff14;border:1px solid #ffffff1f;border-radius:18px;align-items:center;gap:10px;min-height:74px;padding:10px;transition:transform .25s,background .25s,border-color .25s;display:flex}.physical-step:hover,.physical-step.active{color:#fff7ed;background:color-mix(in srgb, var(--theme-a), transparent 76%);border-color:color-mix(in srgb, var(--theme-b), transparent 45%);transform:translateY(-4px)}.physical-step.done{color:#ccfbf1;border-color:#10b98157}.physical-step span{color:#111827;background:var(--theme-b);width:38px;height:38px;box-shadow:0 8px 18px color-mix(in srgb, var(--theme-b), transparent 70%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-weight:900;display:inline-flex}.physical-step strong{font-size:.88rem;line-height:1.45}.template-physical-card .flow-message{color:#fff7ede0;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:18px;width:min(760px,100%);margin:0;padding:14px 16px;line-height:1.7}.template-physical-card .flow-controls button{background:linear-gradient(135deg, var(--theme-b), var(--theme-a));box-shadow:0 14px 26px color-mix(in srgb, var(--theme-a), transparent 72%)}.code-shell{background:#111827;border-radius:20px;overflow:hidden}.code-toolbar{background:#020617;border-bottom:1px solid #94a3b82e;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.code-toolbar span{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:.72rem;font-weight:900}.code-toolbar button{color:#0f172a;background:#fbbf24;padding:7px 10px}.template-code{color:#e5e7eb;background:0 0;border-radius:0;max-height:520px;margin:0;padding:16px 0;font-size:.88rem;line-height:1.55;overflow:auto}.template-code-line{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:0 16px;display:grid}.template-code-line span{color:#6b7280;text-align:right;-webkit-user-select:none;user-select:none}.template-code-line code{color:inherit;white-space:pre;background:0 0;border-radius:0;padding:0;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;display:block}.simulator-loading{color:#0f766e;background:radial-gradient(circle at 50% 0,#10b98129,#0000 36%),linear-gradient(145deg,#fff,#f8fafc);border:1px solid #94a3b83d;border-radius:18px;place-items:center;min-height:320px;font-family:JetBrains Mono,Cascadia Mono,Consolas,monospace;font-weight:900;display:grid}@media (width<=1180px){.top-nav{grid-template-columns:250px minmax(220px,1fr);height:auto;min-height:64px;padding:10px 16px}.lab-shell{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 104px)}.algorithm-index{display:none}.lab-sidebar{height:calc(100vh - 104px);top:104px}.studio-main{height:calc(100vh - 104px)}}@media (width<=760px){.top-nav{grid-template-columns:1fr;position:static}.lab-shell{padding:10px;display:block}.lab-sidebar,.studio-main{height:auto;position:static}.lab-sidebar{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px}.category-list{grid-template-columns:1fr;max-height:260px}.studio-main{background:0 0;padding:0;overflow:visible}.hero-panel{flex-direction:column}}
