/* ============ LEARNING STATUS V1 ============ */
.learning-status-v1{--ls-blue:#2474ea;--ls-green:#18a66f;--ls-purple:#7451e8;--ls-pink:#eb4f7d;color:var(--ink);min-width:0}
.lsv1-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:2px 2px 0}
.lsv1-head h1{margin:0;font-size:26px;font-weight:900;letter-spacing:-.045em;color:var(--ink)}
.lsv1-head p{margin:6px 0 0;font-size:13px;color:var(--ink-faint);line-height:1.5}
.lsv1-tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 16px rgba(30,42,66,.05)}
.lsv1-tabs button{height:38px;min-width:104px;padding:0 18px;border:0;border-radius:9px;background:transparent;color:var(--ink-soft);font:800 13px var(--font);cursor:pointer;transition:.15s ease}
.lsv1-tabs button:hover{background:var(--bg-soft);color:var(--ink)}
.lsv1-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 6px 14px rgba(var(--accent-rgb),.22)}

.lsv1-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.lsv1-summary article{position:relative;display:flex;align-items:center;gap:14px;min-height:92px;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 8px 24px rgba(31,43,66,.055);overflow:hidden}
.lsv1-summary article:after{content:"";position:absolute;right:-26px;bottom:-36px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--tone) 8%,transparent)}
.lsv1-summary article>span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;flex:0 0 auto;background:color-mix(in srgb,var(--tone) 12%,#fff);color:var(--tone)}
.lsv1-summary article>span.blue{--tone:var(--ls-blue)}.lsv1-summary article>span.green{--tone:var(--ls-green)}.lsv1-summary article>span.purple{--tone:var(--ls-purple)}.lsv1-summary article>span.pink{--tone:var(--ls-pink)}
.lsv1-summary article:has(>span.blue){--tone:var(--ls-blue)}.lsv1-summary article:has(>span.green){--tone:var(--ls-green)}.lsv1-summary article:has(>span.purple){--tone:var(--ls-purple)}.lsv1-summary article:has(>span.pink){--tone:var(--ls-pink)}
.lsv1-summary .ic{width:21px;height:21px;stroke-width:1.9}
.lsv1-summary article>div{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column}
.lsv1-summary small{font-size:11.5px;color:var(--ink-faint);font-weight:750}
.lsv1-summary strong{margin-top:2px;font-size:22px;line-height:1.25;font-weight:900;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lsv1-summary em{margin-top:3px;font-size:10.5px;color:var(--ink-faint);font-style:normal}

.lsv1-layout{display:grid;grid-template-columns:238px minmax(0,1fr) 286px;gap:15px;align-items:start}
.lsv1-subject-list,.lsv1-selected,.lsv1-small-card,.lsv1-check-card,.lsv1-insight,.lsv1-placeholder{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(31,43,66,.055)}
.lsv1-subject-list{padding:15px 10px;overflow:hidden}
.lsv1-section-title,.lsv1-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.lsv1-section-title{padding:0 7px 12px}
.lsv1-section-title span,.lsv1-card-head>div>span{display:block;margin-bottom:3px;color:var(--accent);font-size:8.5px;font-weight:900;letter-spacing:.14em}
.lsv1-section-title h2,.lsv1-card-head h3{margin:0;color:var(--ink);font-weight:880;letter-spacing:-.03em}
.lsv1-section-title h2{font-size:15px}.lsv1-card-head h3{font-size:14px}
.lsv1-section-title>small{margin-top:12px;color:var(--ink-faint);font-size:9.5px}
.lsv1-subject-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 12px;align-items:center;gap:9px;width:100%;min-height:82px;margin-bottom:7px;padding:10px 9px;border:1px solid transparent;border-radius:14px;background:#fff;color:var(--ink);font-family:var(--font);text-align:left;cursor:pointer;transition:.15s ease}
.lsv1-subject-row:last-child{margin-bottom:0}
.lsv1-subject-row:hover{background:#fafcff;border-color:color-mix(in srgb,var(--sc) 17%,var(--line))}
.lsv1-subject-row.active{border-color:var(--sc);background:linear-gradient(145deg,#fff,var(--ss));box-shadow:0 5px 15px color-mix(in srgb,var(--sc) 12%,transparent),inset 3px 0 0 var(--sc)}
.lsv1-subject-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--ss);color:var(--sc);font-size:15px;font-weight:900;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 15%,transparent)}
.lsv1-subject-row>div{display:flex;min-width:0;flex-direction:column}
.lsv1-subject-row b{font-size:13.5px}.lsv1-subject-row small{margin-top:2px;color:var(--ink-faint);font-size:10.5px}
.lsv1-subject-row>div>i{display:block;height:5px;margin-top:7px;border-radius:99px;background:var(--bg-soft2);overflow:hidden}
.lsv1-subject-row>div>i em{display:block;height:100%;border-radius:99px;background:var(--sc)}
.lsv1-subject-row>strong{font-size:11px;color:var(--sc)}
.lsv1-chevron{color:var(--ink-faint);font-size:18px}

.lsv1-center{display:flex;min-width:0;flex-direction:column;gap:15px}
.lsv1-selected{padding:16px}
.lsv1-selected-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.lsv1-selected-name{display:flex;align-items:center;gap:10px}
.lsv1-selected-name>span{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:11px;background:var(--ss);color:var(--sc);font-size:14px;font-weight:900}
.lsv1-selected-name small{display:block;color:var(--ink-faint);font-size:9px;font-weight:800}.lsv1-selected-name h2{margin:1px 0 0;font-size:19px;letter-spacing:-.04em}
.lsv1-selected-head select{height:36px;padding:0 30px 0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-soft);font:750 12px var(--font)}
.lsv1-selected-grid{display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:12px}
.lsv1-trend-card,.lsv1-metric-stack{border:1px solid var(--line);border-radius:14px;background:#fcfdff}
.lsv1-trend-card{padding:14px 14px 8px;min-width:0}
.lsv1-card-head button{height:27px;padding:0 4px;border:0;background:transparent;color:var(--accent);font:800 10px var(--font);cursor:pointer}
.lsv1-legend{display:flex;align-items:center;gap:5px;color:var(--ink-faint);font-size:9.5px}
.lsv1-legend span{display:inline-block;width:14px;height:3px;border-radius:99px}.lsv1-legend span.plan{background:repeating-linear-gradient(90deg,#8ea0ba 0 4px,transparent 4px 7px)}
.lsv1-trend-svg{display:block;width:100%;height:auto;margin-top:5px;overflow:visible}.lsv1-trend-svg text{fill:var(--ink-faint);font:9px var(--font)}.lsv1-trend-svg .grid{stroke:#e8edf4;stroke-width:1}.lsv1-trend-svg .plan{fill:none;stroke:#8ea0ba;stroke-width:2;stroke-dasharray:6 5}.lsv1-trend-svg .actual{fill:none;stroke:var(--line);stroke:var(--line);stroke-width:3}.lsv1-trend-svg .actual[style]{stroke:var(--line);stroke:var(--line)}
.lsv1-trend-svg .actual{stroke:var(--line)}
.lsv1-trend-svg .actual[style*="--line"]{stroke:var(--line)}
.lsv1-trend-svg .actual-dot{fill:var(--line)}.lsv1-trend-svg .plan-dot{fill:#fff;stroke:#8ea0ba;stroke-width:1.5}
.lsv1-trend-svg path.actual,.lsv1-trend-svg circle.actual-dot{stroke:var(--line);fill:var(--line)}
.lsv1-trend-svg path.actual[style],.lsv1-trend-svg circle.actual-dot[style]{stroke:var(--line);fill:var(--line)}
.lsv1-metric-stack{display:flex;flex-direction:column;padding:7px 12px}
.lsv1-metric-stack>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px;padding:11px 2px;border-bottom:1px solid var(--line)}.lsv1-metric-stack>div:last-child{border-bottom:0}
.lsv1-metric-stack span{font-size:10px;color:var(--ink-faint)}.lsv1-metric-stack strong{font-size:14px}.lsv1-metric-stack small{grid-column:1/-1;color:var(--ink-faint);font-size:8.5px}
.lsv1-metric-stack .good strong{color:var(--good)}.lsv1-metric-stack .warn strong{color:var(--warn)}

.lsv1-lower{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lsv1-small-card{min-height:215px;padding:14px;min-width:0}
.lsv1-book-body{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;margin-top:18px}
.lsv1-book-cover{display:flex;align-items:center;justify-content:center;width:58px;height:84px;border-radius:7px;background:linear-gradient(155deg,color-mix(in srgb,var(--sc) 75%,#fff),var(--sc));color:#fff;font-size:19px;font-weight:900;box-shadow:0 8px 17px color-mix(in srgb,var(--sc) 20%,transparent)}
.lsv1-book-body>div{display:flex;min-width:0;flex-direction:column}.lsv1-book-body b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lsv1-book-body small{margin-top:3px;color:var(--ink-faint);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lsv1-book-body strong{margin-top:14px;font-size:21px}.lsv1-book-body i{display:block;height:6px;margin-top:5px;border-radius:99px;background:var(--bg-soft2);overflow:hidden}.lsv1-book-body i em{display:block;height:100%;border-radius:99px}.lsv1-book-body p{margin:5px 0 0;color:var(--ink-faint);font-size:9.5px}
.lsv1-review-body{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;margin-top:18px}
.lsv1-donut{position:relative;width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--good) calc(var(--pct)*1%),#edf1f5 0)}.lsv1-donut:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.lsv1-donut>span{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.lsv1-donut strong{font-size:19px}.lsv1-donut small{color:var(--ink-faint);font-size:9px}
.lsv1-review-body>div:last-child p{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:6px;margin:0 0 8px}.lsv1-review-body p i{width:7px;height:7px;border-radius:50%}.lsv1-review-body p i.good{background:var(--good)}.lsv1-review-body p i.warn{background:var(--warn)}.lsv1-review-body p span{font-size:10px;color:var(--ink-soft)}.lsv1-review-body p strong{font-size:11px}.lsv1-review-body>div:last-child>small{display:block;margin-top:12px;color:var(--ink-faint);font-size:9.5px;line-height:1.5}
.lsv1-exam-body{display:flex;align-items:center;flex-direction:column;margin-top:18px;text-align:center}.lsv1-exam-body>small{color:var(--ink-faint);font-size:9.5px}.lsv1-exam-body>strong{margin-top:7px;font-size:30px;letter-spacing:-.04em}.lsv1-exam-body>span{margin-top:2px;color:var(--accent);font-size:10.5px;font-weight:800}.lsv1-exam-body>button{width:100%;height:34px;margin-top:18px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:9px;background:var(--accent-soft);color:var(--accent);font:800 11px var(--font);cursor:pointer}
.lsv1-empty-small{display:flex;align-items:center;justify-content:center;min-height:160px;flex-direction:column;text-align:center}.lsv1-empty-small>span{display:flex;color:var(--ink-faint)}.lsv1-empty-small .ic{width:27px;height:27px}.lsv1-empty-small b{margin-top:10px;font-size:11.5px}.lsv1-empty-small button{margin-top:12px;border:0;background:transparent;color:var(--accent);font:800 10.5px var(--font);cursor:pointer}

.lsv1-right{display:flex;flex-direction:column;gap:13px}
.lsv1-check-card,.lsv1-insight{padding:15px}
.lsv1-check{display:flex;align-items:flex-start;gap:9px;padding:10px 3px;border-top:1px solid var(--line)}.lsv1-check>span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex:0 0 auto;font-size:10px;font-weight:900}.lsv1-check.good>span{background:var(--good-soft);color:var(--good)}.lsv1-check.warn>span{background:var(--warn-soft);color:var(--warn)}.lsv1-check.neutral>span{background:var(--bg-soft);color:var(--ink-faint)}.lsv1-check>div{display:flex;min-width:0;flex-direction:column}.lsv1-check b{font-size:11.5px}.lsv1-check small{margin-top:3px;color:var(--ink-faint);font-size:9.5px;line-height:1.45}
.lsv1-insight{background:linear-gradient(145deg,#fff 0%,#f6f8ff 100%);border-color:rgba(var(--accent-rgb),.18)}
.lsv1-insight-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.lsv1-insight-title>span{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.lsv1-insight-title .ic{width:17px;height:17px}.lsv1-insight-title small{display:block;color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.14em}.lsv1-insight-title h2{margin:2px 0 0;font-size:14px}
.lsv1-insight-item{padding:10px 11px;margin-top:7px;border-radius:10px;background:#fff;border:1px solid var(--line)}.lsv1-insight-item b{font-size:10.5px}.lsv1-insight-item p{margin:4px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.55}.lsv1-insight-item.good b{color:var(--good)}.lsv1-insight-item.warn b{color:var(--warn)}.lsv1-insight-item.focus b{color:var(--accent)}

.lsv1-placeholder{display:flex;align-items:center;justify-content:center;min-height:560px;padding:40px;flex-direction:column;text-align:center;background:linear-gradient(145deg,#fff,#f7f9fd)}
.lsv1-placeholder-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:20px;background:var(--accent-soft);color:var(--accent)}.lsv1-placeholder-icon svg{width:29px;height:29px}
.lsv1-placeholder>small{margin-top:18px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.16em}.lsv1-placeholder h2{margin:8px 0 0;font-size:22px;letter-spacing:-.04em}.lsv1-placeholder p{max-width:560px;margin:10px 0 0;color:var(--ink-faint);font-size:12.5px;line-height:1.7}.lsv1-placeholder>div{display:flex;align-items:center;gap:14px;margin-top:22px}.lsv1-placeholder button{height:38px;padding:0 15px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:800 12px var(--font);cursor:pointer}.lsv1-placeholder>div span{color:var(--ink-faint);font-size:10.5px}

@media(max-width:1320px){.lsv1-layout{grid-template-columns:215px minmax(0,1fr) 260px}.lsv1-selected-grid{grid-template-columns:minmax(0,1fr) 180px}.lsv1-summary strong{font-size:19px}.lsv1-subject-row{grid-template-columns:34px minmax(0,1fr) auto 10px}.lsv1-subject-icon{width:34px;height:34px}.lsv1-review-body{grid-template-columns:78px minmax(0,1fr)}.lsv1-donut{width:76px;height:76px}}
@media(max-width:1080px){.lsv1-summary{grid-template-columns:repeat(2,1fr)}.lsv1-layout{grid-template-columns:210px minmax(0,1fr)}.lsv1-right{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.lsv1-lower{grid-template-columns:repeat(2,1fr)}.lsv1-lower .lsv1-small-card:last-child{grid-column:1/-1}.lsv1-selected-grid{grid-template-columns:1fr}.lsv1-metric-stack{display:grid;grid-template-columns:repeat(2,1fr)}.lsv1-metric-stack>div:nth-child(2){border-right:0}.lsv1-metric-stack>div{border-right:1px solid var(--line)}}
@media(max-width:760px){.lsv1-head{align-items:stretch;flex-direction:column}.lsv1-tabs{width:100%}.lsv1-tabs button{flex:1;min-width:0;padding:0 8px}.lsv1-summary{display:flex;overflow-x:auto}.lsv1-summary article{min-width:210px}.lsv1-layout{display:flex;flex-direction:column}.lsv1-subject-list{display:flex;gap:8px;width:100%;overflow-x:auto;box-sizing:border-box}.lsv1-subject-list>.lsv1-section-title{display:none}.lsv1-subject-row{min-width:165px;margin:0}.lsv1-center{width:100%}.lsv1-right{display:flex;width:100%}.lsv1-lower{grid-template-columns:1fr}.lsv1-lower .lsv1-small-card:last-child{grid-column:auto}.lsv1-placeholder{min-height:420px}.lsv1-placeholder>div{flex-direction:column}}
@media(max-width:480px){.lsv1-head h1{font-size:22px}.lsv1-head p{font-size:11.5px}.lsv1-summary article{min-width:190px;padding:13px}.lsv1-selected{padding:12px}.lsv1-selected-head{align-items:flex-start}.lsv1-selected-grid{gap:8px}.lsv1-trend-card{padding:10px 8px}.lsv1-metric-stack{grid-template-columns:1fr}.lsv1-metric-stack>div{border-right:0}.lsv1-small-card,.lsv1-check-card,.lsv1-insight{padding:13px}}


/* ============ LEARNING ROADMAP V2 ============ */
.lsv2-road-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:22px;overflow:hidden;margin-bottom:14px;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 88% 12%,rgba(116,81,232,.13),transparent 34%),linear-gradient(145deg,var(--paper),#f8f7ff);box-shadow:var(--shadow-sm)}
.lsv2-road-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(116,81,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(116,81,232,.04) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to right,#000,transparent 78%)}
.lsv2-road-title,.lsv2-road-actions{position:relative;z-index:1;display:flex;align-items:center;gap:14px}
.lsv2-road-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border:1px solid #ddd7ff;border-radius:15px;color:var(--ls-purple);background:#f0edff}
.lsv2-road-icon svg{width:21px;height:21px}
.lsv2-road-title small,.lsv2-road-stage>small,.lsv2-road-subject-progress>div>small,.lsv2-road-empty small{display:block;margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--ls-purple)}
.lsv2-road-title h2,.lsv2-road-stage h2,.lsv2-road-empty h2{margin:0;color:var(--ink);font-size:20px;font-weight:900;letter-spacing:-.035em}
.lsv2-road-title p,.lsv2-road-stage p,.lsv2-road-empty p{margin:5px 0 0;color:var(--ink-faint);font-size:12px;line-height:1.55}
.lsv2-road-actions button,.lsv2-road-empty button{height:38px;padding:0 15px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font-weight:800;cursor:pointer}
.lsv2-road-actions button.primary,.lsv2-road-empty button.primary{border-color:#6f4fe7;background:#6f4fe7;color:#fff;box-shadow:0 8px 18px rgba(111,79,231,.18)}
.lsv2-road-count{font-size:12px;color:var(--ink-faint);white-space:nowrap}.lsv2-road-count b{color:var(--ink)}
.lsv2-road-board{padding:18px 20px 22px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow-sm)}
.lsv2-road-legend{display:flex;align-items:center;gap:16px;margin-bottom:14px;color:var(--ink-faint);font-size:11px}
.lsv2-road-legend>span{display:flex;align-items:center;gap:6px}.lsv2-road-legend>small{margin-left:auto;color:var(--ink-faint)}
.lsv2-road-legend i{display:block;width:10px;height:10px;border:2px solid #b8c0cc;border-radius:50%;background:#fff}
.lsv2-road-legend i.done{border-color:#9aa5b3;background:#9aa5b3}.lsv2-road-legend i.current{border-color:#6f4fe7;background:#6f4fe7;box-shadow:0 0 0 4px rgba(111,79,231,.12)}
.lsv2-road-scroll{overflow-x:auto;padding:2px 2px 18px}
.lsv2-road-map{min-width:780px}
.lsv2-road-months,.lsv2-road-row{display:grid;grid-template-columns:132px minmax(0,1fr)}
.lsv2-road-months{align-items:end;margin-bottom:6px}
.lsv2-road-months>span{grid-column:1}.lsv2-road-months b{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-column:2;text-align:center}
.lsv2-road-months b{display:block;padding-bottom:9px;border-bottom:1px solid var(--line);color:var(--ink-faint);font-size:11px;font-weight:800}
.lsv2-road-months{grid-template-columns:132px repeat(6,minmax(92px,1fr))}
.lsv2-road-months b{grid-column:auto}
.lsv2-road-months b.today{color:var(--ls-purple)}.lsv2-road-months b em{position:absolute;left:50%;top:-11px;transform:translateX(-50%);font-size:7px;font-style:normal;letter-spacing:.08em}
.lsv2-road-row{align-items:center;min-height:76px;border-bottom:1px solid #edf0f4}.lsv2-road-row:last-child{border-bottom:0}
.lsv2-road-subject{display:flex;align-items:center;gap:9px;min-width:0}
.lsv2-road-subject>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--route) 24%,#fff);border-radius:11px;background:var(--route-soft);color:var(--route);font-size:12px;font-weight:900}
.lsv2-road-subject b,.lsv2-road-subject small{display:block}.lsv2-road-subject b{color:var(--ink);font-size:13px}.lsv2-road-subject small{margin-top:3px;color:var(--ink-faint);font-size:9px}
.lsv2-road-line{position:relative;display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));align-items:center;min-height:76px}
.lsv2-road-line:before{content:"";position:absolute;left:7%;right:7%;top:35px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--route) 18%,#e9edf2)}
.lsv2-road-station{position:relative;z-index:1;display:grid;justify-items:center;align-content:start;gap:7px;height:68px;padding:25px 4px 0;border:0;background:transparent;color:var(--ink-faint);cursor:pointer}
.lsv2-road-station i{display:block;width:15px;height:15px;border:3px solid var(--route);border-radius:50%;background:var(--paper);transition:.18s ease}
.lsv2-road-station.done i{background:var(--route)}.lsv2-road-station.current i{width:23px;height:23px;margin-top:-4px;background:var(--route);box-shadow:0 0 0 5px color-mix(in srgb,var(--route) 15%,transparent)}
.lsv2-road-station.active i{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--route)}
.lsv2-road-station span{display:block;overflow:hidden;width:100%;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);font-size:9px;line-height:1.25}
.lsv2-road-station.has-phase span{color:var(--ink);font-weight:750}.lsv2-road-station.empty{opacity:.28}.lsv2-road-station.empty:hover{opacity:.8}.lsv2-road-station.empty i{border-style:dashed}
.lsv2-road-focus{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;margin-top:14px}
.lsv2-road-stage,.lsv2-road-subject-progress{padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--route-soft) 72%,#fff),var(--paper));box-shadow:var(--shadow-sm)}
.lsv2-road-stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.lsv2-road-stage-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--route-soft);color:var(--route);font-size:10px;font-weight:900}
.lsv2-road-stage-top>div{display:flex;gap:6px}.lsv2-road-stage-top button{height:31px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.72);color:var(--ink-on-soft);font-size:10px;font-weight:800;cursor:pointer}
.lsv2-road-stage h2{max-width:760px;font-size:22px;line-height:1.35}
.lsv2-road-progress{margin-top:22px;padding-top:15px;border-top:1px solid color-mix(in srgb,var(--route) 15%,var(--line))}
.lsv2-road-progress>div{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--ink-faint);font-size:11px}.lsv2-road-progress b{color:var(--ink)}
.lsv2-road-progress>i,.lsv2-road-meter>i{display:block;overflow:hidden;height:7px;border-radius:999px;background:color-mix(in srgb,var(--route) 14%,#edf0f4)}
.lsv2-road-progress em,.lsv2-road-meter em{display:block;height:100%;border-radius:inherit;background:var(--route)}
.lsv2-road-subject-progress{display:grid;align-content:start;gap:12px;background:var(--paper)}
.lsv2-road-subject-progress h3{margin:0;color:var(--ink);font-size:15px}.lsv2-road-meter{display:grid;grid-template-columns:56px minmax(70px,1fr) 38px;align-items:center;gap:8px}
.lsv2-road-meter>span{font-size:11px;font-weight:850;color:var(--ink)}.lsv2-road-meter>b{font-size:10px;text-align:right;color:var(--route)}.lsv2-road-meter>small{grid-column:2/4;margin-top:-5px;overflow:hidden;color:var(--ink-faint);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.lsv2-road-empty{display:flex;align-items:center;gap:18px;margin-top:14px;padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#faf9ff,var(--paper));box-shadow:var(--shadow-sm)}
.lsv2-road-empty>span{display:grid;place-items:center;width:54px;height:54px;flex:0 0 auto;border-radius:17px;background:#f0edff;color:var(--ls-purple)}.lsv2-road-empty>div:last-child{display:flex;gap:8px;margin-left:auto}
@media(max-width:980px){.lsv2-road-hero{align-items:flex-start}.lsv2-road-actions{align-items:flex-end;flex-direction:column}.lsv2-road-focus{grid-template-columns:1fr}.lsv2-road-subject-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.lsv2-road-subject-progress>div{grid-column:1/-1}}
@media(max-width:680px){.lsv2-road-hero{padding:17px;flex-direction:column}.lsv2-road-title{align-items:flex-start}.lsv2-road-title h2{font-size:18px}.lsv2-road-actions{width:100%;align-items:center;flex-direction:row;justify-content:space-between}.lsv2-road-count{font-size:10px}.lsv2-road-board{padding:14px 12px 16px}.lsv2-road-legend{gap:10px;flex-wrap:wrap}.lsv2-road-legend>small{width:100%;margin-left:0}.lsv2-road-focus{margin-top:10px}.lsv2-road-stage,.lsv2-road-subject-progress{padding:16px;border-radius:18px}.lsv2-road-stage-top{align-items:flex-start;flex-direction:column}.lsv2-road-stage h2{font-size:19px}.lsv2-road-subject-progress{grid-template-columns:1fr}.lsv2-road-subject-progress>div{grid-column:auto}.lsv2-road-empty{align-items:flex-start;flex-wrap:wrap;padding:20px}.lsv2-road-empty>div:last-child{width:100%;margin-left:0}}
