:root{--bg:#f6f8f7;--paper:#fff;--ink:#243d38;--muted:#60716c;--accent:#146952;--line:#dbe5df;--mint:#edf6ef;--amber:#87570b;--danger:#a32736;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--bg);line-height:1.75;font-size:1.0rem}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:10px 19px;border:1px solid var(--line);border-radius:10px;font-weight:650;text-decoration:none;cursor:pointer;background:white;color:var(--ink)}button:hover,.button:hover{filter:brightness(.95)}button:disabled{cursor:not-allowed;opacity:.55}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:white}.secondary{background:#fff}.light{background:white;color:var(--accent);border-color:white}.danger{background:var(--danger);border-color:var(--danger);color:white}.small{font-size:0.8667rem;padding:7px 12px}.wide{width:100%;margin-top:22px}h1,h2,h3,p{margin:0 0 14px}h1{font-size:clamp(26px,3vw,34px);letter-spacing:-1px;line-height:1.5}h2{font-size:1.4rem;line-height:1.5}h3{font-size:1.1333rem}small{font-size:0.8rem;color:var(--muted)}strong{font-weight:750}label{display:block;font-weight:650;margin:20px 0 7px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:11px 13px;border:1px solid #aabdb2;border-radius:9px;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:80px}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0}input[type=file]{font-size:0.8667rem}fieldset{border:0;padding:0;margin:0 0 20px;min-width:0}legend{width:100%;padding:0}.question{display:block;font-size:1.2667rem;font-weight:700;margin:12px 0 22px}form>button{margin-top:18px}form .actions button{margin-top:12px}.muted{color:var(--muted)}.pre,.prose,pre{white-space:pre-wrap;overflow-wrap:anywhere}pre{font:inherit;background:var(--bg);padding:14px;max-height:250px;overflow:auto}.prose{line-height:2.1;margin:28px 0}.eyebrow{font-size:0.7333rem;font-weight:750;letter-spacing:2px;color:var(--accent);margin-bottom:10px}.demo-banner{background:#e7eee9;color:#405e51;text-align:center;font-size:0.8rem;padding:8px 12px}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 37px)}.sidebar{padding:34px 22px 24px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:15px}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-size:1.4rem;font-weight:800;margin:0 0 34px}.brand-icon{display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:15px;width:48px;height:48px;font-size:2.0667rem;line-height:1}.brand-sub{display:block;font-size:0.7333rem;font-weight:600;letter-spacing:1px}.nav-caption{font-size:0.7333rem;letter-spacing:1px;color:var(--muted);margin-bottom:0}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{padding:12px;border-radius:10px;font-size:0.9333rem;color:var(--muted);text-decoration:none;font-weight:600;display:flex;gap:12px}.sidebar nav a[aria-current]{background:var(--mint);color:var(--accent)}.sidebar nav a:hover{background:#f3f7f4}.sidebar nav a span{font-size:1.2rem;line-height:1.4;width:22px;text-align:center}.sidebar-note{margin-top:50px;background:#f2f7ed;padding:18px 14px;border-radius:12px;font-size:0.8rem}.sidebar-note p{margin:8px 0 0;color:var(--muted)}.user{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:0.8667rem;padding-top:32px}.user small{display:block}.avatar{background:#ece2d1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;color:var(--muted);font-size:0.8667rem;gap:14px}.topbar>div{display:flex;gap:9px}.workspace{min-width:0}main:not(.login){max-width:1320px;margin:0 auto;padding:36px 40px 60px;min-height:76vh}.page-heading{margin-bottom:29px}.page-heading>p:last-child{font-size:0.9333rem}.badge{display:inline-block;padding:3px 10px;border-radius:7px;font-size:0.7333rem;font-weight:700;background:#edf1f0;color:#53675f;white-space:nowrap}.badge.green{background:#e5f3e9;color:#236444}.badge.amber{background:#fff0d5;color:#805209}.hero{display:flex;justify-content:space-between;position:relative;overflow:hidden;background:#1e6652;border-radius:22px;padding:36px 40px;color:white;min-height:265px}.hero h2{font-size:1.9333rem;margin:18px 0 12px;line-height:1.6}.hero p{color:#d6e7df;font-size:0.8667rem;margin-bottom:20px}.pill{font-size:0.7333rem;letter-spacing:1px;border:1px solid #7fa894;padding:6px 12px;border-radius:20px}.hero-art{width:210px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.art-num{font-size:9.0rem;font-family:Georgia,serif;line-height:1;color:#cee4a5;z-index:1}.orbit{position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid #75a387;transform:rotate(-25deg)}.orbit:before,.orbit:after{content:"";position:absolute;inset:24px -18px;border-radius:50%;border:1px solid #75a387;transform:rotate(50deg)}.orbit:after{inset:60px -30px;transform:rotate(-20deg)}.art-label{position:absolute;bottom:8px;font-size:0.6rem;letter-spacing:3px;color:#d6e7df}.grid{display:grid;gap:20px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.five{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:22px;min-width:0}.grid>.card{margin-bottom:0}.grid{margin-bottom:24px}.stats{margin-top:24px}.stats .card{padding:23px}.stats p{font-size:0.8rem;margin-bottom:8px}.stats p:last-child{margin:9px 0 0;color:var(--muted)}.metric{display:block;font-size:2.3333rem;line-height:1.35;font-weight:750}.metric small{font-size:0.8667rem;font-weight:400}.text-metric{font-size:1.4rem;padding:9px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:29px 0 16px}.section-head h2{margin:0}.section-head a{font-size:0.8rem}.card>.section-head:first-child{margin-top:0}.action-card{color:var(--ink);text-decoration:none;transition:transform .12s,border-color .12s}.action-card:hover{border-color:#86aa95;transform:translateY(-2px)}.action-card p{font-size:0.8rem;color:var(--muted);margin:0}.step{font-size:0.8rem;color:var(--accent);display:inline-block;background:var(--mint);padding:5px 10px;border-radius:7px;margin-bottom:15px}.card-icon{font-size:1.8667rem;color:var(--accent);display:block;margin-bottom:12px}.note{padding:17px 20px;border-radius:12px;background:#ecf3ed;font-size:0.8667rem;margin:20px 0;color:#425e4d}.note p:last-child{margin:7px 0 0}.alert{padding:16px 18px;border-radius:10px;margin:18px 0;font-size:0.9333rem}.error{background:#fff0f0;color:#9b2735;border:1px solid #e4aeb7}.warning{background:#fff4df;color:#745015}.success{background:#e8f5ed;color:#276344}.alert:empty{display:none}.empty{text-align:center;padding:32px 14px;color:var(--muted)}.empty h2{font-size:1.1333rem;color:var(--ink)}.empty p{font-size:0.8667rem;margin:0}.empty-mark{font-size:2.2667rem;display:block;color:#87a18c;margin-bottom:9px}.material-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:23px}.material-list{padding:20px;height:fit-content}.material-list h2{font-size:1.0rem;margin-bottom:20px}.material-link{display:block;text-decoration:none;color:var(--ink);padding:16px 12px;border-radius:10px;margin-top:8px}.material-link.selected{background:var(--mint)}.material-link b{display:block;font-size:0.9333rem;margin-top:10px}.material-link small{display:block;margin-top:6px}.reading{padding:34px}.reading h2{font-size:1.7333rem;margin-top:15px}.source{display:block;border-left:3px solid #7d9972;padding:14px 18px;background:#f5f8f2;font-size:0.8667rem;margin:18px 0;text-decoration:none}.source p{margin:5px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.option{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;font-weight:400;margin:12px 0;cursor:pointer}.option:has(input:checked){background:var(--mint);border-color:#8daa95}.option:has(input:disabled){cursor:default}.ai-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.dev-controls{font-size:0.8rem;margin:18px 0;color:var(--muted)}.dev-controls summary{cursor:pointer}.answer-card{min-height:400px}#ai-status{color:var(--accent);font-size:0.8667rem;margin-top:16px}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}.required{font-size:0.6667rem;color:#886223;margin-left:9px;background:#fbf1df;border-radius:4px;padding:2px 6px}.field-help{color:var(--muted);font-size:0.8rem;margin:0 0 8px}#save-status{font-size:0.8rem;margin-top:20px;color:var(--accent)}.attachment{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.attachment p:last-child{font-size:0.8rem;margin-top:14px}.timeline{padding-left:23px;font-size:0.8667rem;margin:20px 0}.timeline li{padding-bottom:16px}.history{border:1px solid var(--line);border-radius:10px;margin:14px 0;overflow:hidden}.history summary{padding:16px;cursor:pointer;font-weight:600;font-size:0.8667rem;background:#f6f8f6}.history-body{padding:22px}.history-body h3{font-size:0.9333rem;margin-top:20px}.history-body p{font-size:0.9333rem}.axis{margin:20px 0}.axis>div{display:flex;align-items:center;gap:12px;font-size:0.8667rem;margin-bottom:7px}.axis b{display:grid;place-items:center;border-radius:6px;width:28px;height:28px;background:var(--mint);color:var(--accent)}.axis strong{margin-left:auto;font-size:0.8rem}.axis progress{width:100%;height:9px;border:0;appearance:none;accent-color:var(--accent)}progress::-webkit-progress-bar{background:#edf0ed;border-radius:9px}progress::-webkit-progress-value{background:#76a681;border-radius:9px}progress::-moz-progress-bar{background:#76a681}.review-item{border-top:1px solid var(--line);padding:18px 0;font-size:0.9333rem}.review-item p{font-size:0.8667rem;margin:8px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:0.8667rem}th{font-size:0.8rem;color:var(--muted);background:#f7f9f7}th,td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.danger-card{border-color:#ddc1c3}.audit{list-style:none;padding:0}.audit li{border-bottom:1px solid var(--line);padding:16px 0;font-size:0.8667rem}.audit p{margin:5px 0}.loading{padding:60px;text-align:center;color:var(--muted)}footer{font-size:0.7333rem;text-align:center;padding:20px;color:var(--muted)}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #d3981c;outline-offset:4px}#page-title:focus,#main:focus{outline:none}[hidden]{display:none!important}#notice:not(:empty){position:fixed;bottom:25px;right:25px;max-width:calc(100vw - 50px);background:#243d38;color:white;padding:15px 23px;border-radius:12px;box-shadow:0 6px 25px #0002;z-index:20;font-size:0.9333rem}.login{max-width:1100px;margin:70px auto;padding:35px;display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.login .large{width:64px;height:64px;font-size:2.8rem;margin-bottom:35px}.login-intro h1{font-size:3.2rem;line-height:1.5;margin-bottom:24px}.login-intro em{font-style:normal;color:var(--accent)}.login-intro>p:not(.eyebrow){color:var(--muted);font-size:0.9333rem}.login-steps{display:flex;gap:20px;margin-top:35px;color:var(--accent);font-size:0.8rem}.login-card{padding:35px;box-shadow:0 15px 60px #24453608}.login-card h2{font-size:1.7333rem}.login-card .muted{font-size:0.8667rem}
@media(max-width:1100px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:28px 14px}main:not(.login){padding:30px 25px}.topbar{padding:0 25px}.hero{padding:28px}.hero-art{width:155px}.orbit{width:160px;height:160px}.hero h2{font-size:1.6667rem}.task-layout{grid-template-columns:minmax(0,1fr)}.task-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.material-layout{grid-template-columns:210px minmax(0,1fr)}.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.layout{display:block}.sidebar{padding:18px 18px 12px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:18px;font-size:1.1333rem}.brand-icon{width:38px;height:38px;font-size:1.8rem}.sidebar nav{flex-direction:row;overflow:auto;gap:6px;padding-bottom:6px}.sidebar nav a{white-space:nowrap;font-size:0.8rem;padding:9px}.sidebar nav a span{display:none}.nav-caption,.sidebar-note,.user{display:none}.sidebar>button{position:absolute;right:16px;top:62px;font-size:0.7333rem;min-height:35px;padding:4px 9px}.topbar{height:auto;min-height:58px;padding:14px 20px;flex-wrap:wrap;font-size:0.7333rem}main:not(.login){padding:27px 18px}.hero{padding:25px;min-height:235px}.hero h2{font-size:1.6rem}.hero-art{display:none}.grid.three,.grid.two,.ai-grid,.material-layout,.task-layout>aside{grid-template-columns:1fr}.stats{grid-template-columns:1fr!important;gap:10px}.stats .card{display:grid;grid-template-columns:1fr auto;align-items:center;padding:17px 22px}.stats .card p:last-child{grid-column:1/-1}.metric{font-size:1.8667rem}.text-metric{font-size:1.2rem}.card{padding:22px}.material-list{display:none}.material-layout:before{content:'教材一覧は下のリンクからも切り替えられます';display:none}.reading{padding:24px}.reading h2{font-size:1.5333rem}.section-head{align-items:start}.section-head a{white-space:nowrap}.five{grid-template-columns:repeat(2,minmax(0,1fr))}.login{display:block;padding:24px;margin:20px auto;max-width:540px}.login-intro h1{font-size:2.4rem}.login-intro .large{margin-bottom:20px}.login-steps{margin:25px 0}.login-card{padding:26px}.material-list{display:block}.material-list .material-link{padding:10px}.material-list h2{margin-bottom:10px}.material-link b{margin-top:5px}h1{font-size:1.7333rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* v2: 長い正式章名、章選択と静的添付表示 */
.topbar select{max-width:min(65vw,620px);margin:0}.topbar label{white-space:nowrap}.material-list button{width:100%;text-align:left;white-space:normal;line-height:1.6;background:transparent;border:0;border-radius:8px}.material-list button.selected{background:var(--green-soft,#eaf2eb)}.attachment-preview{max-height:24rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.hero h2{max-width:740px;overflow-wrap:anywhere}.card,.workspace{min-width:0}.prose,.pre,.source{overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.review-form{border-top:1px solid #dce5dd;padding-top:20px;margin-top:20px}.topbar{gap:12px}@media(max-width:700px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar select{max-width:100%;width:100%;order:3}.hero-art{display:none}.hero h2{font-size:1.8rem}.material-layout{display:block}.grid.five{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1枚目：説明とログイン欄を一つのパネルにまとめる */
.login {
    width: calc(100% - 48px);
    max-width: 1000px;
    margin: 40px auto;
    padding: 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
  
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
  }
  
  .login-intro h1 {
    font-size: clamp(30px, 3vw, 42px);
  }
  
  .login .large {
    margin-bottom: 24px;
  }
  
  .login-card {
    padding: 0;
    margin-bottom: 0;
    border: 0;
    box-shadow: none;
  }
  
  #login-form select {
    min-height: 44px;
  }
  
  #login-form button {
    width: 100%;
  }
  
  /* 2枚目：緑のエリアと下のカードを離す */
  .hero + .grid {
    margin-top: 24px;
  }
  
  /* 3枚目：下書き保存と提出の間隔 */
  .task-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
  }
  
  #task-form .task-actions > button {
    margin: 0;
    min-height: 44px;
  }
  
  /* ファイル選択と保存ボタンを離す */
  .attachment-controls {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-top: 12px;
  }
  
  .attachment-controls input[type="file"] {
    width: 100%;
    min-width: 0;
    padding: 12px;
    font-size: 14px;
    background: #f7faf8;
  }
  
/* 課題の添付・教材原本のファイル選択欄 */
:is(#attachment, #content-file) {
    width: 100%;
    padding: 12px;
    border: 1px dashed #9db6a9;
    border-radius: 12px;
    background: #f7faf8;
    color: #52665c;
    font-size: 14px;
  }
  
  /* ファイルを選択するボタン */
  :is(#attachment, #content-file)::file-selector-button {
    margin-right: 16px;
    padding: 12px 20px;
    min-height: 44px;
    border: 1px solid #176b53;
    border-radius: 9px;
    background: #e7f3ed;
    color: #155c48;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s;
  }
  
  :is(#attachment, #content-file)::file-selector-button:hover {
    background: #d5eadd;
  }
  
  :is(#attachment, #content-file):focus-visible {
    outline: 3px solid #d3981c;
    outline-offset: 3px;
  }
  /* キーボード操作時 */
  #attachment:focus-visible {
    outline: 3px solid #d3981c;
    outline-offset: 3px;
  }
  
  /* 「添付を保存」との間隔 */
  #upload {
    margin-top: 16px;
  }
  .attachment-controls #upload {
    margin: 0;
    min-height: 44px;
  }
  
  /* 添付一覧が空なら、余白も表示しない */
  #files:empty {
    display: none;
  }
  
  #files:not(:empty) {
    margin-top: 16px;
  }
  
  /* 右の評価観点カードを、左のフォームの高さまで伸ばさない */
  .task-layout {
    align-items: start;
  }
  
  /* スマートフォンでは縦並び */
  @media (max-width: 760px) {
    .login {
      width: calc(100% - 32px);
      margin: 24px auto;
      padding: 24px;
      grid-template-columns: 1fr;
      gap: 28px;
    }
  
    .task-actions > button {
      flex: 1 1 140px;
    }
  }


/* Shared accessibility and study panels */
:root{font-size:15px} :root[data-text-size="large"]{font-size:18px} :root[data-text-size="largest"]{font-size:21px}
[hidden]{display:none!important} :focus-visible{outline:3px solid #a85c00;outline-offset:4px}
.accessibility-settings{padding:10px 24px;background:var(--paper);border-bottom:1px solid var(--line)}
.accessibility-settings summary{cursor:pointer;font-weight:700;min-height:36px}.accessibility-settings>div{max-width:620px;padding:12px 0}
.block{display:block}.metric{font-size:2rem}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.grid>*{min-width:0}.study-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:24px;align-items:start}.study-layout>div{min-width:0}.study-layout .material-layout{grid-template-columns:1fr}.study-layout .material-list{max-height:none;overflow:visible}.study-tabs{display:none}#study-tutor{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.hero+.grid{margin-top:24px}
.task-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.attachment-controls{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.task-layout{align-items:start}
:root[data-contrast="high"]{--bg:#fff;--paper:#fff;--ink:#111;--muted:#222;--accent:#004b37;--line:#333;--mint:#e1f1e8}
[data-contrast="high"] .card,[data-contrast="high"] input,[data-contrast="high"] select,[data-contrast="high"] textarea{border-color:#222}
[data-contrast="high"] .note,[data-contrast="high"] .badge,[data-contrast="high"] .field-help,[data-contrast="high"] .demo-banner{color:#111;background:#fff;border:1px solid #333}
@media(max-width:1100px){.study-layout{grid-template-columns:1fr}#study-tutor{position:static;max-height:none}.study-tabs{display:flex;gap:12px;margin-bottom:20px}.study-layout[data-pane="reading"] #study-tutor,.study-layout[data-pane="tutor"] #study-reading{display:none}.study-tabs [aria-pressed="true"]{background:var(--accent);color:white}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* 2026-10-15: settings menu and complete chapter overview */
:root[data-text-size="small"]{font-size:13px}
.sidebar-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.sidebar-settings button{width:100%;justify-content:flex-start;background:transparent;border:none;font-size:1rem;font-weight:600}.sidebar-settings button span{font-size:1.4rem}.sidebar-settings button:hover{background:var(--mint)}.sidebar-note{margin-top:16px}.login-settings{margin-top:16px}
.settings-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #12382b30}.settings-dialog::backdrop{background:#10251d80}.settings-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.settings-heading h2{font-size:1.6rem}.settings-heading button{flex-shrink:0}.settings-section{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.size-options legend{font-weight:650;margin-bottom:12px}.size-options>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.size-options label{margin:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 4px;border:1px solid var(--line);border-radius:10px;cursor:pointer;min-height:48px}.size-options label:has(input:checked){background:var(--mint);border:2px solid var(--accent)}.size-options label:focus-within{outline:3px solid #a85c00;outline-offset:3px}.size-options input{width:16px;height:16px}.contrast-option{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.contrast-option small{display:block}.contrast-option input{width:24px;height:24px}.settings-preview{padding:20px;background:var(--mint);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.settings-preview p{font-size:1rem}.settings-dialog #settings-status{margin-top:12px}
.learner-material-list{height:auto;max-height:none;overflow:visible}.learner-material-list .chapter-group+.chapter-group{margin-top:20px}.learner-material-list .chapter-group h3{margin:0 0 10px;font-size:.95rem;color:var(--muted)}.learner-material-list .chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.learner-material-list .chapter-grid .material-link{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;padding:12px;margin:0;min-height:48px;width:100%;font-size:.93rem;text-align:left;border:1px solid var(--line);border-radius:10px;white-space:normal;overflow-wrap:anywhere}.learner-material-list .chapter-grid .material-link b{margin:0;font-size:inherit}.learner-material-list .chapter-check{width:1em;flex-shrink:0}.learner-material-list .chapter-grid .selected{border-color:var(--accent);background:var(--mint)}
@media(max-width:760px){.learner-material-list .chapter-grid{grid-template-columns:1fr}.settings-dialog{padding:20px}.size-options>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
