:root{--bg: #0d1117;--bg-elev: #161b22;--bg-elev-2: #1c2333;--border: #2b3444;--text: #e6edf3;--muted: #9aa7b4;--accent: #4c9aff;--accent-strong: #2f6fd6;--seq: #f0883e;--seq-bg: #3a2618;--index: #3fb950;--index-bg: #14351d;--bad: #f85149;--bad-bg: #3a1a1a;--good: #3fb950;--good-bg: #14351d;--good-strong: #238636;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 10px 24px -10px rgba(0,0,0,.5);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.55}.app{max-width:1100px;margin:0 auto;padding:0 20px 40px}@media(max-width:560px){.app{padding:0 16px 32px}}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:12px 16px}.brand{font-size:19px;font-weight:700;display:flex;align-items:center;gap:8px;letter-spacing:-.2px;color:var(--text);text-decoration:none}.logo{color:var(--accent);font-size:16px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.page-loading{min-height:100vh}.not-found{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.not-found h1{margin:0;font-size:22px}.not-found-actions{display:flex;gap:8px;flex-wrap:wrap}.topbar-right{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:92px}@media(max-width:560px){.topbar{flex-wrap:wrap;padding:14px 0}.section-nav{order:3;width:100%}.section-nav .section-btn{flex:1;text-align:center}}button,a.button{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;cursor:pointer;box-shadow:var(--shadow-sm);font-family:inherit;line-height:1.4;transition:background .12s,border-color .12s,transform .12s,box-shadow .12s}a.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}button:hover:not(:disabled),a.button:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary,a.button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;font-weight:600}button.primary:hover:not(:disabled),a.button.primary:hover{background:var(--accent)}button.success{background:var(--good-strong);border-color:var(--good-strong);color:#fff;font-weight:600}button.success:hover:not(:disabled){background:var(--good);border-color:var(--good)}button.success.is-busy:disabled{opacity:1;display:inline-flex;align-items:center;gap:8px}button.locked:disabled{opacity:1;background:transparent;color:var(--muted);border:1px dashed var(--border);box-shadow:none;font-weight:600}.locked-reason{font-weight:400}@media(max-width:560px){.locked-reason{display:block}}kbd{font-family:var(--mono);font-size:11px;background:#ffffff1a;border-radius:5px;padding:1px 5px;margin-left:4px}select{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;transition:border-color .12s}select:hover{border-color:var(--accent)}select:focus{outline:none;border-color:var(--accent)}.scenario-desc{color:var(--muted);font-size:13px;margin-bottom:14px;max-width:720px}.tabs{display:inline-flex;gap:3px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:3px;margin-bottom:0}.tab{background:transparent;border:none;border-radius:999px;padding:7px 18px;color:var(--muted);font-weight:600;font-size:13px;box-shadow:none}.tab:hover{color:var(--text)}.tab.active{color:#fff;background:var(--accent-strong);box-shadow:var(--shadow-sm)}.tab.active:hover{transform:none;box-shadow:var(--shadow-sm)}.status{font-size:12px;padding:10px 0;color:var(--muted);display:flex;align-items:center;gap:8px;min-height:32px}.status-error{color:var(--bad)}.spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.editor{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.toolbar{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}.error{background:var(--bad-bg);color:#ffb4ae;border:1px solid var(--bad);border-radius:var(--radius);padding:10px 12px;font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;margin-top:8px}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:12px}.hint .warn,.warn{color:var(--seq)}.result-meta{font-size:12px;color:var(--muted);margin-bottom:8px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:12.5px}th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--bg-elev-2);position:sticky;top:0;font-weight:600}td{font-family:var(--mono);color:var(--text)}.plan{margin-top:8px}.verdict{padding:10px 12px;border-radius:var(--radius);font-size:13px;margin-bottom:12px;border:1px solid var(--border)}.verdict-seq{background:var(--seq-bg);border-color:var(--seq)}.verdict-index{background:var(--index-bg);border-color:var(--index)}.plan-tree{list-style:none;padding:0;margin:0}.plan-node{border-left:2px solid var(--border);padding:6px 0 6px 10px;margin-bottom:4px}.plan-node.is-seq{border-left-color:var(--seq)}.plan-node.is-index{border-left-color:var(--index)}.plan-node-head{display:flex;gap:8px;align-items:baseline}.node-type{font-weight:700}.is-seq .node-type{color:var(--seq)}.is-index .node-type{color:var(--index)}.node-detail{color:var(--muted);font-size:12.5px}.plan-node-stats{display:flex;gap:14px;font-size:11.5px;color:var(--muted);margin-top:2px;flex-wrap:wrap}.plan-node-cond{margin-top:4px}.plan-node-cond code{display:block;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.code-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-family:var(--mono);font-size:12.5px;overflow-x:auto;margin:8px 0;white-space:pre-wrap}.compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.compare-col{min-width:0}.compare-col h4{margin:0 0 8px;font-size:13px}.compare-col .compare-col-title{text-transform:uppercase;letter-spacing:.04em;font-size:11px;color:var(--muted);font-weight:600}.timing{color:var(--accent);font-family:var(--mono);font-weight:400;margin-left:6px}@media(max-width:720px){.compare{grid-template-columns:minmax(0,1fr)}}.plan-node-cond code{overflow-wrap:anywhere}.banner{background:var(--bg-elev-2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:10px 12px;font-size:12.5px;color:var(--muted);margin-bottom:16px}.iso-controls{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.iso-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.level-tabs{display:flex;gap:4px}.level-tabs button.active{background:var(--accent-strong);border-color:var(--accent-strong)}.timeline{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:12px 0;box-shadow:var(--shadow-sm)}.tl-row{display:flex;align-items:center;gap:12px;padding:7px 12px;border-bottom:1px solid var(--border)}.tl-row:last-child{border-bottom:none}.tl-row code{font-family:var(--mono);font-size:12.5px}.tl-tx{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;min-width:42px;text-align:center}.tx-A{background:#4c9aff1f}.tx-A .tl-tx{background:var(--accent-strong);color:#fff}.tx-B{background:#f0883e1a}.tx-B .tl-tx{background:var(--seq);color:#1a1000}.outcome{border-radius:var(--radius);padding:12px 14px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.outcome.bad{background:var(--bad-bg);border-color:var(--bad)}.outcome.good{background:var(--good-bg);border-color:var(--good)}.outcome-head{font-weight:700;margin-bottom:4px}.outcome.bad .outcome-head{color:#ffb4ae}.outcome.good .outcome-head{color:#7ee787}.outcome-result{font-family:var(--mono);font-size:13px;margin-bottom:6px}.outcome-explain{color:var(--muted);font-size:12.5px}.search-bar{display:flex;gap:8px;margin:14px 0}.search-input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font-size:14px}.search-input:focus{outline:none;border-color:var(--accent)}.mono{font-family:var(--mono);font-size:12px;color:var(--muted)}.strat-table td{white-space:normal;vertical-align:middle}.strat-table tr.unavailable{opacity:.6}.strat-name{font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.strat-note{font-size:11.5px;color:var(--muted);margin-top:2px}.badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--bg-elev-2);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:1px 6px}.unavailable-cell{color:var(--muted);font-size:12px;font-style:italic}.metric{display:flex;flex-direction:column;gap:3px;min-width:90px}.metric-val{font-family:var(--mono);font-size:12.5px;color:var(--text)}.bar{height:4px;border-radius:2px;min-width:2px}.bar-read{background:var(--index)}.bar-write{background:var(--seq)}.dict{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:14px 0}.dict-title{font-size:12px;color:var(--muted);margin-bottom:10px}.dict-group{display:flex;gap:10px;align-items:baseline;margin-bottom:8px;flex-wrap:wrap}.dict-label{font-size:11.5px;color:var(--muted);min-width:min(190px,100%)}.dict-label em{color:var(--seq);font-style:normal}.dict-words{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:3px 11px;font-size:12px;color:var(--text);cursor:pointer}.chip:hover{border-color:var(--accent);color:var(--accent)}.lab-block{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.lab-block h4{margin:0 0 8px;font-size:13px}.foot{color:var(--muted);font-size:12px;margin-top:40px;padding-top:18px;border-top:1px solid var(--border);text-align:center}.foot-note{margin:0 0 10px;font-size:11.5px}.foot-links{display:flex;justify-content:center;gap:6px 18px;flex-wrap:wrap}.foot-links a{color:var(--muted);text-decoration:none}.foot-links a:hover{color:var(--text);text-decoration:underline}.section-nav{display:flex;gap:3px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:3px;box-shadow:var(--shadow-sm)}.section-btn{border:none;background:transparent;color:var(--muted);padding:7px 20px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer;box-shadow:none;transition:color .12s,background .12s;text-decoration:none}.section-btn:hover:not(.active){color:var(--text);transform:none;box-shadow:none}.section-btn.active{background:var(--accent-strong);color:#fff;box-shadow:var(--shadow-sm)}.labs-toolbar{display:flex;gap:8px;align-items:center;margin:12px 0 8px;flex-wrap:wrap}.labs-toolbar .scenario-select{flex:0 1 auto;min-width:0}.rank-r1{--rank: #8b98a5}.rank-r2{--rank: #3fb950}.rank-r3{--rank: #4c9aff}.rank-r4{--rank: #a371f7}.rank-r5{--rank: #f0883e}.rank-r6{--rank: #f85149}.rank-r7{--rank: #db61a2}.rank-r8{--rank: #e3b341}.rank-badge{display:inline-flex;align-items:center;gap:8px}.rank-dots{display:inline-flex;gap:3px}.rank-dots .dot{width:7px;height:7px;border-radius:50%;background:var(--border)}.rank-dots .dot.on{background:var(--rank)}.rank-label{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--rank);text-transform:uppercase}.quest-tag{font-size:11px;color:var(--muted);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.quest-browser-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:18px 0 20px;flex-wrap:wrap}.quest-browser-head h1{margin:0 0 5px;font-size:22px}.quest-browser-sub{margin:0;color:var(--muted);max-width:62ch;font-size:13px;line-height:1.5}.quest-search{background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:9px 15px;color:var(--text);width:min(100%,300px);font-size:13px}.quest-search:focus{outline:none;border-color:var(--accent)}.quest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.quest-card{text-align:left;display:flex;flex-direction:column;gap:10px;background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--rank, var(--accent));border-radius:var(--radius);padding:16px 18px;cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}.quest-card:hover{transform:translateY(-2px);background:var(--bg-elev-2);border-color:var(--rank, var(--accent));box-shadow:var(--shadow-md)}.quest-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.quest-card-env{font-size:11px;color:var(--muted);white-space:nowrap}.quest-card-title{font-size:16px;font-weight:700}.quest-card-brief{font-size:12.5px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quest-card-tags{display:flex;gap:6px;flex-wrap:wrap}.quest-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin:24px 0 8px}.quest-pager-pages{display:flex;align-items:center;gap:6px}.quest-pager-pages button{min-width:36px;padding-left:8px;padding-right:8px}.quest-pager-gap{color:var(--muted);padding:0 2px}.quest-pager-info{font-size:12px;color:var(--muted)}.quest-empty{margin:34px 0;text-align:center}.quest-solve-bar{display:flex;align-items:center;justify-content:space-between;margin:14px 0 12px}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:4px 0}.link-btn:hover{text-decoration:underline}.lab-field-head{display:flex;align-items:baseline;justify-content:space-between}.lab-field-head .quest-label{margin-bottom:0}.quest-actions .quest-result{margin-left:auto}.quest-result{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.quest-result.pass{color:var(--good)}.quest-result.fail{color:var(--seq)}.quest-stars .star{color:var(--border);font-size:15px}.quest-stars .star.on{color:#f0c040}.quest-solve-head{border-left:3px solid var(--rank, var(--accent));padding:4px 0 4px 14px;margin-bottom:18px;display:flex;flex-direction:column;gap:9px}.quest-solve-head h1{margin:0;font-size:24px}.quest-solve-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.quest-desc,.quest-work{min-width:0}@media(max-width:900px){.quest-solve-grid{grid-template-columns:minmax(0,1fr)}}.quest-section{margin-bottom:16px}.quest-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:7px}.quest-brief{color:var(--text);margin:0 0 16px;line-height:1.6}.quest-teach{margin-bottom:16px}.quest-teach summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:600}.quest-teach p{color:var(--muted);margin:8px 0;line-height:1.6}.quest-example,.quest-graded-query{display:block;font-family:var(--mono);font-size:12px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:10px;white-space:pre-wrap;margin:0;overflow-x:auto}.quest-workload{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.quest-workload-label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.quest-plan-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 8px}.quest-plan-tabs button{font-size:12.5px;padding:5px 12px;border-radius:999px}.quest-plan-tabs button.active{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong)}.quest-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.quest-env-status{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.quest-env-status.bad{color:var(--bad)}.quest-verdict{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:16px}.quest-conditions{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.condition{display:flex;gap:9px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.condition.pass{border-color:var(--good);background:var(--good-bg)}.condition.fail{border-color:var(--seq);background:var(--seq-bg)}.condition-mark{font-weight:700;line-height:1.4}.condition.pass .condition-mark{color:var(--good)}.condition.fail .condition-mark{color:var(--seq)}.condition.idle .condition-mark{color:var(--muted)}.condition-body{display:flex;flex-direction:column;gap:2px}.condition-label{font-size:13px}.condition-opt{color:var(--muted)}.condition-actual{font-family:var(--mono);font-size:11px;color:var(--muted)}.condition-hint{font-size:12px;color:var(--seq)}.quest-sql-error{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--bad);background:var(--bad-bg);border:1px solid var(--bad);border-radius:var(--radius);padding:8px 10px}.quest-index-note{margin-top:10px;font-size:12px;color:var(--muted)}.quest-submit{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.quest-submit-hint{font-size:12px;color:var(--muted)}.quest-submit-result{font-size:13px;font-weight:600}.quest-submit-result.pass{color:var(--good)}.quest-submit-result.fail{color:var(--seq)}.schema-panel{display:flex;flex-direction:column;gap:10px}.schema-table{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.schema-table-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-elev-2);border-bottom:1px solid var(--border)}.schema-table-name{font-family:var(--mono);font-weight:700;font-size:13px}.schema-table-rows{font-size:11px;color:var(--muted)}.schema-cols{list-style:none;margin:0;padding:6px 0}.schema-col{display:flex;justify-content:space-between;gap:2px 12px;padding:3px 12px;font-family:var(--mono);font-size:12px;flex-wrap:wrap}.schema-col-name{color:var(--text);display:flex;align-items:center;gap:6px}.schema-pk{font-size:9px;font-weight:700;color:#f0c040;border:1px solid #f0c040;border-radius:3px;padding:0 3px;letter-spacing:.03em}.schema-col-type{color:var(--muted);margin-left:auto;text-align:right}input[type=email],input[type=password],input[type=text]{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;width:100%}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus{outline:none;border-color:var(--accent)}.auth-mode-toggle{display:flex;gap:4px;margin-bottom:2px}.auth-mode-toggle .link-btn.active{color:var(--accent);font-weight:700}.auth-error{font-size:12px;color:var(--bad)}.email-notice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;border:1px solid var(--seq);background:var(--seq-bg);border-radius:var(--radius-sm);padding:10px 12px}.email-notice p{margin:0}.schema-nn{color:var(--muted)}.profile-page{display:flex;flex-direction:column;gap:16px;margin-top:12px}.profile-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-left:3px solid var(--rank, var(--accent));background:linear-gradient(120deg,color-mix(in srgb,var(--rank, var(--accent)) 10%,var(--bg-elev)),var(--bg-elev) 60%)}.profile-avatar{width:52px;height:52px;border-radius:50%;background:var(--bg-elev-2);border:2px solid var(--rank, var(--accent));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--rank, var(--accent));flex-shrink:0}.profile-id{display:flex;flex-direction:column;gap:2px;margin-right:auto}.profile-id h1{margin:0;font-size:19px}.profile-level{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-level-badge{font-size:12px;font-weight:700;color:#fff;background:var(--rank, var(--accent));border-radius:999px;padding:4px 12px}.profile-level-title{font-size:13px;color:var(--text);font-weight:600}.profile-level-honor{font-size:12px;color:var(--muted)}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:16px}.stat-val{font-size:22px;font-weight:700}.stat-label{font-size:12px;color:var(--muted)}@media(max-width:560px){.profile-stats{grid-template-columns:1fr}}.profile-ladder h2{font-size:15px;margin:0 0 12px}.level-ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.level-node{display:flex;align-items:flex-start;gap:10px;border-left:2px solid var(--border);padding:7px 0 7px 12px;margin-bottom:2px}.level-node.is-done{border-left-color:var(--good);opacity:.55}.level-node.is-current{border-left-color:var(--rank, var(--accent));opacity:1}.level-node.is-future{opacity:.4}.level-node-mark{font-size:13px;line-height:1.6;width:14px;text-align:center;flex-shrink:0}.level-node.is-done .level-node-mark{color:var(--good)}.level-node.is-current .level-node-mark{color:var(--rank, var(--accent))}.level-node.is-future .level-node-mark{color:var(--muted)}.level-node-body{display:flex;flex-direction:column;gap:2px;min-width:0}.level-node-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.level-node-title{font-weight:600;font-size:13px}.level-node.is-current .level-node-title{color:var(--rank, var(--accent))}.level-node-min{font-size:11px;color:var(--muted);font-family:var(--mono)}.level-node-progress{font-size:11.5px;color:var(--muted)}.profile-quests h2{font-size:15px;margin:4px 0 10px}.quest-card.profile-trophy{cursor:default}.quest-card.profile-trophy:hover{transform:none;box-shadow:var(--shadow-sm);background:var(--bg-elev)}.profile-trophy-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-quest-honor{font-size:12.5px;color:var(--accent);font-weight:600}.signin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.signin-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-md)}.signin-brand{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text);text-decoration:none;align-self:center;margin-bottom:4px}.signin-mode-toggle{justify-content:center;gap:16px;margin-bottom:0}.signin-google{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 14px;font-size:13px;font-weight:600;transition:border-color .12s,transform .12s,box-shadow .12s}.signin-google:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.signin-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--border)}.signin-form{display:flex;flex-direction:column;gap:10px}.signin-back{align-self:center;margin-top:4px}.quest-editor{display:flex;flex-direction:column;gap:14px}.quest-editor-form{display:flex;flex-direction:column;gap:14px;border:none;padding:0;margin:0}.quest-editor-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.quest-editor-form input,.quest-editor-form textarea,.quest-editor-form select{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:inherit}.quest-editor-form textarea{resize:vertical}.quest-editor-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.quest-editor-form fieldset:disabled{opacity:.6}.quest-status-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:3px 9px;border-radius:999px;border:1px solid var(--border)}.quest-status-badge.status-draft{color:var(--muted)}.quest-status-badge.status-published{color:var(--good);border-color:var(--good);background:var(--good-bg)}.quest-status-badge.status-hidden{color:var(--bad);border-color:var(--bad);background:var(--bad-bg)}.quest-status-badge.status-beta{color:var(--accent);border-color:var(--accent);text-transform:none}.constraint-editor{display:flex;flex-direction:column;gap:10px}.constraint-row{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--bg-elev-2)}.constraint-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.constraint-row-main input[type=text]{flex:1;min-width:160px}.constraint-row-params{display:flex;gap:8px;flex-wrap:wrap}.constraint-row-params input{max-width:160px}.constraint-required{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);flex-direction:row}.link-btn.danger{color:var(--bad)}button.danger{border-color:var(--bad);color:var(--bad)}.my-quests-table,.admin-table{width:100%;border-collapse:collapse;font-size:13px}.my-quests-table th,.my-quests-table td,.admin-table th,.admin-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.my-quests-table th,.admin-table th{color:var(--muted);font-weight:600;font-size:12px}.quest-level-gate{display:flex;flex-direction:column;gap:6px}.quest-test-run{display:flex;flex-direction:column;gap:10px;margin-top:10px}.qe-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}@media(min-width:1100px){.qe-layout{grid-template-columns:minmax(0,1fr) 380px}.qe-preview{position:sticky;top:16px;max-height:calc(100vh - 96px);overflow-y:auto}}.quest-editor-form{gap:20px;min-width:0}.qe-section-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.qe-section-head h2{margin:0 0 2px;font-size:17px}.qe-section-head p{margin:0;font-size:13px}.qe-step{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-strong);color:#fff;font-weight:700;font-size:14px}.qe-section-body{display:flex;flex-direction:column;gap:18px}.quest-editor-form .qe-field{display:flex;flex-direction:column;gap:6px}.qe-field-label{font-size:13px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:6px;padding:0}.qe-field-hint{font-size:12px;color:var(--muted);line-height:1.5}.qe-info{color:var(--muted);font-weight:400;cursor:help}.quest-editor-form input::placeholder,.quest-editor-form textarea::placeholder{color:var(--muted);opacity:.6}.editor .cm-placeholder{color:var(--muted);opacity:.55}.qe-insert{align-self:flex-start;font-size:12.5px}.qe-mode-picker{border:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.qe-mode-picker legend{margin-bottom:8px}.quest-editor-form .qe-mode-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;cursor:pointer;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev-2)}.qe-mode-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.qe-mode-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.qe-mode-card input{position:absolute;opacity:0;pointer-events:none}.qe-mode-icon{grid-row:span 2;font-size:18px;line-height:1.2}.qe-mode-title{font-weight:600;font-size:14px;color:var(--text)}.qe-mode-description{font-size:12.5px;color:var(--muted);line-height:1.5}.qe-stepper{display:inline-flex;align-items:stretch;align-self:flex-start}.qe-stepper button{min-width:34px;padding:0;border-radius:0}.qe-stepper button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.qe-stepper button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.quest-editor-form .qe-stepper input{width:56px;text-align:center;border-radius:0;border-left:none;border-right:none;-moz-appearance:textfield}.qe-stepper input::-webkit-inner-spin-button,.qe-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qe-schema-preview{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:12.5px}.qe-schema-preview .schema-panel{align-self:stretch}.qe-test-run{display:flex;flex-direction:column;gap:8px}.qe-test-run .quest-index-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qe-callout{margin:0;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);font-size:12.5px}.qe-disclosure{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.qe-disclosure summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--accent)}.qe-disclosure[open]{display:flex;flex-direction:column;gap:12px;padding-bottom:14px}.qe-disclosure p{margin:0;font-size:12.5px}.qe-preview h3{margin:8px 0;font-size:18px}.qe-placeholder{color:var(--muted);font-style:italic;opacity:.7}.qe-action-bar{position:sticky;bottom:0;z-index:5;margin:0;padding:12px 0;background:var(--bg);border-top:1px solid var(--border)}.qe-action-error{color:var(--bad);font-size:12.5px}.account-placeholder{display:inline-block;width:72px;height:34px}.account-menu{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px}.account-avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-strong);color:#fff;font-weight:700;font-size:12px}.account-level{font-size:12px;font-weight:700;color:var(--accent)}.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:220px;display:flex;flex-direction:column;padding:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.account-dropdown-head{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:13px}.account-dropdown-head .muted{font-size:12px}.account-dropdown a,.account-dropdown button{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--text);text-decoration:none;background:none;border:none;box-shadow:none}.account-dropdown a:hover,.account-dropdown button:hover:not(:disabled){background:var(--bg-elev-2);transform:none;box-shadow:none}.account-dropdown .account-signout{color:var(--muted)}.plan-compare{margin-top:22px}.plan-compare .compare{margin-top:12px}.shift-headline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev)}.shift-headline p{margin:0}.shift-access{font-size:17px;font-weight:700;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.shift-from{color:var(--seq)}.shift-arrow{color:var(--muted)}.shift-cost{font-size:13px;color:var(--muted);font-family:var(--mono)}.shift-factor{margin-left:10px;font-family:inherit}.shift-good{border-color:var(--good);background:var(--good-bg)}.shift-good .shift-to,.shift-good .shift-factor{color:var(--good)}.shift-flat .shift-factor{color:var(--seq)}.shift-bad{border-color:var(--bad);background:var(--bad-bg)}.shift-bad .shift-factor{color:var(--bad)}.solved-card{margin-top:14px;padding:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px;border:1px solid var(--good);background:linear-gradient(135deg,var(--good-bg),var(--bg-elev) 70%);animation:solved-in .35s ease-out}.solved-card.perfect{border-color:#f0c040;background:linear-gradient(135deg,#3a3012,var(--bg-elev) 70%)}@keyframes solved-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}@media(prefers-reduced-motion:reduce){.solved-card{animation:none}}.solved-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.solved-check{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--good-strong);color:#fff;font-weight:700;font-size:18px}.solved-card.perfect .solved-check{background:#b8860b}.solved-title{display:flex;flex-direction:column;margin-right:auto}.solved-title h2{margin:0;font-size:18px}.solved-sub{font-size:12px;color:var(--muted)}.solved-stars .quest-stars .star{font-size:22px}.solved-rewards{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.solved-honor{font-size:15px;font-weight:700;color:var(--good)}.solved-card.perfect .solved-honor{color:#f0c040}.solved-levelup{font-size:12px;font-weight:700;color:#fff;background:var(--accent-strong);border-radius:999px;padding:3px 10px;animation:solved-in .5s ease-out .2s backwards}.solved-level{display:flex;flex-direction:column;gap:5px}.solved-level-bar{height:6px;border-radius:3px;background:var(--bg);overflow:hidden}.solved-level-bar span{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .6s ease-out}.solved-level-label{font-size:12px;color:var(--muted)}.solved-more{margin:0;font-size:12.5px;color:var(--muted)}.solved-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.quest-submit-hint{font-size:12.5px;color:var(--muted);margin:12px 0 0}.quest-submit-result{margin-top:12px;font-size:13px}.quest-solve-bar{gap:8px}.landing{display:flex;flex-direction:column;gap:56px;margin-top:12px}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:28px 0 8px}@media(max-width:860px){.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:8px}}.hero-eyebrow{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.hero h1{margin:0;font-size:clamp(32px,5.4vw,52px);line-height:1.08;letter-spacing:-.02em}.hero-accent{background:linear-gradient(90deg,var(--seq),var(--index));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lede{margin:18px 0 0;font-size:16.5px;line-height:1.6;color:var(--muted);max-width:52ch}.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}a.button.hero-cta{padding:11px 20px;font-size:14.5px;font-weight:600}.hero-meta{margin:14px 0 0;font-size:12.5px;color:var(--muted)}.flip-demo{margin:0;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.flip-query{margin:0;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--mono);font-size:12.5px;white-space:pre-wrap;overflow-wrap:anywhere}.flip-toggle{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px}.flip-toggle code{font-family:var(--mono);font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.flip-toggle.on code{color:var(--good)}.flip-switch{flex:none;position:relative;width:34px;height:20px;border-radius:999px;background:var(--border);transition:background .2s}.flip-switch:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.flip-toggle.on .flip-switch{background:var(--good-strong)}.flip-toggle.on .flip-switch:after{transform:translate(14px)}.flip-plan{border-left:3px solid var(--border);padding:8px 0 8px 12px;animation:solved-in .3s ease-out}.flip-plan.is-seq{border-left-color:var(--seq)}.flip-plan.is-index{border-left-color:var(--index)}.flip-plan.is-seq .node-type{color:var(--seq)}.flip-plan.is-index .node-type{color:var(--index)}.flip-plan .plan-node-head{flex-wrap:wrap}.flip-verdict{margin:6px 0 0;font-size:13px}.flip-caption{font-size:13px;font-weight:700;color:var(--muted)}.flip-caption.shown{color:var(--good)}.landing-heading{margin:0 0 18px;font-size:22px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.feature-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.feature-card h3{margin:0;font-size:16px}.feature-card p{margin:0;color:var(--muted);line-height:1.6;flex:1}.feature-card a{font-weight:600;text-decoration:none}.feature-card a:hover{text-decoration:underline}.step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.step{display:flex;gap:12px}.step h3{margin:2px 0 4px;font-size:15px}.step p{margin:0;color:var(--muted);line-height:1.55}.step-number{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent-strong);color:#fff;font-weight:700}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.landing-cta h2{margin:0;font-size:19px}.signin-page{flex-direction:column;gap:14px}.signin-title{margin:0;font-size:19px;text-align:center}.signin-card p{margin:0;line-height:1.55}.field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--muted)}.field-row{display:flex;justify-content:space-between;align-items:baseline}.field-aside{font-size:12px;text-decoration:none}.field-aside:hover{text-decoration:underline}.signin-consent{font-size:11.5px;color:var(--muted);text-align:center}.signin-legal{margin:0;font-size:12px}.signin-legal a{color:var(--muted)}.signin-card a.button{align-self:stretch}.signin-back{text-decoration:none}.legal{max-width:720px;margin:12px auto 0;line-height:1.7;font-size:14.5px}.legal-head h1{margin:0;font-size:30px}.legal-head p{margin:4px 0 0}.legal-draft{padding:10px 14px;border:1px solid var(--seq);background:var(--seq-bg);border-radius:var(--radius-sm);color:var(--seq);font-weight:600}.legal-summary{margin:20px 0;padding:14px 18px;background:var(--bg-elev);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm)}.legal-summary p{margin:0}.legal-toc{font-size:13.5px;margin-bottom:8px}.legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}@media(max-width:560px){.legal-toc ol{columns:1}}.legal-section{scroll-margin-top:16px}.legal-section h2{font-size:19px;margin:32px 0 8px}.legal-section h3{font-size:15px;margin:18px 0 4px}.legal-section ul{padding-left:20px}.legal-section li{margin-bottom:4px}.legal code{font-family:var(--mono);font-size:13px}a.quest-card{text-decoration:none}.quest-card.profile-trophy{cursor:pointer}.quest-card.profile-trophy:hover{transform:translateY(-2px);background:var(--bg-elev-2);box-shadow:var(--shadow-md)}.profile-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.profile-empty p{margin:0}.account-section h2,.danger-zone h2{margin:0 0 10px;font-size:15px}.account-section p,.danger-zone p{margin:0 0 12px}.account-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0 0 12px;font-size:13px}.account-facts dt{color:var(--muted)}.account-facts dd{margin:0;overflow-wrap:anywhere}.danger-zone{border-color:color-mix(in srgb,var(--bad) 45%,var(--border))}.danger-confirm{display:flex;flex-direction:column;gap:10px;max-width:420px}.danger-actions{display:flex;gap:8px;flex-wrap:wrap}button.danger.solid{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}.quest-card-solved{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--good);white-space:nowrap}.quest-card-solved .quest-stars .star{font-size:12px}.quest-card.is-solved{background:linear-gradient(160deg,color-mix(in srgb,var(--good) 7%,var(--bg-elev)),var(--bg-elev) 55%)}
