*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:auto}html[data-mode=dark]{color-scheme:dark}body{margin:0;color:var(--tl-ink);font:400 17px/1.8 var(--tl-font-ui);background:linear-gradient(120deg,rgba(250,252,249,.78),rgba(250,252,249,.9)),url('/assets/learner-design/wave-sakura.png') center/cover fixed}html[data-mode=dark] body{background:linear-gradient(120deg,rgba(5,18,30,.84),rgba(5,18,30,.92)),url('/assets/learner-design/wave-sakura.png') center/cover fixed}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select{min-height:44px;border:1px solid var(--tl-hair);border-radius:var(--tl-radius-control);padding:8px 16px;background:transparent;cursor:pointer}button:hover,a:hover{color:var(--tl-seal)}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--tl-focus);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;padding:14px;background:var(--tl-paper)}.skip:focus{top:8px;z-index:10}.book-shell{width:min(1080px,calc(100% - 40px));margin:24px auto 48px;padding:0 48px;background:var(--tl-glass);border:1px solid var(--tl-glass-border);border-radius:var(--tl-radius-surface);box-shadow:var(--tl-shadow);backdrop-filter:blur(var(--tl-blur))}.book-header{display:flex;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--tl-hair)}.brand{display:flex;gap:12px;align-items:center;font:500 24px var(--tl-font-shodo);color:var(--tl-seal);margin-right:auto;min-height:44px}.brand span{font:700 17px var(--tl-font-ui);color:var(--tl-ink)}.back{font-size:15px;display:flex;align-items:center;min-height:44px}.book-header button{font-size:15px}.book-intro{padding:38px 0 26px}.eyebrow{font:600 12px/1.8 var(--tl-font-mono);letter-spacing:.12em;color:var(--tl-seal);margin:0 0 14px}.book-intro h1{font:750 clamp(34px,4vw,48px)/1.2 var(--tl-font-ui);letter-spacing:-.045em;margin:0 0 20px}.book-intro h1 em{font-style:normal;font-weight:500}.book-intro>p:last-of-type{font-size:16px;color:var(--tl-ink-soft);margin:0}.book-intro #resume{margin-top:22px;background:var(--tl-seal);border-color:var(--tl-seal);color:var(--tl-paper-text,#fff)}html[data-mode=dark] #resume{color:#081a2b}.catalog-groups{margin:20px 0 32px;border-top:1px solid var(--tl-hair)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.topic-range>summary{display:flex;align-items:center;gap:22px;min-height:76px;padding:18px 0;border-bottom:1px solid var(--tl-hair);font-weight:600}.range-number{font:400 27px var(--tl-font-mono);color:var(--tl-seal);min-width:94px}.disclosure{margin-left:auto;color:var(--tl-seal);font-size:22px}.topic-range[open]>.topic-list{padding:8px 0 18px 26px}.topic-range[open] .disclosure{transform:rotate(45deg)}.topic>summary{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:60px;padding:14px 0;border-bottom:1px solid var(--tl-hair);line-height:1.5}.topic>summary>span{flex:none;font-size:12px;color:var(--tl-ink-soft)}.entry-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:10px;align-items:center;padding:14px 8px;min-height:54px;line-height:1.7;border-bottom:1px solid var(--tl-hair)}.entry-number{font:500 12px var(--tl-font-mono);color:var(--tl-ink-soft)}.entry-list>a>span:last-child{color:var(--tl-seal)}.search-panel{border-top:1px solid var(--tl-hair);margin:10px 0}.search-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:15px}.search-panel label{font-size:14px;color:var(--tl-ink-soft)}.search-panel input{display:block;width:100%;min-height:48px;padding:12px;border:1px solid var(--tl-hair);border-radius:12px;background:transparent;margin:8px 0 18px}.reader-navigation{display:flex;align-items:center;gap:10px;padding:24px 0;border-bottom:1px solid var(--tl-hair);margin-bottom:28px}.reader-navigation p{margin:0 auto 0 8px;font-size:13px;color:var(--tl-ink-soft)}.reader-navigation button{font-size:15px}.reader-navigation #previous,.reader-navigation #next{width:44px;padding:0}.reader-footer{display:flex;justify-content:space-between;gap:16px;margin:34px 0;padding:24px 0;border-top:1px solid var(--tl-hair)}.book-footer{font-size:12px;color:var(--tl-ink-soft);padding:24px 0;border-top:1px solid var(--tl-hair)}
.doc-section{font-size:calc(17px * var(--book-scale,1));line-height:1.9;min-width:0}.doc-section h3,.doc-section>.section-head h2{font:650 calc(30px * var(--book-scale,1))/1.7 var(--tl-font-jp);letter-spacing:0;margin:10px 0 26px;overflow-wrap:anywhere;color:var(--tl-ink)}.doc-section:has(>h3)>.section-head{display:block}.doc-section:has(>h3)>.section-head h2{font:500 15px/1.7 var(--tl-font-ui);color:var(--tl-ink-soft);margin:0 0 10px}.doc-section>.section-head>.section-kicker{display:none}.doc-section>p{margin:26px 0;overflow-wrap:anywhere}.doc-section .callout-box{margin:26px 0;padding:18px 0;border-block:1px solid var(--tl-hair);background:transparent;box-shadow:none;border-radius:0}.doc-section code{font-family:var(--tl-font-jp);font-size:1.08em;background:transparent;padding:0;color:var(--tl-ink);white-space:normal;overflow-wrap:anywhere}.doc-section em{font-style:normal}.doc-section .example-analysis{padding:12px 0 12px 22px;border-left:3px solid var(--tl-seal);margin:28px 0;background:transparent;border-radius:0;box-shadow:none}.doc-section .table-shell{margin:30px 0;max-width:100%;overflow-x:auto}.doc-section table{width:100%;border-collapse:collapse;border-spacing:0;background:transparent;table-layout:fixed}.doc-section th{font-size:13px;text-align:left;font-weight:600;color:var(--tl-ink-soft);padding:12px 16px;border-bottom:1px solid var(--tl-hair)}.doc-section td{vertical-align:top;padding:22px 16px;border-bottom:1px solid var(--tl-hair);overflow-wrap:anywhere}.doc-section td:first-child{font:500 calc(23px * var(--book-scale,1))/2 var(--tl-font-jp)}.doc-section strong{font-weight:700}.doc-section ruby{font-family:var(--tl-font-jp);ruby-align:center}.doc-section rt{font-size:max(11px,.48em);font-weight:400;line-height:1;letter-spacing:0}html[data-furi=hide] .doc-section rt{visibility:hidden}.doc-section [style]{max-width:100%}.doc-section .section-intro{font-size:16px;color:var(--tl-ink-soft)}
dialog{width:min(540px,calc(100% - 28px));max-height:85vh;padding:26px;border:1px solid var(--tl-glass-border);border-radius:24px;background:var(--tl-glass-strong);color:var(--tl-ink);box-shadow:var(--tl-shadow);backdrop-filter:blur(24px)}dialog::backdrop{background:rgba(5,18,30,.45);backdrop-filter:blur(6px)}dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}dialog h2{font-size:24px;margin:0}dialog header button{font-size:26px;line-height:1;padding:0;min-width:44px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--tl-hair)}.source-note{font-size:14px;color:var(--tl-ink-soft)}
@media(max-width:700px){.book-shell{width:calc(100% - 20px);padding:0 22px;margin:10px auto 28px;border-radius:24px}.book-header{gap:8px;padding:12px 0}.brand{font-size:21px;gap:6px}.brand span{font-size:14px}.book-header .back{font-size:13px}.book-header button{font-size:13px;padding:8px 10px}.book-intro{padding:28px 0 20px}.book-intro h1{font-size:36px}.topic-range>summary{gap:14px;min-height:68px;font-size:16px}.range-number{font-size:22px;min-width:76px}.topic-range[open]>.topic-list{padding-left:8px}.reader-navigation{flex-wrap:wrap;gap:8px;padding:18px 0}.reader-navigation #contents{padding:8px 12px}.reader-navigation p{font-size:12px}.doc-section h3,.doc-section>.section-head h2{font-size:calc(26px * var(--book-scale,1));line-height:1.85}.doc-section table,.doc-section tbody,.doc-section tr,.doc-section td{display:block;width:100%!important}.doc-section thead{display:none}.doc-section tr{padding:18px 0;border-bottom:1px solid var(--tl-hair)}.doc-section td{padding:6px 0;border:0}.doc-section td:first-child{font-size:calc(22px * var(--book-scale,1));padding-bottom:12px}.doc-section .example-analysis{padding-left:16px}.entry-list>a{font-size:16px}.reader-footer button{font-size:14px;padding:10px}.book-footer{font-size:11px}.setting-row{font-size:16px}}
@media(prefers-reduced-transparency:reduce){.book-shell,dialog{background:var(--tl-glass-strong);backdrop-filter:none}}@media print{body{background:white}.book-header,.reader-navigation,.reader-footer,.book-footer,dialog,#catalog{display:none!important}.book-shell{width:100%;margin:0;padding:0;box-shadow:none;border:0}.doc-section{display:block!important}}

/* Source topic names are the first visible learning choices. */
.catalog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--tl-space-6,32px);align-items:start}
.catalog-groups>.topic{min-width:0}.catalog-groups>.topic[open]{grid-column:1/-1}
.topic>summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;gap:12px;align-items:center;min-height:60px}
.topic>summary>.topic-number{font:500 13px var(--tl-font-mono);color:var(--tl-ink-soft)}.topic>summary>.topic-name{font:600 16px/1.6 var(--tl-font-ui);color:var(--tl-ink);overflow-wrap:anywhere}.topic>summary>.topic-count{font-size:12px;color:var(--tl-ink-soft)}.topic>summary>.disclosure{font-size:20px;color:var(--tl-seal)}.topic[open]>summary>.disclosure{transform:rotate(45deg)}
@media(max-width:700px){.catalog-groups{display:block}.topic>summary{grid-template-columns:25px minmax(0,1fr) auto 16px;gap:8px}.topic>summary>.topic-name{font-size:16px}}
