@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}@media (max-width:760px){.allowlist{grid-template-columns:1fr}}
