.progress[data-v-354c660a]{display:flex;align-items:center;position:relative}.progress .onehundred-icon[data-v-354c660a]{position:absolute;width:24px;height:24px;border-radius:50%;background:#ffbf00;display:flex;align-items:center;justify-content:center}.progress .onehundred-icon svg[data-v-354c660a]{font-size:16px;color:#43266d}.progress .outside[data-v-354c660a]{flex:1;padding:3px;border-radius:15px;height:30px}.progress .bar[data-v-354c660a]{flex:1;width:100%;height:100%;display:flex;align-items:center;margin-right:10px;border-radius:15px;overflow:hidden}.progress .bar>div[data-v-354c660a]{height:100%}.progress .bar .left[data-v-354c660a]{border-radius:15px 0 0 15px}.progress .bar .right[data-v-354c660a]{background-color:#fff;border-radius:0 15px 15px 0}.progress .text[data-v-354c660a]{width:100px}.tooltip[data-v-354c660a]{display:flex;gap:5px;min-width:320px}.tooltip>div[data-v-354c660a]{flex:1;white-space:nowrap}.cheatsheet[data-v-354c660a]{padding:80px 24px 40px;max-width:1400px;margin:0 auto;background:#f8fafc;min-height:100vh}.hero[data-v-354c660a]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:16px 14px;padding:18px 22px;margin-bottom:24px;background:linear-gradient(135deg,#fff,#f1f5f9);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid #e2e8f0}.back-btn[data-v-354c660a]{grid-row:1;align-self:start;width:36px;height:36px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;color:#475569}.back-btn[data-v-354c660a]:hover{border-color:#2563eb;color:#2563eb}.hero-main[data-v-354c660a]{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.hero-title h2[data-v-354c660a]{margin:0;font-size:24px;color:#0f172a;font-weight:800;letter-spacing:-.5px}.hero-title .subtitle[data-v-354c660a]{margin:4px 0 0;color:#64748b;font-size:13px}.hero-tabs[data-v-354c660a]{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0}.hero-tabs .tab[data-v-354c660a]{padding:6px 14px;border:none;background:transparent;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;color:#64748b;transition:all .15s ease}.hero-tabs .tab[data-v-354c660a]:hover{color:#1e293b}.hero-tabs .tab.active[data-v-354c660a]{background:#fff;color:#4f46e5;box-shadow:0 1px 3px rgba(0,0,0,.08)}.hero-metrics[data-v-354c660a]{display:flex;gap:12px;align-items:stretch}.hero-metrics .metric[data-v-354c660a]{padding:8px 18px;border-radius:10px;text-align:center;min-width:96px}.hero-metrics .metric .num[data-v-354c660a]{font-size:26px;font-weight:800;color:#1e293b;font-family:JetBrains Mono,Consolas,monospace;line-height:1.05}.hero-metrics .metric .num .unit[data-v-354c660a]{font-size:14px;opacity:.7;margin-left:2px}.hero-metrics .metric .lbl[data-v-354c660a]{font-size:11px;color:#64748b;margin-top:4px}.hero-metrics .metric .lbl .hint[data-v-354c660a]{color:#f59e0b;font-weight:700}.hero-metrics .metric.primary[data-v-354c660a]{background:linear-gradient(135deg,#6366f1,#4f46e5)}.hero-metrics .metric.primary .num[data-v-354c660a]{color:#fff}.hero-metrics .metric.primary .lbl[data-v-354c660a]{color:hsla(0,0%,100%,.9)}.hero-metrics .metric.estimate[data-v-354c660a]{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.hero-metrics .metric.estimate .num[data-v-354c660a]{color:#fff}.hero-metrics .metric.estimate .lbl[data-v-354c660a]{color:hsla(0,0%,100%,.95)}.hero-metrics .metric.has-tooltip[data-v-354c660a]{position:relative;cursor:help}.hero-metrics .metric.has-tooltip .tooltip[data-v-354c660a]{visibility:hidden;opacity:0;position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:480px;padding:14px 16px;background:#1e293b;color:#e2e8f0;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.25);transition:opacity .15s ease,visibility .15s ease;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero-metrics .metric.has-tooltip .tooltip .tt-title[data-v-354c660a]{font-weight:700;font-size:14px;margin-bottom:8px;color:#fbbf24}.hero-metrics .metric.has-tooltip .tooltip .tt-table[data-v-354c660a]{width:100%;border-collapse:collapse;font-size:12px}.hero-metrics .metric.has-tooltip .tooltip .tt-table td[data-v-354c660a],.hero-metrics .metric.has-tooltip .tooltip .tt-table th[data-v-354c660a]{padding:6px 10px;border:1px solid #475569;white-space:nowrap}.hero-metrics .metric.has-tooltip .tooltip .tt-table th[data-v-354c660a]{background:#334155;color:#f1f5f9;font-weight:600}.hero-metrics .metric.has-tooltip .tooltip .tt-table tbody tr[data-v-354c660a]:nth-child(odd){background:#243149}.hero-metrics .metric.has-tooltip:focus-within .tooltip[data-v-354c660a],.hero-metrics .metric.has-tooltip:hover .tooltip[data-v-354c660a]{visibility:visible;opacity:1}.legend-strip[data-v-354c660a]{grid-row:2;grid-column:1/-1;display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px dashed #cbd5e1}.legend-line[data-v-354c660a]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.legend-line .legend-tag[data-v-354c660a]{flex-shrink:0;min-width:48px;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;text-align:center;color:#fff}.legend-line .legend-pill[data-v-354c660a]{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;font-size:12px;color:#334155;position:relative}.legend-line .legend-pill .dot[data-v-354c660a]{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.legend-line .legend-pill.has-stats[data-v-354c660a]{cursor:help;border-color:#0ea5e9}.legend-line .legend-pill.has-stats[data-v-354c660a]:after{content:"ⓘ";margin-left:2px;font-size:11px;color:#0ea5e9}.legend-line .legend-pill .cses-tooltip[data-v-354c660a]{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:100;width:480px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:12px;font-size:12px;color:#1e293b}.legend-line .legend-pill .cses-tooltip .tt-title[data-v-354c660a]{font-weight:600;font-size:13px;color:#0c4a6e;margin-bottom:6px}.legend-line .legend-pill .cses-tooltip .tt-table[data-v-354c660a]{width:100%;border-collapse:collapse;margin-bottom:8px;table-layout:fixed}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a],.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]{padding:3px 8px;text-align:left;border-bottom:1px solid #f1f5f9}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a]:first-child,.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]:first-child{width:22%}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a]:nth-child(2),.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]:nth-child(2){width:24%;text-align:right}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a]:nth-child(3),.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]:nth-child(3){width:18%;text-align:right}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a]:nth-child(4),.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]:nth-child(4){width:36%;padding-right:4px}.legend-line .legend-pill .cses-tooltip .tt-table th[data-v-354c660a]{background:#f8fafc;color:#64748b;font-weight:500}.legend-line .legend-pill .cses-tooltip .tt-table td[data-v-354c660a]{font-variant-numeric:tabular-nums}.legend-line .legend-pill .cses-tooltip .tt-table .bar[data-v-354c660a]{display:inline-block;height:8px;min-width:1px;background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:2px;vertical-align:middle}.legend-line .legend-pill .cses-tooltip .tt-foot[data-v-354c660a]{font-size:11px;color:#475569;line-height:1.5}.legend-line .legend-pill.has-stats:hover .cses-tooltip[data-v-354c660a]{display:block}@media print{.hero-metrics .metric.estimate[data-v-354c660a],.hero-metrics .metric.primary[data-v-354c660a]{background:#fff}.hero-metrics .metric.estimate .num[data-v-354c660a],.hero-metrics .metric.primary .num[data-v-354c660a]{color:#4f46e5}.hero-metrics .metric.estimate .lbl[data-v-354c660a],.hero-metrics .metric.primary .lbl[data-v-354c660a]{color:#64748b}.hero-tabs[data-v-354c660a]{display:none}}.loading-msg[data-v-354c660a]{text-align:center;padding:80px;color:#94a3b8;font-size:14px}.cards[data-v-354c660a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.card[data-v-354c660a]{background:#fff;border-radius:10px;border-top:3px solid #cbd5e1;box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.02);overflow:hidden;display:flex;flex-direction:column}.card-head[data-v-354c660a]{padding:12px 16px;border-bottom:1px solid #f1f5f9}.card-head .card-title-row[data-v-354c660a]{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head .course-label[data-v-354c660a]{font-size:16px;font-weight:700;color:#1e293b}.card-head .ver-badge[data-v-354c660a]{font-size:11px;font-family:JetBrains Mono,Consolas,monospace;padding:2px 8px;border:1px solid;border-radius:12px;font-weight:600}.card-head .meta-row[data-v-354c660a]{display:flex;gap:12px;margin-top:4px;flex-wrap:wrap}.card-head .meta-row .meta[data-v-354c660a]{font-size:11px;color:#64748b;font-family:JetBrains Mono,Consolas,monospace}.card-head .meta-row .meta.time-est[data-v-354c660a]{color:#d97706;font-weight:700}.weeks[data-v-354c660a]{list-style:none;margin:0;padding:8px 0;flex:1}.week[data-v-354c660a]{display:flex;align-items:baseline;gap:10px;padding:6px 16px;font-size:14px;border-bottom:1px solid #f8fafc}.week[data-v-354c660a]:last-child{border-bottom:0}.week[data-v-354c660a]:hover{background:#f8fafc}.week .wnum[data-v-354c660a]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;font-weight:700;min-width:36px;flex-shrink:0}.week .wtitle[data-v-354c660a]{color:#334155;line-height:1.4;flex:1}.week .wcount[data-v-354c660a]{flex-shrink:0;font-family:JetBrains Mono,Consolas,monospace;font-size:11px;font-weight:700;padding:1px 8px;border:1px solid;border-radius:10px;min-width:28px;text-align:center}.empty[data-v-354c660a]{padding:24px 16px;text-align:center;color:#94a3b8;font-size:13px;font-style:italic}@media print{.cheatsheet[data-v-354c660a]{padding:16px;background:#fff}.back-btn[data-v-354c660a]{display:none}.cards[data-v-354c660a]{grid-template-columns:repeat(2,1fr);gap:8px}.card[data-v-354c660a]{box-shadow:none;border:1px solid #cbd5e1;page-break-inside:avoid}}