:root{font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#202138;background:#f5f2eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,.flashcard:focus-visible{outline:3px solid #6876e6;outline-offset:3px}.shell{max-width:760px;margin:auto;min-height:100vh;background:#fbfaf7;box-shadow:0 8px 60px #30344d14}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#191b32;color:white}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.03em;font-size:16px}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:#bbc0df;font-weight:600;margin-top:2px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:#f3b56b;color:#27223a;border-radius:11px;font-family:serif;font-size:22px}.icon-button{border:0;background:#ffffff19;color:inherit;border-radius:12px;min-width:40px;height:40px;font-size:22px}.hero{background:#242743;color:white;padding:30px 24px 38px;position:relative;overflow:hidden}.hero:after{content:"文";position:absolute;right:-16px;bottom:-90px;font-size:230px;font-family:serif;color:#ffffff0d;pointer-events:none}.eyebrow{font-size:12px;color:#f1b86d;letter-spacing:.14em;font-weight:800}.hero h1{position:relative;z-index:1;font-size:clamp(32px,7vw,47px);line-height:1.23;letter-spacing:.02em;margin:12px 0 12px}.hero em{font-style:normal;color:#f3bc76}.hero p{position:relative;z-index:1;line-height:1.75;max-width:34em;color:#e7e7f2;font-size:14px;margin:0}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);margin:-15px 18px 16px;position:relative;z-index:2;background:white;border-radius:17px;box-shadow:0 10px 30px #24274316;padding:16px 8px}.stat{text-align:center;border-right:1px solid #ececf1}.stat:last-child{border:0}.stat span{display:block;font-size:24px;font-weight:850;line-height:1.2}.stat small{display:block;font-size:11px;color:#777b8c;margin-top:3px}.mode-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 18px 13px}.mode-tabs button{border:0;background:#ececf0;border-radius:999px;padding:10px 16px;color:#585c6c;font-size:13px;font-weight:750;white-space:nowrap}.mode-tabs button.selected{background:#242743;color:white}.filters{display:flex;align-items:center;gap:9px;padding:0 18px 14px;font-size:12px;color:#777b8c}.filters select{background:white;border:1px solid #dadce5;border-radius:9px;padding:8px 28px 8px 9px;color:#37394c;max-width:180px}.filters #sessionCount{margin-left:auto}.study-area{padding:0 18px}.flashcard{background:white;border:1px solid #e7e3db;border-radius:20px;min-height:335px;box-shadow:0 12px 34px #3934430f;display:flex;flex-direction:column;overflow:hidden}.card-top,.card-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:#8b8c99;font-size:11px;font-weight:700}.card-top{border-bottom:1px solid #f0eee8}.pill{background:#fbead4;color:#a05e26;border-radius:99px;padding:6px 10px;font-size:11px}.card-body{padding:27px 24px 32px;flex:1}.card-kicker{font-size:11px;color:#b16c3d;font-weight:800;letter-spacing:.16em;margin-bottom:13px}.card-body h2{font-size:clamp(22px,5vw,30px);line-height:1.55;letter-spacing:.01em;margin:0;white-space:pre-line}.hint{font-size:13px;color:#777a8b;line-height:1.65;margin:15px 0 0}.answer-panel{background:#f7f6fb;border-top:1px solid #e8e7f0;padding:22px 24px;animation:show .22s ease}.answer-panel h3{color:#2f326d;font-size:22px;line-height:1.5;margin:0 0 10px;white-space:pre-line}.answer-panel p{line-height:1.8;font-size:14px;margin:0;color:#3e4157;white-space:pre-line}.example-box{border-left:3px solid #f3b56b;margin-top:18px;padding:8px 12px;font-size:13px;line-height:1.8;color:#484a5e;background:#fff;border-radius:0 9px 9px 0;white-space:pre-line}.example-box:empty{display:none}.card-foot{border-top:1px solid #f0eee8;gap:12px}.primary-button,.secondary-button{border:0;border-radius:13px;font-weight:800}.primary-button{display:block;width:100%;margin:14px 0 0;background:#d77554;color:white;min-height:55px;box-shadow:0 5px 0 #b85d3f}.primary-button span{font-size:10px;color:#fff8;margin-left:8px}.secondary-button{background:#e9eaf4;color:#2f326d;padding:12px 15px}.rating{padding:5px 0 0}.rating p{text-align:center;font-size:12px;color:#747687}.rating-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rating-grid button{border:1px solid #dfe0e8;background:white;border-radius:12px;padding:12px 4px;min-height:64px;color:#303248}.rating-grid button:first-child{background:#fff0eb;border-color:#f4c8b9}.rating-grid b{display:block;font-size:12px}.rating-grid small{display:block;font-size:10px;color:#898c9b;margin-top:4px}.empty-state{text-align:center;margin:20px 18px;background:white;border:1px solid #e7e3db;border-radius:20px;padding:34px 25px}.empty-icon{font-size:42px;color:#7a8f71}.empty-state h2{font-size:21px}.empty-state p{font-size:14px;line-height:1.7;color:#666b7a}.study-tip{margin:27px 18px 20px;background:#eeefe8;border-radius:13px;padding:15px 18px;display:flex;gap:13px;font-size:12px;line-height:1.7;color:#566253}.study-tip strong{white-space:nowrap;color:#45664b}footer{font-size:10px;color:#a0a1aa;line-height:1.7;padding:18px 20px 30px;text-align:center}dialog{border:0;border-radius:20px;padding:0;width:min(92vw,480px);box-shadow:0 30px 80px #0005;color:#26283e}dialog::backdrop{background:#171729a6}dialog form{padding:21px}dialog p{font-size:13px;line-height:1.8;color:#55596a}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:18px;margin:0}.dialog-head .icon-button{background:#eeeef4;color:#303248}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.import-label{display:inline-block;cursor:pointer;font-size:13px}.small-note{font-size:11px!important;color:#858797!important}@keyframes show{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:440px){.hero{padding:25px 20px 34px}.dashboard{margin-left:14px;margin-right:14px}.study-area{padding:0 14px}.card-body{padding:25px 20px}.answer-panel{padding:20px}.rating-grid{grid-template-columns:repeat(2,1fr)}.study-tip{display:block}.study-tip strong{display:block;margin-bottom:4px}}
[hidden]{display:none!important}
.audio-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.audio-row .card-kicker{margin:0}.audio-button{border:1px solid #d9dcef;background:#f0f1fa;color:#30346c;border-radius:999px;padding:9px 13px;min-height:42px;font-size:12px;font-weight:800;white-space:nowrap}.audio-button span{font-size:10px;margin-right:3px}.audio-button.is-playing{background:#30346c;color:white;border-color:#30346c}.audio-button:disabled{opacity:.5;cursor:not-allowed}.audio-status{font-size:12px;color:#626778;line-height:1.5;margin:7px 3px 0;min-height:0}.audio-status:empty{display:none}.speech-setting{display:flex;align-items:center;gap:12px;margin:16px 0 4px;font-size:13px;font-weight:700}.speech-setting select{border:1px solid #d9dcef;border-radius:9px;background:white;padding:8px;color:#303248}@media(max-width:440px){.audio-button{font-size:11px;padding:8px 10px}.audio-row{gap:8px}}
.audio-collection{margin:24px 18px 8px;padding:23px 20px;background:#f1f1f7;border-radius:17px}.audio-collection h2{font-size:20px;margin:0 0 6px}.audio-collection p{color:#606477;font-size:13px;line-height:1.75;margin:0 0 16px}.audio-track{background:white;border:1px solid #e1e2ed;border-radius:12px;padding:15px;min-width:0}.audio-track audio{width:100%;height:46px;display:block}.audio-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.audio-links a{display:inline-block;border-radius:9px;background:#e9eaf4;padding:10px 12px;color:#30346c;font-size:12px;font-weight:800;text-decoration:none}.audio-links a:first-child{background:#30346c;color:white}@media(max-width:520px){.audio-collection{padding:20px 16px;margin-left:14px;margin-right:14px}.audio-track{padding:12px}.audio-links a{flex:1 1 100%;text-align:center}}
/* Continuous listening: generous touch targets and a compact phone layout. */
.audio-collection{margin:20px 18px 30px;border:1px solid #dedfeb;background:#efeff7}.audio-collection .eyebrow{color:#92502d;font-size:11px;margin-bottom:8px}.audio-collection + .dashboard{margin-top:0}.audio-collection h2{line-height:1.5}.audio-collection .course-now{font-weight:800;color:#30346c;margin-bottom:10px;font-size:14px;min-height:24px}.course-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.course-controls button,.course-chapters button,.course-cue button{border:1px solid #d6d9eb;border-radius:10px;background:#fff;color:#30346c;min-height:44px;padding:10px 12px;font:inherit;font-size:13px;font-weight:750}.course-controls button{flex:1}.course-controls label{display:flex;gap:10px;align-items:center;flex:1 1 100%;font-size:12px;color:#606477}.course-controls select{min-height:44px;flex:1;min-width:0;border:1px solid #d6d9eb;border-radius:10px;padding:8px;background:#fff;color:#30346c}.audio-collection .course-status{margin:10px 0;font-size:12px;color:#626778}.course-status:empty{display:none}.audio-collection #courseResume{margin-top:12px;width:100%;min-height:44px}.audio-links a{min-height:44px;display:flex;align-items:center;justify-content:center}.course-heading{font-size:14px;margin:20px 0 10px}.course-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-chapters button{text-align:left;line-height:1.6;overflow-wrap:anywhere}.course-transcript{margin-top:18px;border-top:1px solid #d6d9eb}.course-transcript summary{min-height:48px;padding:14px 0;cursor:pointer;font-size:14px;font-weight:800;color:#30346c}.course-cue{padding:16px 0;border-top:1px solid #d6d9eb}.course-cue h4{margin:0 0 12px}.course-cue button{width:100%;text-align:left;line-height:1.6}.course-cue p{white-space:pre-line;margin:8px 0;font-size:13px;overflow-wrap:anywhere}.course-cue .course-question{font-weight:750;color:#303248}.course-cue .course-think{font-size:12px;color:#92502d}.course-chapters button[aria-current],.course-cue button[aria-current]{background:#30346c;color:#fff;border-color:#30346c}.audio-collection .course-note{font-size:11px;margin:16px 0 0;color:#666b7c}a:focus-visible,summary:focus-visible{outline:3px solid #6876e6;outline-offset:3px}.icon-button,.audio-button,.mode-tabs button,.filters select{min-height:44px}.icon-button{min-width:44px}@media(max-width:440px){.audio-collection{margin:16px 14px 26px;padding:20px 14px}.audio-collection h2{font-size:20px}.course-chapters{grid-template-columns:1fr}.audio-track{padding:12px}.course-controls button{padding:10px 6px;font-size:12px}}
