@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff) format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff) format("woff")}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/comic-neue-latin-400-normal-BdhG8RSD.woff2) format("woff2"),url(/assets/comic-neue-latin-400-normal-CU7kPFAv.woff) format("woff")}@font-face{font-family:Comic Neue;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/comic-neue-latin-700-normal-NE4Vcoll.woff2) format("woff2"),url(/assets/comic-neue-latin-700-normal-yR9qu__P.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dancing-script-latin-400-normal--YrtvvVF.woff2) format("woff2"),url(/assets/dancing-script-latin-400-normal-BY5FxJb0.woff) format("woff")}@font-face{font-family:Dancing Script;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dancing-script-latin-700-normal-CX8AaSVl.woff2) format("woff2"),url(/assets/dancing-script-latin-700-normal-LI5MgW9m.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2) format("woff2"),url(/assets/fredoka-latin-400-normal-DbXSrOeS.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Gloria Hallelujah;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/gloria-hallelujah-latin-400-normal-BuKjlT1h.woff2) format("woff2"),url(/assets/gloria-hallelujah-latin-400-normal-DoEvNWI-.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2) format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff) format("woff")}@font-face{font-family:Playwrite DE Grund;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playwrite-de-grund-latin-400-normal-BYbY8GDT.woff2) format("woff2"),url(/assets/playwrite-de-grund-latin-400-normal-CD1-8E0C.woff) format("woff")}.board-screen{--board-ink: #23262d;--board-muted: #6b7280;--board-accent: #34507a;--board-accent-ink: #ffffff;--board-heading: #8e2a6b;--board-card: #ffffff;--board-line: rgba(35, 38, 45, .16);--board-surface: rgba(35, 38, 45, .045);--board-surface-hover: rgba(35, 38, 45, .09);--board-control: #ffffff;--board-tint: #fdf0ee;--board-bg-ink: #ffffff;--board-bg-shadow: rgba(0, 0, 0, .35);--board-card-border: rgba(0, 0, 0, .06);--board-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--board-heading-font: var(--board-font);--chrome-ink: #23262d;--chrome-muted: #6b7280;--chrome-accent: #34507a;--board-shadow: 0 6px 20px rgba(20, 24, 31, .18), 0 1px 3px rgba(20, 24, 31, .12);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;color:var(--board-ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;user-select:none;-webkit-user-select:none;touch-action:none}.board-screen button{min-height:0}.board-screen{--bg-muted: var(--board-surface-hover);--border: var(--board-line);--text: var(--board-ink);--card-bg: var(--board-control)}.board-topleft,.board-switcher,.board-dock,.board-popover,.widget-toolbar,.board-error{--bg-muted: #eef1f6;--border: #d4d8de;--text: #23262d;--card-bg: #ffffff}.board-screen :where(button){color:inherit}.board-screen input,.board-screen select{min-height:0;background:var(--board-control);color:var(--board-ink);border-color:var(--board-line);font-size:inherit}.board-popover input,.board-popover select{background:#fff;color:#23262d}.board-screen input[type=checkbox]{padding:0;width:auto;accent-color:var(--board-accent)}.w-timer-time:hover{background:none}.w-timer-controls button:hover{background:var(--board-surface-hover)}.board-menu-row button:hover{background:#f1f3f6}.w-random-controls button:hover,.w-chip:hover{background:var(--board-surface-hover)}.w-random-controls .w-random-draw:hover,.w-chip.active:hover{background:var(--board-accent)}.board-message{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;background:var(--bg);color:var(--text)}.board-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.board-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;pointer-events:none;color:var(--board-bg-ink);text-shadow:0 1px 3px var(--board-bg-shadow);text-align:center;padding:1rem}.board-empty strong{font-size:clamp(1.5rem,4vw,3rem)}.board-topleft{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;z-index:100000}.board-pill,.board-tab{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:none;border-radius:10px;background:#ffffffeb;color:var(--chrome-ink);font:inherit;font-weight:600;cursor:pointer;box-shadow:0 1px 4px #00000026;text-decoration:none}.board-pill:hover,.board-tab:hover{background:#fff}.board-title{display:flex;flex-direction:column;line-height:1.15;font-weight:600;color:var(--board-bg-ink);text-shadow:0 1px 3px var(--board-bg-shadow);padding-left:4px}.board-title span{font-size:.75rem;font-weight:500;opacity:.85}.board-save{font-size:.75rem;color:var(--board-bg-ink);opacity:.85;text-shadow:0 1px 2px var(--board-bg-shadow)}.board-save-error{color:#fff;background:#b3261e;padding:2px 8px;border-radius:6px;text-shadow:none}.board-switcher{position:absolute;top:14px;right:14px;display:flex;align-items:flex-start;gap:8px;z-index:100000;max-width:calc(100vw - 340px)}.board-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.board-tab.active{background:var(--board-accent);color:var(--board-accent-ink);box-shadow:0 0 0 2px #fff,0 1px 4px #0003}.board-tab.add{border-radius:999px;width:36px;padding:0}.board-popover{position:absolute;background:#fff;color:var(--chrome-ink);border-radius:12px;box-shadow:var(--board-shadow);padding:10px}.board-menu{top:46px;right:0;width:260px;display:flex;flex-direction:column;gap:8px}.board-menu input{font:inherit;padding:6px 8px;border:1px solid #d4d8de;border-radius:8px;-webkit-user-select:text;user-select:text}.board-menu-row{display:flex;gap:6px}.board-menu-row button{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #d4d8de;border-radius:8px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer}.board-menu-row button.danger{margin-left:auto;color:#b3261e;border-color:#efc2be}.board-menu-row button:disabled{opacity:.4;cursor:default}.board-menu small{color:var(--chrome-muted)}.board-error{position:absolute;top:60px;left:50%;transform:translate(-50%);background:#b3261e;color:#fff;padding:8px 14px;border-radius:8px;z-index:100001;cursor:pointer}.board-dock{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:100000;max-width:calc(100vw - 24px)}.board-dock-toggle{padding:0;width:52px;height:30px;border:none;border-radius:10px;background:#ffffffeb;box-shadow:0 1px 4px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--chrome-ink)}.board-dock.collapsed .board-dock-toggle{height:40px}.board-dock-items{display:flex;align-items:stretch;gap:2px;padding:6px;background:#fffffff5;border-radius:16px;box-shadow:var(--board-shadow);overflow-x:auto;max-width:100%}.board-dock-items button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:76px;padding:8px 6px 6px;border:none;border-radius:10px;background:transparent;color:var(--chrome-ink);font:inherit;font-size:.72rem;font-weight:500;cursor:pointer}.board-dock-items button:hover,.board-dock-items button.active{background:#eef1f6}.board-dock-items button svg{color:var(--chrome-accent)}.board-dock-divider{width:1px;margin:6px 4px;background:#dde1e7}.widget{position:absolute;touch-action:none}.widget.card{background:var(--board-card);color:var(--board-ink);border-radius:12px;box-shadow:var(--board-shadow);border:1px solid var(--board-card-border)}.board-screen.cards-glass .widget.card{backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}.widget-body{font-family:var(--board-font)}.widget-body input,.widget-body textarea,.widget-body select{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.widget.selected.card{outline:3px solid rgba(52,80,122,.55);outline-offset:2px}.widget.dragging{opacity:.92;cursor:grabbing}.widget-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;container-type:size}.widget-toolbar{position:absolute;right:0;bottom:calc(100% + 6px);display:flex;gap:2px;padding:3px;background:#fffffff7;border-radius:9px;box-shadow:0 2px 8px #0003;opacity:0;pointer-events:none;transition:opacity .12s;z-index:2;white-space:nowrap}.widget-toolbar.inside{bottom:auto;top:6px;right:6px}.widget:hover .widget-toolbar,.widget.selected .widget-toolbar{opacity:1;pointer-events:auto}.widget-toolbar button,.widget-grip{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 7px;border:none;border-radius:6px;background:transparent;color:var(--chrome-ink);font:inherit;font-size:.75rem;cursor:pointer}.widget-grip{cursor:grab;color:var(--chrome-muted);touch-action:none}.widget-toolbar button:hover,.widget-toolbar button.active{background:#eef1f6}.widget-resize{position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;cursor:nwse-resize;opacity:0;z-index:2;touch-action:none}.widget-resize:after{content:"";position:absolute;right:7px;bottom:7px;width:10px;height:10px;border-right:3px solid var(--board-accent);border-bottom:3px solid var(--board-accent);border-radius:0 0 3px}.widget:hover .widget-resize,.widget.selected .widget-resize{opacity:.8}.w-chip-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.w-chip{min-width:38px;padding:5px 9px;border:1px solid var(--board-line);border-radius:8px;background:var(--board-control);color:var(--board-ink);font:inherit;font-size:.85rem;cursor:pointer}.w-chip.active{background:var(--board-accent);border-color:var(--board-accent);color:var(--board-accent-ink)}.w-done{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:none;border-radius:8px;background:var(--board-accent);color:var(--board-accent-ink);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.w-done:disabled{opacity:.5;cursor:default}.w-check{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.w-placeholder{color:var(--board-muted);font-size:.9rem;text-align:center;margin:auto}.w-error{color:#b3261e;font-size:.8rem}.widget input[type=number],.widget input:not([type]),.widget textarea{user-select:text;-webkit-user-select:text}.w-timer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.w-timer-ring{position:absolute;width:min(100cqw,100cqh);height:min(100cqw,100cqh);filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.w-timer-face{fill:var(--board-tint)}.w-timer-track{fill:none;stroke:color-mix(in srgb,var(--board-accent) 20%,transparent);stroke-width:5}.w-timer-progress{fill:none;stroke:var(--board-accent);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .2s linear}.w-timer.finished .w-timer-face{animation:timer-flash .8s ease-in-out 4}@keyframes timer-flash{50%{fill:#f6b2ad}}.w-timer-center{position:relative;display:flex;flex-direction:column;align-items:center;gap:2cqmin}.w-timer-time{border:none;background:none;padding:0;font:inherit;font-size:19cqmin;font-weight:500;font-variant-numeric:tabular-nums;color:var(--board-ink);cursor:pointer;line-height:1}.w-timer-controls{display:flex;gap:2cqmin}.w-timer-controls button{width:13cqmin;height:13cqmin;min-width:26px;min-height:26px;padding:0;border:2px solid var(--board-ink);border-radius:50%;background:transparent;color:var(--board-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.w-timer-controls button svg{width:60%;height:60%}.w-timer-controls button:disabled{opacity:.35}.w-timer-settings,.w-clock-settings{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;overflow:auto}.w-timer-inputs{display:flex;gap:10px}.w-timer-inputs label{display:flex;flex-direction:column;align-items:center;font-size:.75rem;color:var(--board-muted)}.w-timer-inputs input{width:70px;font:inherit;font-size:1.6rem;text-align:center;padding:4px;border:1px solid var(--board-line);border-radius:8px}.w-symbol{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqh;border:none;background:none;color:var(--sym);cursor:pointer;padding:6cqmin}.w-symbol-icon{width:55cqmin;height:55cqmin}.w-symbol-label{font-size:11cqmin;font-weight:700;line-height:1.1}.w-symbol-hint{font-size:6cqmin;color:var(--board-muted);text-align:center}@container (max-height: 180px){.w-symbol-hint{display:none}}.w-symbol-picker{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;padding:8px;overflow:auto;align-content:center}.w-symbol-picker button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:2px solid transparent;border-radius:10px;background:var(--board-surface);color:var(--sym);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer}.w-symbol-picker button.active{border-color:var(--sym)}.w-symbol-picker svg{width:32px;height:32px}.widget.w-text-yellow,.widget.w-text-blue,.widget.w-text-green{--board-ink: #23262d;--board-muted: #5f6672;--board-line: rgba(35, 38, 45, .16);--board-surface: rgba(255, 255, 255, .5);--board-surface-hover: rgba(255, 255, 255, .8);--board-control: #ffffff;--board-heading: var(--board-heading-light);--board-accent: var(--board-accent-light);--board-accent-ink: var(--board-accent-light-ink);color:var(--board-ink)}.widget.w-text-yellow{background:#fff6b8}.widget.w-text-blue{background:#dcebfb}.widget.w-text-green{background:#dff3e4}.widget.w-text-transparent{background:transparent;box-shadow:none;border-color:transparent}.widget.w-text-transparent .w-text{color:var(--board-bg-ink);text-shadow:0 1px 4px var(--board-bg-shadow)}.widget.w-text-transparent .w-text h1,.widget.w-text-transparent .w-text h2,.widget.w-text-transparent .w-text h3{color:var(--board-bg-ink)}.w-text{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:.6em .9em;line-height:1.4;user-select:text;-webkit-user-select:text}.w-text>:first-child{margin-top:0}.w-text h1,.w-text h2,.w-text h3{color:var(--board-heading);font-family:var(--board-heading-font);font-weight:800;line-height:1.15;margin:.2em 0 .45em;letter-spacing:-.01em}.w-text h1{font-size:1.7em;text-decoration:underline;text-underline-offset:.12em;text-decoration-thickness:.06em}.w-text h2{font-size:1.35em}.w-text h3{font-size:1.12em}.w-text p{margin:.35em 0;line-height:1.4}.w-text ul,.w-text ol{margin:.3em 0;padding-left:1.3em}.w-text li{margin:.25em 0}.w-text li.task-list-item{list-style:none;margin-left:-1.2em}.board-screen .w-text li.task-list-item input{display:inline-block;padding:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:.8em;height:.8em;margin:0 .35em 0 0;vertical-align:-.05em;border:.09em solid currentColor;border-radius:.15em;opacity:.75}.board-screen .w-text li.task-list-item input:checked{background:var(--board-accent) center / 75% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");border-color:var(--board-accent);opacity:1}.w-text a{color:var(--board-accent)}.w-text code{background:color-mix(in srgb,currentColor 10%,transparent);border-radius:4px;padding:0 .25em}.w-text blockquote{margin:.4em 0;padding-left:.6em;border-left:.2em solid var(--board-heading);color:var(--board-muted)}.w-text table{border-collapse:collapse}.w-text th,.w-text td{border:1px solid color-mix(in srgb,currentColor 25%,transparent);padding:.15em .5em}.w-text-edit{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.w-text-edit textarea{flex:1;resize:none;border:none;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;line-height:1.45;background:transparent;color:var(--board-ink);outline:none}.w-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid var(--board-line);background:var(--board-surface)}.w-text-toolbar .w-chip{min-width:32px;padding:3px 6px;line-height:1}.w-swatch{width:26px;height:26px;border-radius:50%;border:2px solid var(--board-line);cursor:pointer;padding:0}.w-swatch.active{border-color:var(--board-accent);box-shadow:0 0 0 2px #fff inset}.w-swatch.w-text-white{background:var(--board-card)}.w-swatch.w-text-yellow{background:#fff6b8}.w-swatch.w-text-blue{background:#dcebfb}.w-swatch.w-text-green{background:#dff3e4}.w-swatch.w-text-transparent{background:repeating-conic-gradient(#ccc 0,#ccc 25%,#fff 0,#fff 50%) 0 0 / 10px 10px}.w-random{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5cqh;padding:5cqmin}.w-random-name{font-size:min(16cqw,30cqh);font-weight:700;line-height:1.1;text-align:center;color:var(--board-ink);overflow-wrap:anywhere}.w-random-name.spinning{color:var(--board-muted)}.w-random-name.empty{color:var(--board-muted);font-weight:500;font-size:min(10cqw,18cqh)}.w-random-controls{display:flex;align-items:center;gap:8px}.w-random-controls button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border:1px solid var(--board-line);border-radius:10px;background:var(--board-control);color:var(--board-ink);font:inherit;cursor:pointer}.w-random-controls .w-random-draw{background:var(--board-accent);border-color:var(--board-accent);color:var(--board-accent-ink);font-weight:600;padding:0 16px}.w-random-controls button:disabled{opacity:.5;cursor:default}.w-random-count{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;color:var(--board-muted)}.w-random-count button{height:30px;padding:0 6px}.w-random-settings{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:10px;gap:8px}.w-random-settings-head,.w-random-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.w-random-list{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px 10px;align-content:start;font-size:.85rem}.w-random-list label{display:flex;align-items:center;gap:6px;padding:3px 0}.w-random-list label.absent{color:var(--board-muted);text-decoration:line-through}.w-qr{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqh;padding:5cqmin}.w-qr-code{flex:1;min-height:0;width:100%;height:100%}.w-qr-url{max-width:100%;font-size:min(6cqw,7cqh);color:var(--board-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-qr-settings{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px}.w-qr-settings>label:first-child{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--board-muted)}.w-qr-settings input:not([type]){font:inherit;padding:7px 9px;border:1px solid var(--board-line);border-radius:8px;color:var(--board-ink)}.widget-image.card .widget-body{top:8px;right:8px;bottom:8px;left:8px;border-radius:6px}.w-image{width:100%;height:100%;display:block;pointer-events:none}.w-image-drop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px;border:2px dashed transparent;border-radius:8px}.w-image-drop.over{border-color:var(--board-accent);background:var(--board-surface-hover)}.w-image-drop-icon{width:22cqmin;height:22cqmin;color:var(--board-line)}.w-image-hint{font-size:.8rem;color:var(--board-muted)}.widget-clock .widget-body{display:flex;align-items:center;justify-content:center}.w-clock{width:min(100cqw,100cqh);height:min(100cqw,100cqh);filter:drop-shadow(0 4px 10px rgba(0,0,0,.2))}.w-clock-face{fill:var(--board-card);stroke:var(--board-line);stroke-width:.6}.w-clock-tick{stroke:var(--board-muted);stroke-width:.5}.w-clock-tick.major{stroke:var(--board-accent);stroke-width:1.4}.w-clock-hour,.w-clock-minute{stroke:var(--board-ink);stroke-linecap:round}.w-clock-hour{stroke-width:2.6}.w-clock-minute{stroke-width:1.6}.w-clock-second{stroke:#d33a2c;stroke-width:.6}.w-clock-pin{fill:var(--board-ink)}.w-clock-digital{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:none;background:none;font:inherit;color:var(--board-ink);cursor:default}.w-clock-time{font-size:min(32cqw,55cqh);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.w-clock-date{font-size:min(8cqw,14cqh);color:var(--board-muted)}.board-all-tools{bottom:calc(100% - 28px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 24px);max-height:60vh;overflow:auto}.board-all-tools-group>span{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--chrome-muted);margin:0 0 4px 4px}.board-all-tools-group>div{display:grid;grid-template-columns:repeat(4,104px);gap:4px}@media (max-width: 480px){.board-all-tools-group>div{grid-template-columns:repeat(3,96px)}}.board-all-tools-group button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border:none;border-radius:10px;background:#f5f6f8;color:var(--chrome-ink);font:inherit;font-size:.78rem;cursor:pointer}.board-all-tools-group button:hover{background:#e8ecf2}.board-all-tools-group button svg{color:var(--chrome-accent)}.w-attendance-actions{display:inline-flex;align-items:center;gap:8px;font-size:.85rem}.w-attendance-actions .w-chip{padding:2px 8px;font-size:.75rem}.w-groups-mode{display:inline-flex;gap:6px;align-items:center}.w-groups-mode select,.w-groups-mode input{font:inherit;font-size:.85rem;padding:4px 6px;border:1px solid var(--board-line);border-radius:8px}.w-groups-mode input{width:56px}.w-groups{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:8px;padding:10px;align-items:center;justify-content:center}.w-groups-grid{flex:1;width:100%;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(max(130px,18cqw),1fr));gap:8px;align-content:start}.w-group{color:#23262d;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:hsl(var(--group-hue) 70% 94%);border-top:4px solid hsl(var(--group-hue) 55% 55%);font-size:max(.85rem,3.2cqmin);line-height:1.3}.w-group strong{color:hsl(var(--group-hue) 45% 35%);font-size:.85em;margin-bottom:2px}.w-today{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:14px 16px;gap:10px;overflow:hidden}.w-today-date{display:flex;flex-direction:column;line-height:1.15}.w-today-date span{color:var(--board-heading);font-family:var(--board-heading-font);font-weight:700;font-size:max(1rem,7cqmin)}.w-today-date strong{font-size:max(.9rem,5cqmin);font-weight:500;color:var(--board-muted)}.w-today-list{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:6px;font-size:max(.85rem,4.2cqmin)}.w-today-list li{display:flex;gap:8px;align-items:baseline}.w-today-list li.today{background:color-mix(in srgb,var(--board-accent) 16%,transparent);border-radius:8px;padding:4px 8px;margin:0 -8px}.w-today-list em{font-style:normal;color:var(--board-muted);font-variant-numeric:tabular-nums}.w-today-empty{color:var(--board-muted)}.w-homework{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.w-homework-head{padding:8px 14px 0;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#8a6d00}.w-homework-body{position:relative;flex:1;inset:auto}.w-noise{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4cqh;padding:12px;transition:background .3s}.w-noise-lamp{width:min(52cqw,48cqh);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:max(.9rem,6cqmin);color:#fff;background:#b9c0c9;box-shadow:inset 0 -6px #0000001f;transition:transform .25s;padding:8px}.zone-green .w-noise-lamp{background:#2e9d4f}.zone-yellow .w-noise-lamp{background:#f0a800}.zone-red .w-noise-lamp{background:#d32f2f;transform:scale(1.06);animation:noise-pulse .9s ease-in-out infinite}.zone-red{background:#fdecea}@keyframes noise-pulse{50%{transform:scale(1.12)}}.w-noise-bar{position:relative;width:86%;height:max(10px,4cqh);border-radius:999px;background:linear-gradient(90deg,#d5eedc,#fbeac0 55%,#f8d0cc);overflow:hidden}.w-noise-bar.small{width:100%;height:12px}.w-noise-fill{position:absolute;inset:0 auto 0 0;background:#23262d8c;border-radius:999px;transition:width .08s linear}.w-noise-bar>span{position:absolute;top:0;bottom:0;width:2px;background:#23262d}.w-noise-settings label{display:flex;flex-direction:column;width:100%;font-size:.85rem;gap:2px}.w-traffic{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqh}.w-traffic-housing{display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:4%;height:82%;aspect-ratio:.4;max-width:92%;padding:6% 0;border-radius:28px;background:#2b3038;box-shadow:var(--board-shadow)}.w-traffic-lamp{width:72%;aspect-ratio:1;border-radius:50%;cursor:pointer;opacity:.22;transition:opacity .2s,box-shadow .2s}.w-traffic-lamp.red,.w-traffic-dot.red{background:#ef3b2d}.w-traffic-lamp.yellow,.w-traffic-dot.yellow{background:#ffc21a}.w-traffic-lamp.green,.w-traffic-dot.green{background:#2fc157}.w-traffic-lamp.on{opacity:1;box-shadow:0 0 24px 4px currentColor}.w-traffic-lamp.red.on{color:#ef3b2db3}.w-traffic-lamp.yellow.on{color:#ffc21ab3}.w-traffic-lamp.green.on{color:#2fc157b3}.w-traffic-caption{color:#23262d;max-width:100%;padding:3px 10px;border-radius:8px;background:#ffffffeb;font-weight:700;font-size:max(.85rem,7cqw);text-align:center;box-shadow:0 1px 4px #00000026}.w-traffic-label-input{display:flex;align-items:center;gap:8px}.w-traffic-label-input input{flex:1;font:inherit;padding:6px 8px;border:1px solid var(--board-line);border-radius:8px}.w-traffic-dot{width:18px;height:18px;border-radius:50%;flex:none}.w-stopwatch{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4cqh}.w-stopwatch-time{font-size:min(24cqw,42cqh);font-weight:500;font-variant-numeric:tabular-nums;line-height:1}.w-stopwatch-time small{font-size:.5em;color:var(--board-muted)}.w-stopwatch .w-timer-controls button{width:min(13cqw,22cqh);height:min(13cqw,22cqh)}.w-schedule{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:12px 12px 8px}.w-schedule ol{list-style:none;margin:0;padding:0;flex:1;overflow:auto;display:flex;flex-direction:column;gap:4px;font-size:max(.9rem,5.2cqmin)}.w-schedule li{display:flex;gap:10px;align-items:baseline;padding:4px 10px;border-radius:8px;cursor:pointer;border-left:4px solid transparent}.w-schedule li.done{color:var(--board-muted);text-decoration:line-through;text-decoration-color:#00000040}.w-schedule li.current{background:color-mix(in srgb,var(--board-accent) 15%,transparent);border-left-color:var(--board-accent);font-weight:700}.w-schedule-time{font-variant-numeric:tabular-nums;color:var(--board-muted);font-size:.85em;font-weight:500}.w-schedule-nav{display:flex;gap:4px;justify-content:flex-end;padding-top:4px}.w-schedule-nav button:not(.w-chip){padding:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--board-line);border-radius:8px;background:var(--board-control);color:var(--board-ink);cursor:pointer}.w-dice{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqh;cursor:pointer}.w-dice-row{display:flex;gap:6cqmin;align-items:center;justify-content:center}.w-die{--die: min(62cqh, 80cqw);width:var(--die);aspect-ratio:1;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);padding:12%;gap:4%;background:#fff;border-radius:18%;box-shadow:var(--board-shadow),inset 0 -.4em #0000000f}.w-dice[data-count="2"] .w-die{--die: min(62cqh, 40cqw)}.w-dice[data-count="3"] .w-die{--die: min(62cqh, 27cqw)}.w-die span{border-radius:50%}.w-die span.pip{background:#23262d}.w-die.rolling{animation:die-shake .14s linear infinite}@keyframes die-shake{25%{transform:rotate(-8deg) translateY(-3%)}75%{transform:rotate(8deg) translateY(3%)}}.w-dice-sum{color:#23262d;min-height:1.2em;padding:2px 12px;border-radius:8px;background:#ffffffeb;font-weight:700;font-size:max(.9rem,9cqh)}.w-wheel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;padding:10px;gap:8px}.w-wheel-stage{flex:1;min-height:0;width:100%;display:flex;justify-content:center;cursor:pointer}.w-wheel-svg{height:100%;max-width:100%;aspect-ratio:1}.w-wheel-label{fill:#fff;font-weight:700;paint-order:stroke;stroke:#0000002e;stroke-width:.4px}.w-wheel-hub{fill:var(--board-card);stroke:var(--board-ink);stroke-width:1}.w-wheel-pointer{fill:var(--board-ink)}.w-wheel-result{font-weight:700;font-size:max(1rem,7cqmin);text-align:center;min-height:1.3em}.w-wheel-result.empty{font-weight:500;color:var(--board-muted);font-size:.9rem}.w-poll,.w-mood{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:12px 14px 8px;gap:8px}.w-poll-question{font-family:var(--board-heading-font);font-weight:700;font-size:max(1rem,6cqmin);color:var(--board-heading);line-height:1.2}.w-poll-options{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;justify-content:center}.w-poll-row{display:flex;gap:6px;align-items:stretch;flex:1;max-height:64px;min-height:30px}.w-poll-bar{position:relative;flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--board-line);border-radius:10px;background:var(--board-surface);overflow:hidden;font:inherit;font-size:max(.9rem,4.5cqmin);cursor:pointer;text-align:left}.w-poll-fill{position:absolute;inset:0 auto 0 0;opacity:.55;transition:width .25s}.w-poll-letter,.w-poll-label,.w-poll-count{position:relative}.w-poll-letter{font-weight:800}.w-poll-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-poll-count{font-weight:700;font-variant-numeric:tabular-nums}.w-poll-count small{font-weight:500;color:var(--board-muted)}.w-poll-minus{padding:0;width:32px;border:1px solid var(--board-line);border-radius:10px;background:var(--board-control);color:var(--board-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.w-poll-minus:disabled{opacity:.35;cursor:default}.w-poll-foot{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--board-muted)}.w-poll-foot span{flex:1}.w-poll-foot button{padding:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--board-ink);cursor:pointer}.w-poll-foot button:hover{background:var(--board-surface-hover)}.w-poll-settings textarea{font:inherit;padding:7px 9px;border:1px solid var(--board-line);border-radius:8px;resize:none;-webkit-user-select:text;user-select:text}.w-poll-settings label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--board-muted)}.w-mood-row{flex:1;min-height:0;display:flex;gap:6px}.w-mood-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;border-radius:12px;background:var(--board-surface);padding:6px 4px;cursor:pointer;font:inherit}.w-mood-item:hover{background:var(--board-surface-hover)}.w-mood-bar{flex:1;width:40%;display:flex;align-items:flex-end;min-height:0}.w-mood-bar span{width:100%;border-radius:6px 6px 2px 2px;background:var(--board-accent);opacity:.7;transition:height .25s}.w-mood-emoji{font-size:max(1.4rem,11cqmin);line-height:1}.w-mood-count{font-weight:700;font-variant-numeric:tabular-nums}.w-draw{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.w-draw-canvas{flex:1;width:100%;min-height:0;cursor:crosshair;touch-action:none}.w-draw-canvas.erasing{cursor:cell}.w-draw-canvas polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.w-draw-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-top:1px solid var(--board-line);background:var(--board-surface);border-radius:0 0 12px 12px}.w-draw.transparent .w-draw-tools{border-radius:10px;opacity:0;transition:opacity .15s}.widget:hover .w-draw.transparent .w-draw-tools,.widget.selected .w-draw.transparent .w-draw-tools{opacity:1}.w-draw-tools button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:2px solid transparent;border-radius:8px;background:transparent;color:var(--board-ink);cursor:pointer}.w-draw-tools button.active{border-color:var(--board-accent);background:var(--board-surface-hover)}.w-draw-tools button:disabled{opacity:.35;cursor:default}.w-draw-tools .w-draw-color{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9ced6}.w-draw-tools .w-draw-color.active{box-shadow:0 0 0 2px var(--board-accent)}.w-draw-width span{display:block;border-radius:50%;background:var(--board-ink)}.w-draw-sep{width:1px;height:20px;background:var(--board-line);margin:0 2px}.w-draw-transparent{margin-left:auto;font-size:.75rem}.w-today-forclass{font-weight:700}.board-screen.dark-cards .w-symbol,.board-screen.dark-cards .w-symbol-picker button{color:var(--sym-light)}.board-screen.dark-cards .w-symbol-picker button.active{border-color:var(--sym-light)}.w-font-select{font:inherit;font-size:.85rem;padding:4px 6px;border:1px solid var(--board-line);border-radius:8px;max-width:11rem}.board-design{right:0;bottom:calc(100% - 28px);width:min(380px,calc(100vw - 24px));max-height:72vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:12px 14px}.board-design h4{margin:0 0 6px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--board-muted-chrome, #6b7280)}.board-design-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.board-design-swatches>button,.board-design-swatches>label{position:relative;height:42px;padding:0;border-radius:8px;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0000001a;cursor:pointer}.board-design-swatches .active{border-color:#34507a}.board-design-color,.board-design-upload{display:flex;align-items:center;justify-content:center;gap:4px;font-size:.75rem;font-weight:600}.board-design-color span{padding:1px 6px;border-radius:6px;background:#ffffffd9;color:#23262d}.board-design-color input,.board-design-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.board-design-upload{background:#f5f6f8;color:#23262d}.board-design-image{background-size:cover;background-position:center}.board-design-options{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.board-design-options>button,.board-design-fonts>button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d4d8de;border-radius:8px;background:#fff;color:#23262d;font-size:.82rem;cursor:pointer}.board-design-options>button.active,.board-design-fonts>button.active{border-color:#34507a;box-shadow:0 0 0 1px #34507a}.board-design-card{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.15);background:#fff}.board-design-card.card-glass{background:linear-gradient(135deg,#ffffffe6,#c8d2e199)}.board-design-options .board-design-dot{position:relative;width:26px;height:26px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9ced6;cursor:pointer}.board-design-options .board-design-dot.active{box-shadow:0 0 0 2px #34507a}.board-design-picker{display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(#e74c3c,#f1c40f,#2ecc71,#3498db,#9b59b6,#e74c3c);color:#fff;font-weight:700;text-shadow:0 0 3px rgba(0,0,0,.6)}.board-design-fonts{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.board-design-fonts>button{justify-content:center;font-size:1rem;padding:8px 6px}.board-design select{width:100%;font:inherit;font-size:.85rem;padding:6px 8px;border:1px solid #d4d8de;border-radius:8px}:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--bg: #ffffff;--card-bg: #ffffff;--border: #d8dee6;--bg-muted: #f5f7fa;--primary: #2c5f8a;--primary-hover: #244c6f;--danger: #b3261e;--danger-bg: #fbe9e7;--warning: #a15c00;--warning-bg: #fdf1de;--text: #1e2530;--muted-text: #667;--success-bg: #e6f4ea;--success-bg-hover: #d9eee0;--success-border: #2f7a3f;--success-text: #1e4d28;--success-meta: #4a6a52}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #14181f;--card-bg: #1c222c;--border: #333d4b;--bg-muted: #1c222c;--primary: #6ba3d6;--primary-hover: #8fb9e0;--danger: #ef5350;--danger-bg: #3a2020;--text: #e8ecf2;--muted-text: #9aa5b1;--success-bg: #1e3a26;--success-bg-hover: #234a2e;--success-border: #4caf6b;--success-text: #b7e4c7;--success-meta: #8fc7a3}}:root[data-theme=dark]{--bg: #14181f;--card-bg: #1c222c;--border: #333d4b;--bg-muted: #1c222c;--primary: #6ba3d6;--primary-hover: #8fb9e0;--danger: #ef5350;--danger-bg: #3a2020;--warning: #e0a94f;--warning-bg: #3a2f14;--text: #e8ecf2;--muted-text: #9aa5b1;--success-bg: #1e3a26;--success-bg-hover: #234a2e;--success-border: #4caf6b;--success-text: #b7e4c7;--success-meta: #8fc7a3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3{font-weight:600;line-height:1.3}h1{font-size:1.375rem;margin:0 0 1rem}h2{font-size:1.125rem;margin:0 0 .75rem}h3{font-size:.95rem;margin:0 0 .5rem}p{line-height:1.5}nav.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding:.65rem 1.25rem;border-bottom:.5px solid var(--border);background:var(--bg-muted)}nav.top a{color:var(--text);text-decoration:none;font-weight:500;padding:.25rem 0}nav.top a.active{color:var(--primary)}.nav-user-menu{position:relative}.nav-user-trigger{display:flex;align-items:center;gap:.4rem;background:transparent;border:none;color:var(--text);font-size:1rem;font-weight:500;cursor:pointer;padding:.25rem 0}.nav-user-chevron{display:inline-block;font-size:.7rem;color:var(--muted-text);transition:transform .15s ease}.nav-user-chevron.open{transform:rotate(180deg)}.nav-user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;display:flex;flex-direction:column;gap:.25rem;min-width:12rem;padding:.5rem;background:var(--card-bg);border:.5px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10}.nav-user-dropdown a,.nav-user-dropdown button{display:block;width:100%;text-align:left;padding:.4rem .5rem;border-radius:4px;background:transparent;border:none;color:var(--text);text-decoration:none;font-weight:500;font-size:.95rem;cursor:pointer}.nav-user-dropdown a:hover,.nav-user-dropdown button:hover{background:var(--bg-muted)}.nav-user-dropdown a.active{color:var(--primary)}.nav-user-divider{border:none;border-top:.5px solid var(--border);margin:.25rem 0}.nav-user-icon-row{display:flex;justify-content:center;gap:.5rem}.nav-user-icon-row form{width:auto}.nav-user-dropdown .nav-user-icon-button{width:auto;padding:.3rem .6rem;font-size:1.2rem;line-height:1;text-align:center}main{padding:1.5rem;max-width:1100px;margin:0 auto}.class-shell{display:flex;align-items:flex-start;gap:2rem}.sidebar{width:220px;flex:0 0 220px;display:flex;flex-direction:column;align-self:stretch;padding-right:.5rem}.sidebar-header{padding:0 .25rem}.sidebar-app-name{display:flex;align-items:center;justify-content:space-between;font-weight:500;font-size:15px}.sidebar-app-name a{color:var(--text);text-decoration:none}.sidebar-class-name{font-size:12px;color:var(--muted-text);margin-top:.2rem}.sidebar-divider{border-top:.5px solid var(--border);margin:.75rem 0}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;border:.5px solid transparent;color:var(--muted-text);text-decoration:none;font-size:14px}.sidebar-nav a svg{flex:0 0 auto}.sidebar-nav a span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav a:hover{background:var(--bg-muted);color:var(--text)}.sidebar-nav a.active{background:var(--bg-muted);border-color:var(--border);color:var(--text);font-weight:500}.sidebar-footer{margin-top:auto}.sidebar-user{display:flex;align-items:center;gap:8px;padding:4px 6px}.sidebar-avatar{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--bg-muted);border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500}.sidebar-user-name{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-main{flex:1 1 auto;min-width:0}.sidebar-hamburger,.sidebar-close,.sidebar-backdrop{display:none}@media (max-width: 860px){.class-shell{gap:0}.sidebar-hamburger{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;min-height:0;padding:0;margin-bottom:1rem}.sidebar{position:fixed;top:0;left:-260px;z-index:40;width:240px;height:100vh;background:var(--bg);border-right:.5px solid var(--border);padding:1rem;transition:left .2s ease;overflow-y:auto}.sidebar-open .sidebar{left:0}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;min-height:0;padding:0}.sidebar-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:420px}.button-group{display:flex;flex-wrap:wrap;gap:.4rem}.checkbox-touch{width:1.4rem;height:1.4rem;min-height:0;cursor:pointer}.teacher-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-muted);border:.5px solid var(--border);border-radius:999px;padding:4px 4px 4px 12px}button{background:transparent;color:var(--text);border:.5px solid var(--border);border-radius:6px;padding:8px 16px;cursor:pointer;font-size:.95rem;min-height:2.6rem}button:hover{background:var(--bg-muted)}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.secondary{background:transparent;color:var(--text);border:.5px solid var(--border)}button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}button.danger:hover{background:var(--danger-bg)}table{width:100%;border-collapse:collapse;margin-top:1rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:.5px solid var(--border)}input,select{padding:8px 10px;border:.5px solid var(--border);border-radius:6px;font-size:1rem;min-height:2.6rem;background:var(--card-bg);color:var(--text)}input:focus,select:focus{outline:none;border:1px solid var(--primary)}form.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.card{border:.5px solid var(--border);border-radius:6px;padding:16px;margin-top:1rem}.error{color:var(--danger);margin-top:.5rem}.muted{color:var(--muted-text);font-size:.9rem}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;padding:0 .4rem;border-radius:999px;background:var(--bg-muted);border:.5px solid var(--border);color:var(--text);font-size:.75rem;font-weight:500;white-space:nowrap}.tag{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:var(--bg-muted);border:.5px solid var(--border);color:var(--text);font-size:.8rem;font-weight:500}.tag-danger{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.tag-warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.open-checklist-icon{display:inline-flex;color:var(--warning);margin-right:4px;position:relative;top:3px}.open-checklist-icon.danger{color:var(--danger)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;font-weight:600}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{padding:.6rem 0;border-top:.5px solid var(--border)}.activity-list li:first-child{border-top:none}.activity-list a{color:var(--text);text-decoration:none}.activity-list a:hover{text-decoration:underline}.checklist-row{display:block;border:.5px solid var(--border);border-radius:6px;padding:14px 16px;margin-top:.75rem;text-decoration:none;color:var(--text)}.checklist-row-main{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.checklist-progress{margin-top:.5rem;height:6px;border-radius:999px;background:var(--bg-muted);overflow:hidden}.checklist-progress-bar{height:100%;background:var(--primary);border-radius:999px}.checklist-search{display:block;width:100%;margin-top:1rem;min-height:3rem;font-size:1.05rem}.view-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.view-header h2{margin:0}.view-header input[type=search]{flex:0 1 260px}.student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:1rem}.student-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:.5px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);text-decoration:none;cursor:pointer}.student-card:hover{background:var(--bg-muted)}.student-card-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-card-end{display:flex;align-items:center;gap:6px;flex:0 0 auto}.student-card.flagged{background:var(--danger-bg);border-color:var(--danger)}.student-card.flagged:hover{filter:brightness(.97)}.student-card-flag{flex:0 0 auto;color:var(--danger);display:flex}.checklist-summary-title{margin:0 0 .75rem;font-size:1rem}.checklist-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.checklist-summary-tile-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem}.checklist-summary-count{font-weight:600}.checklist-summary-tile-open{color:var(--muted-text)}.checklist-progress-bar-open{background:var(--border)}.checklist-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;margin-top:1rem}.checklist-item-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3.5rem;padding:12px 16px;background:var(--card-bg);color:var(--text);border:.5px solid var(--border);border-radius:8px;font-size:1.05rem;text-align:left;cursor:pointer;transition:background-color .1s ease}.checklist-item-row:hover{background:var(--bg-muted)}.checklist-item-row.checked{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.checklist-item-row.checked:hover{background:var(--success-bg-hover)}.checklist-item-name{display:flex;flex-direction:column;gap:.15rem}.checklist-item-meta{font-size:.8rem;font-weight:400;color:var(--success-meta)}.checklist-item-check{flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700}.checklist-item-row.checked .checklist-item-check{background:var(--success-border);border-color:var(--success-border);color:#fff}.checklist-multi-row{flex-direction:column;align-items:stretch;gap:.5rem;cursor:default}.checklist-multi-options{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;font-size:.95rem}.checklist-multi-option{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;cursor:pointer}.checklist-multi-option input{width:1.15rem;height:1.15rem}.checklist-multi-action{margin-left:auto;font-size:.85rem;padding:.25rem .6rem}@media (max-width: 640px){nav.top{padding:.6rem 1rem}main{padding:1rem}form.inline{flex-direction:column;align-items:stretch}form.inline input,form.inline select,form.inline button{width:100%}th,td{padding:.5rem .4rem;font-size:.9rem}}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5px;background:var(--border);border:.5px solid var(--border);border-radius:6px;overflow:hidden;margin-top:1rem}.calendar-weekday{background:var(--bg-muted);padding:6px 8px;font-size:.75rem;font-weight:500;color:var(--muted-text);text-align:center}.calendar-day{background:var(--card-bg);min-height:5.5rem;padding:4px 6px;display:flex;flex-direction:column;gap:2px}.calendar-day.outside{background:var(--bg-muted);color:var(--muted-text)}.calendar-day.today .calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--primary);color:#fff}.calendar-day-number{font-size:.8rem;font-weight:500}.calendar-chip{display:block;min-width:0;font-size:.65rem;padding:1px 4px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-chip svg{vertical-align:-2px;margin-right:2px}.calendar-chip.birthday{background:var(--warning-bg);color:var(--warning)}.calendar-chip.event{background:var(--danger-bg);color:var(--danger)}.school-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0}.school-filter-check{display:inline-flex;align-items:center;gap:6px;font-size:.85rem}.school-filter-check input[type=checkbox]{min-height:0}.school-filter-keyword{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;border-radius:999px;background:var(--bg-muted);border:.5px solid var(--border);font-size:.85rem}.school-filter-keyword button{min-height:0;padding:0 6px;border:none;font-size:1rem;line-height:1.2}.school-filter-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow:auto;border-top:.5px solid var(--border)}.school-filter-list li{border-bottom:.5px solid var(--border)}.school-filter-list label{display:flex;align-items:center;gap:.6rem;padding:.4rem .25rem;cursor:pointer}.school-filter-list input[type=checkbox]{min-height:0;flex:none}.school-filter-title{flex:1;min-width:0}.school-filter-meta{font-size:.8rem;white-space:nowrap}.school-filter-list li.hidden .school-filter-title{color:var(--muted-text);text-decoration:line-through}.calendar-chip.school{background:var(--bg-muted);color:var(--text);border:.5px solid var(--border)}.calendar-chip.school.for-class{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-chip.holiday{background:transparent;color:var(--success-text);font-weight:500}.calendar-day.holiday{background:var(--success-bg)}@media (max-width: 640px){.calendar-day{min-height:3.5rem}.calendar-chip{font-size:.6rem}}.seating-layout{display:flex;gap:1rem;margin-top:1rem;align-items:flex-start;flex-wrap:wrap}.seating-grid{display:grid;gap:4px;min-width:900px}.seating-grid.compact{min-width:0}.seating-room.compact{width:fit-content;margin-inline:auto}.seating-front{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:10px;min-height:34px}.seating-desk,.seating-board{display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;height:34px}.seating-desk{grid-column:1;justify-self:start;width:96px;background:var(--warning-bg);color:var(--warning);border:.5px solid var(--warning)}.seating-board{grid-column:2;width:clamp(160px,30vw,360px);background:#2f5d46;color:#e9f3ec}.seating-grid:not(.compact) .seating-chip{font-size:.8rem}.seating-cell{border:.5px solid var(--border);border-radius:6px;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;padding:3px;min-width:0}.seating-grid.compact .seating-cell:not(.occupied):not(.desk){border-color:transparent;opacity:.5;border-radius:3px}.seating-chip{background:var(--card-bg);border:.5px solid var(--border);border-radius:6px;padding:6px 8px;font-size:1rem;font-weight:600;line-height:1.2;text-align:center;cursor:grab;width:100%;overflow:hidden;text-overflow:ellipsis;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.seating-cell .seating-chip{height:100%;display:flex;align-items:center;justify-content:center}.seating-floor{min-width:0}.seating-cell.desk:not(.occupied){border:1px dashed var(--muted-text);background:transparent;opacity:.7}.seating-toggle{min-height:0;padding:0;border:1px dashed var(--border);background:transparent;font-size:.65rem;font-weight:600;color:var(--text);overflow:hidden;cursor:pointer}.seating-toggle.seat{border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 18%,var(--card-bg))}.seating-toggle:hover{border-color:var(--primary)}.seating-edit-panel{display:flex;flex-direction:column;gap:.6rem}.seating-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.seating-edit-row input[type=number],.seating-size-inputs input[type=number]{width:4.5rem}.seating-size-inputs{display:flex;gap:1rem}.seating-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.seating-template{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem .5rem .6rem;border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:center}.seating-template.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.seating-template input[type=radio]{position:absolute;opacity:0;pointer-events:none}.seating-template-name{font-weight:600;font-size:.85rem}.seating-template-meta{font-size:.75rem}.seating-template-delete{position:absolute;top:2px;right:2px;min-height:0;padding:0 6px;border:none;font-size:1rem;line-height:1.4;color:var(--muted-text)}.seating-preview{display:grid;gap:1px;min-height:60px;align-content:center}.seating-preview span{border-radius:1px}.seating-preview span.seat{background:var(--primary)}.seating-unassigned{flex:0 0 200px;min-height:200px;border:.5px solid var(--border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--bg-muted)}.checklist-print-picker{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.checklist-print-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.checklist-print-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.checklist-print-date{font-size:.9rem;font-weight:400;color:var(--muted-text)}.checklist-print{overflow-x:auto}.checklist-print-table{width:100%;border-collapse:collapse;font-size:.9rem}.checklist-print-table th,.checklist-print-table td{border:.5px solid var(--border);padding:6px 8px}.checklist-print-table th{text-align:center;font-weight:600;background:var(--bg-muted)}.checklist-print-table.compact{width:auto}.checklist-print-table.compact th:not(.checklist-print-name){vertical-align:bottom;padding:6px 4px}.checklist-print-table.compact .checklist-print-cell{min-width:1.8rem;padding:4px 2px;font-size:.8rem}.checklist-print-vertical{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:pre;text-align:left;font-size:.8rem;line-height:1.15}.checklist-print-table th.checklist-print-name,.checklist-print-name{text-align:left;white-space:nowrap}.checklist-print-cell{text-align:center}.checklist-print-missing{font-weight:700}@media print{nav.top,.no-print{display:none!important}main{padding:0;max-width:none}.checklist-print,.checklist-print *{color:#000!important;background:#fff!important;border-color:#999!important}.checklist-print{overflow:visible}.checklist-print-table tr{break-inside:avoid}.checklist-print-table thead{display:table-header-group}}
