:root{color:#14213d;font-synthesis:none;background:#eef3f9;font-family:Inter,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#f8fbff 0,#eef3f9 45%,#e7eef8 100%);min-width:320px;margin:0}button,input,select{font:inherit}button{min-height:44px}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #8ab4ff}.app-shell{align-content:center;justify-items:center;gap:22px;min-height:100vh;padding:36px 24px;display:grid}.room-shell{align-content:start}.panel{background:#fffffff5;border:1px solid #d8e1ef;border-radius:24px;width:min(1040px,100%);padding:34px;box-shadow:0 20px 50px #0f234617}.entry-panel{max-width:920px}.eyebrow,.step-label{color:#49627f;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.8rem;font-weight:800}h1,h2,h3{color:#10203b}h1{margin:8px 0 14px;font-size:clamp(2rem,4.6vw,3.3rem)}h2{margin:4px 0;font-size:clamp(1.55rem,3vw,2.2rem)}h3{margin:3px 0 14px}.lead{color:#52647d;font-size:1.08rem}.privacy-note,.waiting-banner{color:#185445;background:#e7f7f1;border-radius:14px;margin:22px 0;padding:15px 18px;line-height:1.65}.field{color:#31445f;gap:8px;font-weight:700;display:grid}.field input,.field select{color:#14213d;background:#fff;border:1px solid #bdc9da;border-radius:11px;width:100%;min-height:48px;padding:0 13px}.entry-name-field{margin-top:26px}.entry-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.entry-mode-card{background:#fbfdff;border:1px solid #d8e1ef;border-radius:18px;flex-direction:column;justify-content:space-between;gap:20px;min-height:190px;padding:22px;display:flex}.entry-dual-card,.entry-solo-card{min-height:410px}.entry-admin-card{grid-column:1/-1;min-height:150px}.entry-mode-copy h2{margin:3px 0 8px;font-size:1.45rem}.entry-mode-copy p:not(.step-label){color:#617087;margin:0;line-height:1.65}.entry-actions{align-items:end;gap:14px;display:grid}.join-box{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.entry-mode-button{width:100%}.entry-privacy-note{margin:22px 0 0}.primary,.secondary{cursor:pointer;border-radius:11px;padding:0 20px;font-weight:800;transition:transform .15s,box-shadow .15s}.primary{color:#fff;background:#2768dc;border:1px solid #2359bd;box-shadow:0 8px 20px #2768dc33}.secondary{color:#213c61;background:#f8fbff;border:1px solid #b7c5d8}.button-link{white-space:nowrap;justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.primary:hover,.secondary:hover{transform:translateY(-1px)}.compact{min-height:38px;padding-inline:14px}.error-message,.error-banner{color:#a32b2b;font-weight:700}.error-banner{background:#fff1f1;border:1px solid #f0bcbc;border-radius:12px;width:min(1040px,100%);margin:0 auto;padding:12px 18px}.section-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.member-list{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.member-chip,.waiting-chip,.status-badge,.count-badge{border-radius:999px;align-items:center;min-height:36px;padding:6px 12px;font-weight:800;display:inline-flex}.member-chip,.status-badge{color:#25519a;background:#eaf1ff}.waiting-chip{color:#795c11;background:#fff4d6}.count-badge{color:#52647d;background:#edf1f6}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.check-card{background:#fbfdff;border:1px solid #d8e1ef;border-radius:18px;min-height:230px;padding:22px}.check-card.is-ready{background:#f0fbf7;border-color:#8acfb9}.ready-text{color:#17654f;font-weight:700}.status-text{color:#52647d;min-height:1.5em}.helper-text,.topic-path{color:#617087;line-height:1.65}.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.choice-card{text-align:left;color:#203755;cursor:pointer;background:#fbfdff;border:1px solid #d4deeb;border-radius:14px;gap:5px;min-height:82px;padding:14px;display:grid}.choice-card span{color:#6b7c91;font-size:.86rem}.choice-card.is-selected{background:#eaf1ff;border-color:#3976df;box-shadow:inset 0 0 0 1px #3976df}.topic-tabs{gap:8px;padding:18px 0 12px;display:flex;overflow-x:auto}.topic-tab{color:#344d6d;cursor:pointer;background:#fff;border:1px solid #ccd7e5;border-radius:999px;flex:none;padding:0 15px}.topic-tab.is-selected{color:#fff;background:#285fbf;border-color:#285fbf}.faq-list{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.faq-row{text-align:left;color:#172c49;cursor:pointer;background:#fff;border:1px solid #dce4ef;border-radius:12px;grid-template-columns:90px 1fr 54px;align-items:center;gap:14px;width:100%;min-height:62px;padding:11px 15px;display:grid}.faq-row:hover{background:#f6f9ff;border-color:#78a1e7}.faq-row span,.faq-row small{color:#60728a}.question-card{background:#f4f7fc;border-left:5px solid #2768dc;border-radius:14px;margin:24px 0;padding:24px}.question-card p{color:#60728a;margin-top:0}.question-card strong{font-size:clamp(1.2rem,2.3vw,1.7rem);line-height:1.55}.ready-actions{grid-template-columns:auto 1fr auto;gap:12px;display:grid}.call-shell{background:radial-gradient(circle at top,#eef5ff,#e7edf7 65%)}.ringing-panel{text-align:center;max-width:620px}.call-avatar{color:#fff;background:#2768dc;border-radius:50%;place-items:center;width:92px;height:92px;margin:20px auto;font-size:1.6rem;font-weight:900;display:grid;box-shadow:0 16px 35px #2768dc40}.call-actions{justify-content:center;gap:14px;margin-top:26px;display:flex}.danger,.answer{color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:48px;padding:0 25px;font-weight:900}.danger{background:#c73b43}.answer{background:#16865e}.live-call-panel{max-width:980px}.call-header,.feedback-header,.admin-room-card header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.call-meta{justify-items:end;gap:10px;display:grid}.call-meta strong{font-variant-numeric:tabular-nums;font-size:clamp(2rem,5vw,3.4rem)}.monitoring-badge{color:#744b0b;background:#fff1c7;border-radius:999px;padding:7px 12px;font-weight:900}.warning-banner{color:#704800;background:#fff2c9;border-radius:12px;padding:12px 16px;font-weight:800}.parent-card{grid-template-columns:1fr 1fr;gap:14px;margin:22px 0;display:grid}.parent-card section,.parent-card details{background:#f8fbff;border:1px solid #d9e2ee;border-radius:14px;padding:18px;line-height:1.6}.parent-card p{color:#60728a;margin-top:0}.parent-card .opening-line,.parent-card details{grid-column:1/-1}.hang-up{margin:24px auto 0;display:block}.processing-indicator{color:#2768dc;margin-top:25px;font-size:1.2rem;font-weight:900}.self-test-panel{max-width:1280px}.self-test-key{margin-top:26px}.self-test-key h2{font-size:1.35rem}.key-entry{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.ready-row{justify-content:space-between;align-items:center;gap:14px;min-height:52px;display:flex}.self-test-question{width:100%;min-height:250px;margin-bottom:18px;padding:38px 42px}.self-test-question strong{max-width:1160px;font-size:clamp(1.65rem,3.2vw,2.6rem);line-height:1.5;display:block}.self-test-question.is-answering{background:#e5efff;border-left-color:#1f64d6;box-shadow:0 0 0 3px #2768dc29,0 18px 38px #2768dc1f}.self-test-steps{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.recording-step{background:#fbfdff;border:1px solid #d8e1ef;border-radius:14px;grid-template-rows:auto auto 1fr auto auto;gap:14px;min-height:340px;padding:28px 32px;display:grid}.round-guidance{color:#244e78;background:#eaf3fc;border-radius:12px;margin:0;padding:13px 16px;font-weight:800;line-height:1.65}.recording-step.is-ready{background:#f0fbf7;border-color:#8acfb9}.recording-step.is-recording{background:#fbfdff;border-color:#cbd7e6}.recording-prompt{color:#203755;margin:0;font-size:1.05rem;line-height:1.65}.recording-status{color:#617087;min-height:1.5em;margin:0;font-weight:700}.self-test-actions{margin-top:22px;display:grid}.self-test-actions button{min-height:52px}.self-test-feedback-actions{grid-template-columns:1fr 1fr}.feedback-panel{max-width:1080px}.review-card{color:#14213d;background:#fff}.review-card-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.review-question{background:#f4f7fc;border-left:4px solid #2768dc;border-radius:10px;padding:14px 16px;line-height:1.65}.score-total{border-radius:18px;justify-items:center;min-width:130px;padding:16px;display:grid}.score-total strong{font-size:3rem;line-height:1}.outcome-pass{color:#145d48;background:#e6f7f0}.outcome-retrain{color:#704800;background:#fff2c9}.outcome-redline_fail{color:#8c242d;background:#ffeaeb}.outcome-insufficient{color:#244e78;background:#eaf3fc}.score-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.score-grid article{background:#f2f6fb;border-radius:14px;align-content:space-between;min-height:112px;padding:15px;display:grid}.score-grid span{color:#52647d;font-size:.9rem}.score-grid strong{font-size:1.7rem}.score-grid small{color:#718096;font-size:.8rem}.feedback-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.feedback-list,.reply-example,.policy-warning,.transcript,.redline-box{border:1px solid #dce4ef;border-radius:14px;margin:16px 0;padding:19px;line-height:1.65}.redline-box{color:#8c242d;background:#fff1f2;border-color:#efb9bd}.reply-example{background:#f5f8fd}.reply-example blockquote{margin:12px 0 0;font-size:1.05rem}.example-label{color:#6a7890;font-size:.85rem}.feedback-actions{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:22px;display:grid}.admin-room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.admin-login-panel{max-width:620px}.admin-login-form{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:22px;display:grid}.admin-toolbar{align-items:center;gap:10px;display:flex}.admin-room-card{background:#fbfdff;border:1px solid #d8e1ef;border-radius:16px;padding:20px}.admin-room-card.is-listening{border-color:#e0a327;box-shadow:inset 0 0 0 1px #e0a327}.admin-room-card dl{gap:9px;display:grid}.admin-room-card dl div{grid-template-columns:88px 1fr;gap:8px;display:grid}.admin-room-card dt{color:#6b7c91}.admin-room-card dd{margin:0;font-weight:700}.admin-room-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.admin-topic-actions{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.admin-scoring-guide{background:#f8fbff;border:1px solid #d8e1ef;border-radius:12px;margin-top:16px;padding:12px 14px}.admin-scoring-guide summary{cursor:pointer;color:#244e78;font-weight:800}.admin-scoring-guide textarea{resize:vertical;border:1px solid #bdc9da;border-radius:10px;width:100%;margin:12px 0;padding:12px;line-height:1.55}.admin-room-reviews{gap:18px;margin-top:20px;display:grid}.admin-review-card{background:#fff;border:1px solid #cbd7e6;border-radius:14px;padding:18px}.admin-review-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-date-reviews{border-top:1px solid #d8e1ef;margin-top:28px;padding-top:24px}.admin-review-toolbar{grid-template-columns:1fr minmax(180px,240px) auto auto;align-items:end;gap:14px;display:grid}.admin-review-count{font-weight:800}.admin-review-table-wrap{overflow-x:auto}.admin-review-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-review-table th,.admin-review-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d8e1ef;padding:10px 12px}.admin-review-table th{white-space:nowrap;color:#38506e}.phase-badge{background:#edf1f6;border-radius:999px;padding:6px 10px;font-weight:800}.phase-in_call{color:#145d48;background:#e6f7f0}.empty-state{color:#60728a;background:#f3f6fa;border-radius:14px;padding:25px}.privacy-baseline{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{align-content:start;padding:18px 11px}.panel{border-radius:18px;padding:22px 17px}.entry-mode-grid,.entry-actions,.join-box,.check-grid,.key-entry,.self-test-steps,.admin-review-toolbar{grid-template-columns:1fr}.entry-dual-card{grid-row:auto}.ready-row{flex-direction:column;align-items:stretch}.admin-login-form,.theme-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}.faq-row{grid-template-columns:78px 1fr}.faq-row small{display:none}.ready-actions{grid-template-columns:1fr 1fr}.ready-actions .primary{grid-area:1/1/auto/-1}.parent-card,.feedback-columns,.admin-room-list{grid-template-columns:1fr}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.call-header,.feedback-header,.review-card-header,.admin-review-meta{flex-direction:column;align-items:stretch}.call-meta{justify-items:start}.feedback-actions{grid-template-columns:1fr}}
