:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{background:linear-gradient(#fff 0%,#f6f8fb 58%,#eef4f9 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.lesson-frame{background:#fff;border:1px solid #dde6ee;border-radius:28px;flex-direction:column;gap:14px;width:min(100%,460px);min-height:min(820px,100vh - 40px);padding:20px;display:flex;overflow:hidden;box-shadow:0 24px 70px #192b4624}.lesson-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.header-label{color:#677483;margin:0 0 3px;font-size:15px;line-height:1.2}.lesson-header h1{letter-spacing:0;margin:0;font-size:27px;font-weight:760;line-height:1.12}.progress-summary{color:#395063;text-align:right;gap:7px;width:104px;font-size:16px;font-weight:740;display:grid}.progress-track{background:#e5edf3;border-radius:999px;height:8px;overflow:hidden}.progress-track div{border-radius:inherit;background:#1f78d1;height:100%;transition:width .22s}.student-chip{color:#52616f;margin:7px 0 0;font-size:14px;font-weight:700;line-height:1.2}.logout-button{color:#395063;cursor:pointer;background:#fff;border:1px solid #d6e2ec;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:32px;display:inline-flex}.step-rail{gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.step-rail span{color:#6f7d88;background:#f1f5f8;border-radius:10px;align-items:center;gap:4px;min-width:fit-content;min-height:34px;padding:0 11px;font-size:15px;font-weight:680;display:inline-flex}.step-rail span.active{color:#165f9d;background:#e5f1fb}.step-rail span.done{color:#257142;background:#ebf7ee}.cover-screen,.content-stack,.complete-screen{flex-direction:column;flex:1;gap:16px;display:flex}.cover-copy h2,.instruction-row h2,.complete-screen h2{letter-spacing:0;margin:0;font-size:30px;font-weight:790;line-height:1.14}.cover-copy p,.instruction-row p,.complete-screen p{color:#52616f;margin:8px 0 0;font-size:19px;line-height:1.55}.primary-action,.secondary-action,.audio-button,.choice-button,.character-card,.scene-target{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}.primary-action,.secondary-action{border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:62px;font-size:22px;font-weight:780;display:inline-flex}.primary-action{color:#fff;background:#1f78d1;margin-top:auto;box-shadow:0 14px 32px #1f78d13d}.secondary-action{color:#1f5b89;background:#e8f2fb;padding:0 20px}.prompt-panel{background:#f5f8fb;border:1px solid #e0e9f1;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.prompt-panel h2{letter-spacing:0;margin:0;font-size:28px;font-weight:800;line-height:1.2}.prompt-panel p{color:#536270;margin:8px 0 0;font-size:18px;line-height:1.35}.prompt-panel p.success{color:#1f7a45}.prompt-panel p.error{color:#b7432e}.audio-button{color:#20465e;background:#fff;border:1px solid #dce8f0;border-radius:16px;place-items:center;gap:3px;width:76px;min-height:76px;font-size:13px;font-weight:760;display:grid}.primary-action:focus-visible,.secondary-action:focus-visible,.audio-button:focus-visible,.choice-button:focus-visible,.character-card:focus-visible,.scene-target:focus-visible,.logout-button:focus-visible{outline-offset:4px;outline:4px solid #1f78d157}.login-frame{justify-content:center}.login-hero{gap:8px;display:grid}.login-hero h1{letter-spacing:0;margin:0;font-size:34px;line-height:1.12}.login-hero p:last-child{color:#52616f;margin:0;font-size:18px;line-height:1.5}.login-form,.student-form{gap:14px;display:grid}.login-form label,.student-form label{color:#425161;gap:7px;font-size:15px;font-weight:760;display:grid}.login-form input,.student-form input,.student-form select,.student-form textarea{color:#17202a;width:100%;min-height:50px;font:inherit;background:#fff;border:1px solid #d6e2ec;border-radius:10px;padding:0 13px;font-size:17px}.student-form textarea{resize:vertical;min-height:96px;padding-top:12px}.login-error,.student-admin-message{color:#604916;background:#fff9e8;border:1px solid #ead28a;border-radius:8px;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.45}.login-error,.student-admin-message.error{color:#8c2f29;background:#fdecea;border-color:#efc1bd}.login-links{justify-content:center;gap:18px;padding-top:6px;display:flex}.login-links a{color:#1f5b89;font-size:16px;font-weight:760;text-decoration:none}.student-admin{gap:18px}.student-form{background:#fff;border:1px solid #dfe6eb;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.student-form-wide{grid-column:1/-1}.student-table{background:#fff;border:1px solid #dfe6eb;border-radius:8px;display:grid;overflow:hidden}.student-table-row{color:#263849;border-top:1px solid #edf1f4;grid-template-columns:1fr 1.2fr .7fr 1.4fr;gap:12px;padding:12px 14px;font-size:15px;display:grid}.student-table-row.header{color:#4d5a66;background:#f5f8fb;border-top:0;font-weight:780}.student-table-row span{overflow-wrap:anywhere;min-width:0}.assist-note{color:#604916;background:#fff8df;border:1px solid #ead28a;border-radius:16px;margin:0;padding:14px 16px;font-size:18px;font-weight:720;line-height:1.45}.intersection-scene{background-color:#3d4650;background-position:50%;background-size:cover;border-radius:22px;min-height:360px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff47}.intersection-scene:before{content:"";pointer-events:none;background:linear-gradient(#08121c0f,#08121c33);position:absolute;inset:0}.crosswalk,.stop-line{display:none}.scene-target{z-index:2;background:0 0;place-items:center;display:grid;position:absolute}.scene-target span{color:#17202a;background:#fff;border:2px solid #dce5ec;border-radius:12px;place-items:center;min-width:44px;height:44px;font-size:28px;font-weight:850;display:grid;position:absolute;bottom:-8px;right:-6px;box-shadow:0 8px 18px #131f2d1f}.scene-target.assist{outline-offset:6px;background:#ffffff1a;border-radius:20px;outline:5px solid #1f78d161}.scene-target.car{border-radius:22px;width:126px;height:74px;bottom:24%;left:18%}.scene-target.car:before{content:none}.scene-target.person{opacity:0;pointer-events:none;width:60px;height:108px;top:40%;left:54%}.scene-target.person.visible{opacity:1;pointer-events:auto}.scene-target.person:before,.scene-target.person:after{content:none}.scene-target.light{border-radius:20px;width:66px;height:148px;top:14%;right:15%}.scene-target.light i,.scene-target.light i.red,.scene-target.light i.green{display:none}.scene-target.road{border-radius:22px;width:42%;height:28%;bottom:5%;left:5%}.scene-target.road span{bottom:10px;left:10px;right:auto}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-button{color:#17202a;overflow-wrap:anywhere;background:#fff;border:2px solid #dce6ee;border-radius:18px;min-height:96px;font-size:38px;font-weight:860;line-height:1.12;box-shadow:0 10px 22px #1d344b17}.choice-button.assist,.character-card.assist{color:#8e3d08;background:#fff8df;border-color:#d99720;box-shadow:0 0 0 5px #d997202e,0 12px 26px #5c400e1f}.character-board{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;gap:12px;display:grid}.character-card{aspect-ratio:1;color:#17202a;background:#fff;border:2px solid #dce6ee;border-radius:22px;font-size:82px;font-weight:870;line-height:1;box-shadow:0 12px 24px #1d344b1a}.character-card.with-image{color:#fff;text-shadow:0 2px 8px #000000ad,0 0 2px #000000b8;background-color:#fff;background-position:50%;background-size:cover}.word-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.word-strip span{color:#536270;background:#f3f6f9;border-radius:14px;place-items:center;min-height:56px;font-size:31px;font-weight:850;display:grid}.word-strip span.current{color:#b73226;background:#fff0eb}.video-box{background:#17202a;border-radius:22px;overflow:hidden}.video-box video{aspect-ratio:16/10;width:100%;display:block}.instruction-row{grid-template-columns:1fr auto;align-items:center;gap:14px;display:grid}.instruction-row .video-play-hint{color:#9f4529;font-weight:700}.quiz-card{background:#fff;border:2px solid #dce6ee;border-radius:22px;place-items:center;min-height:220px;padding:24px;display:grid;box-shadow:0 12px 24px #1d344b14}.quiz-card p{margin:0;font-size:34px;font-weight:760;line-height:1.45}mark{color:#a82f25;background:#fff0cf;border-radius:8px;padding:0 5px}.complete-screen{text-align:center;justify-content:center}.result-label{color:#1f5b89;background:#e8f2fb;border-radius:999px;align-self:center;align-items:center;min-height:38px;padding:0 16px;font-size:18px;font-weight:780;display:inline-flex}.complete-mark{color:#fff;background:#2fac66;border-radius:28px;align-self:center;place-items:center;width:104px;height:104px;display:grid}.coach-summary{background:#f6f9fb;border:1px solid #dfe9f1;border-radius:16px;padding:14px 16px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 8px;display:grid}.summary-grid div{background:#f3f7fa;border-radius:16px;align-content:center;gap:4px;min-height:90px;display:grid}.summary-grid strong{font-size:31px}.summary-grid span{color:#63717d;font-size:15px;font-weight:680}.coach-shell{color:#17202a;background:#f5f7f8;min-height:100vh;padding:24px}.coach-workspace{gap:18px;width:min(1180px,100%);margin:0 auto;display:grid}.coach-header{border-bottom:1px solid #dfe6eb;justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.coach-kicker{color:#697580;margin:0 0 4px;font-size:14px;font-weight:720;line-height:1.2}.coach-header h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.15}.coach-back-link,.coach-icon-button{border-radius:8px;align-items:center;gap:8px;min-height:40px;font-size:15px;font-weight:720;text-decoration:none;display:inline-flex}.coach-back-link{color:#1f5b89;background:#e7eef4;padding:0 14px}.coach-icon-button{color:#243849;cursor:pointer;background:#fff;border:1px solid #cfd9e1;padding:0 13px}.coach-back-link:focus-visible,.coach-icon-button:focus-visible{outline-offset:3px;outline:4px solid #1f78d147}.coach-toolbar{background:#fff;border:1px solid #dfe6eb;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:12px 14px;display:flex}.coach-toolbar div{gap:3px;display:grid}.coach-toolbar strong{font-size:16px}.coach-toolbar span{color:#687684;font-size:14px}.coach-alert,.coach-message{color:#604916;background:#fff9e8;border:1px solid #ead28a;border-radius:8px;align-items:flex-start;gap:12px;display:flex}.coach-alert{align-items:center;min-height:44px;padding:10px 12px;font-size:15px;font-weight:680}.coach-message{padding:20px}.coach-message h2{margin:0;font-size:20px}.coach-message p{color:#604916;margin:6px 0 0;font-size:16px;line-height:1.5}.coach-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.coach-overview div{background:#fff;border:1px solid #dfe6eb;border-radius:8px;align-content:center;gap:5px;min-height:86px;padding:12px 14px;display:grid}.coach-overview strong{font-size:29px;line-height:1}.coach-overview span{color:#687684;font-size:14px;font-weight:700}.coach-card-list{gap:12px;display:grid}.coach-summary-card{background:#fff;border:1px solid #dfe6eb;border-left:6px solid #2f7d55;border-radius:8px;gap:16px;padding:18px;display:grid}.coach-summary-card.level-watch{border-left-color:#d68b19}.coach-summary-card.level-needed{border-left-color:#b8493f}.coach-card-main{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.coach-student{align-items:center;gap:12px;display:flex}.coach-avatar{color:#1f5b89;background:#e8f2fb;border-radius:8px;flex:none;place-items:center;width:42px;height:42px;display:grid}.coach-student h2{letter-spacing:0;margin:0;font-size:21px;line-height:1.2}.coach-student p{color:#687684;margin:4px 0 0;font-size:14px}.coach-level{color:#243849;white-space:nowrap;background:#eef2f5;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:14px;font-weight:760;display:inline-flex}.level-none .coach-level{color:#1f6d44;background:#eaf6ee}.level-watch .coach-level{color:#7a4b08;background:#fff3d9}.level-needed .coach-level{color:#8c2f29;background:#fdecea}.coach-metrics{border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 0;display:grid}.coach-metric{align-items:center;gap:9px;min-width:0;display:flex}.coach-metric>span{color:#38576f;background:#f1f5f8;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;display:grid}.coach-metric div{gap:2px;min-width:0;display:grid}.coach-metric strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.2;overflow:hidden}.coach-metric small{color:#687684;font-size:13px;font-weight:700}.coach-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.coach-detail-block{align-content:flex-start;gap:8px;min-width:0;display:grid}.coach-detail-block h3{color:#4d5a66;margin:0;font-size:14px;line-height:1.2}.coach-detail-block div{flex-wrap:wrap;gap:6px;display:flex}.coach-detail-block span{color:#263849;background:#f0f4f7;border-radius:8px;align-items:center;min-height:28px;padding:0 9px;font-size:14px;font-weight:700;display:inline-flex}.coach-advice{color:#263849;background:#f7f9fa;border-radius:8px;margin:0;padding:12px 14px;font-size:16px;line-height:1.55}@media (width<=520px){.app-shell{padding:0}.lesson-frame{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:16px}.lesson-header h1{font-size:24px}.prompt-panel{grid-template-columns:1fr}.audio-button{grid-auto-flow:column;width:100%;min-height:58px}.assist-note{font-size:17px}.intersection-scene{min-height:330px}.choice-button{font-size:32px}.character-card{font-size:68px}}@media (width<=760px){.coach-shell{padding:14px}.coach-header,.coach-toolbar,.coach-card-main{flex-direction:column;align-items:stretch}.coach-header h1{font-size:24px}.coach-back-link,.coach-icon-button{justify-content:center}.coach-overview,.coach-metrics,.coach-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form,.student-table-row{grid-template-columns:1fr}.student-table-row.header{display:none}}@media (width<=480px){.coach-overview,.coach-metrics,.coach-detail-grid{grid-template-columns:1fr}}
