:root{--bg:#f6f5f0;--paper:#fff;--ink:#172e36;--muted:#768080;--line:#e4e7e2;--blue:#397ce8;--pink:#d76b8b;--blue-soft:#eaf1fe;--pink-soft:#fbedf1;--green:#248260;--yellow:#e7bc58;--serif:Georgia,"Noto Serif TC","Songti TC",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible{outline:3px solid #7db5ec;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #83a7b0;outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-weight:600;letter-spacing:-.04em}h2{font-size:21px;font-weight:600;letter-spacing:-.025em}h3{font-size:16px;font-weight:600}p{line-height:1.8}small{font-size:12px}button{color:inherit}input,textarea,select{border:1px solid #d9dfda;border-radius:10px;background:var(--paper);color:var(--ink);padding:13px 14px;min-width:0}input{height:48px}textarea{width:100%;resize:vertical;line-height:1.8}label{font-size:13px;font-weight:500}input::placeholder,textarea::placeholder{color:#a2aaa6}input:disabled,textarea:disabled{background:#f3f4f1;opacity:1;color:#657273}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid #dce1da;background:white;color:var(--ink);border-radius:9px;font-size:13px;font-weight:550;padding:12px 18px;line-height:1.4;min-height:43px;transition:background .15s,transform .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#eff2ed;transform:translateY(-1px)}.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}.btn.primary:hover:not(:disabled){background:#2c4851}.btn.small{font-size:12px;padding:9px 12px;min-height:36px}.btn.full{width:100%}.btn.light{background:#f4f3e8;color:var(--ink);border-color:transparent}.btn.danger{color:#af4e46;background:#fff;border-color:#e5cfc9}.btn.text-btn{background:none;border:0;min-height:32px;padding:8px;color:#68817d}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.4;white-space:nowrap;border-radius:6px;padding:6px 9px;background:#eff1ec;color:#657472}.badge.online{background:#e9f3ed;color:#38775c}.badge.warning{background:#fff0d9;color:#9b651d}.badge.blue{background:var(--blue-soft);color:#3971c4}.badge.pink{background:var(--pink-soft);color:#a75875}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:650;color:#7d8882;line-height:1.7}.muted{color:var(--muted)}.dot{margin:0 10px;color:#bcc3bc}.lighter{font-weight:400;color:#80908c;margin-left:8px;font-size:16px}.panel{padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:15px;min-width:0}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.panel-top h2{margin-top:4px}.panel-top .muted{font-size:12px}.quiet-note{font-size:11px;color:#85918a;line-height:1.8}.brand{display:flex;align-items:center;gap:10px;width:fit-content;flex-shrink:0}.brand>span:last-child{font-size:24px;font-weight:650;letter-spacing:.04em;line-height:1.1}.brand small{display:block;letter-spacing:.18em;font-size:7px;margin-top:5px;font-weight:500}.brand-mark{position:relative;width:35px;height:35px;background:var(--ink);border-radius:10px;display:inline-block;flex-shrink:0}.brand-mark i{position:absolute;display:block;width:14px;height:14px;border-radius:50%;background:#96b8f0;top:7px;left:6px}.brand-mark i+i{background:#e5a2b5;left:16px;top:15px}.loading{display:flex;min-height:70vh;align-items:center;justify-content:center;flex-direction:column;font-size:28px;font-family:var(--serif);gap:15px}.loading span{font:13px var(--sans);color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);padding:13px 20px;background:var(--ink);color:white;border-radius:10px;font-size:13px;box-shadow:0 8px 28px #172e3620;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:calc(100% - 32px);line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Entry and welcome */
.landing{max-width:1440px;margin:auto;min-height:100vh;padding:35px 6vw;position:relative;overflow:hidden}.landing>header{display:flex;justify-content:space-between;align-items:center}.hero{padding:105px 0 120px;width:52%;position:relative;z-index:2}.hero .eyebrow{letter-spacing:.18em;font-size:12px;color:#688274}.hero h1{font:500 clamp(42px,4.8vw,72px)/1.45 var(--serif);margin:24px 0;letter-spacing:-.045em}.hero h1 span{color:#739483}.hero p{font-size:16px;color:#78857f;line-height:2}.hero-actions{display:flex;gap:12px;margin-top:36px}.hero-actions .btn{padding:15px 22px}.hero-note{color:#99a099;font-size:11px;margin-top:24px;letter-spacing:.04em}.hero-art{position:absolute;right:5%;top:225px;width:39%;height:410px}.paper{width:225px;height:305px;position:absolute;border-radius:12px;padding:28px;box-shadow:0 18px 42px #263b3020;border:5px solid white}.blue-paper{background:#e4edfa;transform:rotate(-12deg);left:0;top:0;z-index:1}.pink-paper{background:#f4dfe5;transform:rotate(11deg);right:0;top:70px;z-index:2}.paper small{letter-spacing:.12em;font-size:8px;color:#71839a}.paper h2{font-size:32px;margin-top:15px;letter-spacing:.1em}.paper>span{font-size:10px;color:#697775;position:absolute;bottom:24px;left:25px}.shape-person{height:96px;width:96px;border-radius:50% 50% 20% 20%;background:#82a4d1;position:absolute;left:55px;top:130px}.shape-person:before{content:'';width:45px;height:45px;background:#9db9de;border-radius:50%;position:absolute;top:-19px;left:26px;border:4px solid #e4edfa}.pink-paper .shape-person{background:#d599af}.pink-paper .shape-person:before{background:#e0b0c2;border-color:#f4dfe5}.art-stamp{background:#f2cd76;width:75px;height:75px;border-radius:50%;position:absolute;left:44%;top:10px;z-index:3;transform:rotate(15deg);display:flex;align-items:center;justify-content:center;font:20px/1.3 var(--serif);box-shadow:0 5px 10px #66562615}.landing>footer{border-top:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:15px;color:#839087;font-size:11px}.entry{max-width:450px;margin:0 auto;padding:34px 24px}.entry>.brand{margin:0 auto 35px}.entry-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:35px 30px}.entry-card h1{font-family:var(--serif);font-size:32px;line-height:1.55;margin:12px 0}.entry-card p{font-size:13px;color:#829087;margin:10px 0 27px}.entry-card form{display:grid;gap:10px}.entry-card form button{margin-top:15px}.entry-card small{display:block;margin-top:22px;color:var(--muted);line-height:1.7}.entry-card .quiet-note{text-align:center;margin-top:22px}.entry-dots{display:flex;margin:0 0 20px}.entry-dots i{width:24px;height:24px;border-radius:50%;background:#98b8e5}.entry-dots i+i{background:#e5a5b9;margin-left:-6px}.entry-footer{text-align:center;font-size:11px;color:#9ca69e;margin-top:28px}
/* Teacher */
.teacher-layout{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:100vh}.sidebar{background:#fafaf6;border-right:1px solid var(--line);padding:35px 23px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{margin-bottom:52px}.space-label{font-size:10px;color:#9aa198;letter-spacing:.08em;margin:0 12px 17px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:none;padding:13px 12px;border-radius:9px;font-size:13px;color:#7b8780;text-align:left}.nav-item>span{font-size:18px;width:21px;text-align:center;color:#829389}.nav-item.active{color:var(--ink);background:#e8eee5;font-weight:550}.nav-item b{font-size:10px;padding:2px 6px;margin-left:auto;background:#dbe7d7;border-radius:5px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:22px 10px 0}.mini-label{font-size:10px;color:#748473}.sidebar-bottom p{font-size:11px;line-height:1.9;color:#97a093;margin:10px 0 16px}.subtle-link{font-size:11px;color:#6c7a6a}.teacher-main{padding:0 38px;max-width:1550px;width:100%;margin:auto}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.crumb{font-size:11px;color:#9aaba1}.crumb span{margin:0 14px;color:#bdc8c0}.top-actions{display:flex;align-items:center;gap:13px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 28px;gap:15px}.page-heading h1{font:500 34px/1.4 var(--serif);margin:6px 0}.page-heading p{font-size:12px;color:#829185}.room-code{text-align:right;padding-right:3px}.room-code span{display:block;font-size:10px;color:#98a194;margin-bottom:7px}.room-code strong{font-size:23px;letter-spacing:.1em;font-weight:500}.section-track{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 24px;gap:9px}.section-step{background:transparent;display:flex;text-align:left;align-items:center;gap:11px;border:1px solid #e1e5dd;padding:16px 14px;border-radius:11px;position:relative;color:#728176;min-width:0}.section-step.active{background:#edf1e9;border-color:#c6d2bd;color:var(--ink)}.step-num{font-size:11px;background:#e8ece4;color:#9aa88f;border-radius:50%;width:27px;height:27px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-step.active .step-num{background:var(--ink);color:white}.section-step>span:nth-child(2){font-size:13px;font-weight:550}.section-step small{display:block;font-size:10px;margin-top:5px;font-weight:400;color:#9aa695}.section-step b{position:absolute;right:8px;top:8px;color:#63865d;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.main-column,.context-column{display:grid;gap:22px}.activity-panel{padding-bottom:21px}.question-tabs{display:flex;gap:8px;border-bottom:1px solid #e9ece5;padding-bottom:17px;overflow:auto}.qtab{background:none;border:1px solid transparent;border-radius:7px;padding:8px 12px;font-size:12px;color:#a0ab9e;display:flex;gap:10px;align-items:center}.qtab.active{background:#f0f2eb;border-color:#e2e8da;color:#536849}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#bfc7ba}.status-dot.open{background:#66a580}.status-dot.locked{background:#d9b66a}.question-preview{padding:25px 0}.question-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:#9aa596;margin-bottom:18px}.question-preview h3{font-size:21px;line-height:1.7;font-weight:550;letter-spacing:.01em;max-width:570px;margin-bottom:22px}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-option{border:1px solid #e5e9e0;border-radius:9px;padding:14px;display:flex;align-items:center;gap:13px;font-size:13px;color:#667760}.preview-option span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;background:#f2f4ee;border-radius:6px;color:#92a286;font-size:11px}.control-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e7eae3;padding-top:21px}.control-actions .btn{flex:1;padding:11px 10px;font-size:12px}.activity-panel>.quiet-note{margin-top:14px}.join-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:23px;text-align:center}.join-panel h3{font-size:13px}.join-panel .panel-top{margin-bottom:19px}.qr{width:128px;height:128px;display:block;margin:0 auto 13px}.code-caption{font-size:11px;color:#9aa394}.join-url{display:block;overflow-wrap:anywhere;font-size:10px;color:#6f8665;margin-top:9px;line-height:1.6}.join-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 20px}.join-stats>div+div{border-left:1px solid #e9ece5}.join-stats strong{font-size:25px;font-weight:500;display:block}.join-stats span{font-size:10px;color:#9ca796;display:block;margin-top:6px}.sync-card{padding:22px}.sync-card .panel-top{margin-bottom:14px}.sync-card h3{font-size:13px}.sync-card>strong{font-size:13px;font-weight:500}.sync-card p{font-size:11px;color:#9aa492;margin:9px 0 17px}.live-dot{width:7px;height:7px;background:#c6cec0;border-radius:50%}.live-dot.connected{background:#54a478;box-shadow:0 0 0 4px #e9f5e9}.dark-panel{border-radius:14px;background:#243b36;padding:26px;color:#fff}.dark-panel .eyebrow{color:#9eb3a0;font-size:8px}.dark-panel h3{font:21px var(--serif);margin:10px 0}.dark-panel p{color:#afc1ad;font-size:12px;line-height:1.9;margin:13px 0 21px}.team-progress{display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0f1eb;padding:15px 0}.team-progress:last-child{border-bottom:0}.team-no{width:33px;height:33px;border-radius:9px;background:#f1f3ec;display:flex;align-items:center;justify-content:center;font-size:11px;color:#8a9a7c;flex-shrink:0}.team-info{min-width:0}.team-info strong{font-size:12px;display:block;font-weight:550}.team-info small{font-size:10px;color:#9faa99;display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px}.answer-dots{display:flex;gap:6px;margin-left:auto}.answer-dot{width:23px;height:23px;border-radius:50%;background:#f3f5ef;color:#c1cbb7;display:flex;align-items:center;justify-content:center;font-size:10px}.answer-dot.done{color:#729362;background:#eef5e8}.progress-text{font-size:11px;color:#a3af9b;min-width:24px;text-align:right}.empty-state{text-align:center;padding:28px 12px}.empty-symbol{font-size:34px;color:#becab4;display:block;margin-bottom:12px}.empty-state h3{font-size:14px;color:#73856b}.empty-state p{font-size:11px;color:#a0ad96;margin-top:9px}.app-footer{display:flex;justify-content:space-between;gap:20px;color:#a2ae99;font-size:9px;padding:28px 0;letter-spacing:.05em}.rehearsal-callout{background:#edf2e8;border:1px solid #dfe7d6;border-radius:12px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0}.rehearsal-callout p{font-size:12px;color:#8b9b7d;margin-top:9px}.people-grid{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 30px}.person-card{padding:20px;border:1px solid #e1e8ed;border-radius:12px;min-width:200px;display:grid;gap:10px}.person-card.blue{background:#f2f6fe}.person-card.pink{background:#fdf2f5}.person-card strong{font-size:14px}.person-card small{color:#91a0ab}.role-icon{width:29px;height:29px;background:#dce8fa;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#7699c9;font-size:11px}.pink .role-icon{background:#f6dce5;color:#c48ba0}.person-card form{display:grid;gap:8px}.person-card select{font-size:12px}.team-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-card{border:1px solid #e2e8dc;border-radius:12px;padding:22px}.member-list{display:flex;gap:14px;flex-wrap:wrap}.member{font-size:12px;color:#8a9980;display:flex;align-items:center;gap:6px}.member-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.member-dot.blue{background:#77a4e2}.member-dot.pink{background:#dfa0b5}.team-score{margin:25px 0;display:flex;align-items:baseline;gap:10px}.team-score strong{font-size:33px;font-weight:500}.team-score span{font-size:11px;color:#9fae93}.bonus-form{display:flex;gap:6px}.bonus-form input{height:37px;font-size:11px;padding:8px;width:100%}.bonus-form input[type=number]{width:65px;flex-shrink:0}.transfer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.transfer label{color:#91a082;font-size:11px}.transfer select{padding:7px;margin-left:8px;font-size:11px;max-width:120px}.ledger{margin-top:25px}.ledger>div{display:flex;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #e9eee2;font-size:12px}.ledger strong{margin-left:auto}.connection-banner{background:#eff3e9;border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;margin:20px 0}.connection-icon{width:44px;height:44px;border-radius:10px;background:#d47458;color:white;font-size:25px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.connection-banner strong{font-size:14px;overflow-wrap:anywhere}.connection-banner p{font-size:12px;color:#8b9b7a;margin-top:7px}.connection-banner>.btn{margin-left:auto}.binding-table{margin:25px 0}.binding-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px;padding:17px 5px;border-bottom:1px solid #eaf0e1;font-size:12px}.binding-row.heading{font-size:11px;color:#97a487}.binding-row code{font-size:11px;color:#879973}.note-box{background:#f6f5ed;padding:20px;border-radius:10px;color:#899575;font-size:12px;line-height:1.8}.note-box p{margin-top:7px;font-size:12px}.settings-panel{max-width:900px}.settings-panel h2{margin:10px 0 28px}.settings-panel form{display:grid;gap:12px}.inline-form{display:flex;gap:12px}.inline-form input{flex:1}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;border-bottom:1px solid #e8eddf}.setting-row:last-of-type{border:0}.setting-row h3{font-size:14px}.setting-row p{font-size:12px;color:#9daa90;margin-top:8px}.segmented{display:flex;gap:5px}.review-list{display:grid;gap:10px;margin-top:20px}.review-answer{padding:18px;background:#f6f7f2;border-radius:10px;font-size:12px}.review-answer p{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}
/* Learner */
.student-shell{max-width:480px;margin:auto;min-height:100vh;background:#fcfcf8}.student-header{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:10px}.student-header .brand>span:last-child{font-size:20px}.student-header .brand-mark{width:30px;height:30px}.student-header .brand-mark i{width:12px;height:12px;left:5px;top:6px}.student-header .brand-mark i+i{left:14px;top:13px}.student-identity{display:flex;align-items:center;gap:6px;font-size:11px;color:#8b9987;max-width:50%;overflow-wrap:anywhere}.connection-strip{padding:10px 18px;text-align:center;background:#edf2e9;color:#889d78;font-size:10px;line-height:1.7}.connection-strip.offline{background:#fff0d3;color:#a17538}.pairing{padding:25px 23px}.role-card{border-radius:20px;padding:30px 25px;position:relative;overflow:hidden}.role-card.blue{background:#e5eefd;color:#3869b7}.role-card.pink{background:#f8e4ec;color:#b65d7d}.role-label{font-size:9px;letter-spacing:.15em;color:inherit;opacity:.6}.role-card h1{font:500 70px var(--serif);margin:25px 0 18px;letter-spacing:.08em}.role-card>p{font-size:13px;line-height:1.8;max-width:235px;margin:10px 0 24px;position:relative;z-index:1}.role-orb{width:115px;height:115px;border:22px solid #bfd2ef;border-radius:50%;position:absolute;right:-25px;top:60px;opacity:.55}.pink .role-orb{border-color:#ecc0d0}.pair-code{background:#ffffff80;border:1px solid #ffffff80;border-radius:12px;padding:18px;text-align:center}.pair-code span{display:block;font-size:11px;color:#8b9fbb;margin-bottom:10px}.pair-code strong{font-size:43px;font-weight:500;letter-spacing:.23em;margin-right:-.23em;font-variant-numeric:tabular-nums}.role-card form label{font-size:11px;display:block;margin-bottom:10px;color:#b48798}.pair-input{display:flex;flex-direction:column;gap:12px}.pair-input input{text-align:center;font-size:30px;letter-spacing:.2em;height:65px;border:1px solid #edccd8}.pair-input .btn{min-height:48px}.pair-hint{text-align:center;padding:26px 0 5px;color:#9baa8c}.pair-hint strong{font:18px var(--serif);color:#6e8461}.pair-hint p{font-size:12px;margin-top:14px;line-height:1.9}.invite-card{padding:24px;background:#fff;border:1px solid #d8e3ce;border-radius:14px;margin-top:20px;box-shadow:0 7px 20px #273c2210}.invite-card h2{font-size:19px;margin:13px 0}.invite-card p{font-size:12px;color:#94a383;margin-bottom:20px}.row-actions{display:flex;gap:10px}.row-actions .primary{flex:1}.pending-invite{display:grid;gap:10px;background:#ffffff75;padding:18px;border-radius:10px}.pending-invite strong{font-size:14px}.pending-invite span{font-size:11px;line-height:1.8}.waiting{padding:60px 28px;text-align:center}.paired-symbol{position:relative;width:100px;height:85px;margin:0 auto 30px}.paired-symbol i{background:#acc8ef;border:5px solid #fcfcf8;width:63px;height:63px;border-radius:50%;position:absolute;left:0;top:0}.paired-symbol i+i{background:#e6b0c2;left:35px;top:19px}.paired-symbol span{width:28px;height:28px;background:#497962;border-radius:50%;color:white;position:absolute;bottom:-7px;left:37px;font-size:16px;display:grid;place-items:center}.waiting h1{font:33px var(--serif);margin:18px 0}.waiting p{font-size:13px;color:#95a489;line-height:2}.teammate-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:25px 0}.waiting-pulse{font-size:11px;color:#a2b293;margin-top:45px;display:flex;gap:8px;justify-content:center;align-items:center}.waiting-pulse:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#a8b797}.student-footer{padding:23px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#a1af93}.answer-main{padding:22px 24px}.student-qnav{display:flex;gap:6px;overflow:auto;padding-bottom:20px;scrollbar-width:thin}.student-qnav button{background:#f0f3e9;border:0;border-radius:7px;padding:10px 13px;white-space:nowrap;font-size:11px;color:#94a780;min-height:38px}.student-qnav button.active{background:var(--ink);color:white}.student-qnav span{font-size:9px}.answer-top{display:flex;justify-content:space-between;align-items:center;color:#9ba98e;font-size:11px;margin:10px 0 26px}.question-kicker{font-size:12px;font-weight:600;margin-bottom:10px}.question-kicker span{font-size:11px;font-weight:400;color:#a5b397;margin-left:5px}.answer-main h1{font-size:26px;line-height:1.6;letter-spacing:.01em;font-weight:550}.writer-notice{margin:20px 0;font-size:11px;line-height:1.8;padding:11px 14px;background:#f0f3eb;color:#94a485;border-radius:8px}.writer-notice.active{background:#edf2e7;color:#7a9365}.answer-options{display:grid;gap:11px}.answer-option{display:flex;align-items:center;text-align:left;gap:13px;background:#fff;border:1px solid #dfe6d7;border-radius:11px;padding:16px;color:#687f58;font-size:15px;min-height:65px;transition:.15s}.answer-option:disabled{opacity:1;cursor:default}.answer-option.selected{border-color:#7d9e62;background:#eff5e7}.answer-option.correct{border-color:#7c9e62;background:#e8f3df}.option-number{width:30px;height:30px;display:grid;place-items:center;background:#f2f5ee;border-radius:8px;font-size:12px;color:#96a983;flex-shrink:0}.selected .option-number{background:#7b9666;color:#fff}.answer-option b{margin-left:auto;color:#7e9d67;font-size:13px}.save-status{font-size:11px;color:#8da17b;margin-top:16px;min-height:19px}.save-status span{color:#b0bca2;margin-left:7px}.save-status.unsaved{color:#b18d4b}.text-prompt{font-size:12px;color:#869b74;display:block;margin-bottom:12px;line-height:1.8}.result-card{margin-top:23px;background:#eff4e8;border-radius:10px;padding:18px;color:#74945c}.result-card strong{font-size:14px}.result-card p{font-size:12px;margin-top:8px;line-height:1.9}.student-score{margin-top:32px;padding-top:25px;border-top:1px solid #e3e9db;display:flex;align-items:center;justify-content:space-between;color:#8fa47a}.student-score span{font-size:11px}.student-score strong{font-size:28px;color:#5d7950;font-weight:500}.student-score small{font-size:10px;margin-left:3px}
/* Keep supporting instructions readable on a small phone screen. */
.student-identity,.connection-strip,.pair-hint p,.invite-card p,.waiting p,.waiting-pulse,.student-footer,.answer-top,.question-kicker span,.save-status,.save-status span,.text-prompt,.student-score{color:#596f50}
.writer-notice,.writer-notice.active{font-size:13px;color:#4f6846}
.student-qnav button{color:#526a43}.student-qnav button.active{color:white}
.pair-code span{color:#526c91}.role-card form label{color:#8c4b64}.result-card{color:#486837}.save-status.unsaved{color:#94631e}
/* Projection and rehearsal */
.projection{min-height:100vh;max-width:1600px;margin:auto;padding:38px 6vw;display:flex;flex-direction:column}.projection>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.projection>header>span{font-size:13px;color:#8a9b7a}.projection-welcome{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;flex:1;padding:70px 0}.projection-welcome h1{font:500 clamp(40px,5.2vw,80px)/1.45 var(--serif);margin:20px 0}.projection-welcome h1 span{color:#86a178}.projection-welcome p{color:#90a281;font-size:17px;line-height:2}.projection-qr{background:#fff;border:1px solid #e3e8db;border-radius:22px;padding:40px;text-align:center;max-width:370px;justify-self:end;width:100%}.projection-qr img{width:100%;max-width:240px;display:block;margin:auto auto 25px}.projection-qr>span{font-size:12px;display:block;color:#9bad8a;margin:10px}.projection-qr strong{font-size:38px;letter-spacing:.13em;font-weight:500}.projection-qr small{display:block;font-size:11px;color:#9eb28a;margin-top:20px;overflow-wrap:anywhere}.projection-stats{display:flex;gap:40px;margin-top:35px}.projection-stats strong{font-size:36px;font-weight:500}.projection-stats span{font-size:12px;color:#a1b28d;margin-left:10px;font-weight:400}.projection>footer{display:flex;justify-content:space-between;border-top:1px solid #e3e9db;padding-top:22px;font-size:11px;color:#a2b490}.projection-title{text-align:center;padding:65px 0 35px}.projection-title h1{font:500 43px var(--serif);margin:15px 0}.projection-title p{font-size:12px;color:#96a883}.ranking{width:100%;max-width:900px;margin:0 auto 50px}.rank-row{display:flex;align-items:center;gap:24px;padding:22px 25px;border-bottom:1px solid #dde6d2;background:#fff}.rank-row:first-child{border-radius:15px 15px 0 0}.rank-row:last-child{border-radius:0 0 15px 15px}.rank{font-size:15px;color:#99a887;width:42px;height:42px;display:grid;place-items:center;background:#f3f6ed;border-radius:50%}.rank.first{background:#f2d695;color:#977429}.rank-row>strong{font-size:20px;font-weight:500}.rank-members{font-size:12px;color:#99ad84}.rank-row>b{margin-left:auto;font-size:30px;font-weight:500;color:#668150}.rank-row small{font-size:11px;color:#9bae87;margin-left:10px}.projection-question{padding:75px 0;max-width:1100px;margin:auto;width:100%}.projection-question h1{font-size:clamp(28px,3.4vw,50px);line-height:1.6;margin:20px 0 40px}.projection-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}.projection-options>div{display:flex;align-items:center;gap:20px;background:white;border:1px solid #dde5d1;padding:24px;border-radius:13px;font-size:25px}.projection-options b{font-size:18px;color:#99ae83;border-radius:9px;width:44px;height:44px;display:grid;place-items:center;background:#f2f6e9}.projection-options .correct{background:#eaf3dd;border-color:#a6bb87}.projection-options span{margin-left:auto;color:#7a975b}.projection-status{display:flex;align-items:center;gap:15px;color:#91a677;font-size:13px;margin-top:35px}.rehearsal-page{padding:20px;max-width:2000px;margin:auto}.rehearsal-page>header{display:flex;align-items:center;gap:35px;margin-bottom:22px}.rehearsal-page>header>div{display:flex;flex-direction:column;gap:7px}.rehearsal-page>header strong{font-size:14px}.rehearsal-page>header span{font-size:11px;color:#92a77b}.rehearsal-page>header .btn{margin-left:auto}.rehearsal-grid{display:grid;grid-template-columns:minmax(450px,1.45fr) minmax(300px,1fr) minmax(300px,1fr);gap:15px}.rehearsal-grid section{border:1px solid #d8e3ca;border-radius:13px;overflow:hidden;background:#fff}.frame-label{padding:10px 16px;background:#eef3e7;font-size:11px;color:#859d6d}.frame-label.blue{background:#e9f1fc;color:#6b95c5}.frame-label.pink{background:#f8e9ee;color:#b77990}.rehearsal-grid iframe{width:100%;height:calc(100vh - 145px);min-height:630px;border:0;display:block}.compact .sidebar{display:none}.compact .teacher-layout{display:block}.compact .teacher-main{padding:0 20px}.compact .dashboard-grid{grid-template-columns:1fr}.compact .context-column{grid-template-columns:1fr}.compact .section-track{grid-template-columns:repeat(2,1fr)}.compact .context-column .join-panel{display:none}.compact .page-heading h1{font-size:28px}.compact .room-code{display:none}
@media(min-width:1500px){.teacher-main{padding:0 55px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 300px}.hero-art{right:9%;max-width:470px}}
@media(max-width:1150px){.teacher-layout{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding:28px 15px}.teacher-main{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.panel{padding:22px}.section-step{padding:13px 10px;gap:7px}.section-step small{font-size:9px}.section-step>span:nth-child(2){font-size:12px}.control-actions{flex-direction:column}.hero-art{transform:scale(.9);transform-origin:right center;width:43%}.team-cards{grid-template-columns:1fr}.rehearsal-grid{grid-template-columns:1fr 1fr}.rehearsal-grid>section:first-child{grid-column:1/-1}.rehearsal-grid>section:first-child iframe{height:500px;min-height:500px}.rehearsal-grid iframe{height:780px}}
@media(max-width:900px){.teacher-layout{grid-template-columns:150px minmax(0,1fr)}.sidebar{padding:25px 12px}.sidebar .brand>span:last-child{font-size:20px}.nav-item{padding:12px 8px;font-size:12px;gap:7px}.dashboard-grid{grid-template-columns:1fr}.context-column{grid-template-columns:1fr 1fr}.context-column .dark-panel{grid-column:1/-1}.section-track{grid-template-columns:repeat(2,1fr)}.control-actions{flex-direction:row}.crumb{display:none}.topbar{justify-content:flex-end}.page-heading{margin-top:25px}.page-heading h1{font-size:30px}.hero{width:60%;padding-top:85px}.hero h1{font-size:47px}.hero-art{right:0;top:270px;transform:scale(.75);width:50%}.hero-actions{flex-direction:column;align-items:flex-start}.landing>footer{flex-wrap:wrap}.connection-banner{flex-wrap:wrap}.connection-banner>.btn{margin-left:0}.projection-welcome{gap:30px}.projection-qr{padding:25px}.projection-stats span{display:block;margin:8px 0}.projection-options>div{font-size:20px}}
@media(max-width:650px){.teacher-layout{display:block}.sidebar{position:static;height:auto;padding:18px 20px;background:#fafaf6;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin-bottom:18px}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.space-label,.sidebar-bottom{display:none}.nav-item{display:flex;justify-content:center;flex-direction:column;gap:5px;padding:10px 3px;position:relative;font-size:10px}.nav-item>span{font-size:16px}.nav-item b{position:absolute;right:0;top:2px}.teacher-main{padding:0 17px}.topbar{height:59px}.top-actions{width:100%;justify-content:space-between}.page-heading h1{font-size:28px}.page-heading .eyebrow{font-size:8px}.room-code strong{font-size:16px}.room-code span{font-size:9px}.page-heading p{font-size:10px}.section-track{gap:7px}.section-step small{font-size:10px}.panel{padding:21px 18px}.panel-top{gap:10px}.panel h2{font-size:18px}.lighter{font-size:12px;margin-left:5px}.options-grid{gap:8px}.preview-option{padding:12px 10px;font-size:12px;gap:8px}.question-preview h3{font-size:19px}.control-actions .btn{font-size:10px;padding:11px 7px;gap:3px}.context-column{grid-template-columns:1fr}.context-column .join-panel{display:none}.context-column .dark-panel{grid-column:auto}.team-info small{max-width:140px}.team-progress{gap:8px}.answer-dots{gap:4px}.answer-dot{width:20px;height:20px}.app-footer{font-size:8px}.rehearsal-callout{flex-direction:column;align-items:flex-start;padding:20px}.team-card{padding:17px}.binding-row{grid-template-columns:1.4fr 1fr .7fr;font-size:10px;gap:10px}.setting-row{align-items:flex-start;flex-direction:column;gap:15px}.setting-row p{font-size:11px}.hero{width:100%;padding:60px 0 40px}.hero h1{font-size:44px}.hero p{font-size:14px}.hero-actions{flex-direction:row}.hero-actions .btn{padding:14px;font-size:12px}.hero-art{position:relative;right:auto;top:auto;width:100%;height:300px;transform:scale(.83);transform-origin:center top;margin:15px 0 0}.landing{padding:25px}.landing>footer{margin-top:40px;font-size:9px}.landing>footer span:last-child{display:none}.projection{padding:24px}.projection .brand{transform:scale(.85);transform-origin:left center}.projection>header>span{font-size:10px;max-width:50%;text-align:right}.projection-welcome{grid-template-columns:1fr;padding:45px 0;gap:25px}.projection-welcome h1{font-size:40px;margin:15px 0}.projection-welcome p{font-size:13px}.projection-qr{max-width:280px;justify-self:center}.projection-stats{margin-top:20px}.projection-stats strong{font-size:28px}.projection-stats span{display:inline-block;margin-left:7px;font-size:10px}.projection-title{padding:45px 0 30px}.projection-title h1{font-size:29px;line-height:1.5}.rank-row{padding:17px 12px;gap:12px}.rank-row>strong{font-size:16px}.rank-row>b{font-size:23px}.rank{width:32px;height:32px;font-size:12px}.rank-members{font-size:10px}.projection-options{grid-template-columns:1fr}.projection-options>div{padding:15px;font-size:19px}.projection-question{padding:45px 0}.projection-question h1{font-size:28px}.projection>footer{font-size:9px}.rehearsal-page{padding:12px}.rehearsal-page>header{flex-wrap:wrap;gap:15px}.rehearsal-page>header>div{order:3;width:100%;line-height:1.7}.rehearsal-grid{grid-template-columns:1fr}.rehearsal-grid>section:first-child{grid-column:auto}.rehearsal-grid iframe{height:740px}.inline-form{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.archive-banner{padding:16px 20px;border-radius:10px;background:#f3e7ce;color:#795619;line-height:1.8;font-size:13px;margin-bottom:24px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.archive-banner a{text-decoration:underline}.teacher-main .topbar .crumb a{color:#5b7250}.teacher-main .note-box .btn{margin-top:14px}.teacher-main .topbar .crumb{color:#66765e}.teacher-main .quiet-note,.teacher-main .page-heading p{color:#61735a}
