:root { --yellow:#fff200; font-family:Arial,Helvetica,sans-serif; color:#090909; }
* { box-sizing:border-box; }
body { margin:0; }
button,input,textarea { font:inherit; }
button { border:0; background:#080808; color:#fff; font-weight:700; padding:12px 16px; border-radius:5px; cursor:pointer; }
button:hover { filter:brightness(1.25); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #555; outline-offset:2px; }
button:disabled { opacity:.55; cursor:wait; }
label { display:block; font-weight:700; margin:14px 0; }
label input,label textarea { display:block; width:100%; margin-top:6px; border:1px solid #aaa; border-radius:6px; padding:10px; background:#fff; resize:vertical; }
.setup { max-width:460px; margin:9vh auto; padding:25px; }
.error,.form-message { color:#a11; min-height:1.2em; }
[hidden] { display:none !important; }
.student-shell { min-height:100dvh; }
.student-view { min-height:100dvh; display:flex; flex-direction:column; }
.student-head { border-bottom:16px solid var(--yellow); display:flex; gap:10px; align-items:flex-end; padding:0 clamp(20px,5.5vw,90px); min-height:82px; }
.student-head strong { font-size:clamp(36px,5.2vw,80px); letter-spacing:-.055em; line-height:.76; margin-bottom:-.015em; font-weight:900; text-transform:uppercase; }
.student-head span { font-size:clamp(16px,1.65vw,27px); font-variant:small-caps; line-height:.8; }
.student-main { flex:1; width:min(680px,calc(100% - 32px)); margin:auto; padding:40px 0; }
.student-question { background:#000; color:#fff; border-radius:26px; padding:24px 30px; text-align:center; overflow-wrap:anywhere; font-size:clamp(27px,3.3vw,40px); line-height:1.3; font-weight:400; white-space:pre-wrap; }
.answer-bubble { background:var(--yellow); padding:20px; border-radius:10px; position:relative; margin:20px 0 14px; }
.answer-bubble::before { content:""; position:absolute; bottom:100%; left:50%; border:19px solid transparent; border-bottom-color:var(--yellow); }
.answer-bubble textarea { background:transparent; border:0; padding:0; width:100%; min-height:150px; resize:vertical; font-size:24px; line-height:1.4; }
.answer-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.student-foot { padding:15px clamp(20px,5.5vw,90px) 100px; }
.student-privacy { position:fixed; bottom:0; left:0; right:0; margin:0; padding:10px 18px; font-size:12px; line-height:1.35; text-align:center; color:#555; background:#fff; z-index:20; }
.student-question strong { font-weight:750; }
.loading { text-align:center; padding:20vh 20px; }
.admin-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; height:100dvh; }
.admin-board { overflow:hidden; }
.admin-panel { overflow:auto; background:#f5f5f2; border-left:2px solid #111; padding:17px 20px 35px; }
.panel-title { display:flex; justify-content:space-between; align-items:center; gap:10px; }.panel-title h1 { font-size:22px; margin:0; }.panel-title a { font-size:13px; }
.admin-panel h2 { font-size:19px; }.admin-panel .hint { font-size:13px; color:#555; line-height:1.45; }
.panel-actions { display:flex; gap:8px; margin:16px 0; flex-wrap:wrap; }.panel-actions button { flex:1; }
.secondary { background:#fff; color:#111; border:1px solid #111; }.danger { background:#a11; }.board-link { display:inline-block; margin-top:6px; }
.admin-panel label { font-size:13px; margin:10px 0; }.admin-panel input,.admin-panel textarea { font-size:15px; }
@media(max-width:880px) { .admin-layout { grid-template-columns:1fr; height:auto; }.admin-board .board { height:70dvh; }.admin-panel { border-left:0; border-top:2px solid #111; }.student-head { padding:10px 16px 0; border-bottom-width:12px; gap:7px; min-height:78px; }.student-head strong { font-size:clamp(26px,6vw,37px); }.student-head span { font-size:clamp(11px,2.6vw,16px); }.student-main { padding:25px 0; } }

.logout { color:#222; background:transparent; font-size:13px; padding:5px 0; text-decoration:underline; font-weight:400; }
.account-name { font-size:13px; }
.personal-url { overflow-wrap:anywhere; }

.publish-controls { margin:20px 0; }
.publish-controls > button { width:100%; }
.publication-status { font-size:13px; line-height:1.45; color:#444; margin:9px 0 13px; }
.admin-layout { position:relative; --panel-width:330px; grid-template-columns:minmax(0,1fr) var(--panel-width); transition:grid-template-columns .2s; }
.admin-layout.panel-collapsed { --panel-width:0px; }
.admin-panel { min-width:0; }
.panel-collapsed .admin-panel { visibility:hidden; padding:0; border:0; overflow:hidden; }
.panel-toggle { position:absolute; z-index:30; right:var(--panel-width); top:45%; width:28px; height:60px; padding:0; font-size:32px; line-height:1; border-radius:6px 0 0 6px; border:1px solid #111; background:#fff; color:#111; box-shadow:-2px 2px 6px #0002; transition:right .2s; }
.panel-links { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.panel-links a { font-size:12px; text-align:right; }
.admin-panel a,.admin-panel a:visited,.admin-panel a:hover,.admin-panel a:active,.logout { color:#000; text-decoration:underline; }
.archive-section { margin-top:25px; border-top:1px solid #ccc; }
#archive-list { list-style:none; padding:0; margin:0; }
#archive-list li { display:flex; align-items:center; gap:6px; margin:9px 0; min-width:0; }
.archive-title { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:13px; }
.archive-icon { flex:0 0 27px; width:27px; height:30px; padding:0; background:transparent; color:#000; font-size:23px; }
.export-frame { position:fixed; top:0; left:-20000px; width:1600px; height:1000px; border:0; pointer-events:none; }
#install-help { width:min(480px,calc(100% - 32px)); border:2px solid #111; border-radius:12px; padding:24px; }
#install-help::backdrop { background:#0006; }
#install-help p { line-height:1.5; }
@media(max-width:880px) {
 .admin-layout { display:block; height:auto; }
 .admin-layout .admin-panel { padding-left:38px; }
 .admin-layout .panel-toggle { position:fixed; right:0; top:auto; bottom:24px; border-radius:6px 0 0 6px; }
 .admin-layout.panel-collapsed .admin-panel { display:none; }
 .admin-layout.panel-collapsed .admin-board .board { height:100dvh; }
}
@media(prefers-reduced-motion:reduce) { .admin-layout,.panel-toggle { transition:none; } }

.archive-icon svg { display:block; width:22px; height:22px; margin:auto; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linejoin:round; }

.admin-panel { display:flex; flex-direction:column; }
.admin-panel > * { flex-shrink:0; }
.panel-brand { margin-top:auto; padding-top:30px; }
.panel-brand button { display:flex; align-items:center; gap:12px; width:100%; padding:10px 0; background:transparent; color:#111; text-align:left; font-size:12px; font-weight:400; }
.panel-brand img { object-fit:contain; width:90px; height:60px; }
.panel-brand small { display:block; margin-top:5px; color:#666; }
#version-dialog { width:min(700px,calc(100% - 28px)); max-height:85dvh; overflow:auto; padding:24px; border:2px solid #111; border-radius:12px; background:#fff; color:#111; }
#version-dialog::backdrop { background:#0007; }
.version-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
#version-dialog h2 { font-size:25px; margin:6px 0 16px; }
.version-eyebrow { margin:0; font-size:12px; letter-spacing:.08em; }
#version-close { background:transparent; color:#111; font-size:28px; padding:0 8px; line-height:1; }
.version-intro,#version-dialog li { font-size:14px; line-height:1.55; }
#version-dialog h3 { border-bottom:4px solid var(--yellow); padding-bottom:8px; margin-top:30px; }
.version-entry h4 { margin-bottom:8px; font-size:16px; }
.version-entry h4 span { display:inline-block; margin-right:8px; font-size:13px; padding:3px 7px; background:#f1f1ed; border-radius:4px; }
.version-entry ul { margin-top:8px; padding-left:21px; }
.version-entry li { margin:5px 0; }
.version-signoff { color:#666; font-size:12px; margin-top:28px; }

/* EXIT67 3.2: direct board access and compact footer. */
.publish-controls #preview-toggle { margin-bottom:12px; }
.archive-title.active-board { font-weight:700; }
.board-links { display:flex; flex-direction:column; gap:8px; }
.admin-panel .view-button { display:block; margin:0; padding:12px 14px; border:1px solid #111; border-radius:5px; background:#fff; color:#000; text-decoration:none; text-align:center; font-size:14px; font-weight:700; }
.view-button:hover { background:#eee; }
.panel-brand { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.panel-brand #version-open { width:auto; display:flex; align-items:flex-end; gap:6px; padding:0; }
.panel-brand #version-open img { width:80px; height:auto; display:block; }
.panel-brand .brand-version { font-size:12px; line-height:1; margin-bottom:6px; }
.panel-brand #install-app { display:block; flex:none; line-height:0; }
.panel-brand #install-app img { width:58px; height:58px; object-fit:contain; }
#save-status { min-height:1.45em; }
.setup .hint a { overflow-wrap:anywhere; }

/* EXIT67 3.3: gleichartige Aktionen, eindeutige Freigabe und Rückgängig. */
.admin-panel button:not(.logout):not(.archive-icon):not(#version-open) { min-height:44px; border-radius:6px; }
.admin-panel a.view-button { min-height:44px; }
#preview-toggle { background:#d5d5d5; color:#111; border:1px solid #111; }
#preview-toggle:hover { filter:none; background:#d5d5d5; box-shadow:inset 0 0 0 1px #111; }
#preview-toggle[aria-pressed="true"] { box-shadow:inset 0 0 0 2px #111; }
#show-toggle { background:#166534; color:#fff; border:1px solid #166534; }
#show-toggle:hover { filter:none; background:#12532b; }
#show-toggle.is-published { background:#fff; color:#166534; }
#show-toggle.is-published:hover { background:#eff5f0; }
#new-round { background:#fff200; color:#111; border:1px solid #111; }
#new-round:hover { filter:none; background:#f0e400; }
.board-state { padding:9px 10px; margin:10px 0; border:1px solid #b5b5b5; background:#fff; border-radius:6px; font-size:13px; font-weight:700; }
.question-error { margin:4px 0; color:#a11a1a; font-size:13px; font-weight:700; }
[aria-invalid="true"] { border-color:#a11a1a !important; }
.undo-toast { position:fixed; right:20px; bottom:16px; z-index:50; display:flex; align-items:center; gap:14px; padding:9px 12px; color:#fff; background:#111; border-radius:7px; box-shadow:0 3px 14px #0005; font-size:14px; }
.undo-toast[hidden] { display:none; }
.undo-toast button { background:#fff; color:#111; border:1px solid #fff; min-height:44px; padding:7px 12px; }
.answer-confirmation { position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:20; background:#166534; color:#fff; border-radius:6px; box-shadow:0 4px 18px #0005; padding:12px 18px; font-size:16px; font-weight:700; text-align:center; max-width:calc(100% - 30px); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #2357a5; outline-offset:2px; }
.panel-brand #install-app { overflow:hidden; width:60px; height:60px; }
.panel-brand #install-app img { max-width:none; width:78px; height:78px; transform:translate(-9px,-9px); mix-blend-mode:multiply; }
@media(max-width:880px) { .undo-toast { bottom:90px; left:12px; right:12px; justify-content:space-between; } }
