:root{--ts-white: #FFFEF8;--ts-white-mid: #F5EEE5;--ts-white-rule: #E5D8CC;--ts-surface: #FFFFFF;--ts-surface-hi: #FFFFFF;--ts-ink: #1A0F0A;--ts-ink-mid: #4D3326;--ts-ink-faint: #8C6E5A;--ts-red: #A83228;--ts-red-dark: #7D2218;--ts-red-pale: #FCECEA;--ts-red-mid: #C04438;--ts-blue: #1E5FA5;--ts-blue-dark: #164A82;--ts-blue-pale: #E6EFF8;--ts-blue-mid: #2E72BC;--ts-gold: #BF8A18;--ts-gold-pale: #FBF4E0;--ts-error: #C04010;--ts-error-pale: #FFF1EC;--color-bg: var(--ts-white);--color-surface: var(--ts-surface);--color-border: var(--ts-white-rule);--color-primary: var(--ts-red);--color-primary-dk: var(--ts-red-dark);--color-primary-pale: var(--ts-red-pale);--color-secondary: var(--ts-blue);--color-secondary-dk: var(--ts-blue-dark);--color-secondary-pale: var(--ts-blue-pale);--color-text: var(--ts-ink);--color-text-mid: var(--ts-ink-mid);--color-text-faint: var(--ts-ink-faint);--font-sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei UI", system-ui, sans-serif;--font-serif: "Noto Serif TC", "Georgia", serif;--r-sm: .5rem;--r-md: .75rem;--r-lg: 1rem;--r-xl: 1.25rem;--r-pill: 999px;--shadow-card: 0 1px 3px rgba(26, 15, 10, .07), 0 2px 8px rgba(26, 15, 10, .04);--shadow-raised: 0 2px 6px rgba(26, 15, 10, .1), 0 6px 20px rgba(26, 15, 10, .06);--ease: .18s ease;font-family:var(--font-sans);line-height:1.6;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;min-width:0;min-height:100vh;overflow-x:clip;background-color:var(--color-bg);color:var(--color-text)}#root{width:100%;max-width:100%;min-width:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--ts-ink);line-height:1.25}h1{font-size:clamp(1.5rem,5vw,2.25rem)}h2{font-size:clamp(1.2rem,4vw,1.5rem)}h3{font-size:clamp(1rem,3.5vw,1.15rem)}:lang(zh-TW),:lang(nan-TW){font-family:var(--font-sans);font-weight:500}a{font-weight:500;color:var(--ts-blue);text-decoration:underline;text-underline-offset:.15em}a:hover{color:var(--ts-blue-dark)}button{border-radius:var(--r-md);border:2px solid transparent;padding:.5em 1.1em;font-size:.95em;font-weight:600;font-family:var(--font-sans);background-color:var(--ts-surface);color:var(--ts-ink);cursor:pointer;transition:background-color var(--ease),border-color var(--ease),box-shadow var(--ease);min-height:2.75rem}button:hover{background-color:var(--ts-white-mid);border-color:var(--ts-white-rule)}button:focus-visible{outline:3px solid var(--ts-red);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}@media (prefers-color-scheme: dark){:root{--ts-white: #1E140E;--ts-white-mid: #2A1D15;--ts-white-rule: #3D2D20;--ts-surface: #261A12;--ts-surface-hi: #342318;--ts-ink: #F0E8D8;--ts-ink-mid: #C8A88A;--ts-ink-faint: #8A6E55;--ts-red: #E05848;--ts-red-dark: #F07060;--ts-red-pale: #2E1210;--ts-red-mid: #C85040;--ts-blue: #4A90D4;--ts-blue-dark: #6AA8E0;--ts-blue-pale: #0F1E38;--ts-blue-mid: #3A80C4;--ts-gold: #D4A43A;--ts-gold-pale: #2A200A;--ts-error: #E05820;--ts-error-pale: #2E1808;color-scheme:dark}button{background-color:var(--ts-surface-hi);color:var(--ts-ink)}button:hover{background-color:var(--ts-white-mid)}}.locale-switcher{margin-top:1.25rem;font-size:.88rem;color:var(--ts-ink-faint)}.locale-switcher label{margin-right:.5rem;font-weight:600;color:var(--ts-ink-mid)}.locale-switcher select{padding:.3rem .6rem;border-radius:var(--r-sm);border:1.5px solid var(--ts-white-rule);background:var(--ts-surface);color:var(--ts-ink);font-size:.88rem;font-family:var(--font-sans);max-width:100%;cursor:pointer;transition:border-color var(--ease)}.locale-switcher select:hover,.locale-switcher select:focus{border-color:var(--ts-blue-mid);outline:none}@media (max-width: 480px){.locale-switcher label{display:block;margin-bottom:.3rem}.locale-switcher select{display:block;width:100%;margin-top:.25rem}}.app-shell{text-align:center;padding:1.5rem 1.5rem 2rem;max-width:52rem;margin:0 auto;width:100%;min-width:0}.app-shell__header{margin-bottom:0}.app-shell__header-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;text-align:left;padding:1rem 1.25rem .75rem;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--ts-red);color:#fff}.app-shell__header-row:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ts-gold);border-radius:0 0 2px 2px}.app-shell__header{position:relative}.app-shell__header-copy{flex:1 1 14rem;min-width:0;text-align:left}.app-shell__header h1{font-size:clamp(1.1rem,4vw,1.45rem);margin:0 0 .1rem;color:#fff;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere;font-family:var(--font-serif, "Noto Serif TC", serif)}.app-shell__subtitle{margin:0;color:#ffffffd1;font-size:clamp(.8rem,3vw,.9rem);overflow-wrap:anywhere;font-weight:400}.app-shell__gold-bar{height:4px;background:linear-gradient(90deg,var(--ts-gold) 0%,#D4B060 50%,var(--ts-gold) 100%);border-radius:0 0 var(--r-xl) var(--r-xl);margin-bottom:1.5rem}.app-shell__auth{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex:0 1 auto}.app-shell__auth-user,.app-shell__auth-hint,.app-shell__auth-status{font-size:.82rem;color:#ffffffc7;text-align:right}.app-shell__auth-error{font-size:.75rem;font-weight:600;line-height:1.3;text-align:right;max-width:18rem;overflow-wrap:anywhere;color:#ffd0cc}.app-shell__auth-button{border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:var(--r-pill, 999px);padding:.3rem .85rem;min-height:2.1rem;font-size:.85rem;font-weight:600;font-family:var(--font-sans, inherit);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.app-shell__auth-button:hover{background:#ffffff26;border-color:#fffc}.app-shell__auth-button:focus-visible{outline:2px solid #fff;outline-offset:2px}.app-shell__main{margin-top:0;min-width:0}.app-shell__footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--ts-white-rule, #E5D8CC);font-size:.85rem;color:var(--ts-ink-faint, #9A7E6C)}@media (max-width: 480px){.app-shell{padding:.75rem .75rem 1.5rem}}.study-mode-selector{margin:0 0 1.25rem;padding:0;border:0;min-width:0;text-align:left}.study-mode-selector legend{font-weight:700;font-size:.9rem;color:var(--ts-ink);margin-bottom:.5rem}.study-mode-selector__options{display:flex;flex-wrap:wrap;gap:.5rem}.study-mode-selector__option{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;padding:.4rem .9rem;border:1.5px solid var(--ts-white-rule);border-radius:var(--r-pill);background:var(--ts-surface);color:var(--ts-ink-mid);cursor:pointer;font-weight:600;font-size:.9rem;transition:border-color var(--ease),background-color var(--ease),color var(--ease);max-width:100%}.study-mode-selector__option:hover{border-color:var(--ts-red-mid);background:var(--ts-red-pale);color:var(--ts-red-dark)}.study-mode-selector__option span{overflow-wrap:anywhere}.study-mode-selector__option:has(input:checked){border-color:var(--ts-red);background:var(--ts-red-pale);color:var(--ts-red-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--ts-red) 20%,transparent)}.study-mode-selector__option input{margin:0;flex-shrink:0;accent-color:var(--ts-red)}.study-mode-selector__hint{margin:.65rem 0 0;font-size:.88rem;color:var(--ts-ink-faint);overflow-wrap:anywhere;line-height:1.6}@media (max-width: 480px){.study-mode-selector__options{flex-direction:column}.study-mode-selector__option{width:100%;justify-content:flex-start;border-radius:var(--r-md)}}.lesson-selector h2{font-size:clamp(1.1rem,3.5vw,1.3rem);margin-bottom:.5rem;font-family:var(--font-serif, "Noto Serif TC", serif);color:var(--ts-red-dark)}.lesson-selector__intro{margin:0 0 1.25rem;font-size:.95rem;color:var(--ts-ink-mid);line-height:1.65}.lesson-selector__unit-block{margin-bottom:2rem}.lesson-selector__unit-block--testing{padding-top:1.25rem;border-top:2px dashed var(--ts-white-rule)}.lesson-selector__unit-heading{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;color:var(--ts-red-dark);display:flex;align-items:center;gap:.5rem}.lesson-selector__unit-heading:before{content:"";display:inline-block;width:4px;height:1em;background:var(--ts-red-mid);border-radius:2px;flex-shrink:0}.lesson-selector__unit-description{margin:0 0 1rem;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.6}.lesson-selector__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr))}.lesson-selector__card{padding:1.1rem 1.15rem;border:1.5px solid var(--ts-red-mid);border-radius:var(--r-lg);background:var(--ts-surface);box-shadow:var(--shadow-card);min-width:0;max-width:100%;display:flex;flex-direction:column;transition:box-shadow var(--ease),border-color var(--ease)}.lesson-selector__card:hover{box-shadow:var(--shadow-raised);border-color:var(--ts-red)}.lesson-selector__unit-block--testing .lesson-selector__card{border-color:var(--ts-white-rule);background:var(--ts-surface)}.lesson-selector__unit-block--testing .lesson-selector__card:hover{border-color:var(--ts-ink-faint)}.lesson-selector__card-header{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.lesson-selector__kind{display:inline-block;padding:.15rem .55rem;border-radius:var(--r-pill);background:var(--ts-red-pale);color:var(--ts-red-dark);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid color-mix(in srgb,var(--ts-red) 25%,transparent)}.lesson-selector__kind--testing{background:var(--ts-white-mid);color:var(--ts-ink-mid);border-color:var(--ts-white-rule)}.lesson-selector__card h3{margin:0 0 .45rem;font-size:1.1rem;color:var(--ts-ink);font-weight:700}.lesson-selector__objective{margin:0 0 .65rem;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.6}.lesson-selector__meta{margin:0 0 .75rem;font-size:.85rem;color:var(--ts-ink-faint)}.lesson-selector__description{margin:0 0 .9rem;font-size:.9rem;color:var(--ts-ink-mid);overflow-wrap:anywhere;line-height:1.6}.lesson-selector__start{margin-top:auto;align-self:flex-start;padding:.4rem 1rem;min-height:2.5rem;border-radius:var(--r-pill);background:var(--ts-red);color:#fff;border:2px solid var(--ts-red);font-weight:700;font-size:.9rem;transition:background-color var(--ease),border-color var(--ease),box-shadow var(--ease)}.lesson-selector__start:hover,.lesson-selector__start:focus-visible{background:var(--ts-red-dark);border-color:var(--ts-red-dark);box-shadow:0 2px 8px #a8322838}.lesson-selector__error{color:var(--ts-red);font-weight:600}@media (max-width: 480px){.lesson-selector__card{padding:.85rem}}.section-map{min-width:0;margin-top:.85rem}.section-map__frame{position:relative;width:min(100%,26rem);margin:0 auto;background:var(--ts-white);border:1.5px solid var(--ts-white-rule);border-radius:var(--r-lg, 12px);overflow:hidden}.section-map__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.section-map__stops{list-style:none;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.section-map__stop{position:absolute;left:0;right:0;height:0}.section-map__stop button,.section-map__marker{position:absolute;left:0;right:0;top:0;transform:translateY(-50%);width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;min-height:2.75rem;font-weight:600;color:var(--ts-ink)}.section-map__stop button:hover,.section-map__stop button:disabled{background:transparent;border-color:transparent}.section-map__stop button:focus-visible{outline:none}.section-map__stop button:focus-visible .section-map__label,.section-map__stop button:focus-visible .section-map__dot{outline:3px solid var(--ts-red);outline-offset:2px}.section-map__dot{position:absolute;left:var(--dot-x);top:50%;z-index:1;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;border:2px solid var(--ts-red);background:var(--ts-white);color:var(--ts-red-dark);transform:translate(-50%,-50%)}.section-map__dot-label{font-size:.68rem;font-weight:700;line-height:1}.section-map__label{display:block;margin-left:50%;margin-right:.35rem;padding:.28rem .45rem .32rem;border-radius:8px;background:color-mix(in srgb,var(--ts-white) 92%,transparent)}.section-map--road .section-map__label{margin-left:.35rem;margin-right:54%;text-align:right}.section-map--road .section-map__place{justify-content:flex-end}.section-map__place{display:flex;align-items:center;gap:.4rem;font-size:.92rem;font-weight:700;color:var(--ts-ink);line-height:1.25}.section-map__place img{width:2rem;height:2rem;border-radius:50%;object-fit:cover;flex:0 0 auto;border:2px solid var(--ts-white-rule);background:var(--ts-white-mid)}.section-map__lesson,.section-map__food,.section-map__note,.section-map__meta{display:block;font-size:.78rem;font-weight:600;line-height:1.3;color:var(--ts-ink-mid)}.section-map__lesson,.section-map__note{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.section-map__lesson,.section-map__note{-webkit-line-clamp:2}.section-map__food,.section-map__meta,.section-map__note{color:var(--ts-ink-faint);font-weight:500}.section-map__stop button:hover:not(:disabled) .section-map__label{background:var(--ts-red-pale)}.section-map__stop[data-status=current] .section-map__dot{background:var(--ts-red);color:var(--ts-white);box-shadow:0 0 0 3px color-mix(in srgb,var(--ts-red) 28%,transparent)}.section-map__stop[data-status=current] .section-map__label{background:var(--ts-red-pale);box-shadow:0 0 0 2px var(--ts-red)}.section-map__stop[data-status=completed] .section-map__dot{background:var(--ts-red);color:var(--ts-white)}.section-map__stop[data-status=locked] .section-map__dot{border-style:dashed;background:var(--ts-white-mid);color:var(--ts-ink-faint)}.section-map__stop[data-status=locked] .section-map__label{opacity:.72}.section-map__stop--origin .section-map__dot{box-shadow:0 0 0 3px var(--ts-white),0 0 0 5px var(--ts-red)}.section-map__stop--place .section-map__dot,.section-map__stop--landmark .section-map__dot{width:.85rem;height:.85rem;border-color:var(--ts-blue);background:var(--ts-white)}.section-map__stop--peak .section-map__dot{width:.9rem;height:.8rem;border:0;border-radius:0;background:var(--ts-red);clip-path:polygon(50% 0,100% 100%,0 100%)}.section-map__stop--hut .section-map__dot{width:.85rem;height:.7rem;border-radius:2px 2px 0 0;border-color:var(--ts-blue-dark);background:var(--ts-blue)}.section-map--road .section-map__stop--lesson .section-map__dot,.section-map--road .section-map__stop--place .section-map__dot{border-radius:50% 50% 50% 0;transform:translate(-50%,-80%) rotate(-45deg)}.section-map--road .section-map__dot-label{display:block;transform:rotate(45deg)}.section-map--trail .section-map__stop--lesson .section-map__dot,.section-map--trail .section-map__stop--landmark .section-map__dot{border-radius:2px;transform:translate(-50%,-50%) rotate(45deg)}.section-map--trail .section-map__dot-label{display:block;transform:rotate(-45deg)}.section-map__stop button:disabled{opacity:1;cursor:not-allowed}.learner-home{text-align:left;min-width:0}.learner-home__hero{margin:0 0 1.75rem;border-radius:var(--r-xl);overflow:hidden;border:2px solid var(--ts-white-rule);box-shadow:var(--shadow-raised);background:var(--ts-surface)}.learner-home__hero-img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;background:var(--ts-white-mid);max-height:42vw;min-height:10rem}.learner-home__hero-copy{padding:1rem 1.25rem 1.1rem;border-top:2px solid var(--ts-white-rule)}.learner-home__hero-copy h2{margin:0 0 .35rem;font-size:clamp(1.1rem,3.5vw,1.3rem);font-family:var(--font-serif, "Noto Serif TC", serif);color:var(--ts-red-dark)}.learner-home__hero-copy p{margin:0;font-size:.95rem;color:var(--ts-ink-mid);line-height:1.65}.learner-home__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.learner-home__identity,.learner-home__primary,.learner-home__intros,.learner-home__words,.learner-home__debug{margin:0 0 1.75rem}.learner-home h2{font-size:clamp(1.1rem,3.5vw,1.35rem);margin:0 0 .5rem;color:var(--ts-ink)}.learner-home__identity p,.learner-home__section-lead,.learner-home__start-hint{margin:0;line-height:1.65;overflow-wrap:anywhere;color:var(--ts-ink-mid);font-size:.95rem}.learner-home__language{margin-bottom:1.25rem}.learner-home__intros-summary{list-style:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.3rem 0;-webkit-user-select:none;user-select:none;border-radius:var(--r-sm)}.learner-home__intros-summary::-webkit-details-marker{display:none}.learner-home__intros-summary::marker{display:none}.learner-home__intros-summary h2{margin:0;flex:1}.learner-home__intros-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;font-size:.65rem;color:var(--ts-ink-faint);transition:transform var(--ease)}.learner-home__intros-chevron:before{content:"▶"}details[open] .learner-home__intros-chevron{transform:rotate(90deg)}.learner-home__intros-summary:hover h2{color:var(--ts-red-dark)}.learner-home__intros-summary:focus-visible{outline:2px solid var(--ts-red);outline-offset:3px;border-radius:var(--r-sm)}.learner-home__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0 0 1rem}.learner-home__stats p{margin:0;padding:.65rem .5rem;border-radius:var(--r-md);background:var(--ts-surface);border:1px solid var(--ts-white-rule);box-shadow:var(--shadow-card);text-align:center;transition:box-shadow var(--ease)}.learner-home__stats p:hover{box-shadow:var(--shadow-raised)}.learner-home__stats span{display:block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-ink-faint);margin-bottom:.15rem}.learner-home__stats strong{font-size:1.25rem;font-weight:700;color:var(--ts-red-dark);display:block}.learner-home__summary{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--r-md);background:var(--ts-red-pale);border:1px solid var(--ts-red-mid);font-weight:650;color:var(--ts-red-dark)}.learner-home__primary{padding:1.25rem 1.25rem 1rem;border-radius:var(--r-xl);background:var(--ts-surface);border:2px solid var(--ts-white-rule);box-shadow:var(--shadow-card);text-align:center}.learner-home__start{display:block;width:min(100%,22rem);margin:.25rem auto .75rem;min-height:3.1rem;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;color:#fff;background:var(--ts-red);border:2px solid var(--ts-red);border-radius:var(--r-pill);box-shadow:0 2px 8px #a8322840;letter-spacing:.01em;transition:background-color var(--ease),box-shadow var(--ease),transform .12s ease}.learner-home__start:hover,.learner-home__start:focus-visible{background:var(--ts-red-dark);border-color:var(--ts-red-dark);box-shadow:0 4px 14px #7d22184d;transform:translateY(-1px)}.learner-home__start:active{transform:translateY(0);box-shadow:0 1px 4px #7d221833}.learner-home__start-hint{font-size:.9rem}.learner-home__text-button{margin-top:.35rem;padding:.4rem .6rem;min-height:2.75rem;background:transparent;color:var(--ts-blue);border:none;font-size:.9rem;text-decoration:underline;text-underline-offset:.15em}.learner-home__text-button:hover{color:var(--ts-blue-dark);background:transparent;border:none}.learner-home__grid{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.75rem;grid-template-columns:1fr}.learner-home__card{min-width:0;padding:1rem 1.1rem;border:1.5px solid var(--ts-white-rule);border-radius:var(--r-lg);background:var(--ts-surface);box-shadow:var(--shadow-card);transition:box-shadow var(--ease),border-color var(--ease)}.learner-home__card:hover{box-shadow:var(--shadow-raised);border-color:var(--ts-blue-mid)}.learner-home__card h3{margin:0 0 .3rem;font-size:1.05rem;color:var(--ts-blue-dark)}.learner-home__card p{margin:0 0 .5rem;overflow-wrap:anywhere;color:var(--ts-ink-mid);font-size:.9rem}.learner-home__path,.learner-home__lessons{list-style:none;margin:.75rem 0 0;padding:0}.learner-home__section[data-section=west] .learner-home__section-title{color:var(--ts-red-dark)}.learner-home__section[data-section=west] .learner-home__section-title:before{background:var(--ts-red)}.learner-home__section[data-section=east] .learner-home__section-title{color:var(--ts-blue-dark)}.learner-home__section[data-section=east] .learner-home__section-title:before{background:var(--ts-blue)}.learner-home__section[data-section=mountains] .learner-home__section-title{color:var(--ts-gold)}.learner-home__section[data-section=mountains] .learner-home__section-title:before{background:var(--ts-gold)}.learner-home__map{margin:.85rem auto .35rem}.learner-home__map-img{display:block;width:auto;height:auto;max-width:100%;max-height:min(70vh,40rem);margin:0 auto;background:var(--ts-white-mid)}.learner-home__stages{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.75rem}.learner-home__stage{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;width:100%;text-align:left;padding:.9rem 1rem;border:1.5px solid var(--ts-white-rule);border-top:4px solid var(--ts-red);background:var(--ts-surface);box-shadow:var(--shadow-card);line-height:1.45}.learner-home__stage[data-section=east]{border-top-color:var(--ts-blue)}.learner-home__stage[data-section=mountains]{border-top-color:var(--ts-gold)}.learner-home__stage strong{font-size:1rem;color:var(--ts-ink)}.learner-home__stage span{font-weight:500;font-size:.9rem;color:var(--ts-ink-mid)}.learner-home__back{margin:0 0 .9rem;border:1.5px solid var(--ts-blue);background:var(--ts-blue-pale);color:var(--ts-blue-dark);font-weight:700}.learner-home__path>li{margin:0 0 1.5rem}.learner-home__section-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:.6rem;letter-spacing:.01em}.learner-home__section-title:before{content:"";display:inline-block;width:4px;height:1.1em;border-radius:2px;background:var(--ts-red);flex-shrink:0}.learner-home__stops{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.learner-home__stop{padding:.9rem 1rem;border-radius:var(--r-lg);background:var(--ts-surface);border:1.5px solid var(--ts-white-rule);box-shadow:var(--shadow-card)}.learner-home__stop--future{opacity:.6;background:transparent;border-style:dashed;box-shadow:none}.learner-home__stop h4{margin:0;font-size:1rem;font-weight:700;color:var(--ts-ink)}.learner-home__future{margin:.25rem 0 0;font-size:.88rem;color:var(--ts-ink-faint);font-style:italic}.learner-home__intro{margin:0 0 .75rem;padding:.85rem 1rem;border-radius:var(--r-md);background:var(--ts-gold-pale);border:1px solid color-mix(in srgb,var(--ts-gold) 30%,transparent);text-align:left}.learner-home__intro p{margin:.35rem 0;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.65}.learner-home__guide{display:flex;gap:.85rem;align-items:center;margin-bottom:.6rem}.learner-home__guide img{width:4.5rem;height:4.5rem;border-radius:var(--r-pill);object-fit:cover;background:var(--ts-white-mid);border:2.5px solid var(--ts-white-rule);box-shadow:0 2px 6px #1a0f0a1f;flex:0 0 auto;transition:border-color var(--ease),box-shadow var(--ease)}.learner-home__guide img:hover{border-color:var(--ts-red-mid);box-shadow:0 3px 10px #a8322833}.learner-home__guide>div{min-width:0}.learner-home__guide h4{margin:0}.learner-home__guide p{margin:.1rem 0 0}.learner-home__lessons{display:grid;gap:.45rem;margin-top:.65rem}.learner-home__node{width:100%;min-height:3rem;text-align:left;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .75rem;align-items:center;padding:.6rem .9rem;border-radius:var(--r-md);border:1.5px solid var(--ts-white-rule);background:var(--ts-surface-hi, #fff);color:var(--ts-ink);font-size:.95rem;transition:border-color var(--ease),box-shadow var(--ease),background-color var(--ease)}.learner-home__node:hover:not(:disabled){border-color:var(--ts-red-mid);background:var(--ts-red-pale);box-shadow:0 2px 8px #a832281a}.learner-home__node[aria-current=step]{border-color:var(--ts-red);background:var(--ts-red-pale);box-shadow:0 0 0 2px color-mix(in srgb,var(--ts-red) 20%,transparent);font-weight:700}.learner-home__node--locked{opacity:.5}.learner-home__review{display:inline-block;margin:.5rem 0 .85rem;padding:.5rem 1.1rem;border-radius:var(--r-pill);background:var(--ts-blue-pale);border:1.5px solid var(--ts-blue);color:var(--ts-blue-dark);font-weight:700;font-size:.92rem}.learner-home__review:hover{background:var(--ts-blue);color:#fff}.learner-home__meta{font-size:.85rem;color:var(--ts-ink-faint)}.learner-home__family-link{margin:1.25rem 0 0;font-size:.95rem}.learner-home__error{color:var(--ts-error);font-weight:600}.learner-home__primary .learner-home__section-lead{color:var(--ts-ink-mid)}.learner-home__debug{padding-top:.75rem;border-top:2px dashed var(--ts-white-rule)}@media (min-width: 640px){.learner-home__grid{grid-template-columns:1fr 1fr}.learner-home__stages{grid-template-columns:repeat(3,minmax(0,1fr))}.learner-home__hero-img{max-height:36vw}}@media (max-width: 480px){.learner-home__hero-img{max-height:56vw}.learner-home__stop{padding:.75rem}.learner-home__card button,.learner-home__theme button{width:100%}}.learner-home__lead-guide{display:flex;align-items:center;gap:.85rem;margin:.5rem 0 1.1rem;padding:.65rem .9rem;border-radius:var(--r-lg);background:var(--ts-red-pale);border:1px solid color-mix(in srgb,var(--ts-red) 25%,transparent)}.learner-home__lead-guide img{width:4rem;height:4rem;border-radius:var(--r-pill);object-fit:cover;flex-shrink:0;border:2px solid var(--ts-white-rule);box-shadow:var(--shadow-card)}.learner-home__lead-guide p{margin:0;font-size:.9rem;color:var(--ts-red-dark);line-height:1.5}.family-review{text-align:left;font-size:1.2rem;line-height:1.45}.family-review__header h2,.family-review__han,.family-review__tailo{overflow-wrap:anywhere}.family-review__kicker{margin:0;font-weight:700;color:#1d4ed8}.family-review h2{margin:.2rem 0 .5rem;font-size:clamp(1.6rem,5vw,2.1rem)}.family-review__name,.family-review label{display:grid;gap:.35rem;margin:.8rem 0;font-weight:700}.family-review input,.family-review textarea{width:100%;font:inherit;padding:.7rem .8rem;border-radius:.75rem;border:2px solid rgba(127,127,127,.45);background:#fff;color:#1e293b}.family-review__choice,.family-review__count,.family-review__label{margin:.35rem 0}.family-review__links{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-top:.75rem}.family-review__card{margin-top:1rem;padding:1rem;border-radius:1rem;background:#7f7f7f14}.family-review__han{margin:.15rem 0;font-size:clamp(2.2rem,10vw,3.2rem);font-weight:750;line-height:1.15}.family-review__tailo{margin:.2rem 0 .8rem;font-size:clamp(1.4rem,5vw,1.8rem)}.family-review__play,.family-review__save,.family-review__nav button,.family-review__verdict button,.family-review__record button{min-height:3.25rem;font-size:1.15rem}.family-review__verdict{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.8rem 0}.family-review__verdict button.is-selected{background:#166534;color:#fff;border-color:#166534}.family-review__verdict button.is-wrong{background:#9f1239;border-color:#9f1239}.family-review__save{width:100%;margin-top:.4rem;background:#1d4ed8;color:#fff;border-color:#1d4ed8}.family-review__nav{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0 2rem}.family-review__status{font-weight:700}.family-review__table-wrap{overflow-x:auto}.family-review table{width:100%;border-collapse:collapse;font-size:1rem}.family-review th,.family-review td{border-bottom:1px solid rgba(127,127,127,.35);text-align:left;padding:.45rem;vertical-align:top}@media (max-width: 480px){.family-review__verdict,.family-review__nav{grid-template-columns:1fr}}.lesson-intro{margin-bottom:1.75rem;padding:1.35rem 1.35rem 1.1rem;border:1.5px solid var(--ts-white-rule);border-radius:var(--r-xl);background:var(--ts-surface);box-shadow:var(--shadow-card)}.lesson-intro:before{content:"";display:block;height:3px;margin:-1.35rem -1.35rem 1rem;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(90deg,var(--ts-red) 0%,var(--ts-blue) 100%)}.lesson-intro__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.lesson-intro__header h2{margin:0;font-size:clamp(1.2rem,4vw,1.4rem);font-family:var(--font-serif, "Noto Serif TC", serif);color:var(--ts-red-dark);line-height:1.25}.lesson-intro__skip{flex-shrink:0;padding:.3rem .75rem;min-height:2.1rem;border-radius:var(--r-pill);border:1.5px solid var(--ts-white-rule);background:transparent;color:var(--ts-ink-mid);font-size:.85rem;font-weight:600}.lesson-intro__skip:hover{border-color:var(--ts-blue-mid);color:var(--ts-blue-dark);background:var(--ts-blue-pale)}.lesson-intro__objective{margin:0 0 1.1rem;font-size:1rem;color:var(--ts-ink-mid);line-height:1.65;padding:.65rem .9rem;border-radius:var(--r-md);background:var(--ts-gold-pale);border-left:3px solid var(--ts-gold)}.lesson-intro__section{margin-bottom:1rem}.lesson-intro__section h3{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--ts-red-dark)}.lesson-intro__section p{margin:0;color:var(--ts-ink-mid);line-height:1.65;font-size:.95rem}.lesson-intro__list-block{margin-bottom:1rem}.lesson-intro__list-block h3{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--ts-red-dark)}.lesson-intro__list-block ul{margin:0;padding-left:1.35rem}.lesson-intro__list-block li{margin-bottom:.3rem;font-size:.95rem;color:var(--ts-ink-mid);line-height:1.6}.lesson-intro__list-block--pitfalls h3{color:var(--ts-error)}.lesson-intro__list-block--pitfalls h3:before{content:"⚠ "}.lesson-intro__list-block--pitfalls li{color:color-mix(in srgb,var(--ts-error) 70%,var(--ts-ink))}.lesson-intro__continue{display:block;width:min(100%,20rem);margin:1.25rem auto 0;min-height:3rem;padding:.65rem 1.5rem;border-radius:var(--r-pill);font-size:1.05rem;font-weight:700;color:#fff;background:var(--ts-red);border:2px solid var(--ts-red);box-shadow:0 2px 8px #a8322838;letter-spacing:.01em;transition:background-color var(--ease),box-shadow var(--ease),transform .12s ease}.lesson-intro__continue:hover,.lesson-intro__continue:focus-visible{background:var(--ts-red-dark);border-color:var(--ts-red-dark);box-shadow:0 4px 14px #7d221847;transform:translateY(-1px)}.lesson-intro__continue:active{transform:translateY(0)}.lesson-intro__huandao{display:grid;gap:.85rem;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--ts-white-rule)}.lesson-intro__guides{display:flex;gap:1rem;flex-wrap:wrap}.lesson-intro__guide{display:flex;align-items:center;gap:.55rem;margin:0}.lesson-intro__guide img{width:3.5rem;height:3.5rem;border-radius:var(--r-pill);object-fit:cover;border:2px solid var(--ts-white-rule);box-shadow:var(--shadow-card)}.lesson-intro__guide figcaption{font-size:.88rem;font-weight:600;color:var(--ts-red-dark)}.lesson-intro__food{border-left:4px solid var(--ts-gold);padding:.4rem .85rem;background:var(--ts-gold-pale);border-radius:0 var(--r-md) var(--r-md) 0}.lesson-intro__food h3{margin:0 0 .3rem;font-size:.95rem;font-weight:700;color:color-mix(in srgb,var(--ts-gold) 70%,var(--ts-ink))}.lesson-intro__food-name{font-weight:700;margin:0 0 .3rem;font-size:1rem;color:var(--ts-ink)}.lesson-intro__food p{margin:0;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.6}.lesson-intro__note{border-radius:var(--r-md);border:1px solid var(--ts-white-rule);background:var(--ts-surface);padding:.5rem .85rem}.lesson-intro__note summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--ts-ink-mid);list-style:none;display:flex;align-items:center;gap:.4rem}.lesson-intro__note summary:before{content:"▶";font-size:.65rem;color:var(--ts-ink-faint);transition:transform .15s ease}.lesson-intro__note[open] summary:before{transform:rotate(90deg)}.lesson-intro__note p{margin:.5rem 0 0;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.65}.lesson-intro__pack{align-self:flex-start;padding:.35rem .9rem;min-height:2.1rem;border-radius:var(--r-pill);border:1.5px solid var(--ts-blue);background:var(--ts-blue-pale);color:var(--ts-blue-dark);font-weight:700;font-size:.85rem}.lesson-intro__pack:hover{background:var(--ts-blue);color:#fff;border-color:var(--ts-blue)}.voice-selector{margin:.75rem 0;min-width:0;font-size:.88rem;color:var(--ts-ink-mid)}.voice-selector label{margin-right:.5rem;font-weight:600}.voice-selector select{padding:.3rem .6rem;font-size:.88rem;font-family:var(--font-sans);border-radius:var(--r-sm);border:1.5px solid var(--ts-white-rule);background:var(--ts-surface);color:var(--ts-ink);max-width:100%;cursor:pointer;transition:border-color var(--ease)}.voice-selector select:hover,.voice-selector select:focus{border-color:var(--ts-blue-mid);outline:none}@media (max-width: 480px){.voice-selector label{display:block;margin:0 0 .3rem}.voice-selector select{display:block;width:100%}}.recorder{margin-top:1.25rem;padding:1rem 1.1rem;border-top:1.5px solid var(--ts-white-rule);border-radius:0 0 var(--r-lg) var(--r-lg)}.recorder h3{margin-top:0;font-size:1rem;font-weight:700;color:var(--ts-ink);margin-bottom:.5rem}.recorder__status{font-size:.88rem;margin:.4rem 0 .9rem;color:var(--ts-ink-mid);line-height:1.5}.recorder__status--denied,.recorder__status--unavailable,.recorder__status--error{color:var(--ts-red);font-weight:600}.recorder__status--granted{color:var(--ts-blue);font-weight:600}.recorder__status--requesting{color:var(--ts-gold)}.recorder__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.recorder__buttons button{min-height:2.75rem;border-radius:var(--r-md)}.recorder__recording{color:var(--ts-red);font-weight:700;display:inline-flex;align-items:center;gap:.4rem}.recorder__recording:before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--ts-red);animation:ts-pulse 1s ease-in-out infinite}@keyframes ts-pulse{0%,to{opacity:1}50%{opacity:.3}}.exercise-view{padding:1.35rem 1.35rem 1.1rem;border:2px solid var(--ts-red-mid);border-radius:var(--r-xl);background:var(--ts-surface);box-shadow:var(--shadow-card);margin-bottom:1.5rem;min-width:0;max-width:100%;position:relative}.exercise-view:before{content:"";display:block;height:3px;position:absolute;top:-2px;left:-2px;right:-2px;border-radius:var(--r-xl) var(--r-xl) 0 0;background:linear-gradient(90deg,var(--ts-red) 0%,var(--ts-blue) 100%)}.exercise-view__progress{font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ts-ink-faint);margin-bottom:.65rem}.exercise-view__type{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-red-dark);background:var(--ts-red-pale);border:1px solid color-mix(in srgb,var(--ts-red) 30%,transparent);border-radius:var(--r-pill);padding:.15rem .6rem;margin:0 0 .75rem}.exercise-view__zhuyin-symbol{margin:0 0 .85rem;text-align:center}.exercise-view__zhuyin-display{font-size:clamp(2.25rem,10vw,3.5rem);margin:0;line-height:1.1;font-family:var(--font-sans);color:var(--ts-ink);font-weight:700}.exercise-view__zhuyin-symbol-roman{display:grid;gap:.25rem;margin:.4rem 0 0;font-size:.95rem}.exercise-view__zhuyin-symbol-roman-row{display:flex;flex-wrap:wrap;gap:.35rem .65rem;justify-content:center;align-items:baseline}.exercise-view__zhuyin-symbol-roman-row dt{font-weight:700;color:var(--ts-ink-faint);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.exercise-view__zhuyin-symbol-roman-row dd{margin:0;font-weight:600;color:var(--ts-ink)}.exercise-view__zhuyin-symbol-roman-row--primary dd{font-size:1.35rem;font-weight:700;color:var(--ts-red-dark)}.exercise-view__gloss-heading{font-size:clamp(1.2rem,5vw,1.5rem);margin:.5rem 0 1rem;font-weight:700;overflow-wrap:anywhere;color:var(--ts-ink);text-align:center;font-family:var(--font-serif, "Noto Serif TC", serif)}.exercise-view__languages{display:grid;gap:1rem;margin-bottom:1rem;min-width:0}.exercise-view__languages--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-view__language-panel{padding:1rem 1.1rem;border:1.5px solid var(--ts-white-rule);border-radius:var(--r-lg);background:var(--ts-surface-hi, #fff);color:var(--ts-ink);min-width:0;transition:border-color var(--ease),box-shadow var(--ease)}.exercise-view__language-panel--active{border:2px solid var(--ts-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--ts-red) 18%,transparent);background:var(--ts-red-pale)}.exercise-view__language-panel button{color:#fff;background:var(--ts-red);border-color:var(--ts-red)}.exercise-view__language-panel button:hover{background:var(--ts-red-dark);border-color:var(--ts-red-dark)}.exercise-view__language-label{margin:0 0 .5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-red)}.exercise-view__variant-phrase{font-size:clamp(1.6rem,8vw,2.25rem);margin:0 0 .5rem;overflow-wrap:anywhere;font-weight:700;color:var(--ts-ink);font-family:var(--font-sans);line-height:1.2}.exercise-view__variant-phrase--secondary{font-size:1.25rem;font-weight:500;opacity:.82;color:var(--ts-ink-mid)}.exercise-view__meaning-label{margin:.35rem 0 0;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ts-ink-faint)}.exercise-view__word-definition{margin:0 0 .75rem;font-size:1rem;font-weight:600;text-align:center;color:var(--ts-ink-mid)}.exercise-view__language-status{margin:.65rem 0 0;font-weight:700;font-size:.95rem;color:var(--ts-red-dark)}.exercise-view__guides{display:grid;gap:.5rem;margin:.75rem 0}.exercise-view__guide{display:flex;flex-wrap:wrap;gap:.4rem .75rem;justify-content:center;align-items:baseline}.exercise-view__guide dt{font-weight:700;color:var(--ts-ink-faint);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.exercise-view__guide dd{margin:0;font-size:1.2rem;letter-spacing:.04em;color:var(--ts-ink)}.exercise-view__guide--primary dd{font-size:1.75rem;font-weight:700;color:var(--ts-red-dark)}.exercise-view__guide--secondary{opacity:.8}.exercise-view__guide--secondary dd{font-size:1rem}.exercise-view__gloss{opacity:.8;margin-bottom:.5rem;font-size:.9rem;color:var(--ts-ink-mid)}.exercise-view__notes,.exercise-view__practice-note{max-width:36rem;margin:0 auto 1rem;font-size:.92rem;color:var(--ts-ink-mid);line-height:1.6}.exercise-view__practice-note{padding:.65rem 1rem;border-radius:var(--r-md);background:var(--ts-red-pale);border-left:3px solid var(--ts-red-mid)}.exercise-view__mouth-guide{margin-top:.75rem;padding:.75rem .9rem;border-radius:var(--r-md);background:var(--ts-blue-pale);border:1px solid color-mix(in srgb,var(--ts-blue) 25%,transparent);font-size:.9rem;color:var(--ts-ink-mid)}.exercise-view__mouth-guide h4{margin:0 0 .35rem;font-size:.95rem;font-weight:700;color:var(--ts-blue)}.exercise-view__mouth-guide ul{margin:.35rem 0 0;padding-left:1.25rem}.exercise-view__speak-only-note{margin:.75rem 0 0;font-size:.9rem;color:var(--ts-red);font-weight:600}.exercise-view__sample-penalty{margin:.75rem 0 0;font-size:.9rem;color:var(--ts-gold);font-weight:600}.exercise-view__sample-penalty--played{color:var(--ts-red)}.exercise-view__controls,.exercise-view__audio{margin:1rem 0}.exercise-view__controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.exercise-view__controls button{min-height:2.75rem}.exercise-view__audio audio{display:block;margin:.75rem auto 0;width:100%;max-width:100%;min-width:0}.exercise-view__audio audio[hidden]{display:none!important}@media (max-width: 720px){.exercise-view__languages--dual{grid-template-columns:1fr}}@media (max-width: 480px){.exercise-view{padding:.9rem .75rem .75rem}}.chart-display{margin-top:1.5rem;text-align:left;min-width:0;max-width:100%}.chart-display__chart{margin-bottom:1.5rem;min-width:0;padding:1rem;border-radius:var(--r-lg);background:var(--ts-surface);border:1px solid var(--ts-white-rule);box-shadow:var(--shadow-card)}.chart-display__canvas-wrap{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden}.chart-display__chart h4{text-align:center;margin:0 0 .5rem;font-size:.95rem;font-weight:700;color:var(--ts-red-dark)}.chart-display__note{margin:0 0 .75rem;font-size:.875rem;color:var(--ts-ink-faint);text-align:center;line-height:1.5}.result-feedback{text-align:left;margin-top:1.25rem;padding:1.25rem 1.25rem 1rem;border-radius:var(--r-xl);border:1.5px solid var(--ts-white-rule);background:var(--ts-surface);box-shadow:var(--shadow-card);min-width:0;max-width:100%;overflow-wrap:anywhere}.result-feedback__loading{text-align:center;margin-top:1rem;color:var(--ts-ink-faint);font-size:.9rem}.result-feedback__penalty{color:var(--ts-gold);font-weight:600;margin:.5rem 0 1rem;padding:.5rem .75rem;background:var(--ts-gold-pale);border-radius:var(--r-md);border-left:3px solid var(--ts-gold);font-size:.9rem}.result-feedback__score-note{color:var(--ts-ink-mid);font-weight:500;font-size:.95rem}.result-feedback__section{margin-bottom:1rem}.result-feedback__section h3{font-size:1rem;margin:0 0 .35rem;color:var(--ts-blue-dark)}.result-feedback__section ul{margin:.4rem 0 .75rem;padding-left:1.35rem}.result-feedback__section li{margin-bottom:.3rem;font-size:.9rem;color:var(--ts-ink-mid);line-height:1.6}.result-feedback__table-wrap{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--ts-white-rule)}.result-feedback__table{width:100%;border-collapse:collapse;font-size:.88rem}.result-feedback__table th,.result-feedback__table td{border-bottom:1px solid var(--ts-white-rule);border-right:1px solid var(--ts-white-rule);padding:.4rem .6rem;text-align:left;color:var(--ts-ink-mid)}.result-feedback__table th:last-child,.result-feedback__table td:last-child{border-right:none}.result-feedback__table th{background:var(--ts-blue-pale);font-weight:700;color:var(--ts-blue-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.result-feedback__table tr:last-child td{border-bottom:none}@media (max-width: 480px){.result-feedback{padding:.85rem .75rem}}.app-error{color:var(--ts-error, #C04010);font-weight:600;text-align:center;margin:.75rem 0;padding:.65rem 1rem;border-radius:var(--r-md, .75rem);background:var(--ts-error-pale, #FFF1EC);border:1px dashed var(--ts-error, #C04010)}.app-error:before{content:"⚠ "}.app-session-bar{margin-bottom:1.25rem}.app-session-bar button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:var(--r-pill, 999px);border:2px solid var(--ts-white-rule, #E5D8CC);background:var(--ts-surface, #FFFFFF);color:var(--ts-ink-mid, #4D3326);font-weight:600;font-size:.9rem;min-height:2.5rem}.app-session-bar button:before{content:"←"}.app-session-bar button:hover{border-color:var(--ts-red, #A83228);color:var(--ts-red, #A83228);background:var(--ts-red-pale, #FCECEA)}
