/* Reuses base.css cards, buttons, quiz/builder styles and light/dark tokens. */
body.time-lesson{overflow:auto;height:auto;min-height:100%;line-height:1.6}
.time-lesson [hidden]{display:none!important}
.time-lesson .topbar{gap:8px}
.time-lesson .top-actions{gap:6px}
.time-lesson button,.time-lesson select,.time-lesson input,.time-lesson summary{min-height:44px;touch-action:manipulation}
.time-lesson button:focus-visible,.time-lesson a:focus-visible,.time-lesson select:focus-visible,.time-lesson input:focus-visible,.time-lesson summary:focus-visible,.time-table-scroll:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.time-lesson h1:focus,.time-lesson h2:focus,.time-lesson main:focus{outline:none}
.time-lesson .icon-btn{width:44px;height:44px}
.time-lesson .spk{min-width:44px}
.time-audio-status{position:fixed;z-index:100;top:66px;right:12px;max-width:min(420px,calc(100vw - 24px));padding:14px 18px;border:1px solid var(--gold);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 6px 24px #0003}
.time-lesson .btn{clip-path:none;border-radius:9px;font-family:inherit;font-weight:700;font-size:.95rem;text-transform:none;letter-spacing:0;justify-content:center}
.time-lesson .card:hover{transform:none;box-shadow:none}
.time-lesson .card{padding:24px;line-height:1.65}
.time-lesson .card p{line-height:1.65}
.time-lesson .card h3{font-size:1.1rem;margin-bottom:10px}
.time-lesson .note{padding:18px;line-height:1.75;font-size:1rem}
.time-lesson .lead,.time-lesson .qhint{line-height:1.7}
.time-lesson .mt2{margin-top:24px}
.time-lesson .row{gap:10px}
.time-lesson .grid2,.time-lesson .grid3{gap:16px}
.time-lesson a:not(.brand):not(.btn):not(.icon-btn):not(.mp-row):not(.mp-top){color:var(--cyan)}
.skip-link{position:fixed;left:12px;top:-100px;z-index:200;padding:12px;background:var(--panel);color:var(--text)}
.skip-link:focus{top:8px}
.time-layout{position:relative;z-index:2;max-width:1600px;margin:56px auto 0;display:grid;grid-template-columns:268px minmax(0,1fr)}
.time-sidebar{position:sticky;top:56px;height:calc(100dvh - 56px);overflow:auto;padding:28px 18px;border-right:1px solid var(--line);background:var(--bar)}
.time-side-title{padding:0 12px 22px}.time-side-title h2{font-size:1.5rem;line-height:1.3}.time-side-title p{color:var(--muted);margin-top:10px}
#stageNav{display:grid;gap:3px}#stageNav button{display:flex;text-align:left;gap:10px;align-items:center;padding:9px 10px;background:none;color:var(--muted);border:1px solid transparent;border-radius:8px;font:inherit;font-size:.83rem;cursor:pointer}
#stageNav button[aria-current=step]{background:var(--panel2);border-color:var(--purple);color:var(--text)}
.time-nav-marker{width:24px;flex-shrink:0;text-align:center;color:var(--purple)}
.time-progress{margin:24px 12px 10px;font-size:.8rem;color:var(--muted)}.time-progress progress{width:100%;height:8px;accent-color:var(--red);display:block;margin:10px 0}
.time-save{margin:12px;font-size:.75rem;color:var(--muted)}.time-save.error{color:var(--gold)}
#lessonContent{min-width:0;padding:42px clamp(18px,3.3vw,56px) 32px}
.time-section{min-height:calc(100dvh - 225px);max-width:1120px;margin:auto}
.time-section>h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.3;margin-bottom:16px}
.time-lead{max-width:70ch;font-size:1.08rem;color:var(--muted);line-height:1.8;margin:16px 0 26px}
.time-hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:20px;min-height:340px;padding:12px 0 30px}
.time-hero h1{font-size:clamp(2.2rem,4.5vw,4.4rem);line-height:1.15;letter-spacing:-.04em;text-shadow:none}.time-hero h1 span{color:var(--cyan)}
.time-hero .hero-meta{justify-content:flex-start;margin-bottom:22px}.time-hero .hero-meta span{padding:6px 12px;font-size:.8rem}
.time-hero-art{aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line2);border-radius:50%;background:radial-gradient(circle,rgba(160,107,255,.15),transparent 70%)}
.time-hero-art:before{content:'';position:absolute;width:80%;height:1px;background:var(--purple)}
.time-orbit{position:relative;display:grid;place-items:center;width:25%;aspect-ratio:1;font-size:clamp(2rem,4vw,3.5rem);font-weight:900;background:var(--panel);border:1px solid var(--purple);border-radius:50%}.time-orbit:nth-child(2){color:var(--cyan);transform:scale(1.2);border-color:var(--cyan)}
.time-art-caption{position:absolute;bottom:22%;width:78%;display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);letter-spacing:.1em}.time-art-caption span{color:var(--cyan)}
.time-index{display:block;font-size:.68rem;font-weight:700;letter-spacing:.12em;color:var(--cyan);margin-bottom:16px}
.time-footer{max-width:1120px;margin:36px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;justify-content:space-between}.time-footer span{color:var(--muted);font-size:.8rem;text-align:center}
.time-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.time-term{position:relative;border:1px solid var(--line2);background:var(--panel);border-radius:14px;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.time-term .term-jp{font-size:1.9rem;font-weight:900}.time-term .term-kana{color:var(--cyan)}.time-term .term-ru{color:var(--muted);font-size:.9rem}.time-term .spk{margin-top:auto}
.time-term[data-offset="0"]{border-color:var(--cyan);background:var(--panel2)}.time-term[data-offset="2"]{border-color:var(--purple)}
.time-word-row{padding:14px 0;display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.time-word-row:last-child{border:0}.time-word-row b{font-size:1.3rem}.time-word-row small{display:block;color:var(--muted)}
.time-lab-controls{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0}.time-lab-controls label{display:grid;gap:6px;flex:1}
.time-lesson select,.time-lesson input{padding:10px 12px;font:inherit;background:var(--panel);border:1px solid var(--line2);border-radius:8px;color:var(--text);min-width:0;max-width:100%}
.time-lab-result{padding:22px;background:var(--well);border-radius:12px;font-size:1.2rem}
.time-lesson details{margin-top:14px}.time-lesson summary{cursor:pointer;font-weight:700;display:list-item;padding:10px 0}.time-lesson details p{margin-top:12px}
.time-lesson .exercise{max-width:860px;margin:24px auto 0;min-height:360px}
.exercise-head{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.85rem;margin-bottom:22px}
.exercise-head progress{height:8px;max-width:50%;accent-color:var(--cyan)}
.time-question{font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.65;margin-bottom:22px;font-weight:700}
.time-lesson .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.time-lesson .opt{min-height:64px;text-align:left;font-size:1.1rem;white-space:normal;overflow-wrap:anywhere;padding:14px 18px}
.time-lesson .opt:disabled{opacity:1;cursor:default}.time-lesson .opt.correct{border:2px solid var(--green)}.time-lesson .opt.wrong{border:2px solid var(--red)}
.time-feedback{margin-top:24px;padding:20px;border:1px solid var(--line2);background:var(--well);border-radius:12px;line-height:1.8}.time-feedback.good{border-color:var(--green)}.time-feedback.bad{border-color:var(--red)}
.time-feedback .row{margin-top:14px}.time-hint{margin:16px 0;color:var(--gold)}
.time-answer-input{display:flex;gap:12px;flex-wrap:wrap}.time-answer-input label{width:100%;font-size:.85rem;color:var(--muted)}.time-answer-input input{flex:1;font-size:1.3rem;min-width:160px}
.kana-pad{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.kana-pad button{min-width:44px;background:var(--panel2);border:1px solid var(--line2);color:var(--text);border-radius:8px;font:inherit;padding:6px}
.time-lesson .bd-ans,.time-lesson .bd-bank{display:flex;gap:10px;flex-wrap:wrap;min-height:70px;padding:14px;border:1px dashed var(--line2);border-radius:10px;margin:14px 0}.time-lesson .bd-w{font-size:1.2rem;padding:9px 14px;touch-action:manipulation}
.time-lesson .bd-bank{background:var(--well)}
.time-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.time-pair-column{display:grid;gap:8px}.time-pair-label,.time-pair-column button{padding:12px;border:1px solid var(--line2);border-radius:9px;color:var(--text);font:inherit;background:var(--panel);text-align:left;display:flex;align-items:center;min-height:56px}.time-pair-label.active{border:2px solid var(--cyan)}.time-pair-label.done{color:var(--muted)}
.time-score{font-size:3rem;font-weight:900;color:var(--cyan);line-height:1.4}.time-results-list{display:grid;gap:12px;margin-top:20px}.time-results-list article{padding:16px;background:var(--well);border-radius:10px;overflow-wrap:anywhere}
.time-table-scroll{overflow-x:auto}.time-lesson .tbl{min-width:580px;font-size:1rem}.time-lesson .tbl th,.time-lesson .tbl td{padding:16px}.time-lesson .tbl th{font-size:.8rem}.time-lesson .tbl caption{text-align:left;padding:14px 0;color:var(--muted)}.time-lesson .tbl small{display:block;color:var(--muted)}
.time-noscript{position:fixed;inset:65px 12px auto;z-index:150;padding:24px;background:var(--panel);border:2px solid var(--red)}
.mobile-stage{display:none}
html.light .time-lesson{--cyan:#006b82;--green:#087241;--red:#c81531;--muted:#51536b}
@media(max-width:1050px){.time-layout{grid-template-columns:230px minmax(0,1fr)}.time-hero{grid-template-columns:1fr}.time-hero-art{display:none}.time-lesson .topbar .lesson-tag{display:none}}
@media(max-width:760px){.time-layout{display:block}.time-sidebar{position:relative;top:auto;height:auto;overflow:visible;padding:16px 18px;border-right:0;border-bottom:1px solid var(--line)}.time-side-title,#stageNav,.time-progress,.time-save{display:none}.mobile-stage{display:block}label.mobile-stage{font-size:.8rem;color:var(--muted);margin-bottom:4px}select.mobile-stage{width:100%}.time-save.error{display:block;margin:12px 0 0}#lessonContent{padding:28px 16px}.time-section{min-height:40vh}.time-lesson .brand-jp{font-size:1rem}.time-lesson .xp-chip{display:none}.time-lesson .topbar{padding:0 12px}.time-lesson .card{padding:20px}.time-lesson .opts{grid-template-columns:1fr}.time-timeline{grid-template-columns:1fr}.time-term{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:16px}.time-term .term-jp{font-size:1.6rem}.time-term .term-kana,.time-term .term-ru{grid-column:1}.time-term .spk{grid-column:2;grid-row:1/4}.time-lesson .btn{padding:11px 14px}.time-footer{gap:8px}.time-footer span{font-size:.7rem}.time-pair-grid{gap:10px}.time-pair-column button,.time-pair-label{font-size:.9rem;padding:10px}.time-lead{font-size:1rem}.time-hero h1{font-size:2.3rem}}
@media(prefers-reduced-motion:reduce){.time-lesson *,.time-lesson *:before,.time-lesson *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
