.page{max-width:var(--content-w);margin:0 auto;padding:34px 22px 70px}.page-head{margin-bottom:26px}.page-head h1{font-size:var(--fs-6);letter-spacing:-.3px}.page-head p{color:var(--text-dim);margin-top:5px}.section-title{font:700 11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);margin:32px 0 14px}.card>.section-title:first-child,.panel>.section-title:first-child{margin-top:0}.section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:32px 0 14px}.section-head .section-title{margin:0}.cat-filter{display:flex;flex-direction:column;gap:12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.hub-tabs{display:flex;justify-content:center;gap:0;margin:-4px -4px 4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.hub-tab{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:1 1 0;min-width:0;max-width:280px;padding:12px 20px;font:inherit;font-size:var(--fs-3);font-weight:700;color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:0;cursor:pointer}.hub-tab + .hub-tab{border-left:0}.hub-tab:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 14%,var(--bg3))}.hub-tab.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.hub-tab.on + .hub-tab{border-left:0}.hub-tab-n{font:600 var(--fs-1)/1.4 var(--mono);color:var(--text-mute);background:var(--bg2);padding:2px 7px}.hub-tab.on .hub-tab-n{color:var(--on-accent);background:color-mix(in srgb,var(--on-accent) 18%,transparent)}.hub-find-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.hub-find-top{align-items:center;gap:10px}.hub-find-name{font:700 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);min-width:96px}.hub-search-box{flex:1;min-width:280px;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border-strong)}.hub-search-box:focus-within{border-color:var(--accent)}.hub-search-ico{color:var(--text-mute);display:flex;flex-shrink:0}.hub-search{flex:1;min-width:0;font:inherit;font-size:var(--fs-3);color:var(--text);background:none;border:0;outline:none}.hub-search::placeholder{color:var(--text-mute)}.hub-states{display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--bg3);border:1px solid var(--border)}.hub-state{font:inherit;font-size:var(--fs-2);font-weight:600;padding:6px 13px;border-radius:var(--radius-sm);color:var(--text-dim);background:none;border:1px solid transparent;cursor:pointer;white-space:nowrap}.hub-state:hover{color:var(--text)}.hub-state.on{color:var(--text);background:var(--bg2);border-color:var(--accent)}.hub-find-sub{margin-left:96px;padding-left:14px;border-left:2px solid color-mix(in srgb,var(--accent) 45%,var(--border))}.hub-find-sub .hub-find-name{min-width:0}.hub-find-summary{align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--border-soft)}.hub-summary-text{font-size:var(--fs-2);color:var(--text-dim)}.hub-summary-text b{color:var(--text);font-variant-numeric:tabular-nums}.hub-cond{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:var(--fs-2);font-weight:600;padding:5px 8px 5px 11px;border-radius:var(--radius-sm);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--bg3));border:1px solid var(--accent-dim);cursor:pointer}.hub-cond:hover{border-color:var(--accent)}.hub-cond-x{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);color:var(--text-dim);font-size:var(--fs-1);line-height:1}.hub-drop-all{margin-left:auto;font:inherit;font-size:var(--fs-2);font-weight:600;color:var(--accent);background:none;border:0;padding:0;cursor:pointer}.hub-drop-all:hover{text-decoration:underline}.hub-find-toggle{display:none;font:inherit;font-size:var(--fs-2);font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);color:var(--text-dim);background:var(--bg2);border:1px solid var(--border);cursor:pointer;white-space:nowrap}.hub-find-toggle b{color:var(--text);margin-left:5px}@media (max-width:1023px){.hub-states{order:3;width:100%;justify-content:space-between}.hub-state{flex:1;text-align:center;padding:6px 8px}}@media (max-width:1023px){.cat-filter{padding:12px 14px}.hub-find-name{min-width:100%;margin-bottom:-4px}.hub-find-sub{margin-left:0}.hub-find-toggle{display:inline-block}.cat-filter .hub-find-row + .hub-find-row{display:none}.cat-filter .hub-tabs{display:flex}.hub-tab{max-width:none;gap:7px;padding:11px 10px;font-size:var(--fs-2)}.cat-filter .hub-find-row.hub-find-summary{display:flex}.cat-filter.is-open .hub-find-row + .hub-find-row{display:flex}}.fchip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;font:inherit;font-size:var(--fs-2);font-weight:600;color:var(--text-dim);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;user-select:none;touch-action:manipulation;transition:color .15s,border-color .15s,background .15s}.fchip:hover{color:var(--text);border-color:var(--text-mute)}.fchip.on{color:var(--text);background:var(--bg3);border-color:var(--accent)}.fchip-n{font-size:var(--fs-1);font-weight:700;color:var(--text-mute);background:var(--bg3);border-radius:var(--radius-sm);padding:0 6px;min-width:18px;text-align:center}.fchip.on .fchip-n{background:var(--accent);color:var(--on-accent)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:22px}@media (max-width:1023px){.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--bg2);padding:16px 18px}.stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--fs-6);line-height:1.2;font-variant-numeric:tabular-nums}.stat span{font-size:var(--fs-2);color:var(--text-mute)}.cat{margin-top:30px}.cat-title{display:flex;align-items:baseline;gap:12px;font-family:var(--font-display);font-size:var(--fs-5);font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.cat-count{font:400 12.5px/1 var(--mono);color:var(--text-mute)}.sub-title{display:flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-size:var(--fs-4);font-weight:600;color:var(--text-dim);margin:22px 0 12px}.course-grid + .sub-title{margin-top:26px}.sub-title:first-child{margin-top:0}.cat-note{margin-left:auto;font-size:var(--fs-2);font-weight:400;color:var(--text-mute)}.course-grid + .course-grid{margin-top:18px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;grid-auto-rows:auto}.course-card{grid-row:span 8;grid-template-rows:subgrid}.course-card.card-picked{grid-row:span 9}.course-prereq-empty,.track-switch-empty{min-height:0}@media (max-width:1023px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.course-card{position:relative;display:grid;align-content:start;gap:13px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s;color:inherit}.course-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:var(--shadow);text-decoration:none}.course-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(to right,transparent,var(--accent) 44px,var(--accent) calc(100% - 44px),transparent)}.track-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;padding:12px 0;min-height:116px;align-content:start;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.track-hint{grid-column:1 / -1;font-size:var(--fs-1);line-height:1.4;color:var(--text-mute);min-height:calc(var(--fs-1) * 1.4)}.track-hint:empty{display:none}.track-label{font:700 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute)}.seg{display:flex;gap:5px;flex-wrap:wrap}.seg-btn{flex:0 1 auto;min-width:0;padding:4px 9px;font:inherit;font-size:var(--fs-1);font-weight:600;line-height:1.3;color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.seg-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-mute)}.seg-btn.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.seg-btn:disabled{opacity:.38;cursor:not-allowed}.seg-btn.soon{border-style:dashed}.seg-soon{font-size:var(--fs-1);font-weight:600;letter-spacing:.02em;color:var(--text-mute);margin-left:5px;white-space:nowrap}@media (max-width:640px){.seg-btn:has(.seg-soon){white-space:normal}.seg-soon{display:block;margin-left:0;white-space:normal}.course-card .seg-btn{overflow-wrap:anywhere}}.seg-btn.na{opacity:.28;text-decoration:line-through}.seg-static{padding:4px 9px;font-size:var(--fs-1);font-weight:600;line-height:1.3;color:var(--text-dim);background:var(--bg3);border:1px dashed var(--border);border-radius:var(--radius-sm);white-space:nowrap}.seg-pct{margin-left:4px;font-size:var(--fs-1);opacity:.8;font-variant-numeric:tabular-nums}.age-badge{margin-top:5px;font-size:var(--fs-1);padding:1px 8px}.about-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 0;font:inherit;font-size:var(--fs-2);font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;user-select:none;touch-action:manipulation}.about-toggle:hover{text-decoration:underline}.about-toggle::before{content:"ⓘ";font-size:var(--fs-2)}.about-modal .about-head{display:flex;align-items:center;gap:13px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border-soft)}.about-modal .about-head h3{margin:0}.about-body{font-size:var(--fs-3);line-height:1.65;color:var(--text-dim);max-height:min(60vh,520px);overflow-y:auto;padding:14px 2px 4px}.about-block + .about-block{margin-top:16px}.about-body p{margin:0}.about-h{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.6px;font-weight:700;color:var(--accent);margin-bottom:4px}.about-list{margin:0;padding-left:18px}.about-list li{margin:3px 0}.about-next{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);font-size:var(--fs-2);color:var(--text-mute)}.card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;width:100%}.card-actions[data-n="1"]{grid-template-columns:1fr}.card-actions[data-n="2"]{grid-template-columns:repeat(2,1fr)}.card-actions[data-n="3"]{grid-template-columns:repeat(3,1fr)}.card-actions[data-n="4"]{grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.card-actions[data-n="3"]{grid-template-columns:repeat(2,1fr)}}.card-actions .btn{white-space:nowrap;justify-content:center;overflow:hidden;text-overflow:ellipsis}.btn-locked{background:var(--bg3);border-color:var(--border);color:var(--text-mute);cursor:not-allowed}.btn-locked:hover{background:var(--bg3);border-color:var(--border-strong)}.course-open.locked{cursor:not-allowed}.course-open.locked .course-title{color:var(--text-dim)}.course-top{display:flex;align-items:center;gap:14px;min-height:54px}.course-head{min-width:0;flex:1}.course-open{display:flex;align-items:center;gap:14px;flex:1;min-width:0;color:inherit;text-decoration:none;border-radius:var(--radius-sm)}a.course-open:hover{text-decoration:none}a.course-open:hover .course-title{color:var(--accent)}a.course-open:hover .course-icon{border-color:var(--accent)}.course-icon{width:46px;height:46px;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:var(--fs-6);background:color-mix(in srgb,var(--accent) 15%,var(--bg3));flex-shrink:0}.course-title{font-size:var(--fs-5);font-weight:700;line-height:1.25}.course-sub{font-size:var(--fs-2);color:var(--text-dim)}.course-ages{height:28px;margin-top:-4px;display:flex;align-items:center;justify-content:space-between;gap:10px}.course-ages:empty{display:block}.course-desc{font-size:var(--fs-3);line-height:1.55;color:var(--text-dim);height:calc(3 * 1.55em);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.course-about{min-height:24px;display:flex;align-items:baseline;gap:2px 10px;flex-wrap:wrap}.course-foot{display:block;min-height:34px}.course-meta{font-size:var(--fs-2);color:var(--text-mute);white-space:nowrap}.course-time-none{color:var(--text-mute)}@keyframes pick-me{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}}.seg{border-radius:var(--radius)}.seg.pick-me{animation:pick-me 1.1s ease 2}.track-label{transition:color .35s ease}.track-label.pick-me{color:var(--accent)}@media (prefers-reduced-motion:reduce){.seg.pick-me{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}@media (max-width:1023px){.profile-grid{grid-template-columns:1fr}}.track-block{padding:12px 0;border-bottom:1px solid var(--border-soft)}.track-block:last-child{border-bottom:none}.track-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.track-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}@media (max-width:1023px){.progress-list{grid-template-columns:1fr}}.course-block{margin-bottom:14px}.progress-list .course-block{margin-bottom:0}.course-block-head{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;user-select:none}.course-block-head:hover{background:var(--bg3)}.course-block-head .course-icon{width:38px;height:38px;font-size:var(--fs-5)}.course-block-title{flex:1;min-width:0}.course-block-title b{font-size:var(--fs-4)}.course-block-title div{font-size:var(--fs-2);color:var(--text-mute)}.chevron{color:var(--text-mute);transition:transform .2s}.course-block.open .chevron{transform:rotate(90deg)}.course-block-body{display:none;border-top:1px solid var(--border-soft);padding:6px 18px 16px}.course-block.open .course-block-body{display:block}.row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-soft)}.row:last-child{border-bottom:none}.row-title{flex:1;min-width:0;font-size:var(--fs-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-title.sub{padding-left:14px;color:var(--text-dim);font-size:var(--fs-3)}.row-pct{width:44px;text-align:right;font-size:var(--fs-2);color:var(--text-dim);font-variant-numeric:tabular-nums}.row .progress-bar{width:110px;flex-shrink:0}.row-section{font-weight:600}@media (max-width:640px){.row{flex-wrap:wrap;row-gap:8px;column-gap:10px}.row>.row-title,.row>div[style*="flex:1"]{flex:1 1 calc(100% - 46px) !important;min-width:0 !important;white-space:normal;overflow:visible;text-overflow:clip}.row>.row-title.sub{padding-left:0}.row>div[style*="flex:1"] b{white-space:normal;overflow-wrap:anywhere}.row>.badge,.row>.progress-bar,.row>.row-pct,.row>.btn,.row>span:not(:first-child){order:2}.row>.progress-bar{flex:1 1 90px;width:auto}.row>.row-pct{width:auto}.row>.btn{flex:0 0 auto;margin-left:auto}}.empty{padding:26px;text-align:center;color:var(--text-mute);font-size:var(--fs-3)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar .input{max-width:260px}.table-wrap{overflow-x:auto}table.tp-table{width:100%;border-collapse:collapse;font-size:var(--fs-3)}table.tp-table th{text-align:left;font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.6px;color:var(--text-mute);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}table.tp-table td{padding:11px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}table.tp-table tr:last-child td{border-bottom:none}table.tp-table tr.inactive td{opacity:.5}.actions{display:flex;gap:6px;justify-content:flex-end}.cred-block{width:100%;margin:14px 0;padding:13px 15px;font-family:var(--mono);font-size:var(--fs-2);line-height:1.7;color:var(--text);background:var(--bg);border:1px dashed var(--accent);border-radius:var(--radius-sm);resize:vertical;white-space:pre;overflow-x:auto}.cred-block:focus{outline:2px solid var(--accent);outline-offset:2px}.chart-wrap{height:120px;padding:6px 0 0}.chart{width:100%;height:100%;display:block}.chart .bar{fill:var(--accent)}.chart .bar.empty{fill:var(--bg3)}.chart .bar:hover{fill:var(--text)}.chart-axis{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--fs-1);color:var(--text-mute)}@media (max-width:1023px){.page{padding:22px 14px 60px}.page-head h1{font-size:var(--fs-5)}.course-grid{grid-template-columns:1fr}}@media (max-width:1023px){table.tp-table thead{display:none}table.tp-table,table.tp-table tbody,table.tp-table tr,table.tp-table td{display:block;width:100%}table.tp-table tr{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}table.tp-table td{border:none;padding:5px 0}table.tp-table td[data-label]::before{content:attr(data-label);display:block;font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.5px;color:var(--text-mute);margin-bottom:3px}}@media (max-width:640px){.page{padding:18px 12px 60px}.hub-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:13px 14px}.stat b{font-size:var(--fs-5);display:block}.stat span{font-size:var(--fs-1);line-height:1.3}.course-card{padding:16px}.course-icon{width:40px;height:40px;font-size:var(--fs-5)}.course-title{font-size:var(--fs-4)}.track-picker{grid-template-columns:1fr;gap:6px}.course-card .seg-btn{flex:1 1 30%}.card-actions{flex-wrap:wrap;justify-content:stretch}.card-actions .btn{flex:1 1 auto;justify-content:center}.course-foot{flex-wrap:wrap;gap:8px}.track-picker>*{min-width:0}.seg{min-width:0}.seg-btn{white-space:normal}.course-block-head{padding:13px 14px;gap:10px}.course-block-body{padding:6px 14px 14px}.row{flex-wrap:wrap;gap:8px}.row-title{flex:1 1 100%;white-space:normal}.row .progress-bar{flex:1;width:auto}.actions{justify-content:flex-start;flex-wrap:wrap}.toolbar .input{max-width:none;flex:1 1 100%}.toolbar .btn{width:100%}}.center-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:24px}.center-page h1{font-size:var(--fs-7);line-height:1;margin-bottom:8px}.activity-card{margin-bottom:16px}.activity-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.activity-streak{font-size:var(--fs-4);font-weight:700}.activity-sub{font-size:var(--fs-2);color:var(--text-dim)}.activity-total{font-size:var(--fs-2);color:var(--text-mute)}.cal-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;overflow-x:auto;padding-bottom:4px}.cal-day{width:13px;height:13px;border-radius:var(--radius-sm);background:var(--bg3);border:1px solid transparent}.cal-day.on{background:var(--accent)}.cal-day.future{opacity:.25}.cal-day.today{border-color:var(--text-dim)}.activity-legend{margin-top:8px;font-size:var(--fs-1);color:var(--text-mute)}.cert{max-width:760px;margin:0 auto;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:44px 46px 38px;text-align:center;box-shadow:inset 0 0 0 1px var(--border-soft),var(--shadow);position:relative}.cert::before{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:var(--radius);pointer-events:none}.cert-name{font-family:var(--font-display);font-size:var(--fs-7);font-weight:700;letter-spacing:-.025em;margin:12px 0 6px;line-height:1.2;overflow-wrap:anywhere}.cert-fact{display:grid;gap:3px;padding:14px 16px;background:var(--bg2)}.cert-fact-label{font:400 11.5px/1.5 var(--mono);color:var(--text-mute)}.cert-fact b{font-variant-numeric:tabular-nums}.cert-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.cert-share{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}.cert-stage{width:100%;overflow:hidden}.cert2{display:grid;grid-template-columns:1fr 300px;width:980px;height:693px;transform-origin:top left;margin:0 auto;background:repeating-linear-gradient(45deg,#eef0f6 0 1px,transparent 1px 9px),#ffffff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);color:#1c1d26}.cert2-left{padding:40px 26px 34px 48px;display:flex;flex-direction:column;min-width:0}.cert2-right{position:relative;min-width:0}.cert2-right svg{position:absolute;inset:0;width:100%;height:100%;display:block}.cert2-logo{display:inline-flex;align-items:center;gap:11px;width:max-content;padding:10px 18px 10px 13px;background:#1c1d26;border-radius:var(--radius);margin-bottom:36px}.cert2-logo-img{width:38px;height:38px;border-radius:var(--radius);flex:none}.cert2-logo-t b{display:block;color:#ffffff;font:700 15px/1.2 var(--font-display)}.cert2-logo-t span{display:block;color:#b0b3c4;font-size:var(--fs-1)}.cert2-title{font:700 52px/1.05 var(--font-display);letter-spacing:-.02em;margin:0 0 10px;color:#1c1d26}.cert2-sub{color:#565a6e;font-size:var(--fs-4);margin-bottom:4px}.cert2-course{color:#5b4bbf;font:600 27px/1.25 var(--font-display);margin:8px 0 18px;text-wrap:balance}.cert2-name{font:700 27px/1.2 var(--font-display);margin:10px 0 12px;color:#1c1d26}.cert2-line{color:#565a6e;font-size:var(--fs-2);margin-top:2px}.cert2-rule{margin:auto 0 16px;padding-top:30px;position:relative}.cert2-rule::before{content:"";display:block;width:150px;height:1px;background:#8a6d1f}.cert2-rule::after{content:"";position:absolute;left:158px;bottom:-3px;width:7px;height:7px;background:#8a6d1f;transform:rotate(45deg)}.cert2-fact{font-size:var(--fs-2);color:#1c1d26;margin-top:7px}.cert2-note{font-size:var(--fs-1);color:#5f6376;margin-top:9px;max-width:52ch;line-height:1.5}@media print{.no-print,.tp-topbar{display:none !important}body{background:#fff}.page{padding:0;margin:0;max-width:none}.cert-stage{overflow:visible;height:auto !important}.cert2{width:297mm;height:209mm;max-width:none;min-height:0;transform:none !important;margin:0;border-radius:0;box-shadow:none;grid-template-columns:1fr 100mm}.cert2-left{padding:14mm 8mm 12mm 16mm}.cert-fact{background:none}.cert-fact + .cert-fact{border-left:1px solid #999}.cert::before{border-color:#bbb}}@media (max-width:640px){}@media (max-width:640px){.cert{padding:30px 22px 26px}.cert-name{font-size:var(--fs-6)}}.appearance-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}.appearance-row>.seg{flex:1 1 auto;min-width:0;justify-content:flex-end}@media (max-width:1023px){.appearance-row{align-items:flex-start;flex-direction:column}.appearance-row>.seg{width:100%;justify-content:flex-start}.appearance-row .seg-btn{flex:0 1 auto;padding:5px 11px;font-size:var(--fs-2)}}button.tp-menu-item{width:100%;text-align:left;background:none;border:none;font:inherit;cursor:pointer}.feedback-row{padding:14px 16px;border-bottom:1px solid var(--border-soft)}.feedback-row:last-child{border-bottom:none}.feedback-row.done{opacity:.6}.feedback-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.feedback-text{white-space:pre-wrap;line-height:1.6;margin-bottom:6px;overflow-wrap:anywhere}.feedback-reply{margin-top:10px;padding:8px 0 2px 14px;border-left:2px solid var(--accent)}.feedback-reply .feedback-text{margin-bottom:0}.feedback-quote{white-space:pre-wrap;line-height:1.55;color:var(--text-dim);padding:4px 0 4px 14px;border-left:2px solid var(--border-strong);margin:0 0 14px;max-height:40vh;overflow:auto;overflow-wrap:anywhere}.release{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px}.release-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.release-version{font-weight:700;font-size:var(--fs-4)}.release-date{font-size:var(--fs-2);color:var(--text-mute)}.release-list{margin:0;padding-left:20px}.release-list li{margin:6px 0;line-height:1.6;color:var(--text-dim)}.release-course{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,transparent)}.release-course + .release-list{margin-top:14px}.release-course-mark{font-size:var(--fs-5);line-height:1.4;flex:none}.release-course-text{font-size:var(--fs-4);line-height:1.6;color:var(--text)}.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:20px 0 10px}.page-wide{max-width:none}.admin-shell{display:flex;align-items:stretch;gap:0;padding:0;max-width:none}.admin-shell .admin-main{padding:34px 22px 70px 26px}@media (max-width:1023px){.admin-shell .admin-main{padding:22px 14px 60px}}.admin-main{flex:1;min-width:0}.mistakes-card{margin-top:16px}.mistake-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--border-soft);color:var(--text);text-decoration:none}.mistake-row:hover{text-decoration:none;background:var(--bg3)}.mistake-ico{color:var(--accent);font-size:var(--fs-4);display:inline-flex;justify-content:center}.mistake-main{display:grid;gap:2px;min-width:0}.mistake-main b{font-weight:600;font-size:var(--fs-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mistake-due{font:500 var(--fs-1)/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);border:1px solid var(--border);padding:4px 6px;white-space:nowrap}.mistake-due.on{color:var(--orange);border-color:var(--orange)}.ask-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width:1023px){.ask-grid{grid-template-columns:minmax(0,1fr)}}.ask{border:1px solid var(--border);background:var(--bg2);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ask-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-4)}.ask-rows{display:flex;flex-direction:column;gap:6px}.ask-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:var(--fs-2)}.ask-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.ask-bar{height:6px;background:var(--bg3)}.ask-bar i{display:block;height:100%;background:var(--accent)}.ask-row b{font-variant-numeric:tabular-nums;white-space:nowrap}.ask-note{color:var(--text-dim);font-size:var(--fs-2)}.ask-advice{font-size:var(--fs-2);color:var(--text-dim);border-top:1px solid var(--border-soft);padding-top:8px;margin-top:auto}.ask-advice b{color:var(--text);font-weight:600}.ask .empty{padding:10px 0}.guide-frame{display:block;width:100%;height:calc(100vh - var(--topbar-h) - 140px);min-height:480px;border:1px solid var(--border);background:var(--bg2)}.side-row{position:relative}.side-row .side-item{width:100%;padding-right:32px}.side-pin{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:0;background:transparent;color:var(--text-mute);font-size:var(--fs-2);line-height:1;cursor:pointer;opacity:0}.side-row:hover .side-pin,.side-pin:focus-visible,.side-pin.on{opacity:.9}.side-pin.on{color:var(--gold)}.admin-side.collapsed:not(:hover):not(:focus-within) .side-pin{display:none}.admin-filter{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;margin:0 0 12px;border:1px solid var(--accent);color:var(--text);font-size:var(--fs-2)}.admin-filter button{font:inherit;background:none;border:0;color:var(--accent);cursor:pointer;padding:0}.admin-side{flex:0 0 auto;width:244px;transition:width .22s ease}.admin-side.collapsed{width:66px}.side-panel{position:sticky;top:var(--topbar-h);width:244px;height:calc(100vh - var(--topbar-h));padding:14px 0 18px;background:var(--bg2);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;transition:width .22s ease,box-shadow .22s ease;z-index:20;display:flex;flex-direction:column}.side-nav{flex:1}.side-version{padding:10px 4px 2px;text-align:center;font:600 10.5px/1 var(--mono);letter-spacing:.04em;color:var(--text-mute);white-space:nowrap}.admin-side.collapsed .side-panel{width:66px}.admin-side.collapsed:hover .side-panel,.admin-side.collapsed:focus-within .side-panel{width:244px;box-shadow:var(--shadow-lg)}.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 12px 8px 16px;margin-bottom:6px;border-bottom:1px solid var(--border)}.side-title{font:700 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);white-space:nowrap;transition:opacity .16s ease}.side-toggle{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;font:inherit;font-size:var(--fs-4);line-height:1;color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:color .15s,border-color .15s}.side-toggle:hover{color:var(--text);border-color:var(--accent)}.admin-side.collapsed .side-head{justify-content:center}.admin-side.collapsed:not(:hover):not(:focus-within) .side-title{display:none}.admin-side.collapsed:not(:hover):not(:focus-within) .side-head{padding-left:0;padding-right:0}.admin-side.collapsed:not(:hover):not(:focus-within) .side-item,.admin-side.collapsed.hover-off:hover .side-item{padding-left:19px}.side-nav{display:flex;flex-direction:column;gap:1px}.side-group{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.side-group-name{font:700 10.5px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);padding:8px 16px 2px;white-space:nowrap;transition:opacity .16s ease}.side-group-fold{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;background:none;border:0;cursor:pointer;text-align:left}.side-group-fold:hover{color:var(--text-dim)}.side-fold-sign{font-size:var(--fs-2);line-height:1;color:var(--text-mute);padding-right:2px}.side-group.folded{margin-bottom:4px}.admin-side.collapsed:not(:hover):not(:focus-within) .side-group-fold{visibility:hidden}.side-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 12px 7px 14px;font:inherit;font-size:var(--fs-2);font-weight:600;text-align:left;color:var(--text-dim);background:transparent;border:none;border-radius:0;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}.side-item:hover{color:var(--text);background:var(--bg3)}.side-item.on{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--bg3))}.side-ico{flex:0 0 auto;width:24px;display:inline-grid;place-items:center;font-size:var(--fs-3);line-height:1}.side-label{flex:1;overflow:hidden;transition:opacity .16s ease}.side-count{flex:0 0 auto;min-width:20px;padding:0 6px;font-size:var(--fs-1);font-weight:700;text-align:center;border-radius:var(--radius-sm);color:var(--on-accent);background:var(--accent)}.admin-side.collapsed .side-label,.admin-side.collapsed .side-title,.admin-side.collapsed .side-group-name,.admin-side.collapsed .side-count{opacity:0}.admin-side.collapsed:hover .side-label,.admin-side.collapsed:hover .side-title,.admin-side.collapsed:hover .side-group-name,.admin-side.collapsed:hover .side-count,.admin-side.collapsed:focus-within .side-label,.admin-side.collapsed:focus-within .side-title,.admin-side.collapsed:focus-within .side-group-name,.admin-side.collapsed:focus-within .side-count{opacity:1}.admin-side.collapsed.hover-off:hover .side-panel,.admin-side.collapsed.hover-off:focus-within .side-panel{width:66px;box-shadow:none}.admin-side.collapsed.hover-off:hover .side-label,.admin-side.collapsed.hover-off:hover .side-title,.admin-side.collapsed.hover-off:hover .side-group-name,.admin-side.collapsed.hover-off:hover .side-count,.admin-side.collapsed.hover-off:focus-within .side-label,.admin-side.collapsed.hover-off:focus-within .side-title,.admin-side.collapsed.hover-off:focus-within .side-group-name,.admin-side.collapsed.hover-off:focus-within .side-count{opacity:0}.tabbar{display:flex;gap:2px;width:100%;margin-bottom:18px;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tabbar:empty{display:none}.tabbar-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 16px 10px;font:inherit;font-size:var(--fs-3);font-weight:600;color:var(--text-dim);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.tabbar-tab:hover{color:var(--text)}.tabbar-tab.on{color:var(--text);border-bottom-color:var(--accent)}.tabbar-count{min-width:18px;padding:0 5px;font-size:var(--fs-1);font-weight:700;text-align:center;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent)}#security-results{background:none;border:none}.sec{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin:0 0 16px}.sec>.section-title{margin:0 0 12px}.sec .panel{background:transparent;border:none;border-radius:0}.sec>.toolbar{margin-bottom:12px}.admin-head{display:flex;align-items:flex-start;gap:12px}#admin-head-extra{margin-left:auto}#profile-tabs{margin-bottom:18px}.pf-today{margin-bottom:18px}.pf-today-acts{display:flex;gap:10px;flex-wrap:wrap}.pf-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}@media (max-width:1023px){.pf-account-grid{grid-template-columns:1fr}}.pf-account-grid .card{margin-bottom:20px}#pf-gym .dash-stats{margin-bottom:18px}#gym-passports .sec{margin-bottom:16px}.pf-gym-acts{display:flex;gap:10px;padding:0 16px 16px}.pf-gym-side{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width:1023px){.pf-gym-side{grid-template-columns:1fr}}.pf-heat{display:grid;grid-template-columns:repeat(auto-fill,12px);gap:4px;padding:4px 16px 10px}.pf-heat i{width:12px;height:12px;border-radius:var(--radius-sm);background:var(--bg3)}.pf-heat i.on{background:color-mix(in srgb,var(--accent) 55%,var(--bg3))}.pf-heat i.hot{background:var(--accent)}.tr-award.ghost{opacity:.55;border-color:var(--border)}.tr-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 22px}.tr-ico{width:54px;height:54px;flex:none;display:grid;place-items:center;font-size:var(--fs-6);color:var(--c,var(--accent));background:color-mix(in srgb,var(--c,var(--accent)) 14%,var(--bg2));border-radius:var(--radius)}.tr-ico svg{width:30px;height:30px}.tr-title{margin:0;font-size:var(--fs-6)}.tr-head-stats{margin-left:auto;display:flex;gap:10px}.tr-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:24px}.tr-mode{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px}.tr-mode b{font-size:var(--fs-4)}.tr-mode p{margin:0;color:var(--text-dim);font-size:var(--fs-2);line-height:1.55;flex:1}.tr-mode-act{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}.tr-topics{padding:6px 16px 14px;display:flex;flex-direction:column;gap:12px}.tr-topic-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.tr-topic-head b{font-size:var(--fs-3)}.tr-topic-note{font-size:var(--fs-2);color:var(--text-dim);white-space:nowrap}.tr-topic-note.good{color:var(--green)}.tr-topic-note.bad{color:var(--red)}.tr-bar{height:7px;margin-top:5px;border-radius:var(--radius-sm);background:var(--bg3);overflow:hidden}.tr-bar i{display:block;height:100%;border-radius:var(--radius-sm);background:var(--accent);transition:width .9s cubic-bezier(.22,.8,.3,1)}.tr-awards{padding:6px 16px 14px;display:flex;flex-wrap:wrap;gap:10px}.tr-award{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--bg2);border:1px solid color-mix(in srgb,var(--gold) 45%,var(--border));border-radius:var(--radius)}.tr-award-ico{font-size:var(--fs-5)}.tr-award b{display:block;font-size:var(--fs-2)}.tr-award i{display:block;font-style:normal;font-size:var(--fs-1);color:var(--text-dim)}.tr-bar-top{position:sticky;top:8px;z-index:3;display:flex;align-items:center;gap:14px;padding:10px 16px;margin-bottom:16px;background:color-mix(in srgb,var(--bg2) 92%,transparent);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius)}.tr-count{font-size:var(--fs-2);color:var(--text-dim);white-space:nowrap}.tr-combo{display:flex;align-items:center;gap:6px;font-size:var(--fs-2);color:var(--text-dim)}.tr-combo.hot{color:var(--orange);font-weight:700;animation:tr-pulse 1.2s ease-in-out infinite}@keyframes tr-pulse{50%{transform:scale(1.07)}}@media (prefers-reduced-motion:reduce){.tr-combo.hot{animation:none}}.tr-points{margin-left:auto;font-size:var(--fs-2);font-weight:700;white-space:nowrap}.tr-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px}.tr-card.boss{border-color:color-mix(in srgb,var(--gold) 60%,var(--border))}.tr-card.ok{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.tr-card.bad{border-color:color-mix(in srgb,var(--red) 35%,var(--border))}.tr-boss-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:14px;font-weight:800;letter-spacing:.06em;color:color-mix(in srgb,var(--gold) 80%,var(--text))}.tr-boss-head span{font-size:var(--fs-1);font-weight:400;letter-spacing:0;color:var(--text-dim)}.tr-meta{display:flex;gap:8px;align-items:center;margin-bottom:12px}.tr-diff{font-size:var(--fs-1);color:var(--text-mute)}.tr-diff.d3{color:var(--orange);font-weight:600}.tr-prompt{font-size:var(--fs-4);line-height:1.6;margin-bottom:6px}.tr-desc{color:var(--text-dim);font-size:var(--fs-3);line-height:1.6;margin-bottom:6px}.tr-desc code,.tr-prompt code{background:var(--bg3);padding:1px 6px;border-radius:var(--radius-sm)}.tr-body{display:flex;flex-direction:column;gap:9px;margin:14px 0 4px}.tr-option{display:flex;gap:11px;align-items:baseline;padding:11px 14px;background:var(--bg3);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-3);line-height:1.5}.tr-option:hover{border-color:var(--border)}.tr-option:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg3))}.tr-zh-big{display:flex;align-items:center;gap:14px;font-size:var(--fs-7);line-height:1.2;margin:4px 0 2px}.tr-zh-py{color:var(--text-dim);font-size:var(--fs-3);line-height:1.5}.tr-zh-context{padding:12px 14px;background:var(--bg3);border-radius:var(--radius-sm);font-size:var(--fs-3);line-height:1.6}.tr-zh-listen{display:flex}.tr-zh-option{cursor:pointer;align-items:center}.tr-zh-option .tr-zh{font-size:var(--fs-6);line-height:1.2}.tr-option.picked{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg3))}.tr-tones{display:flex;flex-wrap:wrap;gap:10px}.tr-tone{font:inherit;font-size:var(--fs-6);line-height:1;width:64px;height:58px;color:var(--text);background:var(--bg3);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.tr-tone:hover{border-color:var(--border)}.tr-tone.picked{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--bg3))}.tr-zh-input{max-width:320px;font-size:var(--fs-3)}.tr-shop-wrap{container-type:inline-size}.tr-shop{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:14px;align-items:start}.tr-shop-col{min-width:0}.tr-shop-note{margin-top:8px;font-size:var(--fs-2);line-height:1.5;color:var(--text-dim);min-height:20px}@container (max-width:1023px){.tr-shop{grid-template-columns:190px minmax(0,1fr)}.tr-shop-col:last-child{grid-column:1 / -1}}@container (max-width:640px){.tr-shop{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.tr-zh-option{flex-direction:column;align-items:flex-start;gap:4px}.tr-zh-big{font-size:var(--fs-7)}.tr-tone{width:56px;height:52px;font-size:var(--fs-6)}}.tr-pair{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tr-pair-left{flex:1 1 280px;font-size:var(--fs-3);line-height:1.5}.tr-pair-sel{flex:0 1 260px}.tr-write{resize:vertical;font-size:var(--fs-3)}.tr-sql{font-family:var(--mono);font-size:var(--fs-2)}.tr-hint summary{cursor:pointer;color:var(--text-dim);font-size:var(--fs-2)}.tr-hint div{margin-top:6px;color:var(--text-dim);font-size:var(--fs-2)}.tr-actions{display:flex;gap:10px;margin-top:18px}.tr-actions.center{justify-content:center;margin-top:24px}.tr-verdict{font-size:var(--fs-5);font-weight:800;color:var(--red);margin-bottom:8px}.tr-verdict.win{color:var(--green)}.tr-verdict-note{margin:0 0 8px;color:var(--text-dim)}.tr-explain{margin:10px 0 0;font-size:var(--fs-3);line-height:1.6;color:var(--text-dim)}.tr-why{margin:10px 0 0;font-size:var(--fs-3);line-height:1.6;color:var(--text-dim)}.tr-conf{margin-top:16px;font-size:var(--fs-2);color:var(--text-dim)}.tr-conf b.up{color:var(--green)}.tr-conf b.down{color:var(--red)}.tr-sql-out{margin-top:12px;max-height:260px;overflow:auto}.tr-trophy-pop{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--border));background:color-mix(in srgb,var(--gold) 8%,var(--bg3));border-radius:var(--radius)}.tr-trophy-pop b{display:block;font-size:var(--fs-2)}.tr-trophy-pop i{display:block;font-style:normal;font-size:var(--fs-1);color:var(--text-dim)}.tr-bridge{margin-top:16px;padding:14px 16px;background:color-mix(in srgb,var(--accent) 8%,var(--bg3));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius)}.tr-bridge p{margin:4px 0 10px;font-size:var(--fs-2);color:var(--text-dim)}.tr-result .dash-stats{margin:18px 0 22px}.tr-perfect{margin:0 0 22px;padding:13px 18px;font-weight:700;background:color-mix(in srgb,var(--green) 10%,var(--bg2));border:1px solid color-mix(in srgb,var(--green) 45%,var(--border));border-radius:var(--radius)}.ap-days{display:flex;flex-direction:column;gap:10px}.ap-day{padding:12px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.ap-day.planned{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.ap-day-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.ap-day-head b{font-size:var(--fs-3)}.ap-quiz{padding-top:4px}.ap-quiz b{display:block;margin:6px 0 2px;font-size:var(--fs-3)}.ap-log{margin:0;padding:14px 16px;font:12.5px/1.6 ui-monospace,"Cascadia Mono",Consolas,monospace;color:var(--text-dim);background:var(--bg3);border-radius:var(--radius-sm);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.ap-options{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ap-option{padding:7px 12px;font-size:var(--fs-2);color:var(--text-dim);background:var(--bg3);border-radius:var(--radius-sm)}.ap-option.right{color:var(--text);font-weight:600;background:color-mix(in srgb,var(--green) 14%,var(--bg3))}.side-burger{display:none;flex:0 0 auto;width:42px;height:42px;padding:11px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer}.side-burger span{display:block;height:2px;border-radius:var(--radius-sm);background:var(--text);transition:transform .22s ease,opacity .18s ease}.side-burger span + span{margin-top:5px}.side-burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}.side-burger.on span:nth-child(2){opacity:0}.side-burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.side-backdrop{position:fixed;inset:0;z-index:60;background:var(--scrim);animation:side-fade .2s ease}.side-backdrop[hidden]{display:none}@keyframes side-fade{from{opacity:0}to{opacity:1}}.tp-burger{display:none}@media (max-width:1023px){.admin-shell .tp-burger,.tp-topbar .tp-burger{display:inline-flex}.admin-shell{display:block}.admin-side,.admin-side.collapsed{position:fixed;top:var(--topbar-h);left:0;z-index:70;width:268px;max-width:84vw;height:calc(100% - var(--topbar-h));transform:translateX(-102%);transition:transform .25s ease}.admin-side.open{transform:none}.side-panel,.admin-side.collapsed .side-panel,.admin-side.collapsed:hover .side-panel{position:static;width:100%;height:100%;overflow-y:auto;border-radius:0;border-width:0 1px 0 0;box-shadow:none}.side-toggle{display:none}.admin-side .side-label,.admin-side .side-title,.admin-side .side-group-name,.admin-side .side-count,.admin-side.collapsed .side-label,.admin-side.collapsed .side-title,.admin-side.collapsed .side-group-name,.admin-side.collapsed .side-count{opacity:1}body.side-open{overflow:hidden}}@media (prefers-reduced-motion:reduce){.admin-side,.side-burger span,.side-backdrop{transition:none;animation:none}}@media (prefers-reduced-motion:reduce){.admin-side,.side-panel,.side-label,.side-title,.side-group-name{transition:none}}.publish-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2)}.publish-bar.is-dirty{border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--bg2))}.cat-name{display:flex;align-items:center;gap:10px}.cat-ico{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius);font-size:var(--fs-4);background:color-mix(in srgb,var(--c,var(--accent)) 18%,var(--bg3))}.cat-tags{display:flex;flex-wrap:wrap;gap:4px}.cat-warn{margin-top:6px;font-size:var(--fs-1);color:var(--red,var(--red))}.cat-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}@media (max-width:1023px){.cat-form{grid-template-columns:1fr}}.cat-picker{display:flex;flex-wrap:wrap;gap:6px;max-height:168px;overflow:auto;padding:4px}.cat-picker .chip,.cat-link-scope .chip{font:inherit;font-size:var(--fs-2);padding:6px 12px;border-radius:var(--radius-sm);color:var(--text-dim);background:var(--bg2);border:1px solid var(--border);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.cat-picker .chip:hover,.cat-link-scope .chip:hover{color:var(--text);border-color:var(--accent)}.cat-picker .chip.is-on,.cat-link-scope .chip.is-on{color:var(--on-fill);background:var(--accent);border-color:var(--accent)}.cat-check{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:var(--fs-3)}.cat-check input{width:16px;height:16px}.tree-list{display:flex;flex-direction:column;gap:14px;max-height:60vh;overflow:auto}.tree-dir{padding:14px;display:flex;flex-direction:column;gap:8px}.tree-head{display:flex;gap:8px}.tree-sub{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--border-soft,var(--border))}.tree-sub .input{flex:1}@media (max-width:1023px){.tree-head,.tree-sub{flex-wrap:wrap}}.morning{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);margin-bottom:20px}.morning-row{--tone:var(--border-strong);display:grid;grid-template-columns:72px minmax(0,1fr) minmax(200px,260px) 28px;gap:4px 16px;align-items:center;padding:14px 16px 14px 0;font:inherit;text-align:left;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--border-soft);cursor:pointer}.morning-row:last-child{border-bottom:0}.morning-row:hover{background:color-mix(in srgb,var(--accent) 6%,var(--bg2))}.morning-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.morning-row.red{--tone:var(--red)}.morning-row.orange{--tone:var(--orange)}.morning-row.blue{--tone:var(--accent)}.morning-row.grey{--tone:var(--border-strong)}.morning-row.calm{cursor:default;--tone:var(--green)}.morning-row.calm:hover{background:transparent}.morning-num{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.morning-num b{font-family:var(--font-display);font-weight:700;font-size:var(--fs-6);line-height:1;color:var(--tone);font-variant-numeric:tabular-nums}.morning-row.grey .morning-num b{color:var(--text-dim)}.morning-num i{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.morning-main{display:flex;flex-direction:column;gap:3px;min-width:0}.morning-title{font-weight:600;line-height:1.3}.morning-desc{font-size:var(--fs-2);color:var(--text-dim);line-height:1.45}.morning-where{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-1);color:var(--text-dim);line-height:1.35}.morning-where i{font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.morning-arrow{color:var(--text-mute);font-size:var(--fs-4);text-align:right}.morning-row:hover .morning-arrow{color:var(--accent)}.morning-when{font-size:var(--fs-2);color:var(--text-dim);white-space:nowrap;padding-top:8px}.morning-when b{color:var(--text);font-weight:600}.morning-now{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:0;border:1px solid var(--border);background:var(--bg2);margin-bottom:20px}.morning-now-main{padding:14px 16px 16px;min-width:0}.morning-now-side{padding:14px 16px 10px;border-left:1px solid var(--border-soft);min-width:0}.morning-now .section-title{margin:0 0 12px}.morning-bar{display:flex;gap:2px;height:14px;margin-bottom:12px;background:var(--bg3)}.morning-bar i{display:block;height:100%;background:var(--accent);min-width:6px}.morning-bar.empty i{flex:1;background:transparent}.morning-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-2);color:var(--text-dim)}.morning-legend span{display:inline-flex;align-items:center;gap:6px}.morning-legend span i{width:10px;height:10px;background:var(--accent)}.morning-legend b{color:var(--text);font-variant-numeric:tabular-nums}.admin-shell a:hover,.admin-shell a:hover *{text-decoration:none}.morning-recent{display:flex;flex-direction:column;margin-top:14px}.morning-person.live b::after{content:"";display:inline-block;width:7px;height:7px;margin-left:7px;border-radius:50%;background:var(--green);vertical-align:middle}.morning-person.now .morning-person-when{color:var(--accent)}.morning-recent:empty{display:none}.morning-idle{padding-top:10px}.morning-courses{display:flex;flex-direction:column}.morning-course{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-2)}.morning-course:last-child{border-bottom:0}.morning-course-ico{font-size:var(--fs-3);line-height:1}.morning-course-main{display:flex;flex-direction:column;gap:5px;min-width:0}.morning-course-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morning-course-bar{display:block;height:6px;background:var(--bg3)}.morning-course-bar i{display:block;height:100%;background:var(--accent);min-width:4px}.morning-course-n{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.morning-person{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-soft);color:inherit;text-decoration:none;font-size:var(--fs-2)}.morning-person:last-child{border-bottom:0}.morning-person:hover b{color:var(--accent)}.morning-avatar{width:30px;height:30px;display:grid;place-items:center;background:var(--bg3);color:var(--text-dim);font-weight:600}.morning-person-main{display:flex;flex-direction:column;min-width:0}.morning-person-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morning-person-main span{color:var(--text-dim);font-size:var(--fs-1)}.morning-person-when{color:var(--text-mute);font-size:var(--fs-1);white-space:nowrap}.morning-more{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin:26px 0 10px}@media (max-width:1023px){.morning-row{grid-template-columns:60px minmax(0,1fr) 24px}.morning-where{grid-column:2}.morning-arrow{grid-row:1;grid-column:3}.morning-now{grid-template-columns:1fr}.morning-now-side{border-left:0;border-top:1px solid var(--border-soft)}}@media (max-width:640px){.admin-head{flex-wrap:wrap}#admin-head-extra{margin-left:0;width:100%}.morning-when{padding-top:0;white-space:normal}.morning-row{grid-template-columns:52px minmax(0,1fr) 20px;gap:4px 12px;padding:12px 12px 12px 0}.morning-num b{font-size:var(--fs-5)}}@media (max-width:1023px){}.pf-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:18px;align-items:start}.pf-overview-main{min-width:0;display:flex;flex-direction:column;gap:18px}.pf-overview-side{min-width:0;position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:18px}.pf-overview-main>div:empty,.pf-overview-side>div:empty{display:none}@media (max-width:1023px){.pf-overview-grid{grid-template-columns:1fr}.pf-overview-side{position:static}}.student-card{display:flex;flex-direction:column;gap:14px}.sc-head{display:flex;align-items:center;gap:12px}.sc-name{font-size:var(--fs-4);display:block}.sc-rows{display:flex;flex-direction:column;gap:8px}.sc-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:var(--fs-3)}.sc-row:last-child{border-bottom:none;padding-bottom:0}.sc-label{color:var(--text-mute);font-size:var(--fs-2);flex:none}.sc-value{text-align:right;min-width:0;overflow-wrap:anywhere}.sc-socials{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.sc-social{padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg3);border:1px solid var(--border);font-size:var(--fs-2)}.sc-about{margin:0;color:var(--text-dim);font-size:var(--fs-2);line-height:1.6}.sc-actions{display:flex;flex-wrap:wrap;gap:8px}.achv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-top:12px}.achv{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px 14px;text-align:center;opacity:.45;cursor:help}.achv.got{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.achv-emoji{font-size:var(--fs-6);line-height:1;margin-bottom:8px}.achv-title{font-weight:700;font-size:var(--fs-3)}.achv-desc{font-size:var(--fs-2);color:var(--text-dim);margin-top:4px;line-height:1.5}.achv-bar{height:4px;margin-top:10px;background:var(--bg3);border-radius:var(--radius-sm);overflow:hidden}.achv-fill{height:100%;background:var(--accent);border-radius:var(--radius-sm);transition:width .25s}.achv-num{font-size:var(--fs-1);color:var(--text-mute);margin-top:4px}.achv-got{font-size:var(--fs-1);color:var(--green);font-weight:700;margin-top:10px}.case-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.case-badge{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);opacity:.6}.case-badge.on{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.case-badge-ico{font-size:var(--fs-5);line-height:1;flex:none}.case-badge-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.case-badge-diff{color:var(--accent);letter-spacing:2px;font-size:var(--fs-1);flex:none}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}@media (max-width:1023px){.cert-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cert-grid{grid-template-columns:1fr}}.cert-grid .cert-tile{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.cert-tile-head{display:flex;align-items:center;gap:9px}.cert-tile-title{display:block;font-size:var(--fs-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-tile-actions{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.cat-ed-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.cat-ed-actions{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-soft)}.task-list{display:flex;flex-direction:column;gap:2px}.task-row{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-2)}.task-row:hover{background:var(--bg3)}.task-row input{accent-color:var(--accent)}.task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#dash-online{margin-bottom:20px}#dash-online>.panel{margin-bottom:0}.online-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width:1023px){.online-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.online-grid{grid-template-columns:1fr}}.online-grid .online-tile{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.online-tile-head{display:flex;align-items:center;gap:8px}.online-tile-name{display:block;font-size:var(--fs-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-tile-place{display:flex;flex-direction:column;gap:2px}.online-place-name{font-size:var(--fs-3);line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.online-place-time{color:var(--text-dim)}.online-tile-prev{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.online-tile-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.dash-stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:20px}.dash-stat{flex:1 1 180px;min-width:0;padding:16px 18px;background:var(--bg2)}.dash-stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--fs-6);line-height:1.2;font-variant-numeric:tabular-nums}.dash-stat>span{display:block;font-size:var(--fs-2);color:var(--text-dim)}.dash-stat>span + span{margin-top:2px}.dash-stat.accent b{color:var(--accent)}.dash-stat.green b{color:var(--green)}#users-block,#feedback-block,#requests-block{margin-bottom:10px}#feedback-block .section-title,#requests-block .section-title{margin-top:0}.tp-modal .notice{margin:14px 0 0}.admin-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}.admin-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text-dim);font:inherit;font-size:var(--fs-2);cursor:pointer}.admin-chip:hover{color:var(--text);border-color:var(--border-strong,var(--border))}.admin-chip.on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.admin-chip-n{font-size:var(--fs-1);opacity:.75;font-variant-numeric:tabular-nums}.study-bar{height:5px;border-radius:var(--radius-sm);background:var(--bg3,var(--bg2));overflow:hidden;margin:5px 0 4px}.study-bar i{display:block;height:100%;border-radius:var(--radius-sm)}.row-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.row-badges:empty{display:none}.badge-ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green,var(--green));border-color:color-mix(in srgb,var(--green) 35%,transparent)}.card-lines{display:grid;grid-template-columns:1fr;gap:2px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.card-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--border)}.card-line:last-child{border-bottom:0}.card-line b{text-align:right;word-break:break-word}.user-actions{display:flex;flex-wrap:wrap;gap:8px}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--green,var(--green));box-shadow:0 0 0 3px color-mix(in srgb,var(--green,var(--green)) 22%,transparent);flex-shrink:0}.col-title{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);padding:8px 16px 2px}.users-split{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:14px;align-items:start}.users-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden}.users-list-head{padding:9px 12px;border-bottom:1px solid var(--border)}.users-rows{max-height:calc(100vh - 260px);overflow-y:auto}.user-row{width:100%;display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.user-row:last-child{border-bottom:0}.user-row:hover{background:var(--bg3)}.user-row.on{background:color-mix(in srgb,var(--accent) 14%,var(--bg3))}.user-row.inactive{opacity:.6}.user-row-ava{width:34px;height:34px;flex-shrink:0}.user-row-main{min-width:0;flex:1}.user-row-name,.user-row-login{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row-side{text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.users-pane{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:16px 18px;display:flex;flex-direction:column;gap:14px}.user-pane-head{display:flex;align-items:center;gap:13px}.user-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.user-fact{background:var(--bg2);padding:9px 12px;display:flex;flex-direction:column;gap:1px;min-width:0}.user-fact b{word-break:break-word}.user-block{display:flex;flex-direction:column;gap:8px}.user-group-title{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute)}.user-course{display:grid;grid-template-columns:minmax(0,1fr) 90px 42px;align-items:center;gap:10px}.user-course-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-2)}.user-course .study-bar{margin:0}.user-course-pct{text-align:right;font-variant-numeric:tabular-nums}.user-danger{border-top:1px solid var(--border);padding-top:12px}@media (max-width:1023px){.users-split{grid-template-columns:1fr}.users-rows{max-height:46vh}.users-pane{padding:14px}}.panel:empty,.tile-grid:empty{display:none}.panel>.tile-grid{border:none;border-radius:0;margin:0}.tile-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}.tile{display:block;flex:1 1 210px;min-width:0;text-align:left;background:var(--bg2);border:none;border-radius:0;padding:16px 18px;color:inherit;font:inherit}button.tile{cursor:pointer;transition:background .15s}button.tile:hover{background:var(--bg3)}.tile-title{font:700 11px/1.5 var(--mono);color:var(--text-mute);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;overflow-wrap:anywhere}.tile-value{font-family:var(--font-display);font-size:var(--fs-6);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tile-note{font-size:var(--fs-2);color:var(--text-dim);margin-top:4px;line-height:1.5}.tile-green .tile-value{color:var(--green,var(--green))}.tile-warn .tile-value{color:var(--orange,var(--orange))}.tile-person-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.tile-person-name{display:block;font-size:var(--fs-3);overflow-wrap:anywhere}.tile-action{display:flex;flex-direction:column}.tile-action .tile-note{flex:1}@media (max-width:640px){.tile{flex-basis:150px}.tile{padding:12px 13px}.tile-value{font-size:var(--fs-5)}}.course-time{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:var(--fs-2);color:var(--text-dim)}.course-card .course-time{margin-top:auto}.course-card .course-time + .course-foot{margin-top:0}.course-card .course-foot{margin-top:auto}.course-time-ico{opacity:.8}.track-time{margin:14px 0 0;font-size:var(--fs-3);color:var(--text-dim)}.xp-card{padding:18px 20px;margin-bottom:16px}#order-settings>.card{margin-bottom:16px}.xp-head{display:flex;align-items:center;gap:13px;margin-bottom:12px;flex-wrap:wrap}@media (max-width:640px){.xp-head .xp-total{order:-1;margin-left:auto}.xp-head>div{flex-basis:100%}}.xp-emoji{font-size:var(--fs-6);line-height:1}.xp-level{font-size:var(--fs-5);font-weight:700}.xp-total{font-size:var(--fs-6);font-weight:700;white-space:nowrap}.xp-total span{font-size:var(--fs-2);color:var(--text-mute);margin-left:4px;font-weight:600}.xp-bar{height:9px;border-radius:var(--radius-sm);background:var(--bg3,var(--border));overflow:hidden}.xp-bar i{display:block;height:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#fff));transition:width .6s ease}.xp-scale{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:var(--fs-2);color:var(--text-mute)}.xp-scale .past{color:var(--text-dim)}.xp-scale .on{color:var(--accent);font-weight:700}.xp-parts{display:grid;gap:2px}.xp-part{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.xp-part:last-child{border-bottom:0}.xp-part-label{flex:1;min-width:0}.xp-part b{color:var(--green,var(--green))}.activity-today{margin-top:10px;padding:9px 12px;border-radius:var(--radius);background:color-mix(in srgb,var(--green,var(--green)) 12%,transparent);border:1px solid color-mix(in srgb,var(--green,var(--green)) 35%,transparent);color:var(--text);font-size:var(--fs-2)}.sec-fold{margin:18px 0 0}.sec-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 4px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-mute);font:inherit;font-size:var(--fs-2);font-weight:700;letter-spacing:.8px;text-transform:uppercase;text-align:left;cursor:pointer}.sec-arrow{transition:transform .18s ease;font-size:var(--fs-2)}.sec-fold.open .sec-arrow{transform:rotate(180deg)}.sec-fold.open .sec-head{color:var(--text)}.sec-body{display:none;padding-top:12px}.sec-fold.open .sec-body{display:block}@media (prefers-reduced-motion:reduce){.sec-arrow{transition:none}}@media (max-width:640px){.seg-btn,.tp-brand{min-height:40px;display:inline-flex;align-items:center}.seg-btn{justify-content:center;text-align:center}.foot-link{min-height:40px;display:flex;align-items:center}.foot-col .foot-link{padding:6px 0}.seg-btn{padding-top:9px;padding-bottom:9px}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}@media (max-width:640px){}.note-field{width:100%;min-height:74px;resize:vertical;font:inherit;line-height:1.5}.note-actions{display:flex;justify-content:flex-end}.cat-picked{margin-bottom:26px}.picked-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:12px}.picked-head>div:first-child{flex:1;min-width:220px}.picked-actions{display:flex;gap:8px;flex-wrap:wrap}.card-picked{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.card-why{margin-top:10px;padding-top:9px;border-top:1px solid var(--border-soft);font-size:var(--fs-2);color:var(--accent)}@media (max-width:640px){.picked-actions{width:100%}.picked-actions .btn{flex:1}}.quiz-quiet{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0;padding:12px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);font-size:var(--fs-3)}.quiz-quiet .linkbtn{margin-left:auto}.linkbtn{border:none;background:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkbtn:hover{text-decoration-thickness:2px}.course-prereq{display:flex;align-items:flex-start;gap:8px;margin:-4px 0 2px;padding:8px 11px;border-radius:var(--radius-sm);background:var(--bg3);border:1px solid var(--border-soft);font-size:var(--fs-2);line-height:1.5;color:var(--text-dim)}.course-prereq.strong{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}.course-prereq-ico{flex:none;line-height:1.4}.course-prereq a{color:var(--text);text-decoration:underline}.course-prereq a:hover{color:var(--accent)}.hub-top{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px}.hub-top .page-head{margin-bottom:0}.hub-top .page-head h1{font-size:var(--fs-6);letter-spacing:-.025em}.resume-acts{margin-left:auto;display:flex;gap:9px;flex-shrink:0}@media (max-width:1023px){.hub-top{gap:14px}.resume-acts{margin-left:0;width:100%;flex-wrap:wrap}.resume-acts .btn{flex:1 1 40%;min-width:0;justify-content:center;text-align:center}.resume-acts .btn-primary{flex-basis:100%}}.course-icon{color:var(--accent)}:root[data-theme="light"] .course-icon{color:color-mix(in srgb,var(--accent) 50%,var(--text))}:root[data-theme="light"] .about-toggle{color:color-mix(in srgb,var(--accent) 38%,var(--text))}.dash-stats>.stat{flex:1 1 180px;min-width:0;margin:0;padding:16px 18px;background:var(--bg2);border:none;border-radius:0}.cards-notice{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:0 0 18px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 7%,var(--bg2));font-size:var(--fs-3)}.cards-notice-ico{font-size:var(--fs-5);line-height:1;flex:none}.cards-notice-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cat-edited.is-waiting{color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent);border-color:color-mix(in srgb,var(--orange) 40%,transparent)}.cat-edited,.field-changed{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:var(--radius-sm);font-size:var(--fs-1);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent);border:1px solid color-mix(in srgb,var(--green) 40%,transparent);vertical-align:middle}.field.is-changed>.input,.field.is-changed>textarea.input,.field.is-changed>select.input,.field.is-changed .cat-picker,.field.is-changed .cat-links{border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.cat-links{display:grid;gap:12px}.cat-link-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--bg2)}.cat-link-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cat-link-head .input{flex:1 1 200px}.cat-link-scope{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.plan-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 10px}.plan-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text-dim);font-size:var(--fs-2);cursor:pointer}.plan-chip:hover{color:var(--text);border-color:var(--text-mute)}.plan-chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-fill)}.plan-chip-n{opacity:.7;font-size:var(--fs-1)}.plan-count{display:inline-flex;align-items:center;gap:6px}.plan-count-btn{width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text-dim);font-size:var(--fs-3);line-height:1;cursor:pointer}.plan-count-btn:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.plan-count-btn:disabled{opacity:.4;cursor:default}.plan-count-n{min-width:26px;text-align:center;color:var(--text-mute);font-size:var(--fs-2)}.plan-count-n.on{color:var(--accent);font-weight:700}.plan-cell .plan-yes.static + .plan-count{margin-left:10px}.plan-name.as-button{border:none;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.plan-name.as-button:hover{color:var(--accent)}.plan-yes.static{cursor:default}.plan-scroll{overflow:auto;max-height:72vh}.plan-grid{width:100%;min-width:1080px;border-collapse:collapse;font-size:var(--fs-2);table-layout:fixed}.plan-grid th.plan-c-course{width:235px}.plan-grid th.plan-c-level{width:150px}.plan-grid th.plan-c-hour{width:96px;text-align:center}.plan-grid td.plan-hour{text-align:center;vertical-align:middle}.plan-hour-btn{min-width:42px;font-size:var(--fs-1)}.plan-evening-done{font-size:var(--fs-1);color:var(--green)}.plan-chip-sep{color:var(--text-mute);padding:0 2px}.plan-grid th{position:sticky;top:0;z-index:2;background:var(--bg2);text-align:left;padding:10px 12px;font-size:var(--fs-1);letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);border-bottom:none;box-shadow:0 1px 0 var(--border);white-space:nowrap}.plan-grid td{padding:7px 12px;border-bottom:1px solid var(--border-soft);vertical-align:middle}.plan-grid tbody tr:last-child td{border-bottom:none}.plan-grid tr.plan-sep td{border-bottom:1px solid var(--border)}.plan-grid tr.plan-sep:last-child td{border-bottom:none}.plan-course{white-space:normal;font-weight:600}.plan-course-in{display:flex;align-items:center;gap:9px}.plan-name{flex:1 1 auto;min-width:0;line-height:1.3;overflow-wrap:break-word}.plan-del{flex:none;padding:1px 8px}.plan-level{color:var(--text-dim);white-space:nowrap}.plan-ico{width:26px;height:26px;display:inline-grid;place-items:center;font-size:var(--fs-2);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--c,var(--accent)) 16%,var(--bg3));border:1px solid color-mix(in srgb,var(--c,var(--accent)) 40%,transparent);color:var(--c,var(--accent))}:root[data-theme="light"] .plan-ico{color:color-mix(in srgb,var(--c,var(--accent)) 68%,var(--text))}.plan-yes{display:inline-flex;align-items:baseline;gap:6px;font:inherit;font-size:var(--fs-2);font-weight:700;color:var(--green);white-space:nowrap;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 8px;margin:-2px -8px;cursor:pointer;transition:border-color .15s,background .15s}.plan-yes:hover{border-color:var(--border);background:var(--bg3)}.plan-yes i{font-style:normal;font-size:var(--fs-1);font-weight:400;color:var(--text-mute)}.plan-yes.strike{color:var(--text-mute);text-decoration:line-through}.plan-flag{font-size:var(--fs-1);font-weight:600;text-decoration:none;padding:1px 7px;border-radius:var(--radius-sm);white-space:nowrap}.plan-flag.off{color:var(--red);background:color-mix(in srgb,var(--red) 14%,var(--bg3))}.plan-flag.move{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg3))}.plan-menu{position:fixed;z-index:60;min-width:200px;display:flex;flex-direction:column;padding:6px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.plan-menu-head{padding:6px 10px 4px;font:700 10.5px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-mute)}.plan-menu-item{font:inherit;font-size:var(--fs-2);text-align:left;padding:7px 10px;color:var(--text);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.plan-menu-item:hover{background:var(--bg3)}.plan-menu-item.danger{color:var(--red)}.plan-menu-item.on{color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 10%,var(--bg2))}.plan-toggle{min-width:34px;padding:2px 8px;font:inherit;font-size:var(--fs-3);line-height:1.5;text-align:center;color:var(--text-mute);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.plan-toggle:hover{border-color:var(--border);color:var(--text);background:var(--bg3)}.plan-toggle.on{color:var(--accent);font-weight:700;background:color-mix(in srgb,var(--accent) 12%,var(--bg3));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.sc-defs{position:absolute;width:0;height:0;overflow:hidden}.sc-sky-1{stop-color:var(--art-sky-1)}.sc-sky-2{stop-color:var(--art-sky-2)}.sc-floor-1{stop-color:var(--art-floor-1)}.sc-floor-2{stop-color:var(--art-floor-2)}.sc-warm-1{stop-color:var(--art-warm-2)}.sc-warm-2{stop-color:var(--art-warm);stop-opacity:.55}.sc-warm-3{stop-color:var(--art-warm);stop-opacity:0}.sc-cool-1{stop-color:var(--art-cool);stop-opacity:.8}.sc-cool-2{stop-color:var(--art-cool);stop-opacity:0}.sc-far{fill:var(--art-far)}.sc-mid{fill:var(--art-mid)}.sc-near{fill:var(--art-near)}.sc-sky{fill:url(#scSky)}.sc-ground{fill:url(#scFloor)}.sc-warm{fill:url(#scWarm)}.sc-cool{fill:url(#scCool)}.sc-lamp{fill:var(--art-warm-2)}.sc-screen{fill:var(--art-cool);opacity:.16}.sc-rim{fill:none;stroke:var(--art-rim);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.55}.sc-rim-warm{stroke:var(--art-warm-2);opacity:.8}.sc-rim-cool{stroke:var(--art-cool);opacity:.75}.sc-line{fill:none;stroke:var(--art-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.35}.sc-danger{fill:var(--art-danger)}.sc-danger-line{fill:none;stroke:var(--art-danger);stroke-width:1.8;stroke-linecap:round}.sc-dash{fill:none;stroke:var(--art-danger);stroke-width:1.8;stroke-dasharray:5 4;stroke-linecap:round}.sc-good{fill:var(--art-good)}.sc-good-line{fill:none;stroke:var(--art-good);stroke-width:1.8;stroke-linecap:round}.sc-smoke{fill:none;stroke:var(--art-rim);stroke-width:2.4;stroke-linecap:round;opacity:.12}.sc-haze{fill:var(--art-rim);opacity:.05}.sc-label{fill:var(--art-ink);font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;opacity:.6}.sc-num{fill:var(--art-warm-2);font-family:var(--mono);font-size:var(--fs-3);font-weight:600;letter-spacing:.04em}.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px}.tr-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.tr-card:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none}.tr-card-head{display:flex;align-items:center;gap:11px;min-width:0}.tr-card-ico{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 16%,var(--bg3));color:var(--accent)}.tr-card-ico svg{width:20px;height:20px}.tr-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;color:var(--text-dim);font-size:var(--fs-2)}.tr-card-awards{color:var(--accent);flex:none}.case-art{position:relative;overflow:hidden;border-radius:var(--radius-sm)}.case-art-frame{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--scene-steel-ink) 14%,transparent);border-radius:var(--radius-sm);background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--scene-steel) 70%,transparent),transparent 62%),linear-gradient(170deg,var(--scene-steel),var(--scene-steel-2));line-height:0}.case-art-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 42%,var(--scene-shade-2))}.case-art-frame svg{width:100%;height:auto;display:block}.case-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.case-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:14px}.case-pin{position:relative;padding:18px 12px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 4%,var(--bg3))}.case-pin-head{position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:var(--radius-sm);background:var(--accent);border:2px solid var(--bg2)}.case-pin code{font-size:var(--fs-1);color:var(--accent);word-break:break-word}.case-pin-rows{margin-top:8px;color:var(--text-dim);font-size:var(--fs-2);line-height:1.6}.case-pin-off{position:absolute;top:6px;right:8px;border:none;background:none;color:var(--text-mute);font-size:var(--fs-4);line-height:1;cursor:pointer}.case-pin-off:hover{color:var(--red)}.art-face-bg{fill:var(--bg3)}.art-face{fill:none;stroke:var(--text-mute);stroke-width:2}.art-face-letters{fill:var(--text-dim);font-size:var(--fs-1);font-family:var(--font);font-weight:700}.case-face{flex:none;width:44px;height:44px;line-height:0}.case-face svg{width:44px;height:44px}.case-suspect-body{display:flex;flex-direction:column;gap:1px;min-width:0}.case-suspect.cleared{opacity:.5}.case-suspect.cleared .case-suspect-body b{text-decoration:line-through}.case-suspect.cleared:hover{border-color:var(--border)}.case-cleared-mark{color:var(--red);font-size:var(--fs-1)}@media (max-width:1023px){.case-hero{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.case-stamp{animation:none}}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:18px 0 0}.case-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.case-card:hover,.case-card:hover *{text-decoration:none}.case-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.case-diff{color:var(--accent);letter-spacing:2px;font-size:var(--fs-1);flex:none}.case-tagline{margin:0;color:var(--text-dim);font-size:var(--fs-3)}.case-teaches{display:flex;flex-wrap:wrap;gap:6px}.case-tag{font-size:var(--fs-1);padding:2px 8px;border-radius:var(--radius-sm);color:var(--text-dim);background:var(--bg3);border:1px solid var(--border)}.case-steps{margin-top:auto;color:var(--text-mute);font-size:var(--fs-2)}.case-intro{margin:14px 0}.case-intro p{margin:0 0 10px}.case-intro p:last-child{margin-bottom:0}:where(.case-step,.case-query,.case-accuse,.case-solved,.case-notes,.case-evidence)>p{margin:0;line-height:1.6}.case-step>* + *,.case-query>* + *,.case-accuse>* + *,.case-solved>* + *,.case-notes>* + *,.case-evidence>* + *,.case-how-card>* + *{margin-top:12px}.case-step>.muted.small,.case-accuse>.muted.small,.case-notes>.muted.small,.case-evidence>.muted.small,.case-how-card>.muted.small{margin-top:6px}.case-step>.task-count{margin-top:8px}.case-evidence>.case-ev + .case-ev{margin-top:20px}#cases-box>* + *{margin-top:16px}#cases-box>h1{margin:0}#cases-box>h1 + .subtitle{margin-top:6px}#cases-box>.back-link + *{margin-top:12px}.case-how-card,.case-course-link{margin-top:0}.case-step-head{display:flex;align-items:center;gap:10px;margin-bottom:0}.case-step-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:none;border-radius:var(--radius-sm);font-size:var(--fs-2);font-weight:700;color:var(--on-fill);background:var(--accent)}.case-step-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.case-step-res{display:none;margin-top:12px;font-size:var(--fs-3);white-space:pre-wrap}.case-step-res.show{display:block}.case-step-res.info{color:var(--text-dim)}.case-step-res.pass{color:var(--green)}.case-step-res.fail{color:var(--red)}.case-query .code-editor{width:100%}.case-result{margin-top:12px}.case-note{color:var(--text-mute);font-size:var(--fs-2);margin-top:6px}.case-error{color:var(--red);font-size:var(--fs-3)}.case-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.case-table{border-collapse:collapse;width:100%;font-size:var(--fs-3)}.case-table th,.case-table td{padding:7px 12px;text-align:left;border-bottom:1px solid var(--border)}.case-table thead th{background:var(--bg3);color:var(--text-dim);font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.05em}.case-table tbody tr:last-child td{border-bottom:none}.case-num{font-variant-numeric:tabular-nums}.case-null{color:var(--text-mute);font-style:italic}.case-suspects{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.case-suspect{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s}.case-suspect:hover{border-color:var(--accent)}.case-tables summary{cursor:pointer;font-weight:600}.case-tables-list{margin-top:10px;display:grid;gap:8px}.case-table-row{padding:8px 0;border-bottom:1px solid var(--border)}.case-table-row:last-child{border-bottom:none}.case-cols{color:var(--text-mute);font-size:var(--fs-2);margin-top:2px}.case-solved .case-epilogue p + p{margin-top:10px}.case-solved .case-epilogue p{margin:0}.std-cell{width:92px;text-align:right;font-variant-numeric:tabular-nums}.case-locked{opacity:.72}.case-locked:hover{opacity:1}.case-lock{position:absolute;left:10px;top:10px;font-size:var(--fs-3);line-height:1}.case-need,.case-open{display:block;margin-top:6px;font-size:var(--fs-1);letter-spacing:.01em}.case-need{color:var(--text-mute)}.case-open{color:var(--green)}.case-ev-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.case-ev-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.case-ev-table{border-collapse:collapse;width:100%;font-size:var(--fs-3)}.case-ev-table th,.case-ev-table td{text-align:left;padding:7px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.case-ev-table th{color:var(--text-dim);font-weight:600;background:var(--bg3)}.case-ev-table tr:last-child td{border-bottom:none}.case-ev-doc{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.case-options{display:flex;flex-direction:column;gap:8px}.case-match{display:flex;flex-direction:column;gap:8px}.case-match-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.case-match-left{min-width:180px}.case-course{margin-bottom:26px}.case-course:last-of-type{margin-bottom:0}.case-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px}.case-tile{position:relative;display:block;padding:10px 10px 4px;color:inherit;text-decoration:none;transition:transform .16s ease}.case-tile-under{position:absolute;inset:8px 6px 2px;border-radius:var(--radius-sm);background:var(--scene-paper-2);box-shadow:0 6px 14px var(--scene-shade-1);transform:rotate(2.2deg);transform-origin:50% 100%}.case-tile-under.two{transform:rotate(-2.6deg);background:color-mix(in srgb,var(--scene-paper-2) 82%,var(--scene-cork-deep))}.case-tile-paper{position:relative;display:flex;flex-direction:column;gap:9px;min-height:100%;transform:rotate(-.5deg)}.case-tile:hover{transform:translateY(-3px)}.case-tile:hover,.case-tile:hover *{text-decoration:none}.case-tile:hover .case-tile-paper{transform:rotate(0deg)}.case-tile-no{display:flex;align-items:center;justify-content:space-between;gap:8px}.case-tile-done{color:var(--scene-pin);border:1.5px solid var(--scene-pin);border-radius:var(--radius-sm);padding:1px 6px;font-size:var(--fs-1);transform:rotate(-4deg)}.case-tile-head{display:flex;align-items:center;gap:10px;min-height:40px}.case-tile-head b{font-size:var(--fs-4);line-height:1.25}.case-tile-ico{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;line-height:0;border-radius:50%;border:1.5px solid var(--scene-ink-3);color:var(--scene-paper-ink);opacity:.75}.case-tile-ico svg{width:20px;height:20px}.case-tile-sub{margin:0;flex:1;font-size:var(--fs-3);color:var(--scene-paper-dim)}.case-tile .case-open{color:color-mix(in srgb,var(--green) 45%,var(--scene-paper-ink))}.case-tile .muted{color:var(--scene-paper-dim)}.case-how-card{margin-top:22px}.case-how-card .case-how,.case-how-card>.muted.small{max-width:74ch}.case-how-card .case-how{margin:10px 0 0;padding-left:20px}.case-how-card .case-how li{margin:6px 0}.case-how-card>.muted.small{color:var(--scene-paper-dim)}.case-how li{margin-bottom:5px;font-size:var(--fs-3)}@media (prefers-reduced-motion:reduce){.case-tile:hover{transform:none}}.ed-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.ed-course{display:flex;flex-direction:column;gap:4px;min-width:260px}.ed-hint{max-width:46ch}.ed-split{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:1023px){.ed-split{grid-template-columns:1fr}}.ed-tree{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-height:70vh;overflow-y:auto}.ed-node{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-3);text-align:left;cursor:pointer}.ed-node:last-child{border-bottom:0}.ed-node:hover{background:var(--bg3)}.ed-node.on{background:color-mix(in srgb,var(--accent) 14%,var(--bg2))}.ed-node.d1{padding-left:28px}.ed-node.d2{padding-left:44px}.ed-node.d3{padding-left:60px}.ed-node.draft .ed-node-title{color:var(--text-mute);font-style:italic}.ed-node-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-node-n{flex:none;font-size:var(--fs-1);color:var(--text-mute)}.ed-item{font-size:var(--fs-2);color:var(--text-dim)}.ed-pane{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;min-height:320px}.ed-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:16px}.ed-what{text-transform:uppercase;letter-spacing:.6px}.ed-slug{font:500 14px/1.4 var(--mono);color:var(--text-dim)}.ed-head-acts{display:flex;align-items:center;gap:10px}.ed-state{font-size:var(--fs-1);font-weight:600;padding:2px 9px;border-radius:var(--radius-sm);background:var(--bg3);color:var(--text-dim)}.ed-state.draft{background:color-mix(in srgb,var(--gold) 20%,var(--bg3));color:var(--gold)}.ed-fields{display:flex;flex-direction:column;gap:14px}.ed-field{display:flex;flex-direction:column;gap:5px}.ed-label{font-size:var(--fs-2);font-weight:600;color:var(--text-dim)}.ed-area{font-family:var(--mono);font-size:var(--fs-2);line-height:1.6}.ed-options{display:flex;flex-direction:column;gap:6px}.ed-option{display:flex;align-items:center;gap:8px}.ed-option-n{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--bg3);font-size:var(--fs-1);font-weight:700;color:var(--text-mute)}.ed-option-n.right{background:var(--green);color:var(--on-fill)}.ed-raw{line-height:1.7}.ed-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.ed-sub{margin-top:22px;border-top:1px solid var(--border);padding-top:14px}.ed-sub-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.ed-sub-row{display:block;width:100%;text-align:left;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font:inherit;font-size:var(--fs-2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-sub-row:hover{background:var(--bg3);color:var(--text)}.ed-sub-row.draft{color:var(--text-mute);font-style:italic}.ed-sub-line{display:flex;align-items:center;gap:4px}.ed-sub-line .ed-sub-row{flex:1;min-width:0}.ed-move{flex:none;width:26px;height:26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text-dim);font:inherit;font-size:var(--fs-2);cursor:pointer}.ed-move:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.ed-move:disabled{opacity:.35;cursor:default}.ed-sub-head{align-items:center}.ed-sub-head .btn{margin-left:auto}.ed-history{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-height:50vh;overflow-y:auto}.ed-rev{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-3)}.ed-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.ed-tab{flex:none;padding:8px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-dim);font:inherit;font-size:var(--fs-3);font-weight:600;cursor:pointer;white-space:nowrap}.ed-tab:hover{color:var(--text)}.ed-tab.on{color:var(--text);border-bottom-color:var(--accent)}.ed-tab-body.off{display:none}.ed-ages{display:flex;flex-wrap:wrap;gap:8px}.ed-age{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-size:var(--fs-3);cursor:pointer}.ed-age:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.ed-option .ed-right{flex:none;width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.ed-option .input{flex:1;min-width:0}.ed-opt-add{margin-top:8px}@media (max-width:1023px){.ed-tree{max-height:38vh}}.ed-theory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ed-theory{display:grid;gap:12px;align-items:stretch}.ed-theory.markup{grid-template-columns:minmax(0,1fr)}.ed-theory.view{grid-template-columns:minmax(0,1fr)}.ed-theory.view>.ed-area{display:none}.ed-warn{margin-top:6px;min-height:18px}.ed-warn.bad{color:var(--red)}.ed-site:empty{display:none}.ed-site{margin-top:4px}.ed-site.bad{color:var(--red)}.ed-faq{display:flex;flex-direction:column;gap:10px}.ed-faq-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:8px;align-items:start}@media (max-width:1023px){.ed-faq-row{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:1023px){.ed-faq-row>textarea{grid-column:1 / -1}}.ed-theory.rich,.ed-theory.markup{grid-template-columns:minmax(0,1fr)}.ed-theory.rich>.ed-area{display:none}.ed-preview{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--bg2);min-height:520px}.ed-preview-head{display:flex;gap:10px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid var(--border)}.ed-preview-frame{flex:1;width:100%;min-height:480px;border:0;background:var(--bg)}.ed-preview.narrow .ed-preview-frame{width:390px;max-width:100%;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.ed-seg{display:inline-flex;border:1px solid var(--border-strong)}.ed-seg-opt{font:500 var(--fs-1)/1.3 var(--font);padding:4px 8px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer}.ed-seg-opt:last-child{border-right:0}.ed-seg-opt.on{background:var(--accent);color:var(--on-accent)}.ed-norm{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums}.ed-norm.bad{color:var(--orange)}.ed-fig-hint{color:var(--text-dim);font-size:var(--fs-2);margin:0 0 8px}.ed-trial{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);font-size:var(--fs-3);cursor:pointer}.ed-trial input{margin-top:3px}.tox-tinymce{border-radius:var(--radius-sm) !important;border-color:var(--border) !important}.ed-recs{display:flex;flex-direction:column;gap:12px}.ed-rec{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.ed-rec-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border)}.ed-rec-num{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--bg3);font-size:var(--fs-1);color:var(--text-mute)}.ed-rec-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-rec-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px}.mt-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.mt-head h2{margin:0 0 4px}.mt-head p{margin:0}.mt-head-acts{display:flex;gap:8px;flex:none}.mt-drop{border:1px dashed var(--border);border-radius:var(--radius-sm);padding:18px 14px;text-align:center;color:var(--text-mute);font-size:var(--fs-3)}.mt-drop.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text)}.mt-note{min-height:18px;margin:8px 0 0;font-size:var(--fs-3)}.mt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,46%),1fr));gap:12px;margin-top:14px}.mt-tile{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.mt-shot{display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:0;border-bottom:1px solid var(--border);background:var(--bg3);cursor:pointer}.mt-shot img{width:100%;height:100%;object-fit:contain;display:block}.mt-meta{padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.mt-name{font-size:var(--fs-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-num{font-size:var(--fs-1)}.mt-acts{display:flex;gap:6px;padding:0 10px 10px;margin-top:auto}.mt-acts .btn{flex:1;min-width:0;white-space:nowrap}.tp-backdrop:has(>.mt-modal){z-index:1400}.mt-modal{width:min(880px,100%);margin:auto;max-height:84vh;overflow:auto}.case-scene{margin-top:14px}.case-pieces{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}.case-pieces>*{position:relative;z-index:2}.case-file{grid-column:span 7}.case-photo{grid-column:span 5}.case-step,.case-accuse,.case-solved{grid-column:span 7}.case-query{grid-column:span 5}.case-notes{grid-column:span 5}.case-tables,.case-evidence{grid-column:1 / -1}.case-file h1{margin:6px 0 6px;font-size:var(--fs-6);line-height:1.15}.case-file-lead{margin:0 0 10px;font-size:var(--fs-3)}.case-file .case-intro{margin:0}.case-file .case-intro p{margin:0 0 8px}.case-file .case-teaches{margin-top:12px}.case-file .case-tag{background:var(--scene-ink-1);border-color:var(--scene-ink-2);color:var(--scene-paper-dim)}.case-photo{position:relative;background:var(--scene-steel-2);padding:10px 10px 8px;border-radius:var(--radius-sm);box-shadow:0 12px 26px var(--scene-shade-2)}.case-photo .case-art-frame{background:transparent;padding:0}.case-photo-cap{display:block;margin-top:8px;text-align:center;font-family:var(--hand);font-size:var(--fs-5);line-height:1.2;color:color-mix(in srgb,var(--scene-steel-ink) 80%,transparent)}.case-dots{display:inline-flex;gap:6px;align-items:center}.case-dot{width:9px;height:9px;border-radius:50%;background:var(--scene-light);box-shadow:inset 0 1px 2px var(--scene-shade-2)}.case-dot.on{background:var(--scene-tape);box-shadow:0 0 8px var(--scene-shade-2)}.case-dot.now{background:var(--scene-pin);box-shadow:0 0 9px var(--scene-pin)}.case-query .scene-device-bar span:first-of-type{margin-left:4px}.case-query-hint{margin-left:auto;letter-spacing:.04em;text-transform:none}.case-query .code-editor,.case-query .case-step-actions,.case-query .case-result{margin:12px 14px}.case-query .code-editor{width:calc(100% - 28px)}.case-query .case-result{margin-bottom:14px}.case-notes .case-board{background:transparent;border:0;padding:0}.case-notes>.case-board-head{color:var(--scene-paper)}.case-notes>.case-board-head .muted{color:color-mix(in srgb,var(--scene-paper) 70%,transparent)}.case-notes>.muted.small{color:color-mix(in srgb,var(--scene-paper) 70%,transparent)}.case-tables summary{color:var(--scene-paper-ink)}.case-tables .case-cols{color:var(--scene-paper-dim)}@media (max-width:1023px){.case-file,.case-photo,.case-step,.case-accuse,.case-solved,.case-query,.case-notes{grid-column:1 / -1}}.tr-mode-head{display:flex;align-items:center;gap:10px}.tr-mode-ico{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg2))}.tr-mode-ico svg{width:18px;height:18px}.tr-mode.main{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.tr-mode.main .tr-mode-ico{background:var(--accent);color:var(--on-fill)}.tr-combo-flame{display:inline-flex}.tr-combo-flame svg{width:14px;height:14px}.tr-combo-dot{width:5px;height:5px;border-radius:50%;background:var(--text-mute);display:inline-block}.tr-award-ico svg{width:18px;height:18px}.tr-boss-ico{display:inline-flex;margin-right:6px}.tr-boss-ico svg{width:15px;height:15px}.tr-card-awards-ico{display:inline-flex;margin-right:4px}.tr-card-awards-ico svg{width:14px;height:14px}.tr-dots{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap}.tr-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.tr-dot.ok{background:var(--green)}.tr-dot.bad{background:var(--red)}.tr-dot.now{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.case-card.paper{background:linear-gradient(var(--scene-paper),var(--scene-paper) 55%,var(--scene-paper-2));border:0;color:var(--scene-paper-ink);padding:16px 16px 40px;transition:transform .16s,box-shadow .16s}.case-card.paper:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 16px 30px var(--scene-shade-3),inset 0 1px 0 var(--scene-light)}.case-card.paper .case-art{margin:6px 0 4px;padding-top:6px}.case-card-no{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.case-card.paper .case-tagline{color:var(--scene-paper-dim)}.case-card.paper .case-steps{color:var(--scene-paper-dim)}.case-card.paper .case-steps .muted{color:var(--scene-paper-dim)}.case-card.paper .case-diff{color:var(--scene-pin)}.case-card.paper .case-tag{background:var(--scene-ink-1);border-color:var(--scene-ink-2);color:var(--scene-paper-dim)}.case-card.paper .case-open{color:color-mix(in srgb,var(--green) 45%,var(--scene-paper-ink))}.case-card.paper .case-need{color:var(--scene-paper-dim)}.case-card.paper.case-locked{opacity:.82}.case-card.paper.case-locked:hover{opacity:1}.tr-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:-22px -24px 16px;padding:10px 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent);border-radius:var(--radius) var(--radius) 0 0}.tr-diff{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim)}.tr-diff.d3{color:var(--orange);border-color:color-mix(in srgb,var(--orange) 45%,var(--border))}.tr-prompt{font-size:var(--fs-5);line-height:1.55}.tr-verdict{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-4);font-weight:700;color:var(--red);margin-bottom:10px;padding:7px 13px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 12%,transparent)}.tr-verdict.win{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.check-row{display:flex;gap:10px;align-items:flex-start;margin:12px 0 14px;font-size:var(--fs-3);color:var(--text);cursor:pointer}.check-row input{margin-top:3px;accent-color:var(--accent)}.pub-page{max-width:860px}.pub-head{display:flex;gap:22px;align-items:center;margin-bottom:18px}.pub-avatar{width:96px;height:96px;flex:none;border-radius:50%;object-fit:cover;background:var(--bg3)}.pub-avatar-letter{display:grid;place-items:center;font-size:var(--fs-7);font-weight:700;color:var(--on-accent);background:var(--accent)}.pub-who{min-width:0}.pub-name{margin:0 0 4px;font-size:var(--fs-6);overflow-wrap:anywhere}.pub-sub{font-size:var(--fs-3);color:var(--text-dim)}.pub-nick{color:var(--text-dim)}.pub-level{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:var(--fs-3)}.pub-level-emoji{font-size:var(--fs-5)}.pub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px}.pub-stat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.pub-stat b{font-size:var(--fs-6);font-variant-numeric:tabular-nums}.pub-stat span{font-size:var(--fs-2);color:var(--text-dim)}.pub-courses{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}.pub-course{display:flex;gap:14px;align-items:center;padding:12px 16px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.pub-course-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;font-size:var(--fs-5);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 14%,var(--bg3))}.pub-course-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.pub-course-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.pub-awards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:30px}.pub-award{display:flex;gap:10px;align-items:center;padding:10px 12px;font-size:var(--fs-2);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.pub-award-emoji{font-size:var(--fs-5)}.pub-missing{text-align:center;padding:60px 0}.pub-missing h1{margin-bottom:8px}.pub-missing .btn{margin-top:18px}@media (max-width:640px){.pub-head{flex-direction:column;text-align:center}.pub-level{justify-content:center}.pub-stats{grid-template-columns:repeat(2,1fr)}}.trace-list{display:flex;flex-direction:column;gap:2px;max-height:520px;overflow:auto}.trace-day{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:10px 0 4px}.trace-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-2);line-height:1.45}.trace-row:last-child{border-bottom:0}.trace-at{flex:0 0 auto;font-variant-numeric:tabular-nums}.trace-ico{flex:0 0 1.4em;text-align:center}.trace-who{flex:0 0 auto}.trace-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.trace-guest .trace-text{color:var(--text-dim)}.events-section{margin-top:20px}.pane-tabs{margin:-4px 0 0}.pane-tab{display:flex;flex-direction:column;gap:14px}.pf{display:flex;flex-direction:column;gap:16px}.pf-summary{display:flex;align-items:center;gap:12px;font-size:var(--fs-2);color:var(--text-dim)}.pf-summary .study-bar{margin:0}.pf-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.pf-section{display:flex;flex-direction:column;gap:6px;min-width:0}.pf-list{display:flex;flex-direction:column}.pf-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);font-size:var(--fs-3);line-height:1.45}.pf-row:last-child{border-bottom:0}.pf-label{color:var(--text-dim)}.pf-value{min-width:0;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.pf-empty{color:var(--text-mute)}.pf-about{white-space:pre-wrap}.pf-link{color:var(--accent);text-decoration:none}.pf-link:hover{text-decoration:underline}@media (max-width:640px){.pf-row{grid-template-columns:1fr;gap:2px}}.lb-table td{vertical-align:middle}.lb-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lb-place{color:var(--text-mute);font-variant-numeric:tabular-nums;width:34px}.lb-who{display:flex;align-items:center;gap:10px;min-width:0}.lb-ava{width:32px;height:32px;flex-shrink:0}.lb-level{white-space:nowrap}.lb-bar{display:block;width:90px;margin:4px 0 0 auto}.lb-today{color:var(--green)}.lb-table tr.inactive{opacity:.55}@media (max-width:1023px){.lb-table th:nth-child(5),.lb-table td:nth-child(5),.lb-table th:nth-child(7),.lb-table td:nth-child(7){display:none}.lb-bar{display:none}}.pg-modal{padding:0 !important;display:flex;flex-direction:column}.pg-head{display:flex;align-items:center;gap:12px;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.pg-head>div:first-child{flex:1;min-width:0}.pg-head-actions{display:flex;gap:8px;flex-shrink:0}.pg-layout{display:grid;grid-template-columns:260px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.pg-side{border-right:1px solid var(--border);padding:12px 10px;overflow:auto;display:flex;flex-direction:column;gap:4px}.pg-course{display:flex;gap:10px;align-items:center;text-align:left;width:100%;padding:8px 10px;border:0;border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer;font:inherit}.pg-course:hover{background:var(--bg3)}.pg-course.on{background:color-mix(in srgb,var(--accent) 14%,var(--bg2))}.pg-course-icon{font-size:var(--fs-5);flex-shrink:0;width:28px;text-align:center}.pg-course-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pg-course-body b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-3)}.pg-course-body .study-bar{margin:2px 0 0}.pg-main{padding:14px 20px 16px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-width:0}.pg-main-head{display:flex;align-items:center;gap:12px}.pg-main-head b{font-size:var(--fs-4)}.pg-tracks{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pg-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);color:var(--text-dim);font:inherit;font-size:var(--fs-2);cursor:pointer}.pg-chip:hover{color:var(--text)}.pg-chip.on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 12%,var(--bg2))}.pg-chip b{font-variant-numeric:tabular-nums}.pg-search{width:100%}.pg-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pg-main>.pg-table{flex:1 1 auto;min-height:160px;overflow:auto}.pg-main>:not(.pg-table){flex:none}.pg-table>.pg-headrow{position:sticky;top:0;z-index:1}.pg-side>.pg-course{flex:none}.pg-row{display:grid;grid-template-columns:18px minmax(0,1fr) 120px 64px 100px;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-soft);font-size:var(--fs-3);background:var(--bg2)}.pg-row:last-child{border-bottom:0}.pg-row .progress-bar{width:100%}.pg-headrow{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute);background:var(--bg3)}.pg-clickable{cursor:pointer}.pg-clickable:hover{background:var(--bg3)}.pg-caret{color:var(--text-mute);text-align:center}.pg-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);padding-right:6px}.pg-actions{display:flex;justify-content:flex-end;gap:4px}.pg-act{padding:2px 7px;min-height:0;line-height:1.5}.pg-depth-1{padding-left:30px;background:color-mix(in srgb,var(--bg3) 50%,var(--bg2))}.pg-depth-1 .pg-title{font-size:var(--fs-2)}.pg-depth-2,.pg-tasks-row{display:block;padding:6px 12px 10px 52px;background:color-mix(in srgb,var(--bg3) 70%,var(--bg2))}.pg-dim .pg-title{color:var(--text-dim)}.pg-tasks .task-row{font-size:var(--fs-2)}.pg-track-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width:1023px){.pg-layout{grid-template-columns:1fr;overflow:auto}.pg-side{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;overflow-x:auto}.pg-main>.pg-table{flex:none;min-height:0;overflow:hidden}.pg-course{width:auto;min-width:200px}.pg-head{flex-wrap:wrap}.pg-head-actions{width:100%;justify-content:flex-end}.pg-row{grid-template-columns:14px minmax(0,1fr) 48px 82px;gap:6px;padding:8px 8px}.pg-pct{padding-right:4px}.pg-row .progress-bar{display:none}.pg-headrow>:nth-child(3){display:none}.pg-depth-1{padding-left:18px}.pg-depth-2,.pg-tasks-row{padding-left:24px}}.mail-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.mail-list{display:flex;flex-direction:column;gap:3px}.mail-item{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;padding:9px 11px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;font:inherit}.mail-item:hover{background:var(--bg3)}.mail-item.on{background:color-mix(in srgb,var(--accent) 14%,var(--bg2))}.mail-item b{font-size:var(--fs-3)}.mail-item .badge{align-self:flex-start;margin-top:3px}.mail-pane{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-width:0}.mail-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.mail-head-actions{display:flex;gap:8px;flex-wrap:wrap}.mail-vars{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mail-var{font-family:var(--mono,monospace);font-size:var(--fs-2);padding:3px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg3);color:var(--accent);cursor:pointer}.mail-var:hover{border-color:var(--accent)}.mail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.mail-edit,.mail-preview{display:flex;flex-direction:column;gap:6px;min-width:0}.mail-label{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.04em;color:var(--text-mute)}.mail-code{font-family:var(--mono,monospace);font-size:var(--fs-2);line-height:1.55;resize:vertical;white-space:pre;overflow-wrap:normal;overflow-x:auto}.mail-preview-subject{font-size:var(--fs-3);padding:2px 0 4px;overflow-wrap:anywhere}.mail-frame{width:100%;min-height:520px;flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.mail-split-wide{grid-template-columns:340px minmax(0,1fr)}.mail-state,.mail-filters{margin-bottom:12px}.mail-state-row,.mail-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mail-search{flex:1 1 240px;min-width:180px}.mail-pick{flex:0 0 auto;width:auto}.mail-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.mail-item-subject{overflow-wrap:anywhere}.mail-item-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}.mail-item.unread b{color:var(--accent)}.mail-item.unread b{font-weight:700}.mail-head{flex-direction:column;gap:8px}.mail-head h3{margin:0;font-size:var(--fs-5);overflow-wrap:anywhere}.mail-head-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.mail-head-acts{display:flex;gap:8px;flex-wrap:wrap}.mail-files{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mail-plain{margin:0;padding:14px 16px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-3);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.mail-frame-auto{min-height:120px;flex:none}.mail-answer{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:14px}.mail-reply{resize:vertical}.mail-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 0}.mail-write{display:flex;flex-direction:column;gap:12px;max-width:860px}.mail-write .mail-preview{border-top:1px solid var(--border);padding-top:14px}@media (max-width:1023px){.mail-split-wide{grid-template-columns:1fr}}@media (max-width:1023px){.mail-grid{grid-template-columns:1fr}}@media (max-width:1023px){.mail-split{grid-template-columns:1fr}.mail-list{flex-direction:row;overflow-x:auto}.mail-item{min-width:210px}}.card>.btn:last-child,.card>.invite-row,.card>.support-act{margin-top:14px}.ed-top{display:flex;align-items:center;gap:0;border:1px solid var(--border);background:var(--bg2);min-height:48px;margin-bottom:0;flex-wrap:wrap}.ed-top-k{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);padding:0 18px;border-right:1px solid var(--border);align-self:stretch;display:flex;align-items:center}.ed-crumbs{display:flex;align-items:center;gap:10px;padding:0 16px;min-width:0;flex:1;flex-wrap:wrap}.ed-crumb{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}.ed-crumb.on{color:var(--text);font-weight:600}.ed-crumb-sep{color:var(--text-mute)}.ed-crumb-select{font:inherit;font-size:var(--fs-3);font-weight:600;color:var(--text);background:transparent;border:0;padding:4px 0;cursor:pointer;max-width:32ch}.ed-top-right{display:flex;align-items:center;gap:0;margin-left:auto;align-self:stretch}.ed-top-state{display:inline-flex;align-items:center;gap:8px;padding:0 16px;font:400 12px/1 var(--mono);color:var(--text-dim);border-left:1px solid var(--border);align-self:stretch}.ed-top-state i{width:8px;height:8px;background:var(--green)}.ed-top-state.draft i{background:var(--orange)}.ed-top-right .btn{border-radius:0;align-self:stretch;height:auto;border-top:0;border-bottom:0;border-right:0}.ed-top-right .btn.btn-primary{border:0}.ed-site{padding:6px 18px;border:1px solid var(--border);border-top:0;background:var(--bg2)}.ed-site:empty{display:none}.ed-cols{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);border:1px solid var(--border);border-top:0;background:var(--bg2);align-items:start}.ed-tree-col{border-right:1px solid var(--border);position:sticky;top:0;align-self:start}.ed-tree-search{border-bottom:1px solid var(--border)}.ed-search{width:100%;font:inherit;font-size:var(--fs-2);padding:12px 16px 12px 36px;border:0;background:transparent;color:var(--text);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238a8ea0' stroke-width='1.6'><circle cx='7' cy='7' r='4.5'/><path d='M10.5 10.5 14 14'/></svg>");background-repeat:no-repeat;background-position:14px center;background-size:14px}.ed-search:focus{outline:2px solid var(--accent);outline-offset:-2px}.ed-search{box-sizing:border-box}.ed-tree-col,.ed-cols{min-width:0}.ed-cols .ed-tree{border:0;border-radius:0;max-height:calc(100vh - 220px)}.ed-cols .ed-node{padding:10px 14px}.ed-cols .ed-node.d0{font-weight:600}.ed-cols .ed-node.d1{padding-left:16px;font-weight:600}.ed-cols .ed-node.d2{padding-left:30px}.ed-cols .ed-node.d3{padding-left:44px}.ed-node-num{flex:none;width:14px;font:400 11px/1 var(--mono);color:var(--text-mute)}.ed-dot{flex:none;width:8px;height:8px;background:var(--green)}.ed-dot.draft{background:var(--orange)}.ed-dot.hidden{background:var(--border-strong)}.ed-legend{display:flex;gap:14px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--border);font:400 11px/1 var(--mono);color:var(--text-mute)}.ed-legend span{display:inline-flex;align-items:center;gap:6px}.ed-legend i{width:8px;height:8px;background:var(--green)}.ed-legend [data-state="draft"] i{background:var(--orange)}.ed-legend [data-state="hidden"] i{background:var(--border-strong)}.ed-cols .ed-pane{border:0;border-radius:0;background:transparent;min-width:0}.ed-side{border-left:1px solid var(--border);align-self:stretch;min-width:0}.ed-side .ed-preview{border:0;min-height:100%;height:100%}.ed-side .ed-preview-frame{min-height:calc(100vh - 220px)}.ed-preview-head{align-items:center;padding:8px 12px}.ed-preview-k{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-right:auto}.ed-preview.mid .ed-preview-frame{width:min(100%,820px);margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.ed-insert{display:flex;align-items:stretch;flex-wrap:wrap;border:1px solid var(--border);border-bottom:0;background:var(--bg)}.ed-insert-k{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--border)}.ed-ins{font:inherit;font-size:var(--fs-2);font-weight:500;padding:10px 14px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.ed-ins:hover{color:var(--text);background:var(--bg3)}.ed-ins i{font-style:normal;font-size:10px;color:var(--text-mute)}.ed-ins.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.ed-ins-menu{position:relative;display:inline-flex}.ed-ins-list{position:absolute;top:100%;left:0;z-index:20;min-width:220px;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border-strong)}.ed-ins-item{font:inherit;font-size:var(--fs-2);text-align:left;padding:9px 12px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;color:var(--text);cursor:pointer}.ed-ins-item:last-child{border-bottom:0}.ed-ins-item:hover{background:var(--bg3)}.ed-insert-sp{flex:1}.ed-insert .ed-norm{display:flex;align-items:center;padding:0 12px;margin-left:0;border-left:1px solid var(--border);font-size:var(--fs-1)}.ed-ins-mode{border-right:0;border-left:1px solid var(--border)}.ed-theory.rich .tox-tinymce,.ed-theory.markup .ed-area{border-radius:0 !important}.ed-tasks{margin-top:18px;border:1px solid var(--border);background:var(--bg2)}.ed-tasks-head{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.ed-tasks-k{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.ed-tasks-k b{color:var(--text);font-weight:700;margin-left:4px}.ed-tasks-add{display:flex;margin-left:auto}.ed-tasks-add .btn{border-radius:0;margin-left:-1px;font-family:var(--mono);font-size:var(--fs-1)}.ed-task-list{display:flex;flex-direction:column}.ed-task-row{display:grid;grid-template-columns:36px 90px 90px minmax(0,1fr) 110px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--border-soft);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-2);text-align:left;cursor:pointer}.ed-task-row:last-child{border-bottom:0}.ed-task-row:hover{background:var(--bg3)}.ed-task-row.bad{background:color-mix(in srgb,var(--orange) 7%,var(--bg2))}.ed-task-row.draft .ed-task-text{color:var(--text-mute);font-style:italic}.ed-task-row>span{padding:10px 12px;border-right:1px solid var(--border-soft);min-height:100%;display:flex;align-items:center}.ed-task-row>span:last-child{border-right:0}.ed-task-n{font:400 11px/1 var(--mono);color:var(--text-mute);justify-content:center}.ed-task-kind{font-family:var(--mono);font-size:var(--fs-1)}.ed-task-diff{font-family:var(--mono);font-size:var(--fs-1)}.ed-task-diff.d1{color:var(--green)}.ed-task-diff.d2{color:var(--orange)}.ed-task-diff.d3{color:var(--red)}.ed-task-text{color:var(--text-dim);line-height:1.4}.ed-task-state{font-family:var(--mono);font-size:var(--fs-1);justify-content:center}.ed-task-state.ok{color:var(--green)}.ed-task-state.bad{color:var(--orange)}.ed-tab-n{margin-left:6px;font:500 11px/1 var(--mono);color:var(--text-mute)}@media (min-width:1600px){.ed-cols{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(420px,560px)}.ed-side[hidden]{display:none}.ed-cols:has(.ed-side[hidden]){grid-template-columns:minmax(260px,320px) minmax(0,1fr)}}@media (max-width:1599px){.ed-side{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border)}.ed-side .ed-preview-frame{min-height:520px}}@media (max-width:1599px){.ed-crumb{max-width:24ch}.ed-top-right{margin-left:0;width:100%;border-top:1px solid var(--border)}.ed-top-right .btn{flex:1}.ed-top-state{flex:1;border-left:0}}@media (max-width:1023px){.ed-cols{grid-template-columns:1fr}.ed-tree-col{border-right:0;border-bottom:1px solid var(--border);position:static}.ed-cols .ed-tree{max-height:38vh}.ed-top{min-height:0}.ed-top-k{display:none}.ed-task-row{grid-template-columns:30px 70px minmax(0,1fr) 90px}.ed-task-diff{display:none}}@media (max-width:640px){.ed-insert-k{display:none}.ed-tasks-head{flex-direction:column;align-items:stretch}.ed-tasks-add{margin-left:0;flex-wrap:wrap}.ed-tasks-add .btn{flex:1 1 auto}.ed-top-right{flex-wrap:wrap}.ed-top-state{flex:1 1 100%;padding:8px 12px}.ed-top-right .btn{flex:1 1 50%;border-top:1px solid var(--border)}.ed-task-row{grid-template-columns:30px minmax(0,1fr) 90px}.ed-task-kind{display:none}}.qs-wrap{display:flex;flex-direction:column;gap:22px}.qs{border:1px solid var(--border);background:var(--bg2)}.qs-k{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--orange);padding:10px 16px;border-bottom:1px solid var(--border)}.qs:nth-of-type(2) .qs-k{color:var(--accent)}.qs:nth-of-type(3) .qs-k{color:var(--gold,var(--orange))}.qs-head{display:flex;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.qs-head-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}.qs-head h3{margin:0;font-family:var(--font-display);font-size:var(--fs-5);letter-spacing:-.01em}.qs-sub{color:var(--text-dim);font-size:var(--fs-2)}.qs-select{margin-left:auto;max-width:320px}.qs-empty{padding:18px 16px;color:var(--text-dim);font-size:var(--fs-3);line-height:1.55;max-width:72ch}.qs-cols{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 90px 90px;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);border-bottom:1px solid var(--border)}.qs-cols>span{padding:9px 12px;border-right:1px solid var(--border-soft)}.qs-cols>span:last-child{border-right:0}.qs-cols.one{grid-template-columns:1fr}.qs-cols.pace{grid-template-columns:220px minmax(0,1fr) 90px 90px 90px}.qs-row{display:grid;grid-template-columns:44px minmax(0,1fr) 90px 90px 90px;border-bottom:1px solid var(--border-soft);align-items:stretch}.qs-row:last-of-type{border-bottom:0}.qs-row.break{background:color-mix(in srgb,var(--red) 7%,var(--bg2))}.qs-row>span{padding:10px 12px;border-right:1px solid var(--border-soft);display:flex;align-items:center;min-width:0}.qs-row>span:last-child{border-right:0}.qs-n{font:400 11px/1 var(--mono);color:var(--text-mute);justify-content:center}.qs-title{flex-direction:column;align-items:stretch !important;gap:6px}.qs-title-text{display:flex;align-items:center;gap:8px;font-size:var(--fs-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-row.break .qs-title-text{font-weight:600}.qs-badge{font:700 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 55%,var(--border));padding:3px 5px;font-style:normal}.qs-bar{display:flex;height:10px;background:var(--bg3);width:100%}.qs-bar i{display:block;height:100%}.qs-bar i.r{background:var(--accent)}.qs-bar i.d{background:var(--red)}.qs-bar i.g{background:var(--green)}.qs-bar i.o{background:var(--orange)}.qs-bar i.p{background:color-mix(in srgb,var(--accent) 75%,var(--text))}.qs-num{font-family:var(--mono);font-size:var(--fs-2);font-variant-numeric:tabular-nums}.qs-num.bad{color:var(--red);font-weight:700}.qs-num.warn{color:var(--orange)}.qs-num.good{color:var(--green)}.qs-num.mute{color:var(--text-mute)}.qs-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid var(--border);font:400 11px/1 var(--mono);color:var(--text-mute)}.qs-legend span{display:inline-flex;align-items:center;gap:6px}.qs-legend i{width:10px;height:10px;background:var(--accent)}.qs-legend i.d{background:var(--red)}.qs-advice{display:grid;grid-template-columns:1fr;gap:6px;padding:14px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--orange) 5%,var(--bg2))}.qs:nth-of-type(2) .qs-advice{background:color-mix(in srgb,var(--accent) 6%,var(--bg2))}.qs-advice-k{font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.qs-advice p{margin:0;font-size:var(--fs-3);line-height:1.55;max-width:90ch}.qs-path{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr)}.qs-path-src{border-right:1px solid var(--border)}.qs-src{padding:12px 14px;border-bottom:1px solid var(--border-soft);display:flex;flex-direction:column;gap:6px}.qs-src:last-child{border-bottom:0}.qs-src-line{display:flex;align-items:baseline;gap:10px}.qs-src-line b{font-weight:600}.qs-src-n{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums}.qs-src-p{font-family:var(--mono);color:var(--text-mute);font-size:var(--fs-1);min-width:34px;text-align:right}.qs-src-note{font:400 11px/1.4 var(--mono);color:var(--text-mute)}.qs-step{display:grid;grid-template-columns:44px minmax(0,1fr);border-bottom:1px solid var(--border-soft)}.qs-step:last-child{border-bottom:0}.qs-step .qs-n{padding:14px 12px;border-right:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center}.qs-step-main{padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}.qs-step-line{display:flex;align-items:baseline;gap:10px}.qs-step-line b{font-weight:600}.qs-step-n{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums}.qs-step-d{font-family:var(--mono);font-size:var(--fs-1);color:var(--orange);min-width:40px;text-align:right}.qs-step-d.bad{color:var(--red)}.qs-pace{display:grid;grid-template-columns:220px minmax(0,1fr) 90px 90px 90px;border-bottom:1px solid var(--border-soft);align-items:stretch}.qs-pace:last-child{border-bottom:0}.qs-pace>span{padding:10px 12px;border-right:1px solid var(--border-soft);display:flex;align-items:center;min-width:0}.qs-pace>span:last-child{border-right:0}.qs-pace-course{gap:10px}.qs-pace-course>span{display:flex;flex-direction:column;min-width:0}.qs-pace-course b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-pace-course small{font:400 11px/1.4 var(--mono);color:var(--text-mute)}.qs-dirbar{flex:none;width:4px;align-self:stretch;background:var(--accent)}.qs-pace-bars{flex-direction:column;align-items:stretch !important;gap:6px}.qs-pace-line{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px}.qs-pace-line i.k{font:500 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);font-style:normal}@media (max-width:1023px){.qs-path{grid-template-columns:1fr}.qs-path-src{border-right:0;border-bottom:1px solid var(--border)}.qs-cols,.qs-row{grid-template-columns:36px minmax(0,1fr) 70px 70px}.qs-cols>span:last-child,.qs-row>span:last-child{display:none}.qs-cols.pace,.qs-pace{grid-template-columns:150px minmax(0,1fr) 80px}.qs-cols.pace>span:nth-child(3),.qs-pace>span:nth-child(3),.qs-cols.pace>span:nth-child(4),.qs-pace>span:nth-child(4){display:none}.qs-select{margin-left:0;width:100%;max-width:none}}@media (max-width:640px){.qs-cols,.qs-row{grid-template-columns:30px minmax(0,1fr) 60px}.qs-cols>span:nth-child(3),.qs-row>span:nth-child(3){display:none}.qs-cols.pace,.qs-pace{grid-template-columns:minmax(0,1fr) 70px}.qs-cols.pace>span:nth-child(2),.qs-pace>span:nth-child(2){display:none}}.v2a-scroll{overflow-x:auto}.v2a-tasks td,.v2a-tasks th{vertical-align:middle;white-space:nowrap}.v2a-tasks td.v2a-prompt{white-space:normal;max-width:44ch}.v2a-tasks tr.warn td.v2a-prompt{color:var(--text-dim)}.v2a-tasks td.v2a-acts{display:flex;gap:6px;align-items:center}.v2a-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}.v2a-problems{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-height:50vh;overflow-y:auto}.v2a-problem{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:10px;padding:8px 10px;border:1px solid var(--border);background:color-mix(in srgb,var(--orange) 6%,var(--bg2));font-size:var(--fs-2)}.v2a-problem.err{background:color-mix(in srgb,var(--red) 8%,var(--bg2))}.v2a-problem b{font-weight:500;color:var(--text-dim)}.v2a-est{margin-top:12px;font:400 var(--fs-1)/1.6 var(--mono);color:var(--text-dim)}.v2a-table th{white-space:nowrap}.v2a-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.v2a-table td:has(.v2a-status){min-width:150px}.v2a-table td.ok{color:var(--green)}.v2a-table td.part{color:var(--orange)}.v2a-status{padding:4px 8px;font-size:var(--fs-2);width:auto;min-width:130px}.v2a-status.published{color:var(--green)}.v2a-status.ready{color:var(--accent)}.v2a-status.review{color:var(--orange)}@media (max-width:640px){.v2a-problem{grid-template-columns:1fr}}