:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:28px 0 48px}.app-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.eyebrow,.case-id{color:#64748b;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,h3,p{margin:0}h1{color:#111827;letter-spacing:0;font-size:clamp(32px,5vw,56px);line-height:1.02}.header-copy{color:#526071;max-width:680px;margin-top:12px;font-size:16px}.source-box{background:#fff;border:1px solid #d7dde7;border-radius:8px;min-width:220px;padding:14px 16px;box-shadow:0 10px 30px #0f172a0f}.source-box span{color:#64748b;font-size:12px;font-weight:700;display:block}.source-box strong{color:#111827;margin-top:4px;display:block}.stage-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 14px;display:grid}.stage-tab{border:1px solid #d8dee8;border-bottom:4px solid var(--stage-color);text-align:left;background:#fff;border-radius:8px;min-height:86px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s}.stage-tab:hover,.stage-tab.active{border-color:var(--stage-color);transform:translateY(-1px);box-shadow:0 12px 28px #0f172a17}.stage-tab span,.stage-tab small{color:#64748b;font-size:12px;font-weight:700;display:block}.stage-tab strong{color:#111827;margin:4px 0;font-size:22px;display:block}.toolbar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f8fbeb;grid-template-columns:minmax(240px,1fr) minmax(180px,240px) minmax(150px,190px);gap:10px;padding:12px 0;display:grid;position:sticky;top:0}.search-field,.select-field{color:#64748b;background:#fff;border:1px solid #d8dee8;border-radius:8px;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.search-field input,.select-field select,.status-select{color:#1f2933;background:0 0;border:0;outline:0;width:100%;min-width:0}.status-select{background:#fff;border:1px solid #d8dee8;border-radius:8px;height:44px;padding:0 12px}.stage-summary{border-left:5px solid var(--stage-color);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:6px 0 18px;padding:16px 18px;display:flex}.stage-summary span{color:var(--stage-color);font-size:12px;font-weight:800}.stage-summary h2{color:#111827;margin:3px 0;font-size:24px}.stage-summary p{color:#526071}.stage-summary strong{color:#111827;white-space:nowrap;font-size:28px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.formula-card{background:#fff;border:1px solid #dbe2ec;border-radius:8px;flex-direction:column;min-height:330px;padding:16px;display:flex;box-shadow:0 14px 35px #0f172a0f}.card-top{grid-template-columns:124px 1fr;align-items:start;gap:14px;display:grid}.case-image{object-fit:contain;background:#fff;border:1px solid #d8dee8;border-radius:8px;width:124px;height:124px;padding:6px;display:block}.case-image-oll,.case-image-pll{padding:10px}.case-diagram{background:#f8fafc;border-radius:8px;flex:0 0 112px;width:112px;height:112px;display:block;box-shadow:inset 0 0 0 1px #d8dee8}.diagram-board{fill:#172033;stroke:#0f172a;stroke-width:2px}.diagram-muted{fill:#334155}.cross-white{fill:#f8fafc;stroke:#dbe4ef;stroke-width:1px}.f2l-diagram{background:#f8fafc}.f2l-u-layer{fill:#dbeafe;stroke:#93c5fd;stroke-width:2px}.f2l-front{fill:#172033;stroke:#0f172a;stroke-width:2px}.f2l-slot{fill:#26344b;stroke:#93c5fd;stroke-width:2px}.f2l-slot-core{fill:#2563eb59;stroke:#60a5fa;stroke-width:1.5px}.diagram-label{text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:12px;font-weight:900}.muted-label{fill:#2563eb}.slot-label{fill:#dbeafe}.token-label{fill:#fff}.corner-token{fill:#ef4444;stroke:#fecaca;stroke-width:2px}.edge-token{fill:#2563eb;stroke:#bfdbfe;stroke-width:2px}.corner-piece,.edge-piece{transform-box:fill-box;transform-origin:50%}.f2l-diagram.paired .corner-piece,.f2l-diagram.fast-pair .corner-piece{transform:translate(35px,72px)}.f2l-diagram.paired .edge-piece,.f2l-diagram.fast-pair .edge-piece{transform:translate(35px,94px)}.f2l-diagram.split .corner-piece,.f2l-diagram.top-opposite .corner-piece,.f2l-diagram.open-slot .corner-piece{transform:translate(32px,29px)}.f2l-diagram.split .edge-piece,.f2l-diagram.top-opposite .edge-piece,.f2l-diagram.open-slot .edge-piece{transform:translate(85px,29px)}.f2l-diagram.top-same .corner-piece,.f2l-diagram.corner-up .corner-piece{transform:translate(45px,29px)}.f2l-diagram.top-same .edge-piece,.f2l-diagram.corner-up .edge-piece{transform:translate(74px,29px)}.f2l-diagram.flipped .corner-piece,.f2l-diagram.edge-front .corner-piece,.f2l-diagram.last-slot .corner-piece{transform:translate(33px,31px)}.f2l-diagram.flipped .edge-piece,.f2l-diagram.edge-front .edge-piece,.f2l-diagram.last-slot .edge-piece{transform:translate(35px,84px)rotate(90deg)}.f2l-diagram.corner-slot .corner-piece,.f2l-diagram.edge-slot .edge-piece,.f2l-diagram.wrong-slot .corner-piece,.f2l-diagram.mispaired .corner-piece,.f2l-diagram.slot-rebuild .corner-piece{transform:translate(48px,73px)}.f2l-diagram.corner-slot .edge-piece,.f2l-diagram.edge-slot .corner-piece,.f2l-diagram.wrong-slot .edge-piece,.f2l-diagram.mispaired .edge-piece,.f2l-diagram.slot-rebuild .edge-piece{transform:translate(86px,94px)}.oll-diagram{background:#f8fafc}.oll-on,.pll-sticker{fill:#facc15;stroke:#713f1240;stroke-width:1px}.pll-diagram{background:#f8fafc}.pll-arrow{fill:none;stroke:#ef4444;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.pll-diagram marker path{fill:#ef4444}.pll-corner-dot{fill:#ef4444;stroke:#fee2e2;stroke-width:2px}.pll-label{fill:#ef4444;font-size:11px}.formula-card h3{color:#111827;overflow-wrap:anywhere;font-size:20px;line-height:1.2}.group-pill{color:#475569;background:#eef2f7;border-radius:999px;margin-top:9px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.formula-block{margin:18px 0 12px}.formula-block span{color:#64748b;margin-bottom:7px;font-size:12px;font-weight:800;display:block}code{color:#142033;overflow-wrap:anywhere;background:#f7f9fc;border:1px solid #dbe3ee;border-radius:6px;padding:11px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.45;display:block}details{color:#526071;flex:1;font-size:14px}summary{color:#334155;margin-bottom:8px;font-weight:800}details code{background:#eef4fb;margin-top:8px}.source-line{color:#64748b;margin-top:8px;font-size:12px;font-weight:700}.card-actions{align-items:center;gap:8px;margin-top:16px;display:flex}.card-actions button{color:#334155;background:#fff;border:1px solid #d8dee8;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;display:inline-flex}.card-actions button:hover,.active-action{color:#2563eb;border-color:#2563eb}.card-actions .mastered{width:auto;margin-left:auto;padding:0 12px;font-weight:800}.card-actions .mastered.active-action{color:#15803d;background:#ecfdf3;border-color:#15803d}@media (width<=760px){.app-shell{width:min(100% - 20px,640px);padding-top:18px}.app-header,.stage-summary{flex-direction:column;align-items:stretch}.source-box{min-width:0}.stage-tabs,.toolbar{grid-template-columns:1fr 1fr}.toolbar{position:static}.search-field{grid-column:1/-1}.card-grid{grid-template-columns:1fr}}
