:root{--bg:#0f0f23;--surface:#1e1c35;--surface-2:#27273b;--border:#34324e;--text:#e2e8f0;--text-dim:#94a3b8;--primary:#7c3aed;--primary-light:#a78bfa;--primary-deep:#4c1d95;--action:#f43f5e;--pass:#22c55e;--fail:#f43f5e;--gold:#f5c542;--gold-deep:#b06e08;--bronze:#cd8a4b;--silver:#b9c2cf;--chamfer:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(38% 30% at 25% 30%,#7c3aed38,#0000 70%),radial-gradient(30% 26% at 75% 20%,#f43f5e1a,#0000 70%),radial-gradient(34% 30% at 65% 80%,#4c1d9547,#0000 70%);animation:26s ease-in-out infinite alternate aurora;position:fixed;inset:-30%}@keyframes aurora{0%{transform:translate(-3%,-2%)rotate(0)scale(1)}to{transform:translate(3%,2%)rotate(4deg)scale(1.08)}}body:after{content:"";z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}code,pre,textarea.sql-editor,table,kbd{font-family:Cascadia Code,Consolas,Courier New,monospace}button{font:inherit;cursor:pointer}button:active:not(:disabled){transform:scale(.97)}#root{max-width:1280px;margin:0 auto;padding:0 1.25rem 5.5rem}.gstar{filter:drop-shadow(0 0 3px #f5c5428c);vertical-align:-2px}.gstar-off{filter:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.clickfx-layer{z-index:90;pointer-events:none;position:fixed;inset:0}.burst{width:0;height:0;position:absolute}.burst-ring{border:2px solid var(--primary-light);border-radius:50%;width:48px;height:48px;animation:.5s cubic-bezier(.1,.8,.3,1) both ring-out;position:absolute;top:-24px;left:-24px}.burst-ring-2{border-color:var(--gold);animation-duration:.6s;animation-delay:80ms}@keyframes ring-out{0%{opacity:.9;transform:scale(.15)}to{opacity:0;transform:scale(1.15)}}.spark{background:linear-gradient(var(--gold), transparent);width:3px;height:10px;transform:rotate(var(--a)) translateY(-8px);animation:.55s cubic-bezier(.1,.8,.4,1) both spark-fly;position:absolute;top:-5px;left:-1.5px}@keyframes spark-fly{0%{transform:rotate(var(--a)) translateY(-8px) scaleY(1);opacity:1}to{transform:rotate(var(--a)) translateY(-34px) scaleY(.4);opacity:0}}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 0 .35rem;display:flex}.brand{letter-spacing:.1em;align-items:center;gap:.3rem;font-size:1.25rem;font-style:italic;font-weight:800;display:flex}.chev{background:var(--primary-light);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%);width:16px;height:22px}.chev-2{background:var(--action);opacity:.9;margin-right:.5rem}.brand-name{text-shadow:0 0 14px #a78bfa80}.brand-track{letter-spacing:.18em;color:var(--primary-light);background:color-mix(in srgb, var(--primary) 18%, transparent);border:1px solid color-mix(in srgb, var(--primary) 45%, transparent);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);margin-left:.7rem;padding:.22rem .75rem;font-size:.68rem;font-style:normal;font-weight:800}.header-right{align-items:center;gap:.7rem;display:flex}.track-tabs{vertical-align:middle;gap:.35rem;margin-left:.8rem;display:inline-flex}.track-tab{letter-spacing:.16em;color:var(--text-dim);border:1px solid var(--border);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:0 0;padding:.22rem .75rem;font-size:.68rem;font-style:normal;font-weight:800}.track-tab:hover{color:var(--text);border-color:var(--primary)}.track-tab-on{color:var(--primary-light);background:color-mix(in srgb, var(--primary) 18%, transparent);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.criteria-block,.stdout-block{border:1px solid var(--border);color:var(--text);white-space:pre;background:#12102a;margin:0;padding:.55rem .8rem;font-size:.82rem;overflow-x:auto}.stdout-block{color:var(--pass)}.prepping-chip{background:color-mix(in srgb, var(--gold) 8%, var(--surface-2));border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);color:var(--gold);margin-top:.7rem;padding:.4rem .7rem;font-size:.78rem;font-weight:600}.jd-view{max-width:860px;animation:.35s cubic-bezier(.2,.9,.3,1) both view-in}.jd-title{text-transform:uppercase;letter-spacing:.04em;margin:.6rem 0 .3rem;font-size:1.3rem;font-style:italic}.jd-input{width:100%;color:var(--text);border:1px solid var(--border);resize:vertical;background:#12102a;padding:.8rem .9rem;font-family:inherit;font-size:.88rem}.jd-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);outline:none}.jd-results{margin-top:1.4rem}.jd-chips{flex-wrap:wrap;gap:.45rem;margin:.6rem 0 1.4rem;display:flex}.jd-chip{border:1px solid color-mix(in srgb, var(--accent-2,#2dd4bf) 45%, var(--border));clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#0d94881a;flex-direction:column;gap:.1rem;padding:.3rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.jd-chip-kw{color:var(--text-dim);font-size:.66rem;font-weight:400}.jd-note{color:var(--text-dim);margin:0 0 .8rem;font-size:.84rem}.jd-plan{counter-reset:plan;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.jd-row{counter-increment:plan;text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.jd-row:before{content:counter(plan, decimal-leading-zero);color:var(--text-dim);min-width:1.6rem;font-size:.72rem;font-weight:800}.jd-row:not(:disabled):hover{border-color:var(--primary)}.jd-locked{opacity:.55;cursor:not-allowed}.jd-done{border-color:color-mix(in srgb, var(--pass) 45%, transparent)}.jd-next{border-color:var(--primary);box-shadow:0 0 14px color-mix(in srgb, var(--primary) 35%, transparent)}.jd-track-badge{letter-spacing:.1em;color:#fff;padding:.1rem .45rem;font-size:.62rem;font-weight:800}.jd-sql{background:var(--primary-deep)}.jd-py{background:#155e63}.jd-algo{background:#7a1f4b}.jd-row-title{flex-direction:column;flex:1;font-size:.9rem;font-weight:700;display:flex}.jd-row-region{color:var(--text-dim);font-size:.68rem;font-weight:400}.jd-match-badge{letter-spacing:.12em;color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);padding:.1rem .45rem;font-size:.6rem;font-weight:800}.jd-row-state{color:var(--primary-light);white-space:nowrap;font-size:.74rem;font-weight:800}.star-total,.xp-total{letter-spacing:.04em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);align-items:center;gap:.35rem;padding:.28rem .8rem;font-weight:800;display:inline-flex;position:relative}.star-total{color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, transparent)}.xp-total{color:var(--primary-light);background:color-mix(in srgb, var(--primary) 16%, transparent)}.counter{font-variant-numeric:tabular-nums}.counter-max{color:var(--text-dim);font-size:.8em}.xp-pop{white-space:nowrap;color:var(--gold);text-shadow:0 0 10px #f5c542cc;pointer-events:none;font-size:.95rem;font-weight:800;animation:1.6s cubic-bezier(.2,.9,.3,1) both xp-pop;position:absolute;top:100%;right:6px}@keyframes xp-pop{0%{opacity:0;transform:translateY(14px)scale(.6)}18%{opacity:1;transform:translateY(4px)scale(1.25)}70%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-22px)scale(.9)}}.icon-btn{border:1px solid var(--border);color:var(--text);background:0 0;padding:.28rem .55rem;font-size:.95rem}.reset-btn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.14em;background:0 0;padding:.3rem .8rem;font-size:.72rem;font-weight:800}.reset-btn:hover{border-color:var(--fail);color:var(--fail)}.user-chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .35rem .2rem .25rem;display:inline-flex}.user-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--action));border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:800;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;font-size:.74rem;font-weight:700;overflow:hidden}.signout-btn{color:var(--text-dim);background:0 0;border:none;padding:0 .2rem;font-size:.95rem}.signout-btn:hover{color:var(--fail)}.signin-btn{background:color-mix(in srgb, var(--primary) 16%, transparent);border:1px solid color-mix(in srgb, var(--primary) 45%, transparent);color:var(--primary-light);letter-spacing:.06em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:.3rem .8rem;font-size:.72rem;font-weight:800}.signin-btn:hover{background:color-mix(in srgb, var(--primary) 26%, transparent)}.auth-overlay{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060610d9;animation:.2s both fade-in;position:fixed;inset:0;overflow-y:auto}.auth-back{color:var(--text-dim);background:0 0;border:none;padding:0 0 .6rem;font-size:.76rem;font-weight:700}.auth-back:hover{color:var(--primary-light)}.nc-tierlocked{filter:grayscale(.55)brightness(.82)}.nc-lock-tier{letter-spacing:.06em;color:var(--gold);text-align:center;background:#0a0a19b8;padding:.25rem;font-size:.66rem;font-weight:800;position:absolute;inset:auto 0 0}.access-prompt{background:var(--surface);border:2px solid color-mix(in srgb, var(--gold) 40%, transparent);width:min(500px,100%);box-shadow:0 0 44px color-mix(in srgb, var(--gold) 18%, transparent), 0 30px 70px #0009;text-align:center;clip-path:var(--chamfer);padding:1.6rem 1.6rem 1.4rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;position:relative}.access-lock{font-size:2.4rem}.access-title{text-transform:uppercase;margin:.3rem 0 .5rem;font-size:1.25rem;font-style:italic}.access-lead{color:var(--text-dim);margin:0 0 1.1rem;font-size:.88rem;line-height:1.5}.access-tiers{text-align:left;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.1rem;display:grid}.access-tier{border:1px solid var(--border);padding:.7rem .8rem}.access-tier.tier-hot{border-color:var(--gold);box-shadow:0 0 16px color-mix(in srgb, var(--gold) 22%, transparent)}.access-tier.tier-dim{opacity:.6}.at-name{margin-bottom:.35rem;font-size:.82rem;font-weight:800}.access-tier ul{color:var(--text-dim);margin:0;padding:0;font-size:.76rem;list-style:none}.access-tier li{padding:.12rem 0 .12rem 1rem;position:relative}.access-tier li:before{content:"✓";color:var(--pass);position:absolute;left:0}.access-prompt .answer-actions{justify-content:center}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(400px,100%);box-shadow:0 0 44px color-mix(in srgb, var(--primary) 18%, transparent), 0 30px 70px #00000080;clip-path:var(--chamfer);padding:1.8rem 1.6rem;animation:.35s cubic-bezier(.2,1.1,.3,1) both modal-in}.auth-brand{letter-spacing:.1em;align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:1.35rem;font-style:italic;font-weight:800;display:flex}.auth-tag{color:var(--text-dim);margin:0 0 1.2rem;font-size:.85rem}.auth-toggle{gap:.4rem;margin-bottom:1rem;display:flex}.auth-toggle button{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.06em;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);background:0 0;flex:1;padding:.45rem;font-size:.74rem;font-weight:800}.auth-toggle button.on{color:var(--primary-light);background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.google-btn{color:#1f1f1f;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);background:#fff;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.6rem;font-size:.88rem;font-weight:700;display:flex}.google-btn:hover{filter:brightness(.95)}.g-mark{color:#4285f4;font-size:1.05rem;font-weight:800}.auth-or{text-align:center;color:var(--text-dim);margin:1rem 0;font-size:.72rem;position:relative}.auth-or:before,.auth-or:after{content:"";background:var(--border);width:34%;height:1px;position:absolute;top:50%}.auth-or:before{left:0}.auth-or:after{right:0}.auth-form{flex-direction:column;gap:.6rem;display:flex}.auth-input{width:100%;color:var(--text);border:1px solid var(--border);background:#12102a;padding:.6rem .75rem;font-family:inherit;font-size:.9rem}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);outline:none}.auth-error{color:var(--fail);font-size:.8rem;font-weight:600}.auth-submit{width:100%;margin-top:.2rem}.guest-btn{border:1px dashed var(--border);width:100%;color:var(--text-dim);background:0 0;margin-top:.7rem;padding:.5rem;font-size:.8rem}.guest-btn:hover{color:var(--text);border-color:var(--primary)}.auth-note{color:var(--text-dim);margin:1.1rem 0 0;font-size:.68rem;line-height:1.5}.tagline{color:var(--text-dim);margin:0 0 1rem}.hint-bar{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);letter-spacing:.14em;color:var(--text-dim);background:#0e0d1ee0;align-items:center;gap:1.6rem;padding:.5rem 1.4rem;font-size:.68rem;font-weight:800;display:flex;position:fixed;bottom:0;left:0;right:0}.hint-bar kbd{background:var(--surface-2);border:1px solid var(--border);margin-right:.35rem;padding:.1rem .45rem;font-size:.66rem}.hint-season{color:color-mix(in srgb, var(--primary-light) 70%, transparent);margin-left:auto}.world-map{min-height:920px;position:relative}.route-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.route{fill:none;stroke:var(--border);stroke-dasharray:1.6 1.4;vector-effect:non-scaling-stroke;stroke-width:2px}.route.lit{stroke:var(--primary-light);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--primary) 70%, transparent));animation:1.6s linear infinite route-flow}@keyframes route-flow{to{stroke-dashoffset:-6px}}.world-card{transform:translate(-50%, 0) rotate(var(--rot));text-align:left;background:var(--border);width:min(300px,42vw);clip-path:var(--chamfer);color:var(--text);opacity:0;animation:card-enter .45s cubic-bezier(.2, .9, .3, 1.2) var(--enter-delay) forwards, floaty 5.5s ease-in-out calc(var(--float-delay) + .5s) infinite;border:none;flex-direction:column;gap:.32rem;padding:calc(.9rem + 2px) calc(1rem + 2px) calc(.8rem + 2px);transition:filter .2s;display:flex;position:absolute;overflow:hidden}.world-card:before{content:"";clip-path:var(--chamfer);background:linear-gradient(115deg, transparent 0 55%, #ffffff09 55% 62%, transparent 62%), linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%);z-index:0;position:absolute;inset:2px}.world-card>*{z-index:1;position:relative}@keyframes card-enter{0%{opacity:0;transform:translate(-50%, 26px) rotate(var(--rot)) scale(.92)}to{opacity:1;transform:translate(-50%, 0) rotate(var(--rot)) scale(1)}}@keyframes floaty{0%,to{margin-top:0}50%{margin-top:-9px}}.wc-available{background:linear-gradient(160deg, var(--primary), var(--primary-deep));filter:drop-shadow(0 0 14px color-mix(in srgb, var(--primary) 45%, transparent))}.wc-available:hover{filter:drop-shadow(0 0 24px color-mix(in srgb, var(--primary) 65%, transparent)) brightness(1.08)}.wc-done{background:linear-gradient(160deg, color-mix(in srgb, var(--pass) 65%, var(--border)), var(--border))}.wc-locked{filter:grayscale(.75)brightness(.72);cursor:not-allowed}.wc-class{letter-spacing:.22em;color:var(--action);font-size:.62rem;font-weight:800}.wc-title{letter-spacing:.04em;text-transform:uppercase;font-size:1.02rem;font-style:italic;font-weight:800}.wc-desc{color:var(--text-dim);font-size:.78rem;line-height:1.35}.statbar{background:#ffffff12;height:8px;margin-top:.4rem;display:block;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 9px,#0000 9px 12px);mask-image:repeating-linear-gradient(90deg,#000 0 9px,#0000 9px 12px)}.statbar-fill{background:linear-gradient(90deg, var(--gold-deep), var(--gold));height:100%;transition:width .6s cubic-bezier(.2,.9,.3,1);display:block;box-shadow:0 0 8px #f5c54280}.wc-footer{justify-content:space-between;align-items:center;margin-top:.4rem;display:flex}.wc-stars{color:var(--gold);align-items:center;gap:.3rem;font-size:.85rem;font-weight:800;display:inline-flex}.wc-lock{color:var(--text-dim);font-size:.7rem}.wc-go{letter-spacing:.14em;color:#fff;font-size:.72rem;font-weight:800;animation:1.6s ease-in-out infinite blink}@keyframes blink{50%{opacity:.45}}.wc-clear{letter-spacing:.1em;color:var(--pass);font-size:.7rem;font-weight:800}.ribbon{clip-path:polygon(100% 0,0 0,100% 100%);background:color-mix(in srgb, var(--border) 80%, transparent);color:#ffffff4d;z-index:2;justify-content:flex-end;align-items:flex-start;width:44px;height:44px;padding:2px 6px 0 0;font-size:.8rem;display:flex;position:absolute;top:2px;right:2px}.ribbon-done{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#3a2c00;text-shadow:0 1px #fff6}@media (width<=720px){.world-map{flex-direction:column;gap:.8rem;min-height:0;display:flex}.route-lines{display:none}.world-card{width:100%;animation:card-enter-flat .4s ease var(--enter-delay) forwards;position:static;transform:none}}.region-view{animation:.35s cubic-bezier(.2,.9,.3,1) both view-in}@keyframes view-in{0%{opacity:0;transform:scale(.965)translateY(12px)}to{opacity:1;transform:none}}.rv-header{flex-wrap:wrap;align-items:center;gap:1.1rem;margin:.6rem 0 1.3rem;display:flex}.back-btn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.12em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:0 0;padding:.45rem .9rem;font-size:.72rem;font-weight:800}.back-btn:hover{border-color:var(--primary);color:var(--primary-light)}.rv-title-block h2{text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.3rem;font-style:italic}.rv-title-block p{color:var(--text-dim);margin:.1rem 0 0;font-size:.85rem}.testout-cta{background:color-mix(in srgb, var(--gold) 12%, transparent);border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);color:var(--gold);letter-spacing:.08em;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);flex-direction:column;align-items:center;margin-left:auto;padding:.38rem .9rem;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.testout-cta:hover{background:color-mix(in srgb, var(--gold) 22%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--gold) 35%, transparent)}.testout-sub{letter-spacing:.14em;color:color-mix(in srgb, var(--gold) 80%, var(--text));opacity:.8;font-size:.58rem;font-weight:700}.rv-stars{color:var(--gold);align-items:center;gap:.4rem;font-size:1.05rem;font-weight:800;display:inline-flex}.rv-header .testout-cta+.rv-stars{margin-left:.9rem}.rv-header .rv-title-block~.rv-stars:last-child{margin-left:auto}.nc-verified{letter-spacing:.12em;color:var(--pass);font-size:.64rem;font-weight:800}.nc-tested{border-color:color-mix(in srgb, var(--pass) 40%, transparent)!important}.placement-banner{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 18%, transparent), transparent);border-left:3px solid var(--gold);color:var(--gold);margin-bottom:.8rem;padding:.6rem .9rem;font-size:.82rem;font-weight:700}.rv-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1rem;display:grid}.nfs-card{text-align:left;background:var(--border);min-height:152px;clip-path:var(--chamfer);color:var(--text);opacity:0;animation:card-enter-flat .4s cubic-bezier(.2, .9, .3, 1.15) var(--enter-delay) forwards;border:none;flex-direction:column;gap:.45rem;padding:2px 2px .85rem;transition:transform .18s,filter .18s;display:flex;position:relative;overflow:hidden}.nfs-card:before{content:"";clip-path:var(--chamfer);background:linear-gradient(115deg, transparent 0 55%, #ffffff09 55% 62%, transparent 62%), linear-gradient(165deg, var(--surface) 0%, var(--surface-2) 100%);z-index:0;position:absolute;inset:2px}.nfs-card>*{z-index:1;position:relative}@keyframes card-enter-flat{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:none}}.nfs-card:not(.nc-locked):hover{filter:drop-shadow(0 0 16px color-mix(in srgb, var(--primary) 45%, transparent));transform:translateY(-3px)}.nc-locked{filter:grayscale(.78)brightness(.68);cursor:not-allowed}.nc-available{background:linear-gradient(160deg, var(--primary), var(--border) 70%)}.nc-done{background:linear-gradient(160deg, color-mix(in srgb, var(--pass) 60%, var(--border)), var(--border) 75%)}.nc-banner{letter-spacing:.2em;color:#fff;background:linear-gradient(90deg, var(--primary), var(--primary-deep));clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);margin-right:24px;padding:.34rem .85rem;font-size:.63rem;font-style:italic;font-weight:800;display:block}.nc-type-patch .nc-banner{background:linear-gradient(90deg,#b8860b,#7a5a08)}.nc-type-boss .nc-banner{background:linear-gradient(90deg, var(--action), #9f1239)}.nc-type-drill .nc-banner{background:linear-gradient(90deg,#0d9488,#115e59)}.nc-type-interview .nc-banner{background:linear-gradient(90deg,#6d28d9,#3b0764)}.nc-title{flex:1;padding:0 .85rem;font-size:.98rem;font-weight:800;line-height:1.3}.nc-footer{justify-content:space-between;align-items:center;padding:0 .85rem;display:flex}.nc-class{letter-spacing:.18em;color:var(--action);font-size:.62rem;font-weight:800}.nc-stars{gap:2px;display:inline-flex}.nc-lock{z-index:2;background:#0a0a1973;justify-content:center;align-items:center;font-size:1.6rem;display:flex;position:absolute;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#080814a8;justify-content:center;align-items:center;padding:1.8rem 1rem 3.6rem;animation:.2s both fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface);border:2px solid color-mix(in srgb, var(--primary) 45%, transparent);width:min(1100px,100%);max-height:100%;box-shadow:0 0 44px color-mix(in srgb, var(--primary) 28%, transparent), 0 30px 80px #0009;padding:1.2rem 1.5rem 1.6rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;position:relative;overflow-y:auto}@keyframes modal-in{0%{opacity:0;transform:scale(.92)translateY(22px)}to{opacity:1;transform:none}}.modal-close{float:right;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);z-index:2;width:34px;height:34px;position:sticky;top:0}.modal-close:hover{color:var(--fail);border-color:var(--fail)}.np-cols{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.np-left,.np-right{min-width:0}.np-single{grid-template-columns:1fr;max-width:680px}@media (width<=940px){.np-cols{grid-template-columns:1fr}}.syntax-box{border:1px solid color-mix(in srgb, var(--gold) 40%, transparent);background:color-mix(in srgb, var(--gold) 5%, #12102a);margin:.9rem 0;padding:1.1rem .9rem .6rem;position:relative}.syntax-label{background:linear-gradient(90deg, var(--gold), var(--gold-deep));color:#2d2200;letter-spacing:.22em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:.12rem .7rem;font-size:.6rem;font-weight:800;position:absolute;top:0;left:0}.syntax-box pre{color:var(--gold);white-space:pre;margin:.2rem 0 .3rem;font-size:.86rem;overflow-x:auto}.example-head{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin:.9rem 0 .35rem;font-size:.72rem;font-weight:800}.node-panel{padding-top:.2rem}.panel-kind{letter-spacing:.2em;text-transform:uppercase;color:var(--primary-light);font-size:.68rem;font-weight:800}.node-panel h2{text-transform:uppercase;letter-spacing:.02em;margin:.25rem 0 .6rem;font-size:1.3rem;font-style:italic}.node-panel h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin:.9rem 0 .4rem;font-size:.78rem}.panel-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.level-chip,.tag-chip,.xp-chip{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.06em;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);padding:.12rem .6rem;font-size:.7rem;font-weight:700}.level-chip{border-color:color-mix(in srgb, var(--action) 55%, transparent);color:var(--action)}.xp-chip{border-color:color-mix(in srgb, var(--gold) 45%, transparent);color:var(--gold)}.panel-note{background:var(--surface-2);border:1px dashed var(--border);color:var(--text-dim);padding:.8rem 1rem;font-size:.9rem}.briefing{background:color-mix(in srgb, #0d9488 7%, var(--surface-2));border-left:3px solid #0d9488;margin-bottom:1.1rem;padding:.8rem 1rem .9rem}.briefing-head{color:#2dd4bf!important;letter-spacing:.16em!important;margin:0 0 .5rem!important}.mission-head{color:var(--action)!important;letter-spacing:.16em!important;margin:0 0 .5rem!important}.example-sql{border:1px solid var(--border);color:var(--text);background:#12102a;margin:.4rem 0 .6rem;padding:.55rem .8rem;font-size:.86rem;overflow-x:auto}.example-btn{color:#2dd4bf;letter-spacing:.12em;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);background:0 0;border:1px solid #0d9488;padding:.4rem 1rem;font-size:.74rem;font-weight:800}.example-btn:hover:not(:disabled){background:#0d94882e}.example-result{margin-top:.7rem;animation:.25s both view-in}.example-note{color:var(--text-dim);margin-top:.55rem;font-size:.84rem}.example-note p{margin:0}.panel-prompt p{margin:0 0 .7rem;font-size:.93rem}.panel-prompt code{background:var(--surface-2);padding:.08rem .35rem;font-size:.85em}.target-block{margin-bottom:.9rem}.table-scroll{border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.82rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.35rem .7rem}th{background:var(--surface-2);color:var(--text-dim);font-weight:600}tr:last-child td{border-bottom:none}.null-cell{color:var(--text-dim);font-style:italic}.editor-label{color:var(--text-dim);margin:.9rem 0 .35rem;font-size:.75rem;display:block}.sql-editor{width:100%;color:var(--text);border:1px solid var(--border);resize:vertical;background:#12102a;padding:.7rem .85rem;font-size:.9rem}.sql-editor:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);outline:none}.panel-actions{gap:.6rem;margin-top:.7rem;display:flex}.run-btn{background:linear-gradient(120deg, var(--primary), var(--primary-deep));color:#fff;letter-spacing:.1em;text-transform:uppercase;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border:none;padding:.6rem 1.5rem;font-size:.8rem;font-weight:800;transition:filter .15s}.run-btn:disabled{opacity:.55;cursor:wait}.run-btn:not(:disabled):hover{filter:brightness(1.2) drop-shadow(0 0 10px color-mix(in srgb, var(--primary) 60%, transparent))}.hint-btn{border:1px solid var(--border);color:var(--text-dim);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:0 0;padding:.55rem 1rem;font-size:.8rem}.hint-box{background:color-mix(in srgb, var(--gold) 8%, var(--surface-2));border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);margin-top:.7rem;padding:.7rem .9rem;font-size:.88rem}.result-box{border:1px solid;margin-top:.9rem;padding:.8rem 1rem;animation:.25s both view-in}.result-pass{border-color:color-mix(in srgb, var(--pass) 45%, transparent);background:color-mix(in srgb, var(--pass) 8%, transparent)}.result-fail{border-color:color-mix(in srgb, var(--fail) 45%, transparent);background:color-mix(in srgb, var(--fail) 7%, transparent);animation:.35s both shake}@keyframes shake{0%,to{transform:none}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.result-message{font-size:.92rem;font-weight:600}.result-error{white-space:pre-wrap;color:var(--fail);margin:.6rem 0 0;font-size:.8rem}.stars-earned{align-items:center;gap:.3rem;margin-top:.55rem;display:flex}.star-pop{animation:.55s cubic-bezier(.2,1.5,.4,1) both star-pop;display:inline-flex}.sp-2{animation-delay:.18s}.sp-3{animation-delay:.36s}.gold-label{color:var(--gold);text-shadow:0 0 10px color-mix(in srgb, var(--gold) 60%, transparent)}.trial-start{background:color-mix(in srgb, var(--gold) 10%, transparent);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);width:100%;color:var(--gold);letter-spacing:.1em;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);margin-top:.6rem;padding:.5rem .9rem;font-size:.78rem;font-weight:800}.trial-start:hover{background:color-mix(in srgb, var(--gold) 20%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--gold) 30%, transparent)}.trial-bar{border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);background:#12102a;align-items:center;gap:.8rem;margin-top:.6rem;padding:.5rem .9rem;display:flex}.trial-bar.trial-over{border-color:color-mix(in srgb, var(--fail) 55%, transparent)}.trial-clock{color:var(--gold);font-variant-numeric:tabular-nums;min-width:4.5rem;font-family:Cascadia Code,Consolas,monospace;font-size:1.3rem;font-weight:800}.trial-over .trial-clock{color:var(--fail)}.trial-meta{letter-spacing:.06em;color:var(--text-dim);flex:1;font-size:.72rem;font-weight:700}.trial-cancel{border:1px solid var(--border);color:var(--text-dim);background:0 0;padding:.3rem .7rem;font-size:.72rem}.trial-cancel:hover{border-color:var(--fail);color:var(--fail)}.interview-btn{background:linear-gradient(120deg, var(--action), #9f1239);color:#fff;letter-spacing:.12em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border:none;padding:.32rem .8rem;font-size:.7rem;font-weight:800}.interview-btn:hover{filter:brightness(1.15) drop-shadow(0 0 10px color-mix(in srgb, var(--action) 55%, transparent))}.profile-btn{background:linear-gradient(120deg, var(--gold), var(--gold-deep));color:#241a00;letter-spacing:.1em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);border:none;padding:.32rem .8rem;font-size:.7rem;font-weight:800}.profile-btn:hover{filter:brightness(1.12) drop-shadow(0 0 10px color-mix(in srgb, var(--gold) 55%, transparent))}.profile-screen{z-index:80;background:var(--bg);animation:.2s both fade-in;position:fixed;inset:0;overflow-y:auto}.profile-shared-banner{background:color-mix(in srgb, var(--gold) 10%, var(--surface-2));border-left:3px solid var(--gold);max-width:780px;color:var(--text);margin:.8rem auto 0;padding:.6rem 1rem;font-size:.84rem}.profile-body{justify-content:center;padding:1.6rem;display:flex}.profile-card{color:#1a1a1a;background:#fff;width:100%;max-width:780px;height:max-content;padding:2rem 2.4rem;box-shadow:0 10px 40px #00000080}.pc-head{border-bottom:2px solid #222;padding-bottom:.7rem}.pc-name{font-size:1.8rem;font-weight:800}.pc-headline{color:#555;font-size:1rem}.pc-stamp{letter-spacing:.08em;color:#0d7a6e;background:#e5f6f3;border-radius:3px;margin-top:.4rem;padding:.15rem .5rem;font-size:.66rem;font-weight:800;display:inline-block}.pc-tiles{grid-template-columns:repeat(5,1fr);gap:.6rem;margin:1.1rem 0;display:grid}@media (width<=560px){.pc-tiles{grid-template-columns:repeat(3,1fr)}}.pc-tile{text-align:center;background:#f4f2ec;border:1px solid #e3e0d6;padding:.6rem .3rem}.pc-tile-n{color:#7c3aed;font-size:1.4rem;font-weight:800}.pc-tile-l{letter-spacing:.06em;text-transform:uppercase;color:#666;font-size:.66rem;font-weight:700}.pc-h{letter-spacing:.12em;text-transform:uppercase;color:#222;border-bottom:1px solid #ccc;margin:1.2rem 0 .6rem;padding-bottom:.2rem;font-size:.8rem;font-weight:800}.pc-group{margin-bottom:.6rem}.pc-group-name{font-size:.9rem;font-weight:800}.pc-skills{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;display:flex}.pc-skill{background:#f0eef8;border:1px solid #ddd7f0;border-radius:999px;padding:.12rem .6rem;font-size:.8rem}.pc-level{color:#7c3aed;font-size:.72rem;font-weight:700}.pc-empty{color:#777;font-size:.9rem}.pc-certs{flex-direction:column;gap:.4rem;display:flex}.pc-cert-btn{text-align:left;border:1px solid var(--gold-deep);color:#5a4300;background:#fbf6e8;padding:.4rem .7rem;font-size:.85rem;font-weight:700}.pc-cert-btn:hover{background:#f7edcf}.pc-certs-print{display:none}.cert-overlay{z-index:82;background:var(--bg);flex-direction:column;align-items:center;padding:1.2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.cert-actions{gap:.6rem;margin-bottom:1rem;display:flex}.certificate{color:#2a2205;aspect-ratio:1.414;background:#fffdf7;width:100%;max-width:900px;box-shadow:0 10px 40px #00000080}.cert-border{border:3px double var(--gold-deep);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;margin:12px;padding:3rem;font-family:Georgia,serif;display:flex}.cert-kicker{letter-spacing:.4em;color:var(--gold-deep);font-size:.9rem;font-weight:800}.cert-title{margin:.8rem 0 1.4rem;font-size:2.2rem;font-weight:700}.cert-body{color:#443;max-width:40ch;font-size:1rem;line-height:1.5}.cert-name{border-bottom:1px solid #cbb774;margin:.8rem 0;padding:0 1.5rem .3rem;font-size:2rem;font-style:italic;font-weight:700}.cert-foot{color:#665;justify-content:space-between;width:100%;margin-top:2.2rem;font-size:.85rem;display:flex}.cert-seal{color:#0d7a6e;font-weight:800}.resume-btn{color:#fff;letter-spacing:.1em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);background:linear-gradient(120deg,#0d9488,#115e59);border:none;padding:.32rem .8rem;font-size:.7rem;font-weight:800}.resume-btn:hover{filter:brightness(1.15)drop-shadow(0 0 10px #0d94888c)}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:2.5rem;padding:1.6rem 0 .5rem}.footer-brand{letter-spacing:.1em;align-items:center;gap:.35rem;font-size:1.05rem;font-style:italic;font-weight:800;display:inline-flex}.footer-tag{color:var(--text-dim);margin:.4rem 0 .8rem;font-size:.82rem}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;font-size:.78rem;display:flex}.footer-link{color:var(--primary-light);background:0 0;border:none;padding:0;font-weight:700}.footer-link:hover{text-decoration:underline}.footer-copy{color:var(--text-dim)}.resume-screen{z-index:80;background:var(--bg);flex-direction:column;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.resume-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem 1.4rem;display:flex}.resume-top-title{letter-spacing:.04em;font-style:italic;font-weight:800}.resume-top-actions{gap:.6rem;display:flex}.resume-body{flex:1;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:0;display:grid;overflow:hidden}@media (width<=860px){.resume-body{grid-template-columns:1fr}.resume-preview{display:none}}.resume-editor{border-right:1px solid var(--border);padding:1.2rem 1.4rem 3rem;overflow-y:auto}.resume-editor .auth-input{margin-bottom:.5rem}.resume-eh{letter-spacing:.08em;text-transform:uppercase;color:var(--primary-light);margin:1.2rem 0 .5rem;font-size:.8rem;font-weight:800}.resume-row{gap:.5rem;display:flex}.resume-row .auth-input{flex:1}.resume-add{margin-bottom:.4rem;padding:.3rem .7rem;font-size:.72rem}.resume-entry-edit{border:1px solid var(--border);margin-bottom:.6rem;padding:.6rem}.resume-remove{color:var(--fail);background:0 0;border:none;padding:.2rem 0;font-size:.72rem}.resume-skillnote{background:color-mix(in srgb, #0d9488 10%, var(--surface-2));color:var(--text);border-left:3px solid #0d9488;margin:1rem 0;padding:.6rem .8rem;font-size:.8rem}.resume-preview{background:#2a2a33;justify-content:center;padding:1.6rem;display:flex;overflow-y:auto}.resume-print{color:#1a1a1a;background:#fff;width:100%;max-width:780px;height:max-content;padding:2.4rem 2.6rem;font-family:Georgia,Times New Roman,serif;line-height:1.45;box-shadow:0 10px 40px #00000080}.rp-name{letter-spacing:.01em;font-size:1.9rem;font-weight:700}.rp-headline{color:#444;margin-top:.1rem;font-size:1.05rem}.rp-contact{color:#555;border-bottom:2px solid #222;margin-top:.5rem;padding-bottom:.6rem;font-size:.82rem}.rp-section{margin-top:1.1rem}.rp-h{letter-spacing:.14em;text-transform:uppercase;color:#222;border-bottom:1px solid #ccc;margin:0 0 .5rem;padding-bottom:.2rem;font-size:.82rem;font-weight:700}.rp-verified{letter-spacing:.06em;color:#0d7a6e;text-transform:none;margin-left:.4rem;font-size:.6rem;font-weight:700}.rp-summary{margin:0;font-size:.92rem}.rp-skillgroup{margin-bottom:.25rem;font-size:.88rem}.rp-skillgroup-name{font-weight:700}.rp-entry{margin-bottom:.7rem}.rp-entry-top{justify-content:space-between;align-items:baseline;display:flex}.rp-entry-title{font-size:.95rem;font-weight:700}.rp-entry-period{color:#666;font-size:.8rem}.rp-entry-org{color:#444;font-size:.88rem;font-style:italic}.rp-entry-detail{white-space:pre-wrap;margin-top:.15rem;font-size:.88rem}@media print{body *{visibility:hidden}#resume-print,#resume-print *,#profile-print,#profile-print *,#cert-print,#cert-print *{visibility:visible}#resume-print,#profile-print{width:100%;max-width:none;box-shadow:none;padding:.4in .5in;position:absolute;top:0;left:0}#cert-print{width:100%;max-width:none;box-shadow:none;position:absolute;top:0;left:0}.pc-certs-print{margin-top:.5rem;font-size:.85rem;display:block!important}.no-print{display:none!important}}.credits-chip{background:color-mix(in srgb, var(--accent-2,#2dd4bf) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent-2,#2dd4bf) 40%, transparent);color:var(--accent-2,#2dd4bf);letter-spacing:.04em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);align-items:center;gap:.3rem;padding:.26rem .7rem;font-size:.72rem;font-weight:800;display:inline-flex}.credits-plus{font-size:.9rem;line-height:1}.credits-chip:hover{background:color-mix(in srgb, var(--accent-2,#2dd4bf) 22%, transparent)}.checkout{background:var(--surface);border:2px solid color-mix(in srgb, var(--gold) 40%, transparent);width:min(560px,100%);max-height:100%;box-shadow:0 0 44px color-mix(in srgb, var(--gold) 18%, transparent), 0 30px 70px #0009;padding:1.4rem 1.5rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;position:relative;overflow-y:auto}.checkout-title{text-transform:uppercase;margin:0 0 .3rem;font-size:1.2rem;font-style:italic}.checkout-lead,.checkout-bal,.checkout-minnote{color:var(--text-dim);margin:0 0 1rem;font-size:.86rem}.checkout-bal strong{color:var(--accent-2,#2dd4bf)}.checkout-pass{margin-bottom:1.2rem}.pack-owned{color:var(--pass);text-align:center;font-weight:700}.pack-once{color:var(--text-dim);vertical-align:middle;font-size:.72rem;font-weight:600}.checkout-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:.2rem 0;font-size:.8rem;font-weight:800}.checkout-minnote{margin-bottom:.7rem!important}.checkout-note{color:var(--text-dim);margin:1rem 0 0;font-size:.72rem}.topup{background:var(--surface);border:2px solid color-mix(in srgb, var(--accent-2,#2dd4bf) 40%, transparent);width:min(680px,100%);box-shadow:0 0 44px color-mix(in srgb, var(--accent-2,#2dd4bf) 22%, transparent), 0 30px 80px #0009;padding:1.3rem 1.5rem 1.5rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;position:relative}.topup-title{text-transform:uppercase;margin:0 0 .3rem;font-size:1.2rem;font-style:italic}.topup-bal{color:var(--text-dim);margin:0 0 1.1rem;font-size:.9rem}.topup-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=600px){.topup-grid{grid-template-columns:1fr}}.pack{border:1px solid var(--border);background:var(--surface-2);clip-path:var(--chamfer);padding:1rem;position:relative}.pack-hot{border-color:var(--gold);box-shadow:0 0 18px color-mix(in srgb, var(--gold) 25%, transparent)}.pack-flag{background:linear-gradient(90deg, var(--gold), var(--gold-deep));color:#2d2200;letter-spacing:.1em;clip-path:polygon(8px 0,100% 0,100% 100%,0 100%);padding:.14rem .5rem;font-size:.58rem;font-weight:800;position:absolute;top:0;right:0}.pack-name{font-size:.95rem;font-weight:800}.pack-price{color:var(--accent-2,#2dd4bf);margin:.2rem 0;font-size:1.8rem;font-weight:800}.pack-rate{color:var(--text-dim);margin-bottom:.6rem;font-size:.76rem}.pack-perks{margin:0 0 .9rem;padding:0;font-size:.78rem;list-style:none}.pack-perks li{padding:.16rem 0 .16rem 1.1rem;position:relative}.pack-perks li:before{content:"✓";color:var(--pass);position:absolute;left:0}.pack-buy{width:100%}.topup-note{color:var(--text-dim);margin:1rem 0 0;font-size:.72rem}.studio-top-right{align-items:center;gap:.6rem;display:flex}.studio-remaining{color:var(--accent-2,#2dd4bf);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:800}.studio-remaining-low{color:var(--fail);animation:1.4s ease-in-out infinite blink}.low-balance-banner{background:color-mix(in srgb, var(--fail) 10%, transparent);border-left:3px solid var(--fail);color:var(--fail);margin-bottom:.7rem;padding:.5rem .9rem;font-size:.82rem}.link-btn{color:var(--accent-2,#2dd4bf);background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.lobby-balance{color:var(--text);margin:.8rem 0;font-size:.9rem}.interview-planner{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.coverage-grid{grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.7rem;display:grid}@media (width<=600px){.coverage-grid{grid-template-columns:1fr}}.coverage{border:1px solid var(--border);background:var(--surface);padding:.7rem .9rem}.cov-ok{border-color:color-mix(in srgb, var(--pass) 40%, transparent)}.cov-short{border-color:color-mix(in srgb, var(--action) 40%, transparent)}.cov-name{font-size:.9rem;font-weight:800}.cov-desc{color:var(--text-dim);margin:.2rem 0 .5rem;font-size:.78rem}.cov-min{font-size:.85rem;font-weight:700}.cov-flag{letter-spacing:.06em;margin-left:.3rem;font-size:.68rem;font-weight:800}.cov-flag.ok{color:var(--pass)}.cov-flag.short{color:var(--action)}.studio-backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060610cc;justify-content:center;align-items:center;padding:1.2rem 1rem;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.studio{border:2px solid color-mix(in srgb, var(--action) 40%, transparent);width:min(1000px,100%);max-height:100%;box-shadow:0 0 50px color-mix(in srgb, var(--action) 22%, transparent), 0 30px 80px #0009;background:linear-gradient(#14121f,#0d0c16);padding:1rem 1.3rem 1.5rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;overflow-y:auto}.studio-top{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.studio-title{letter-spacing:.04em;font-style:italic;font-weight:800}.studio-sub{color:var(--text-dim);font-size:.8rem;font-style:normal;font-weight:600}.panel-grid{grid-template-columns:repeat(4,1fr);gap:.7rem;display:grid}@media (width<=760px){.panel-grid{grid-template-columns:repeat(2,1fr)}}.panel-tile{aspect-ratio:4/3;border:1px solid var(--border);background:radial-gradient(120% 90% at 50% 10%,#232134,#16151f);border-radius:8px;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.tile-live{border-color:var(--action);box-shadow:0 0 18px color-mix(in srgb, var(--action) 45%, transparent)}.avatar{width:100%;height:100%}.tile-name{color:#fff;background:linear-gradient(#0000,#000000b8);flex-direction:column;padding:.3rem .5rem;font-size:.72rem;font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0}.tile-role{color:var(--text-dim);font-size:.58rem;font-weight:600}.live-dot{letter-spacing:.08em;color:#fff;background:var(--action);border-radius:3px;padding:.1rem .4rem;font-size:.56rem;font-weight:800;animation:1.4s ease-in-out infinite blink;position:absolute;top:6px;left:6px}.listen-dot{color:var(--accent-2,#2dd4bf);font-size:.58rem;font-weight:700;position:absolute;top:6px;left:6px}.candidate-tile{background:#0b0a12}.candidate-tile video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.candidate-tile video.cam-off{display:none}.cam-placeholder{opacity:.5;margin-bottom:1.4rem;font-size:2.5rem}.cam-btn{border:1px solid var(--border);color:var(--text);background:#00000080;border-radius:4px;padding:.14rem .4rem;font-size:.56rem;font-weight:700;position:absolute;top:6px;right:6px}.caption-strip{border-left:3px solid var(--action);background:#0b0a14;min-height:2.4rem;margin-top:.8rem;padding:.55rem .9rem;font-size:.92rem;line-height:1.4}.caption-name{color:var(--action);font-weight:800}.caption-you{color:var(--accent-2,#2dd4bf);font-weight:700}.caption-thinking{color:var(--gold);font-style:italic;font-weight:700}.answer-status{margin-bottom:.4rem;font-size:.8rem}.mic-on{color:var(--accent-2,#2dd4bf);font-weight:700}.mic-off{color:var(--gold);font-weight:600}.ai-badge{letter-spacing:.1em;color:#0f172a;background:linear-gradient(90deg, var(--accent-2,#2dd4bf), var(--pass));vertical-align:middle;border-radius:3px;margin-left:.6rem;padding:.14rem .5rem;font-size:.6rem;font-weight:800}.settings{background:var(--surface);border:2px solid color-mix(in srgb, var(--accent-2,#2dd4bf) 40%, transparent);width:min(520px,100%);box-shadow:0 0 44px color-mix(in srgb, var(--accent-2,#2dd4bf) 18%, transparent), 0 30px 70px #0009;padding:1.4rem 1.5rem;animation:.3s cubic-bezier(.2,1.1,.3,1) both modal-in;position:relative}.settings-title{text-transform:uppercase;margin:0 0 .4rem;font-size:1.2rem;font-style:italic}.settings-lead{color:var(--text-dim);margin:0 0 1rem;font-size:.86rem;line-height:1.5}.settings-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:.8rem 0 .35rem;font-size:.74rem;font-weight:800;display:block}.key-row{gap:.5rem;display:flex}.key-row .auth-input{flex:1}.settings-toggle{color:var(--text);align-items:center;gap:.5rem;margin:1rem 0;font-size:.85rem;display:flex}.settings-note{color:var(--text-dim);margin:1rem 0 0;font-size:.72rem;line-height:1.5}select.auth-input{cursor:pointer}.studio-progress{background:#ffffff14;height:4px;margin-top:.7rem}.studio-progress-fill{background:linear-gradient(90deg, var(--action), var(--primary));height:100%;transition:width .4s}.answer-zone{margin-top:.8rem}.answer-box{width:100%;color:var(--text);border:1px solid var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);resize:vertical;background:#12102a;padding:.7rem .85rem;font-family:inherit;font-size:.95rem}.answer-actions{gap:.6rem;margin-top:.6rem;display:flex}.end-btn{background:color-mix(in srgb, var(--fail) 16%, transparent);border:1px solid color-mix(in srgb, var(--fail) 50%, transparent);color:var(--fail);letter-spacing:.08em;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);padding:.25rem .6rem;font-size:.68rem;font-weight:800}.end-btn:hover{background:color-mix(in srgb, var(--fail) 28%, transparent)}.setup-block{margin:1rem 0}.setup-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;font-size:.72rem;font-weight:800}.topic-chips{flex-wrap:wrap;gap:.4rem;display:flex}.topic-chip{color:var(--text-dim);border:1px solid var(--border);background:0 0;border-radius:999px;padding:.28rem .7rem;font-size:.74rem;font-weight:700}.topic-chip.on{color:var(--accent-2,#2dd4bf);background:color-mix(in srgb, var(--accent-2,#2dd4bf) 14%, transparent);border-color:color-mix(in srgb, var(--accent-2,#2dd4bf) 45%, transparent)}.dur-row{gap:.4rem;display:flex}.dur-btn{color:var(--text-dim);border:1px solid var(--border);clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%);background:0 0;padding:.35rem .9rem;font-size:.78rem;font-weight:800}.dur-btn.on{color:var(--primary-light);background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}.setup-hint{color:var(--text-dim);margin-top:.4rem;font-size:.76rem}.lobby{margin-top:1rem}.lobby-lead{color:var(--text);font-size:.95rem;line-height:1.5}.cost-readout{border:1px solid var(--border);background:#0d0c16;margin:1rem 0;padding:.8rem 1rem}.cost-head{letter-spacing:.16em;color:var(--gold);margin-bottom:.5rem;font-size:.68rem;font-weight:800;display:block}.cost-row{border-bottom:1px dashed var(--border);justify-content:space-between;padding:.18rem 0;font-size:.82rem;display:flex}.cost-tier{color:var(--text-dim)}.cost-val{color:var(--pass);font-weight:700}.cost-note{color:var(--text-dim);margin-top:.5rem;font-size:.74rem}.lobby-start{width:100%;padding:.7rem;font-size:.9rem}.results{margin-top:1rem;animation:.3s both view-in}.results-head{margin:0 0 .3rem;font-size:1.1rem}.results-score{color:var(--gold);margin-bottom:.8rem;font-weight:800}.results-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.res-tag{border:1px solid var(--border);border-radius:4px;padding:.2rem .6rem;font-size:.74rem;font-weight:700}.res-pass{color:var(--pass);border-color:color-mix(in srgb, var(--pass) 45%, transparent)}.res-fail{color:var(--fail);border-color:color-mix(in srgb, var(--fail) 45%, transparent)}.retrain-box{background:color-mix(in srgb, var(--action) 8%, transparent);border:1px solid color-mix(in srgb, var(--action) 35%, transparent);padding:.8rem 1rem;font-size:.9rem}.retrain-box ul{margin:.4rem 0 .4rem 1.1rem}.retrain-clear{background:color-mix(in srgb, var(--pass) 8%, transparent);border-color:color-mix(in srgb, var(--pass) 35%, transparent);color:var(--pass)}.retrain-note{color:var(--text-dim);margin:.3rem 0 0;font-size:.78rem}.av-body{transform-origin:100px 200px;animation:4.5s ease-in-out infinite av-breathe}@keyframes av-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1.5px)scale(1.012)}}.av-head{transform-origin:100px 130px;animation:6s ease-in-out infinite av-sway}@keyframes av-sway{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}.av-lid{transform-origin:50%;animation:5s infinite av-blink;transform:scaleY(0)}@keyframes av-blink{0%,92%,to{transform:scaleY(0)}95%{transform:scaleY(1)}}.av-mouth ellipse,.av-mouth path{transition:all 50ms linear}.av-brows{transition:transform .3s}.av-hands{transform-origin:100px 210px;opacity:0;transform:translateY(20px)}.avatar-speaking .av-hands{animation:2.4s ease-in-out infinite av-gesture}@keyframes av-gesture{0%,to{opacity:.9;transform:translateY(8px)rotate(-2deg)}50%{opacity:.95;transform:translateY(2px)rotate(2deg)}}@keyframes star-pop{0%{opacity:0;transform:scale(0)rotate(-100deg)}60%{transform:scale(1.5)rotate(10deg)}to{opacity:1;transform:scale(1)}}.stars-earned-label{letter-spacing:.16em;color:var(--gold);margin-left:.45rem;font-size:.72rem;font-weight:800}
