:root{--bg:#f6f7f9;--surface:#fff;--fg:#1b1f27;--muted:#5d6573;--border:#d6dae1;--accent:#2457c5;--accent-fg:#fff;--ok:#1d7a3a;--warn:#9a6200;--bad:#b3261e;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px}@media (prefers-color-scheme:dark){:root{--bg:#14171c;--surface:#1d2129;--fg:#e6e8ec;--muted:#a0a7b4;--border:#353b47;--accent:#7aa2ff;--accent-fg:#0d1526;--ok:#6fd18f;--warn:#f0b85a;--bad:#ff8a80}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.page{max-width:960px;margin:0 auto;padding:24px 16px}.page.narrow{max-width:480px}.page.wide{max-width:1200px}h1{color:var(--accent);margin:0 0 16px}h3{margin:0 0 8px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.muted{color:var(--muted)}.stack,.form{flex-direction:column;gap:14px;display:flex}.form label{flex-direction:column;gap:6px;font-weight:500;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;padding:12px}input:focus{outline:2px solid var(--accent);outline-offset:1px}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--fg);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;text-decoration:none;display:inline-flex}button:disabled{opacity:.6;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.danger{color:var(--bad);border-color:var(--bad)}button.link{color:var(--accent);background:0 0;border:none;justify-content:flex-start;min-height:0;padding:4px 0}a{color:var(--accent)}.error{color:var(--bad);margin:0}.notice{background:var(--surface);border-left:4px solid var(--accent);border-radius:4px;padding:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card p{margin:4px 0}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.actions.compact{flex-wrap:nowrap;margin-top:0}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.count{background:var(--bad);color:#fff;border-radius:999px;padding:0 8px;font-size:.8em}.badge{border:1px solid;border-radius:999px;padding:2px 8px;font-size:.8em}.badge-active,.badge-approved{color:var(--ok)}.badge-pending{color:var(--warn)}.badge-blocked{color:var(--bad)}.table{border-collapse:collapse;width:100%;margin-top:12px;display:block;overflow-x:auto}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px}.status-list{padding:0;list-style:none}.status-list li,.status{margin:4px 0}.ok:before{content:"✔ ";color:var(--ok)}.bad,.bad:before{color:var(--bad)}.bad:before{content:"✘ "}.page-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.crumbs{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.35rem;font-weight:600;overflow:hidden}.crumbs a{font-weight:500;text-decoration:none}.crumb-sep{color:var(--muted);margin:0 8px}.crumb-current{color:var(--accent)}.icon-button{width:48px;min-width:48px;height:48px;padding:0;font-size:1.5rem}.grid-toolbar{justify-content:flex-end;min-height:44px;margin-bottom:12px;display:flex}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.folder{background:var(--surface);border:1px solid var(--border);border-top:6px solid var(--folder-color,var(--accent));border-radius:12px;flex-direction:column;min-height:140px;display:flex;position:relative;overflow:hidden}.folder-link{color:var(--fg);flex-direction:column;flex:1;gap:4px;padding:16px;text-decoration:none;display:flex}.folder-link:active{background:var(--bg)}.folder-icon{font-size:2rem}.folder-name{overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.folder-sub{color:var(--muted);font-size:.9rem}.folder-edit{flex-direction:column;gap:6px;padding:0 12px 12px;display:flex}button.folder-new{border-style:dashed;border-top:6px dashed var(--border);color:var(--accent);text-align:left;justify-content:flex-start;align-items:flex-start;padding:16px}.section-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:16px;display:grid}.section-tile{background:var(--surface);border:1px solid var(--border);min-height:200px;color:var(--fg);border-radius:16px;flex-direction:column;gap:8px;padding:28px;text-decoration:none;display:flex}.section-icon{font-size:3rem}.section-title{color:var(--accent);font-size:1.5rem;font-weight:700}.overlay{z-index:10;background:#00000073;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:16px;width:100%;max-width:440px;padding:20px;box-shadow:0 10px 40px #0000004d}.dialog h2{margin:0}.actions.end{justify-content:flex-end}.page>.card{margin-top:16px}.card h2{margin-top:0}select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;padding:12px}.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.plain-list{padding-left:20px}.warn{color:var(--warn)}.job-status{align-items:center;gap:8px;margin:4px 0;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:14px;height:14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.thumb-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px;display:grid}.thumb{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:0;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:160px;transition:transform .2s;display:block}.thumb figcaption{justify-content:center;padding:6px}.page-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.page-card{background:var(--surface);border:1px solid var(--border);color:var(--fg);border-radius:12px;align-items:flex-start;gap:16px;padding:12px;text-decoration:none;display:flex}.page-card img{object-fit:cover;background:var(--bg);border-radius:6px;flex:none;width:90px;height:120px}.page-card h3{margin:4px 0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 16px;display:flex}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{border:none;border-radius:0}.segmented button.active{background:var(--accent);color:var(--accent-fg)}.photo{border:1px solid var(--border);border-radius:8px;max-width:100%;margin:0 auto;display:block}.page-title{font-size:1.6rem}.markdown{overflow-wrap:anywhere;line-height:1.6}.markdown table{border-collapse:collapse;margin:12px 0;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px}.markdown blockquote{border-left:4px solid var(--accent);background:var(--bg);border-radius:4px;margin:12px 0;padding:8px 16px}.markdown .katex-display{overflow:auto hidden}.figure{background:var(--bg);border-radius:8px;margin:16px 0;padding:12px}.figure img{border-radius:4px;max-width:100%;max-height:420px;margin:0 auto 8px;display:block}.chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:.9rem}textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--fg);resize:vertical;border-radius:8px;padding:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem}.meter{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:18px;margin:8px 0 12px;position:relative;overflow:visible}.meter-fill{background:var(--accent);border-radius:999px;height:100%}.meter-fill.over{background:var(--bad)}.meter-mark{background:var(--fg);width:3px;position:absolute;top:-5px;bottom:-5px;transform:translate(-1px)}input[type=range]{accent-color:var(--accent);padding:0}.page>.actions{margin-bottom:16px}.batch-card{align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.batch-card img{object-fit:cover;border-radius:6px;width:70px;height:90px}.batch-card h3{margin:0 0 4px}.task-list{flex-direction:column;gap:10px;display:flex}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding-right:12px;display:flex}.task-link{color:var(--fg);flex:1;align-items:center;gap:16px;min-width:0;padding:14px 16px;text-decoration:none;display:flex}.task-no{background:var(--accent);width:40px;height:40px;color:var(--accent-fg);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.task-main{flex-direction:column;gap:4px;min-width:0;display:flex}.task-title{overflow-wrap:anywhere;font-weight:600}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:.9rem;display:flex}.badge-leicht{color:var(--ok)}.badge-mittel{color:var(--warn)}.badge-schwer{color:var(--bad)}.started{color:var(--accent)}.statement-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.statement-head .page-title{margin:0;font-size:1.35rem}.workspace{margin-top:16px}.workspace-head{justify-content:space-between;align-items:center;display:flex}.workspace-head h2{margin:8px 0;font-size:1.15rem}.save-state{color:var(--muted);font-size:.9rem}.save-state.saved{color:var(--ok)}.task-nav{justify-content:space-between;margin-top:16px;display:flex}.ink{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.ink-toolbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;display:flex;position:sticky;top:0}.ink-swatches,.ink-sizes{gap:6px;display:flex}.swatch{border:3px solid var(--surface);width:36px;min-width:36px;height:36px;min-height:36px;box-shadow:0 0 0 1px var(--border);border-radius:50%;padding:0}.swatch.active{box-shadow:0 0 0 3px var(--accent)}.size{width:40px;min-width:40px;padding:0}.size span{background:var(--fg);border-radius:50%;display:block}.size.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.ink-finger{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:.9rem;display:flex}.ink-scroller{overscroll-behavior:contain;background:#f1f3f6;max-height:75vh;overflow:auto}.ink-sheet{line-height:0;position:relative}.ink-sheet canvas{display:block}.ink-overlay{touch-action:none;cursor:crosshair;position:absolute;inset:0}.ink-hint{text-align:center;color:#9aa3b2;pointer-events:none;line-height:1.4;position:absolute;top:40px;left:0;right:0}.ink-pages{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;padding:10px;display:flex}.task-actions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:16px 0;display:grid}.task-actions button{min-height:52px;font-size:1.05rem}.panel{margin-bottom:16px;position:relative}.panel-close{width:36px;min-height:36px;padding:0;position:absolute;top:10px;right:10px}.panel h3{margin-top:0;padding-right:44px}.result-head{background:var(--bg);border-left:6px solid var(--accent);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:12px;margin-right:44px;padding:12px 16px;display:flex}.result-head.good{border-left-color:var(--ok)}.result-head.mid{border-left-color:var(--warn)}.result-head.low{border-left-color:var(--bad)}.result-points{font-size:1.6rem;font-weight:700}.result-meta{font-size:1.15rem;font-weight:600}.result-date{margin-left:auto;font-size:.9rem}.hints{color:var(--warn);margin:12px 0;padding:0;list-style:none}.steps{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.step{border:1px solid var(--border);border-radius:10px;gap:12px;padding:10px 12px;display:flex}.step-icon{background:var(--bg);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.step-richtig .step-icon{background:var(--ok);color:#fff}.step-teilweise .step-icon{background:var(--warn);color:#fff}.step-falsch .step-icon,.step-fehlt .step-icon{background:var(--bad);color:#fff}.step-body{flex:1;min-width:0}.step-head{justify-content:space-between;gap:8px;display:flex}.step-body .markdown p{margin:4px 0}.step-points{color:var(--muted);flex:none}.feedback,.tip,.transcript{background:var(--bg);border-radius:8px;margin:8px 0;padding:10px 14px}.tip{border-left:4px solid var(--accent)}.submitted-pages{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.submitted-pages img{border:1px solid var(--border);border-radius:6px;width:110px}.theory-block{border-top:1px solid var(--border);padding:8px 0}.theory-block>button.link{gap:8px;font-size:1.05rem;font-weight:600}.chip.match{color:var(--ok);border-color:var(--ok);font-size:.75rem}.history{margin-top:16px}.history h2{margin-top:0;font-size:1.15rem}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--bg)}.small{font-size:.85rem}.result-badge{border:1px solid;border-radius:8px;flex-direction:column;flex:none;align-items:flex-end;margin-left:auto;padding:4px 10px;font-size:.9rem;display:flex}.result-badge.good{color:var(--ok)}.result-badge.mid{color:var(--warn)}.result-badge.low{color:var(--bad)}.panel .markdown h1{font-size:1.4rem}.panel .markdown h2{font-size:1.2rem}
