:root{--ink:#102b31;--deep:#073d49;--orange:#ff702a;--teal:#007e88;--cream:#fff9e8;--paper:rgba(255,255,248,.96)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.48 system-ui,-apple-system,'Segoe UI',sans-serif}body.student-page{background:#133b41 url('plakat.png') left top/auto 100vh fixed no-repeat}body.student-page::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,28,35,.08) 0%,rgba(3,28,35,.12) 41%,rgba(3,31,38,.8) 58%,rgba(3,31,38,.93) 100%)}.topbar{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px clamp(16px,4vw,60px);background:rgba(5,40,48,.88);backdrop-filter:blur(9px);color:white}.topbar a{color:inherit;text-decoration:none}.brand{font-weight:950;letter-spacing:.04em}.teacher-link{font-size:14px;background:rgba(255,255,255,.13);padding:9px 14px;border-radius:25px}.teacher-link:hover{background:rgba(255,255,255,.23)}.shell{max-width:610px;margin:28px 4vw 80px auto}.intro{color:white;padding:22px 18px 15px;text-shadow:0 2px 6px #09292d}.eyebrow{letter-spacing:.13em;color:#ffca71;font-weight:900;font-size:12px}.intro h1{font-size:clamp(31px,4vw,53px);line-height:1.06;max-width:580px;margin:11px 0 14px;font-weight:1000}.intro h1 span{color:#ffb35c}.intro p{font-size:17px;max-width:510px}.pills{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.pills span{background:#ffffff2c;padding:5px 11px;border:1px solid #ffffff39;border-radius:30px;font-size:13px}.card{padding:24px;border-radius:19px;margin-bottom:17px;background:var(--paper);box-shadow:0 13px 38px #00161d4a;border:1px solid #fff}.card-heading{display:flex;align-items:center;gap:15px;margin-bottom:18px}.circle{height:46px;min-width:46px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:950;color:#162a2f}.yellow{background:#ffcf4a}.coral{background:#ff8b67}.blue{background:#69c7ec}.purple{background:#ce9ce9}h2{font-size:23px;line-height:1.16;margin:0 0 6px;font-weight:850}.card p{margin:0 0 14px}.card-heading p{margin:0;color:#506067;font-size:14px}.card textarea,.card input:not([type=hidden]){display:block;width:100%;border:2px solid #d1dcdd;border-radius:10px;background:#fff;color:#152f35;font:inherit;padding:11px 12px}.card textarea{min-height:160px;resize:vertical;font-size:14px}.card textarea.large{min-height:280px}.card input[type=file]{background:#f6f9f9;padding:13px 9px}.card label{display:block;font-weight:750;margin-bottom:13px}.card label input,.card label textarea{margin-top:7px;font-weight:400}.btn{border:0;cursor:pointer;color:white;display:inline-block;text-align:center;font:inherit;font-weight:850;border-radius:11px;padding:13px 19px;text-decoration:none;transition:transform .15s,filter .15s}.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.orange{background:#ec6426}.green{background:#007c6c}.purple-btn{background:#7445b1}.secondary{background:#1b5962}.small{color:#64727a;font-size:13px;margin:9px 0!important}.download-list{display:grid;gap:9px}.download-item{color:inherit;text-decoration:none;background:#f0f6f6;display:flex;gap:12px;align-items:center;border-radius:12px;padding:12px;border:1px solid #d3e0e1}.download-item:hover{background:#e1f0eb}.download-item span:nth-child(2){flex:1;min-width:0}.download-item strong,.download-item small{display:block;overflow-wrap:anywhere}.download-item small,.admin-file small{font-size:12px;color:#627078}.download-item b{font-size:24px;color:var(--teal)}.file-icon{font-size:25px}.empty{padding:15px;border-radius:11px;background:#edf3f3;color:#60747b}.notice{padding:12px;border-radius:10px;margin:13px 0;font-weight:700}.success{background:#d8f5e1;color:#15572d}.error{background:#ffe1dc;color:#a01b1b}.trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}footer{text-align:center;color:#fff;padding:24px;text-shadow:0 2px 8px #003}.admin-page{background:linear-gradient(145deg,#073d49,#125f64) fixed}.admin-shell{max-width:1120px;margin:25px auto 70px;padding:0 18px}.admin-shell h1{color:#fff;font-size:38px;margin:6px 0}.subtitle{color:#d6ebeb;margin:0 0 24px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.admin-grid .card{margin:0;min-width:0}.wide{grid-column:span 2}.admin-file{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid #d1e1e1;padding:10px;border-radius:10px;background:#f2f7f7}.admin-file strong,.admin-file small{display:block;overflow-wrap:anywhere}.actions{display:flex;gap:6px;flex-shrink:0}.actions form{margin:0}.mini-btn{border:0;cursor:pointer;text-decoration:none;background:#176c77;color:white;font-size:12px;font-weight:750;border-radius:7px;padding:8px;display:inline-block}.mini-btn.danger{background:#a33b3b}.admin-file+.admin-file{margin-top:7px}.admin-page .card h3{margin:20px 0 10px}.logout{margin-top:15px}code{background:#e5efef;padding:3px 5px;border-radius:4px}@media(max-width:1100px){body.student-page{background-size:auto 100vh;background-position:25% top}.shell{max-width:580px}}@media(max-width:760px){body.student-page{background-size:100% auto;background-position:center top;background-attachment:scroll;background-color:#073d49}body.student-page::before{background:linear-gradient(180deg,rgba(4,36,42,.15),rgba(4,36,42,.72) 26%,#073d49 56%)}.shell{max-width:680px;margin:20px 13px 45px}.intro{padding:18px 12px}.card{padding:19px;border-radius:15px}.intro h1{font-size:34px}.admin-grid{grid-template-columns:1fr}.wide{grid-column:auto}.admin-file{flex-direction:column;align-items:stretch}.actions{justify-content:flex-end}.topbar{padding:12px}.brand{font-size:13px}}

/* Tabletop-Lexikon */
.glossary-shell{max-width:720px}.glossary-shell .card{scroll-margin-top:20px}.glossary-shell input[type=search]{width:100%;padding:13px 15px;border:2px solid #cddadb;border-radius:12px;font:inherit}.quick-links{display:flex;gap:8px;flex-wrap:wrap}.quick-links a{text-decoration:none;background:#e4f0ef;color:#11424a;padding:8px 12px;border-radius:20px;font-size:13px;font-weight:800}.glossary-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.term{border:1px solid #d6e2e3;border-radius:13px;padding:15px;background:#f8fbfa}.term h3{margin:0 0 7px;font-size:18px;color:#08535c}.term p{font-size:14px;margin:0 0 10px}.term-example{font-size:13px;padding:10px;background:#e8f2f0;border-radius:9px}.dice-example{display:flex;gap:15px;align-items:center;background:#eff4f2;padding:12px 15px;border-radius:12px;margin-bottom:9px}.dice-example span:first-child{font-size:32px}.dice-example .good{color:#117449;font-weight:800;margin-left:auto}.dice-example .bad{color:#aa4334;font-weight:800;margin-left:auto}.term[hidden],.glossary-group[hidden]{display:none!important}@media(max-width:650px){.glossary-items{grid-template-columns:1fr}.dice-example{gap:10px}}

/* Lexikon: anklickbare Suchtreffer und sichtbarer Ankersprung */
.search-results{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.search-results[hidden]{display:none!important}
.search-result-link{display:inline-block;padding:8px 11px;border-radius:9px;background:#dbf1ec;color:#07515b;font-weight:750;text-decoration:none;border:1px solid #a9d5cb}
.search-result-link:hover,.search-result-link:focus-visible{background:#b6e4d8;outline:2px solid #0a737a}
.no-results{padding:10px;background:#fff1dc;border-radius:9px;margin:0!important}
.term{scroll-margin-top:22px;transition:background .2s,border-color .2s}
.term:target,.term.search-target{background:#fff2c8;border:3px solid #e87827;padding:13px}

.lex-search-row{display:flex;align-items:stretch;gap:10px}.lex-search-row input{flex:1;min-width:0}.lex-search-row .btn{flex:none}@media(max-width:510px){.lex-search-row{flex-direction:column}}
