@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;600;700;800;900&family=Space+Mono:wght@400;700&display=swap";:root{font-family:Be Vietnam Pro,Arial,sans-serif;color:#111;background:#f5f3eb;--ink: #111;--cyan: #19d3f3;--orange: #ff793f;--lime: #b8f23d;--yellow: #ffe45e;--border: 3px solid #111;--shadow: 6px 6px 0 #111}*{box-sizing:border-box}body{margin:0;background-color:#f5f3eb;background-image:linear-gradient(#1111 1px,transparent 1px),linear-gradient(90deg,#1111 1px,transparent 1px);background-size:26px 26px}a{color:inherit;text-decoration:none}button,.primary{font:inherit;font-weight:800;border:var(--border);background:#fff;padding:11px 16px;cursor:pointer;box-shadow:3px 3px #111;display:inline-block}.primary{background:var(--ink);color:#fff}.primary:active,button:active{transform:translate(3px,3px);box-shadow:none}button:disabled{opacity:.55;cursor:not-allowed}input,textarea,select{font:inherit;border:var(--border);padding:11px;width:100%;background:#fff;border-radius:0}textarea{min-height:250px;resize:vertical}label{display:block;font-weight:800;margin:14px 0 4px}.tag{font:700 12px Space Mono,monospace;border:2px solid #111;background:#fff;padding:4px 7px;display:inline-block}.orange{background:var(--orange)}.cyan{background:var(--cyan)}.yellow{background:var(--yellow)}.lime{background:var(--lime)}.error{color:#a50000;font-weight:800}.join,.login,.complete{min-height:100dvh;display:grid;place-items:center;padding:24px}.join{grid-template-columns:minmax(260px,400px) minmax(320px,510px);gap:65px}.brand{font-size:clamp(56px,8vw,110px);line-height:.78;font-weight:900;letter-spacing:0}.brand i{font:700 18px Space Mono,monospace;letter-spacing:0}.panel{border:var(--border);box-shadow:var(--shadow);padding:32px;max-width:540px}.panel h1{font-size:40px;line-height:1;margin:14px 0}.panel form{margin-top:25px}.panel form .primary{width:100%;margin-top:18px}.admin-link{font-weight:800;text-decoration:underline}.reader{min-height:100dvh;display:flex;flex-direction:column;background:#fff}.reader header,nav{height:64px;border-bottom:var(--border);display:flex;align-items:center;gap:22px;padding:0 24px;background:var(--yellow)}.reader header span{font-size:13px;flex:1}.reader header button,nav button{margin-left:auto;padding:7px 12px;box-shadow:none}.reading-progress{height:14px;border-bottom:var(--border);background:#fff}.reading-progress i{display:block;background:var(--cyan);height:100%;transition:width .15s}.counter{text-align:center;font:700 13px Space Mono,monospace;margin:30px}.counter strong{margin-left:18px}.token{flex:1;display:grid;place-items:center;text-align:center;font-size:clamp(48px,11vw,150px);font-weight:900;padding:20px;overflow-wrap:anywhere}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#111a;display:grid;place-items:center;padding:20px}.question{max-width:700px;width:100%;padding:28px;background:var(--yellow);border:var(--border);box-shadow:var(--shadow)}.question h2{font-size:28px}.option{display:grid;grid-template-columns:36px 1fr;text-align:left;gap:12px;width:100%;margin:9px 0;box-shadow:none}.option b{font-family:Space Mono,monospace}.option.selected{background:var(--cyan)}.question .primary{margin-top:18px}.login{background:var(--cyan)}.login .panel{width:min(100%,460px)}nav a:first-child{font:900 22px Space Mono,monospace;margin-right:auto}nav a{font-weight:800}.admin{max-width:1200px;margin:0 auto;padding:46px 24px}.page-title{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:30px}.page-title h1,.admin>h1{font-size:40px;margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.metrics div{border:var(--border);box-shadow:var(--shadow);padding:20px;background:#fff}.metrics b{font-size:48px;display:block}.metrics span{font-weight:800}.list{border:var(--border);background:#fff}.list h2{margin:0;padding:18px;border-bottom:var(--border)}.room,.doc{display:grid;grid-template-columns:120px 1fr auto auto auto;align-items:center;gap:16px;padding:16px;border-bottom:2px solid #111}.doc{grid-template-columns:1fr auto auto}.doc p{margin:5px 0 0;font-size:13px}.room b{font:700 20px Space Mono,monospace}.room-form{border:var(--border);box-shadow:var(--shadow);padding:24px;background:var(--cyan);display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px;margin-bottom:40px}.room-form h2{grid-column:1/-1;margin:0}.check{align-self:end}.editor{max-width:850px}.preview{margin-top:36px;border:var(--border);padding:20px;background:#fff}.preview mark{background:var(--lime);line-height:2}.complete{background:var(--orange)}@media (max-width: 760px){.join{grid-template-columns:1fr;gap:30px;place-items:start}.brand{font-size:64px}.reader header{padding:0 12px;gap:10px}.reader header span{display:none}.metrics{grid-template-columns:1fr 1fr}.room,.doc{grid-template-columns:1fr;gap:8px}.room-form,.allowlist{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}nav{padding:0 12px;gap:12px}nav a:not(:first-child){display:none}.admin{padding:28px 15px}.panel{padding:24px}.token{font-size:58px}}.answer-feedback{border:2px solid #111;padding:12px;margin-top:14px;display:grid;gap:4px;background:#fff}.answer-feedback.correct{background:var(--lime)}.answer-feedback.wrong{background:var(--orange)}.question>button.primary,.question>button:not(.option){display:block;width:100%;margin-top:14px;position:relative;clear:both}.question-actions{display:flex;gap:14px;align-items:stretch;margin-top:14px}.question-actions button{flex:1;margin:0!important}.answer-feedback span{display:block;overflow-wrap:anywhere}.gap-preview{max-height:260px;overflow:auto;border:var(--border);background:#fff;padding:12px;margin:14px 0;line-height:2}.gap-preview button{box-shadow:none;border:0;padding:2px 5px;font-weight:600}.gap-preview button.selected{background:var(--cyan);border:2px solid #111}.gap-choice{font-family:Space Mono,monospace}.review-page{min-height:100dvh;padding-bottom:40px;background:#f5f3eb}.review-page header{height:64px;border-bottom:var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--yellow)}.review-head{max-width:1000px;margin:30px auto 18px;padding:0 24px}.review-head h1{font-size:clamp(32px,5vw,58px);margin:12px 0 4px}.review-text{max-width:1000px;margin:0 auto 30px;padding:28px 32px;border:var(--border);box-shadow:var(--shadow);background:#fff;font-size:clamp(18px,2vw,24px);line-height:2.1}.word{white-space:normal}.review-gap{position:relative;display:inline-flex;border:0;border-bottom:3px solid var(--orange);box-shadow:none;background:transparent;padding:0 4px;margin:0 2px;color:#111;vertical-align:baseline}.review-gap i{font-style:normal;color:var(--orange);font-weight:900}.review-pop{position:absolute;z-index:3;left:50%;top:calc(100% + 8px);transform:translate(-50%);width:280px;border:var(--border);box-shadow:var(--shadow);background:var(--yellow);padding:12px;text-align:left;font:600 14px/1.4 Be Vietnam Pro,sans-serif;display:grid;gap:6px}.review-pop b{font-size:15px}.review-page>.primary{display:block;width:max-content;margin:0 auto}.join{width:min(100%,1100px);margin-inline:auto}.back-link{display:block;margin-top:18px}.allowlist{grid-column:1/-1;border:2px solid #111;background:#fff;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.allowlist label{margin:0}.name-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.name-list span{border:2px solid #111;padding:5px 8px;font-weight:700}.name-list button{padding:0 5px;margin-left:8px;box-shadow:none}.token-preview{border:var(--border);background:#fff;padding:16px;max-height:300px;overflow:auto;line-height:2.4;word-break:normal}.token-preview>span{white-space:normal}.gap-button{border:0!important;box-shadow:none!important;background:transparent!important;color:transparent;padding:0!important;margin:0 3px!important;width:8px!important;min-width:8px;height:1.7em;display:inline-block!important;vertical-align:middle;line-height:1;font-size:14px!important}.gap-button:hover,.gap-button.selected{background:var(--cyan)!important;border:2px solid #111!important;color:#111!important;width:14px!important;min-width:14px}.question-editor{border:var(--border);background:var(--yellow);padding:18px;margin:22px 0}.question-editor h2{margin-top:0}.adaptive-reader{position:relative}.phase-strip{padding:9px 18px;border-bottom:2px solid #111;background:#fff;font:700 13px Space Mono,monospace;text-align:center}.natural-reading{width:min(100%,900px);margin:32px auto;padding:0 24px}.natural-reading h1{font-size:clamp(28px,4vw,44px)}.natural-reading article{font-size:20px;line-height:1.9;white-space:pre-wrap;background:#fff;border:var(--border);padding:28px;margin:22px 0}.natural-block{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #111}.natural-block p{margin:0;white-space:pre-wrap}.natural-question{display:inline-grid;place-items:center;width:34px;height:34px;margin:14px 0 0;padding:0;text-align:center;background:var(--yellow);font-family:Space Mono,monospace;font-size:18px}.reader-notice{position:fixed;z-index:12;left:50%;bottom:22px;transform:translate(-50%);display:flex;gap:16px;align-items:center;max-width:min(700px,calc(100vw - 24px));padding:12px 16px;border:var(--border);box-shadow:var(--shadow);background:var(--yellow)}.reader-notice span{overflow-wrap:anywhere}.notice{font-weight:700}.profile-row{grid-column:1/-1;display:grid;grid-template-columns:30px repeat(4,minmax(100px,1fr)) auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #111}.profile-row label{margin:0}.profile-row input,.profile-row select{padding:8px}.semantic-editor{border:var(--border);padding:18px;background:#fff;margin:24px 0}.semantic-token{border:0;box-shadow:none;padding:2px 4px;margin:1px}.semantic-token:hover{background:var(--lime)}.semantic-editor .primary{margin:14px 0}.deep-editor{background:var(--lime)}.reader .question-actions{display:flex;gap:12px}.reader .question-actions button{width:100%;margin:0}.reader .question{max-height:calc(100dvh - 40px);overflow:auto}.reader .option{min-height:46px}@media (max-width: 760px){.profile-row{grid-template-columns:1fr 1fr}.profile-row>b{grid-column:1/-1}.reader-notice{align-items:flex-start}.natural-reading{padding:0 14px}.natural-reading article{padding:18px;font-size:18px}}.token{font-size:clamp(42px,8vw,110px);line-height:1.08;min-height:0;max-height:calc(100dvh - 150px);padding:clamp(20px,6vh,70px)}.natural-reading article{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 760px){.allowlist{grid-template-columns:1fr}}.admin-integrity{max-width:1200px;margin:12px auto 0;padding:12px 18px;border:2px solid #a50000;background:#fff}.analytics-page{max-width:1440px}.analytics-header{display:flex;justify-content:space-between;gap:32px;align-items:end;border-bottom:3px solid #111;padding-bottom:28px;margin-bottom:28px}.analytics-header h1{font-size:clamp(32px,5vw,58px);margin:14px 0 8px}.analytics-header p,.muted{max-width:720px;color:#555}.analytics-header label{min-width:230px}.analytics-metrics{grid-template-columns:repeat(6,1fr)}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.analytics-panel{border:3px solid #111;background:#fff;padding:22px;min-width:0}.analytics-panel.wide{grid-column:1/-1}.analytics-panel h2{margin:0 0 8px;font-size:22px}.big-number{font-size:64px;font-weight:900;margin-top:25px}.analytics-empty{border:2px dashed #777;padding:30px;color:#666;background:#fafafa;margin-top:18px}.speed-bars{height:220px;display:flex;align-items:end;gap:7px;padding:20px 4px 0;border-bottom:2px solid #111}.speed-point{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:4px}.speed-point i{display:block;width:100%;max-width:24px;background:var(--cyan);border:2px solid #111}.speed-point i.incorrect{background:var(--orange)}.speed-point small{font:11px Space Mono,monospace;writing-mode:vertical-rl}.behavior-list div{display:flex;justify-content:space-between;border-bottom:1px solid #111;padding:13px 0;font-family:Space Mono,monospace}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th,.table-wrap td{text-align:left;padding:13px 10px;border-bottom:2px solid #111}.table-wrap th{font:700 12px Space Mono,monospace;text-transform:uppercase;background:#f5f3eb}@media (max-width: 850px){.analytics-header{display:block}.analytics-header label{display:block;margin-top:20px}.analytics-metrics{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.analytics-panel.wide{grid-column:auto}}.room-dashboard{max-width:1440px;margin:42px auto 0;padding:32px 0 80px}.room-dashboard .page-title{border-bottom:3px solid #111;padding-bottom:22px}.room-dashboard .page-title h2{font-size:32px;margin:0}.room-metrics{grid-template-columns:repeat(4,1fr);margin:26px 0 34px}.room-dashboard .list{margin:24px 0;overflow:hidden}.room-dashboard .list h2{font-size:26px}.history-row{display:grid;grid-template-columns:1.4fr .9fr .9fr 1.2fr 1.2fr;gap:18px;align-items:center;padding:16px 22px;border-bottom:2px solid #111;background:#fff;min-height:58px}.history-row:last-child{border-bottom:0}.history-row b{font-size:18px}.history-row small{font-family:Space Mono,monospace;font-size:12px}.history-row .tag{justify-self:start}.bar{height:14px;border:2px solid #111;background:#f5f3eb}.bar i{display:block;height:100%;background:var(--cyan)}@media (max-width: 760px){.room-dashboard{margin:24px 14px 0;padding:18px 0 50px}.room-dashboard .page-title h2{font-size:24px}.room-metrics{grid-template-columns:1fr 1fr}.history-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.history-row .bar,.history-row small{grid-column:1/-1}}
