:root{--ink-0:#0b0c0e;--ink-1:#111215;--ink-2:#18191d;--panel:#141519bd;--panel-raised:#ffffff09;--line:#ffffff12;--line-strong:#ffffff21;--text:#efede7;--text-2:#a7a8ae;--text-3:#6c6e75;--accent:#ff6a2b;--accent-strong:#ff7d45;--accent-soft:#ff6a2b21;--success:#7fd6a4;--cobalt:#2b55c9;--radius:14px;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-body:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--app-bar:64px;--index-width:268px;--inspector-width:404px;--gutter:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--text);background:var(--ink-0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{height:100%}body{background:var(--ink-0);min-width:320px;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}[hidden]{display:none!important}.icon{flex-shrink:0;width:16px;height:16px}.mono{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:11px}em{color:var(--accent);font-style:italic}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--accent);color:#140a05;border-radius:8px;padding:10px 16px;font-weight:600;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.app-bar{z-index:20;height:var(--app-bar);border-bottom:1px solid var(--line);background:var(--ink-0);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 20px;display:grid;position:relative}.brand{justify-self:start;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__mark{background:var(--accent);color:#1a0c05;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.brand__mark .icon{stroke-width:1.8px;width:20px;height:20px}.brand__name{letter-spacing:-.01em;font-size:14px;font-weight:600}.mode-switch{background:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.mode-switch__option{height:32px;color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;transition:color .2s,background .2s;display:inline-flex}.mode-switch__option .icon{width:15px;height:15px}.mode-switch__option:hover{color:var(--text)}.mode-switch__option[aria-pressed=true]{background:var(--text);color:var(--ink-0)}.app-bar__meta{justify-content:flex-end;align-items:center;gap:18px;display:flex}.progress-meter{grid-template-columns:auto auto;align-items:center;gap:5px 10px;display:grid}.progress-meter__label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-size:10px}.progress-meter__value{font-family:var(--font-mono);color:var(--text);justify-self:end;font-size:11px}.progress-meter__track{background:var(--line-strong);border-radius:2px;grid-column:1/-1;height:2px;overflow:hidden}.progress-meter__track span{background:var(--accent);width:0;height:100%;transition:width .6s var(--ease-out);display:block}.bike-chip{border:1px solid var(--line);height:32px;color:var(--text-2);border-radius:999px;align-items:center;gap:9px;padding:0 12px 0 8px;font-size:12px;display:inline-flex}.bike-chip__swatch{background:radial-gradient(circle at 35% 30%, #5c86ff, var(--cobalt) 55%, #142c73);width:16px;height:16px;box-shadow:0 0 0 2px var(--ink-0), 0 0 0 3px #5b85ff66;border-radius:50%}.workspace{height:calc(100svh - var(--app-bar));position:relative;overflow:hidden}.stage{--free-center:calc(50% + (var(--index-width) + var(--gutter)) / 2);position:absolute;inset:0}.stage.has-inspector{--free-center:calc(50% + (var(--index-width) - var(--inspector-width)) / 2)}.stage__backdrop{background:radial-gradient(55% 50% at 50% 46%,#404c6e52,#0000 70%),radial-gradient(80% 60% at 50% 100%,#ff6a2b0d,#0000 70%),linear-gradient(#121317 0%,#0b0c0e 100%);position:absolute;inset:0;overflow:hidden}.stage__backdrop:after{content:"";background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%)}.stage__watermark{font-family:var(--font-display);white-space:nowrap;color:#0000;-webkit-text-stroke:1px #ffffff0b;-webkit-user-select:none;user-select:none;font-size:clamp(160px,26vw,420px);font-style:italic;line-height:1;transition:opacity .8s;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.stage.has-inspector .stage__watermark{opacity:.4}.stage__canvas{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.stage.is-ready .stage__canvas{opacity:1}.stage__canvas canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.stage.is-backgrounded .stage__canvas{filter:saturate(.6)}.stage__title{top:34px;left:var(--free-center);text-align:center;pointer-events:none;width:min(560px,60%);transition:opacity .5s, transform .7s var(--ease-out), left .7s var(--ease-out);position:absolute;transform:translate(-50%)}.stage__title.is-hidden{opacity:0;transform:translate(-50%,-14px)}.stage__title h1{font-family:var(--font-display);letter-spacing:-.02em;margin:10px 0;font-size:clamp(44px,4.6vw,72px);font-weight:400;line-height:.95}.stage__title p:last-child{color:var(--text-2);font-size:14px}.touch-copy{display:none}@media (hover:none){.pointer-copy{display:none}.touch-copy{display:inline}}.stage-message{top:50%;left:var(--free-center);text-align:center;pointer-events:none;width:min(380px,80%);position:absolute;transform:translate(-50%,-50%)}.stage-message h2{font-family:var(--font-display);margin-bottom:8px;font-size:30px;font-weight:400}.stage-message p{color:var(--text-2);font-size:14px;line-height:1.55}.stage-message__spinner{border:1.5px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:0 auto 18px;animation:.9s linear infinite spin;display:none}.stage-message.is-loading .stage-message__spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.stage__hint{bottom:82px;left:var(--free-center);color:var(--text-3);letter-spacing:.12em;white-space:nowrap;pointer-events:none;transition:opacity .4s, left .7s var(--ease-out);font-size:10px;position:absolute;transform:translate(-50%)}.stage.has-inspector .stage__hint{opacity:0}.panel{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(22px)saturate(1.2);position:absolute;box-shadow:0 30px 60px -20px #0009,inset 0 1px #ffffff0a}.parts-index{top:var(--gutter);left:var(--gutter);bottom:var(--gutter);width:var(--index-width);flex-direction:column;display:flex;overflow:hidden}.parts-index__head{justify-content:space-between;align-items:baseline;padding:18px 18px 12px;display:flex}.parts-index__head h2{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;font-weight:400}.parts-index__count{color:var(--text-3)}.search-field{border:1px solid var(--line);height:38px;color:var(--text-3);background:#ffffff0a;border-radius:10px;align-items:center;gap:8px;margin:0 12px 6px;padding:0 12px;transition:border-color .2s;display:flex}.search-field:focus-within{border-color:#ff6a2b80}.search-field input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.search-field input::placeholder{color:var(--text-3)}.parts-index__list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;padding:4px 8px 12px;overflow-y:auto}.parts-group{padding-top:12px}.parts-group h3{color:var(--text-3);letter-spacing:.14em;padding:0 10px 6px;font-size:10px;font-weight:400}.part-row{text-align:left;width:100%;min-height:36px;color:var(--text-2);border-radius:9px;grid-template-columns:26px 1fr 16px;align-items:center;gap:6px;padding:0 10px;font-size:13.5px;transition:background .18s,color .18s;display:grid;position:relative}.part-row:hover{color:var(--text);background:#ffffff0b}.part-row__code{color:var(--text-3);font-size:10px;transition:color .18s}.part-row__state{color:var(--text-3);place-items:center;display:grid}.part-row__state .icon{width:13px;height:13px}.part-row.is-selected{background:var(--accent-soft);color:var(--text)}.part-row.is-selected .part-row__code{color:var(--accent)}.part-row.is-selected:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:0}.parts-index__empty{color:var(--text-3);padding:24px 10px;font-size:13px;line-height:1.6}.inspector{top:var(--gutter);right:var(--gutter);bottom:var(--gutter);width:var(--inspector-width);transform:translateX(calc(100% + var(--gutter) * 2));opacity:0;transition:transform .7s var(--ease-out), opacity .4s;overflow:hidden}.inspector.is-open{opacity:1;transform:none}.inspector__scroll{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;height:100%;padding:18px 24px 24px;overflow-y:auto}.inspector.is-open .inspector__scroll>*{animation:rise .6s var(--ease-out) both}.inspector.is-open .inspector__scroll>:nth-child(2){animation-delay:40ms}.inspector.is-open .inspector__scroll>:nth-child(3){animation-delay:80ms}.inspector.is-open .inspector__scroll>:nth-child(n+4){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.inspector__top{align-items:center;gap:10px;min-height:34px;margin-bottom:26px;display:flex}.inspector__top .icon-button{margin-left:auto}.inspector__code{color:var(--accent)}.inspector__code span{color:var(--text-3)}.category-tag{border:1px solid var(--line-strong);color:var(--text-2);border-radius:999px;padding:4px 8px;font-size:10px}.icon-button{width:34px;height:34px;color:var(--text-2);border-radius:10px;place-items:center;transition:background .2s,color .2s;display:grid}.icon-button:hover{color:var(--text);background:#ffffff0f}.inspector__title{font-family:var(--font-display);letter-spacing:-.02em;outline:none;margin-bottom:16px;font-size:46px;font-weight:400;line-height:.98}.inspector__summary{color:var(--text-2);margin-bottom:24px;font-size:15px;line-height:1.6}.tabs{border-bottom:1px solid var(--line);gap:22px;margin-bottom:22px;display:flex}.tabs button{color:var(--text-3);align-items:center;gap:7px;padding:0 0 12px;font-size:13px;font-weight:500;transition:color .2s;display:inline-flex;position:relative}.tabs button:hover{color:var(--text-2)}.tabs button[aria-selected=true]{color:var(--text)}.tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:1.5px;position:absolute;bottom:-1px;left:0;right:0}.tabs__count{background:var(--accent-soft);min-width:18px;height:18px;color:var(--accent);border-radius:999px;place-items:center;padding:0 5px;font-size:10px;display:grid}.tab-panel{gap:22px;display:grid}.tab-panel__empty{color:var(--text-3);font-size:13px}.detail-block h3,.notice-card h3{color:var(--text-3);letter-spacing:.14em;margin-bottom:9px;font-size:10px;font-weight:400}.detail-block p{color:var(--text);font-size:14px;line-height:1.6}.term-list{flex-wrap:wrap;gap:6px;display:flex}.term{background:var(--panel-raised);border:1px solid var(--line);color:var(--text-3);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;display:inline-flex}.term.is-linked{color:var(--text);border-color:var(--line-strong);transition:border-color .2s,background .2s,color .2s}.term.is-linked:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #ff6a2bb3}.term.is-linked:hover,.term.is-linked[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.term-list__hint{color:var(--text-3);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.term-list__hint .icon{width:13px;height:13px;color:var(--accent)}.notice-card{background:linear-gradient(135deg, var(--accent-soft), #ff6a2b08);border:1px solid #ff6a2b2e;border-radius:12px;grid-template-columns:18px 1fr;gap:12px;padding:16px;display:grid}.notice-card>.icon{color:var(--accent);margin-top:1px}.notice-card h3{color:var(--accent)}.notice-card p{color:var(--text);font-size:14px;line-height:1.6}.related-list{flex-wrap:wrap;gap:8px;display:flex}.related-chip{border:1px solid var(--line-strong);height:34px;color:var(--text-2);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.related-chip .mono{color:var(--text-3);font-size:10px}.related-chip .icon{opacity:0;width:13px;height:13px;margin-right:-4px;transition:opacity .2s,transform .2s;transform:translate(-4px)}.related-chip:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.related-chip:hover .icon{opacity:1;transform:none}.inspector__pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;margin-top:30px;padding-top:18px;display:grid}.inspector__pager button{text-align:left;color:var(--text-2);border-radius:10px;align-items:center;gap:10px;padding:10px;font-size:13px;transition:background .2s,color .2s;display:flex}.inspector__pager button:last-child{text-align:right;justify-content:flex-end}.inspector__pager button:hover{color:var(--text);background:#ffffff0a}.inspector__pager small{color:var(--text-3);margin-bottom:2px;font-size:10px;display:block}.task-list{gap:8px;display:grid}.task-card{border:1px solid var(--line);background:var(--panel-raised);text-align:left;transition:border-color .2s, background .2s, transform .3s var(--ease-out);border-radius:12px;gap:6px;padding:14px 52px 14px 16px;display:grid;position:relative}.task-card:hover{background:#ff6a2b0f;border-color:#ff6a2b66;transform:translateY(-1px)}.task-card__interval{color:var(--accent);font-size:10px}.task-card strong{font-size:15px;font-weight:500}.task-card__meta,.schedule-card__meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.task-card__meta span,.schedule-card__meta span{align-items:center;gap:5px;display:inline-flex}.task-card__meta .icon,.schedule-card__meta .icon{width:13px;height:13px}.is-done{color:var(--success);align-items:center;gap:5px;display:inline-flex}.is-done .icon{width:13px;height:13px}.task-card__go{background:var(--text);width:28px;height:28px;color:var(--ink-0);border-radius:50%;place-items:center;margin-top:-14px;transition:background .2s;display:grid;position:absolute;top:50%;right:14px}.task-card__go .icon{fill:currentColor;width:11px;height:11px}.task-card:hover .task-card__go{background:var(--accent)}.text-button{height:34px;color:var(--text-2);border-radius:10px;align-items:center;gap:6px;padding:0 10px 0 6px;font-size:13px;display:inline-flex}.text-button:hover{color:var(--text);background:#ffffff0d}.lesson__kicker{color:var(--accent);margin-bottom:10px}.lesson__tools{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:24px;display:flex}.lesson__tools .mono{color:var(--text-3);margin-right:4px;font-size:10px}.tool-chip{background:var(--panel-raised);border:1px solid var(--line);color:var(--text-2);border-radius:999px;padding:5px 10px;font-size:12px}.lesson__progress{gap:4px;margin-bottom:14px;display:flex}.lesson__progress li{flex:1}.lesson__progress button{width:100%;height:18px;display:block;position:relative}.lesson__progress button:before{content:"";background:var(--line-strong);border-radius:2px;height:2px;transition:background .3s;position:absolute;top:8px;left:0;right:0}.lesson__progress button.is-past:before{background:#ff6a2b80}.lesson__progress button.is-current:before{background:var(--accent);box-shadow:0 0 12px #ff6a2b99}.lesson__progress button:hover:before{background:var(--text-2)}.lesson-step{background:var(--ink-1);border:1px solid var(--line);animation:rise .5s var(--ease-out) both;border-radius:14px;margin-bottom:14px;padding:20px}.lesson-step__head{align-items:baseline;gap:8px;margin-bottom:14px;display:flex}.lesson-step__number{font-family:var(--font-display);color:var(--accent);font-size:40px;line-height:.8}.lesson-step__head>.mono{color:var(--text-3);font-size:10px}.lesson-step__part{border:1px solid var(--line-strong);color:var(--text-2);border-radius:999px;align-self:center;align-items:center;gap:6px;margin-left:auto;padding:5px 9px;font-size:10px;display:inline-flex}.lesson-step__part .icon{width:12px;height:12px;color:var(--accent)}.lesson-step__part:hover{border-color:var(--accent);color:var(--text)}.lesson-step>p{font-size:16px;line-height:1.6}.caution{background:#ffc44014;border:1px solid #ffc44033;border-radius:10px;grid-template-columns:16px 1fr;gap:10px;margin-top:16px;padding:12px 14px;display:grid}.caution .icon{color:#ffc440;width:16px;height:16px;margin-top:2px}.caution p{color:#f3dfb0;font-size:13px;line-height:1.55}.lesson__controls{gap:8px;display:flex}.button{border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s,opacity .2s,transform .2s;display:inline-flex}.button .icon{width:15px;height:15px}.button:active:not(:disabled){transform:scale(.98)}.button--primary{background:var(--accent);color:#1a0b04}.button--primary:hover{background:var(--accent-strong)}.button--ghost{border:1px solid var(--line-strong);color:var(--text-2);flex:none}.button--ghost:hover:not(:disabled){color:var(--text);background:#ffffff0a}.button:disabled{opacity:.35}.lesson__done{color:var(--success);align-items:center;gap:6px;margin-top:14px;font-size:10px;display:flex}.lesson__done .icon{width:13px;height:13px}.reference-link{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text-2);justify-content:space-between;align-items:center;margin-top:18px;padding:12px 0;font-size:13px;text-decoration:none;display:flex}.reference-link:hover{color:var(--accent)}.reference-link .icon{width:14px;height:14px}.lesson__disclaimer{color:var(--text-3);margin-top:16px;font-size:12px;line-height:1.55}.hover-card{z-index:6;pointer-events:none;opacity:0;will-change:transform;--leader:30px;transition:opacity .16s;position:absolute;top:0;left:0}.hover-card.is-visible{opacity:1}.hover-card__anchor{border:1px solid var(--text);border-radius:50%;width:12px;height:12px;position:absolute;top:-6px;left:-6px}.hover-card__anchor:after{content:"";background:var(--text);border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}.hover-card__leader{width:calc(var(--leader) * 1.414 - 6px);background:var(--text);transform-origin:0 0;height:1px;transition:transform .22s var(--ease-out);position:absolute;top:-4px;left:4px;transform:rotate(-45deg)scaleX(0)}.hover-card.is-visible .hover-card__leader{transform:rotate(-45deg)scaleX(1)}.hover-card__body{left:var(--leader);bottom:calc(var(--leader) - 19px);white-space:nowrap;display:grid;position:absolute}.hover-card__body:before{content:"";z-index:-1;filter:blur(18px);background:#08090b9e;border-radius:50%;position:absolute;inset:-18px -26px}.hover-card__title{align-items:center;gap:10px;padding:0 6px 7px 0;display:flex;position:relative}.hover-card__title:after{content:"";background:var(--text);transform-origin:0;height:1px;transition:transform .32s 80ms var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.hover-card.is-visible .hover-card__title:after{transform:scaleX(1)}.hover-card__code{border:1px solid var(--accent);width:24px;height:24px;color:var(--accent);letter-spacing:0;border-radius:50%;place-items:center;font-size:10px;display:grid}.hover-card__name{font-family:var(--font-display);letter-spacing:-.01em;text-shadow:0 1px 14px #000000b3;font-size:26px;font-weight:400;line-height:1}.hover-card__caption{letter-spacing:.1em;color:var(--text-2);text-shadow:0 1px 10px #000c;margin-top:7px;font-size:10px;line-height:12px}.hover-card.is-flipped .hover-card__leader{transform-origin:0 0;left:-4px;transform:rotate(-135deg)scaleX(0)}.hover-card.is-flipped.is-visible .hover-card__leader{transform:rotate(-135deg)scaleX(1)}.hover-card.is-flipped .hover-card__body{left:auto;right:var(--leader);text-align:right}.hover-card.is-flipped .hover-card__title{flex-direction:row-reverse;padding:0 0 7px 6px}.hover-card.is-flipped .hover-card__title:after{transform-origin:100%}.hover-card.is-below .hover-card__leader{top:4px;transform:rotate(45deg)scaleX(0)}.hover-card.is-below.is-visible .hover-card__leader{transform:rotate(45deg)scaleX(1)}.hover-card.is-below .hover-card__body{bottom:auto;top:var(--leader)}.hover-card.is-below .hover-card__title{padding:7px 6px 0 0}.hover-card.is-below .hover-card__title:after{top:0;bottom:auto}.hover-card.is-below.is-flipped .hover-card__leader{transform:rotate(135deg)scaleX(0)}.hover-card.is-below.is-flipped.is-visible .hover-card__leader{transform:rotate(135deg)scaleX(1)}.hover-card.is-below.is-flipped .hover-card__title{padding:7px 0 0 6px}.exploded-plate{z-index:4;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s;position:absolute;inset:0}.exploded-plate.is-visible{opacity:1;visibility:visible;transition:opacity .5s .9s,visibility}.exploded-plate__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.exploded-plate__lines g{transition:opacity .2s}.exploded-plate__leader{fill:none;stroke:#efede780;stroke-width:1px}.exploded-plate__anchor{fill:var(--ink-0);stroke:var(--text);stroke-width:1px}.exploded-plate__travel,.exploded-plate__origin{stroke:#efede752;stroke-width:1px;fill:none;display:none}.exploded-plate__travel{stroke-dasharray:2 4}.is-displaced .exploded-plate__travel,.is-displaced .exploded-plate__origin{display:inline}.exploded-plate.has-emphasis g:not(.is-emphasized),.exploded-plate.has-emphasis .plate-label:not(.is-emphasized){opacity:.28}g.is-emphasized .exploded-plate__leader,g.is-emphasized .exploded-plate__anchor{stroke:var(--accent)}g.is-emphasized .exploded-plate__travel,g.is-emphasized .exploded-plate__origin{stroke:#ff6a2bb3}.plate-label{white-space:nowrap;pointer-events:auto;border-bottom:1px solid #efede780;align-items:center;gap:8px;padding:0 4px 6px 0;transition:opacity .2s,border-color .2s;display:flex;position:absolute;top:0;left:0;translate:0 -100%}.plate-label.is-left{flex-direction:row-reverse;padding:0 0 6px 4px;translate:-100% -100%}.plate-label__code{border:1px solid var(--accent);width:22px;height:22px;color:var(--accent);letter-spacing:0;background:var(--ink-0);border-radius:50%;place-items:center;font-size:9.5px;display:grid}.plate-label__name{font-family:var(--font-display);color:var(--text);text-shadow:0 1px 12px #000000d9;font-size:19px;line-height:1}.plate-label:hover,.plate-label.is-emphasized{border-bottom-color:var(--accent)}.plate-label:hover .plate-label__code,.plate-label.is-emphasized .plate-label__code{background:var(--accent);color:#1a0b04}.stage.has-plate .stage__title,.stage.has-plate .stage__hint{opacity:0}.stage.is-plate-mode{--free-center:50%}.parts-index{transition:transform .6s var(--ease-out), opacity .4s}.stage.is-plate-mode .parts-index{transform:translateX(calc(-100% - var(--gutter) * 2));opacity:0;pointer-events:none}.dock{z-index:5;bottom:22px;left:var(--free-center);background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);transition:left .7s var(--ease-out);border-radius:16px;align-items:center;gap:2px;padding:5px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 20px 40px -16px #000000b3}.dock__button{height:38px;color:var(--text-2);border-radius:11px;align-items:center;gap:7px;padding:0 12px;font-size:13px;transition:background .2s,color .2s;display:inline-flex}.dock__button:hover:not(:disabled){color:var(--text);background:#ffffff0f}.dock__button:disabled{opacity:.4}.dock__divider{background:var(--line-strong);width:1px;height:22px;margin:0 6px}.dock__switch-track{background:var(--line-strong);border-radius:999px;width:30px;height:18px;margin-left:4px;transition:background .25s;position:relative}.dock__switch-track:after{content:"";background:var(--text);width:14px;height:14px;transition:transform .35s var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.dock__switch[aria-checked=true]{color:var(--text)}.dock__switch[aria-checked=true] .dock__switch-track{background:var(--accent)}.dock__switch[aria-checked=true] .dock__switch-track:after{background:#1a0b04;transform:translate(12px)}.care-view{z-index:10;-webkit-backdrop-filter:blur(28px)saturate(1.1);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;background:#0a0b0dcc;animation:.45s both fade;position:absolute;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.care-view__inner{max-width:1440px;margin:0 auto;padding:48px 32px 56px}.care-view__header{animation:rise .7s var(--ease-out) both;grid-template-columns:1fr minmax(260px,340px);align-items:end;gap:40px;margin-bottom:44px;display:grid}.care-view__header h2{font-family:var(--font-display);letter-spacing:-.02em;margin:12px 0 14px;font-size:clamp(42px,5vw,76px);font-weight:400;line-height:.95}.care-view__lede{max-width:520px;color:var(--text-2);font-size:15px;line-height:1.6}.feature-lesson{background:var(--accent);color:#1a0b04;text-align:left;transition:transform .4s var(--ease-out);border-radius:18px;gap:6px;padding:22px;display:grid;position:relative;overflow:hidden}.feature-lesson:after{content:"";border:1px solid #1a0b0433;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px;box-shadow:0 0 0 24px #1a0b040d,0 0 0 48px #1a0b040a}.feature-lesson:hover{transform:translateY(-2px)}.feature-lesson__label{align-items:center;gap:6px;font-size:10px;display:inline-flex}.feature-lesson__label .icon{fill:currentColor;width:11px;height:11px}.feature-lesson strong{font-family:var(--font-display);margin-top:18px;font-size:32px;font-weight:400;line-height:1}.feature-lesson>span:last-child{opacity:.75;font-size:13px}.care-schedule{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:28px 18px;display:grid}.care-column{animation:rise .7s var(--ease-out) both;gap:10px;display:grid}.care-column:nth-child(2){animation-delay:50ms}.care-column:nth-child(3){animation-delay:.1s}.care-column:nth-child(4){animation-delay:.15s}.care-column:nth-child(5){animation-delay:.2s}.care-column h3{border-bottom:1px solid var(--line);color:var(--text-2);align-items:center;gap:8px;margin-bottom:4px;padding-bottom:12px;font-size:11px;font-weight:400;display:flex}.care-column h3 .icon{width:14px;height:14px;color:var(--accent)}.care-column h3 span{color:var(--text-3);margin-left:auto}.schedule-card{border:1px solid var(--line);text-align:left;transition:border-color .25s, background .25s, transform .4s var(--ease-out);background:#ffffff06;border-radius:14px;gap:10px;padding:18px;display:grid}.schedule-card:hover{background:#ff6a2b0d;border-color:#ff6a2b73;transform:translateY(-2px)}.schedule-card strong{font-family:var(--font-display);font-size:25px;font-weight:400;line-height:1.05}.schedule-card__purpose{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.schedule-card__parts{flex-wrap:wrap;gap:5px;display:flex}.schedule-card__parts span{border:1px solid var(--line);color:var(--text-3);border-radius:999px;padding:3px 8px;font-size:11px}.schedule-card__foot{border-top:1px solid var(--line);color:var(--text-3);justify-content:space-between;align-items:center;padding-top:10px;font-size:12px;display:flex}.schedule-card__go{color:var(--text);align-items:center;gap:5px;display:inline-flex}.schedule-card__go .icon{width:13px;height:13px;transition:transform .3s var(--ease-out)}.schedule-card:hover .schedule-card__go{color:var(--accent)}.schedule-card:hover .schedule-card__go .icon{transform:translate(3px)}.care-view__references{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:56px;padding-top:22px;display:flex}.care-view__references a{color:var(--text-2);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.care-view__references a:hover{color:var(--accent)}.care-view__references .icon{width:13px;height:13px}@media (width<=1180px){:root{--index-width:232px;--inspector-width:360px}.progress-meter{display:none}.inspector__title{font-size:40px}.dock__button span:not(.dock__switch-track){display:none}}@media (width<=860px){:root{--app-bar:56px;--gutter:10px}.app-bar{grid-template-columns:auto 1fr auto;gap:10px;padding:0 12px}.brand__name,.bike-chip>span:last-child{display:none}.bike-chip{padding:0 8px}.mode-switch{justify-self:center}.mode-switch__option{padding:0 12px;font-size:12.5px}.stage,.stage.has-inspector{--free-center:50%}.stage__watermark{top:38%}.parts-index{top:var(--gutter);left:var(--gutter);right:var(--gutter);border-radius:12px;flex-direction:row;width:auto;bottom:auto}.parts-index__head,.search-field{display:none}.parts-index__list{scrollbar-width:none;gap:4px;padding:5px;display:flex;overflow:auto hidden}.parts-group{display:contents}.parts-group h3{display:none}.part-row{white-space:nowrap;flex:none;gap:7px;width:auto;min-height:36px;padding:0 12px;font-size:13px;display:inline-flex}.part-row__state,.part-row.is-selected:before{display:none}.stage__title{width:calc(100% - 40px);top:76px}.stage__title h1{font-size:44px}.stage__title p:last-child{font-size:13px}.stage.has-inspector .stage__title{opacity:0}.inspector{border-bottom:0;border-radius:20px 20px 0 0;width:auto;max-height:58%;inset:auto 0 0;transform:translateY(100%)}.inspector.is-open{transform:none}.inspector__scroll{max-height:58svh;padding:10px 18px 24px}.inspector__scroll:before{content:"";background:var(--line-strong);border-radius:4px;width:36px;height:4px;margin:0 auto 10px;display:block}.inspector__top{margin-bottom:14px}.inspector__title{margin-bottom:10px;font-size:36px}.inspector__summary{margin-bottom:18px;font-size:14px}.stage.has-inspector .dock{opacity:0;pointer-events:none}.dock{bottom:14px}.stage__hint,.hover-card{display:none}.care-view__inner{padding:28px 18px 40px}.care-view__header{grid-template-columns:1fr;gap:24px;margin-bottom:32px}}@media (width<=420px){.mode-switch__option .icon{display:none}.dock__divider{margin:0 2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lesson-playback{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.lesson-playback>p{color:var(--text-2);font-size:12px;line-height:1.6}
