:root{--bg: #f4f6fa;--panel: #ffffff;--panel-2: #f7f9fc;--ink: #101828;--ink-soft: #545c6b;--ink-faint: #838b9a;--line: #e2e7f0;--line-strong: #c8cfdd;--accent: #1e4fb8;--accent-ink: #ffffff;--accent-soft: #e7edfb;--free: #d6f2dd;--free-ink: #10502e;--duty: #fdeacb;--duty-ink: #7a4708;--duty-near: #fdf5e2;--danger: #b42318;--danger-soft: #fdecea;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 1px 3px rgba(16, 24, 40, .07), 0 8px 24px rgba(16, 24, 40, .06);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);--radius: 14px;--radius-sm: 10px;--mono: ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--bg: #10131a;--panel: #191d26;--panel-2: #1f2430;--ink: #eaedf4;--ink-soft: #a7aebd;--ink-faint: #757d8d;--line: #2a2f3b;--line-strong: #3b4250;--accent: #7ea2f7;--accent-ink: #0d1220;--accent-soft: #1e2a44;--free: #14432a;--free-ink: #a9ecc0;--duty: #47340f;--duty-ink: #f2d197;--duty-near: #2f2610;--danger: #f2938b;--danger-soft: #3a1e1c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 6px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}svg{flex:none}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding:26px 24px 60px;max-width:1560px;width:100%;margin:0 auto}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:12px 24px;min-height:76px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--accent);color:var(--accent-ink)}.brand-text{font-size:19px;font-weight:680;letter-spacing:-.015em;line-height:1.15}.brand-text small{display:block;font-size:12px;font-weight:400;color:var(--ink-faint);max-width:32ch;overflow:hidden;text-overflow:ellipsis}nav.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}nav.tabs::-webkit-scrollbar{display:none}nav.tabs a{display:flex;align-items:center;gap:8px;padding:11px 15px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink-soft);font-size:15px;font-weight:550;white-space:nowrap;transition:background .12s,color .12s}nav.tabs a:hover{background:var(--panel-2);color:var(--ink)}nav.tabs a.active{background:var(--accent-soft);color:var(--accent);font-weight:640}.topbar .spacer{flex:1}.icon-btn{display:grid;place-items:center;width:46px;height:46px;flex:none;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);color:var(--ink-soft);cursor:pointer;text-decoration:none;transition:border-color .12s,color .12s,background .12s}.icon-btn:hover,.icon-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.back-btn{flex:none}.home-head{margin:10px 0 24px}.home-head h1{font-size:34px;margin:0 0 4px;letter-spacing:-.025em}.home-head p{margin:0;color:var(--ink-soft);font-size:16px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:178px;padding:24px;border-radius:18px;color:#fff;text-decoration:none;overflow:hidden;box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease}.tile:hover,.tile:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.tile:active{transform:translateY(-1px)}.tile-icon{position:absolute;top:22px;left:24px;opacity:.95}.tile-title{font-size:22px;font-weight:680;letter-spacing:-.015em;line-height:1.2}.tile-note{font-size:14px;opacity:.86;line-height:1.35}.tiles-secondary{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}.tile-small{display:flex;align-items:center;gap:16px;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:border-color .12s,transform .12s}.tile-small:hover{border-color:var(--accent);transform:translateY(-2px)}.tile-small>span{display:flex;flex-direction:column}.tile-small strong{font-size:17px;font-weight:640}.tile-small small{font-size:13.5px;color:var(--ink-soft)}.home-foot{display:flex;align-items:center;gap:8px;margin-top:24px;color:var(--ink-faint);font-size:14px}h1{font-size:28px;margin:0 0 6px;letter-spacing:-.022em}h2{font-size:17px;margin:0 0 12px;color:var(--ink);font-weight:650}.page-head{margin-bottom:22px}.page-head p{margin:0;color:var(--ink-soft);font-size:15.5px;max-width:90ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px;margin-bottom:20px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.field{display:flex;flex-direction:column;gap:7px;min-width:140px}.field label{font-size:13px;color:var(--ink-soft);font-weight:620}button,select,input[type=text],input[type=password],input[type=number],input[type=search]{font:inherit;font-size:15px;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 14px;min-height:46px}select{cursor:pointer}button,.btn,.btnlink{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-weight:560;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 16px;min-height:46px;transition:border-color .12s,color .12s,background .12s}button:hover:not(:disabled),.btn:hover,.btnlink:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}button:disabled{opacity:.5;cursor:not-allowed}.btn.big,button.big{padding:13px 22px;min-height:52px;font-size:16px;font-weight:620}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:640}button.primary:hover:not(:disabled),.btn.primary:hover{filter:brightness(1.1);color:var(--accent-ink);background:var(--accent)}button.ghost{border-color:transparent;background:transparent;color:var(--ink-soft)}button.ghost:hover:not(:disabled){background:var(--panel-2)}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:0;border-radius:0;background:var(--panel);padding:11px 17px;min-height:46px;font-size:15px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:640}.seg button.on:hover{background:var(--accent);color:var(--accent-ink)}label.check{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink);cursor:pointer;padding:11px 14px;min-height:46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}label.check:hover{border-color:var(--line-strong)}label.check input{width:19px;height:19px;accent-color:var(--accent);cursor:pointer}.searchbox{position:relative;min-width:260px;flex:0 1 340px}.searchbox input{width:100%;padding-left:44px;padding-right:38px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none}.search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.combo{position:relative;flex:1;min-width:260px}.combo-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:340px;overflow-y:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px}.combo-list button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;justify-content:flex-start;border:0;border-radius:8px;background:transparent;padding:10px 12px;min-height:44px;font-size:15px;font-weight:500}.combo-list button:hover,.combo-list button.cursor{background:var(--accent-soft);color:var(--accent)}.combo-list small{margin-left:auto;color:var(--ink-faint);font-size:12.5px}.combo-list .code{font-family:var(--mono);font-weight:680}.grid-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm);margin-bottom:20px}table.grid{border-collapse:collapse;width:100%;min-width:960px;font-size:13.5px}table.grid th,table.grid td{border:1px solid var(--line-strong);padding:0;vertical-align:top}table.grid thead th{background:var(--panel-2);padding:10px 6px;font-weight:650;font-size:13px;text-align:center;position:sticky;top:0;z-index:2;border-bottom-width:2px}table.grid thead th b{font-size:17px;font-weight:720;letter-spacing:-.01em}table.grid thead th span{display:block;font-weight:400;color:var(--ink-faint);font-size:11.5px;font-variant-numeric:tabular-nums}table.grid th.rowhead{background:var(--panel-2);width:104px;min-width:104px;text-align:left;padding:12px 14px;font-weight:680;font-size:15px;position:sticky;left:0;z-index:3;border-right-width:2px}.cell{min-height:84px;padding:6px;display:flex;flex-direction:column;gap:6px}.cell.split{gap:5px}.lesson{--g-bg: var(--panel-2);--g-line: var(--line-strong);--g-ink: var(--ink-soft);flex:1;border-radius:9px;padding:8px 10px;border:1px solid var(--line);border-left:6px solid var(--g-line);background:var(--g-bg);line-height:1.35}.lesson[data-group]{--g-bg: hsl(var(--g-h) 84% 95%);--g-line: hsl(var(--g-h) 64% 46%);--g-ink: hsl(var(--g-h) 72% 30%);--g-badge: hsl(var(--g-h) 64% 30%);border-color:hsl(var(--g-h) 55% 84%)}:root[data-theme=dark] .lesson[data-group]{--g-bg: hsl(var(--g-h) 38% 17%);--g-line: hsl(var(--g-h) 62% 60%);--g-ink: hsl(var(--g-h) 68% 76%);--g-badge: hsl(var(--g-h) 62% 68%);border-color:hsl(var(--g-h) 30% 28%)}.lesson-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.lesson .subj{font-weight:720;font-size:16px;letter-spacing:-.01em}.grp-badge{flex:none;font-size:12px;font-weight:760;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--g-badge, var(--g-line));color:#fff}:root[data-theme=dark] .grp-badge{color:#10131a}.lesson .meta{color:var(--ink-soft);font-size:12.5px;display:flex;gap:4px 9px;flex-wrap:wrap;margin-top:3px}.lesson .meta .room{font-weight:620;color:var(--g-ink)}.lesson.changed{--g-bg: var(--danger-soft);--g-line: var(--danger);--g-ink: var(--danger);border-color:var(--danger)}.lesson .flag{font-size:11.5px;font-weight:720;text-transform:uppercase;letter-spacing:.03em;color:var(--danger);margin-top:3px}.duty-chip{font-size:12px;background:var(--duty);color:var(--duty-ink);border:1px solid currentColor;border-radius:7px;padding:4px 8px;font-weight:620}.group-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-8px 0 20px}.group-key{display:inline-flex;align-items:center;font-size:13px;font-weight:760;letter-spacing:.03em;padding:5px 12px;border-radius:999px;color:#fff;background:hsl(var(--g-h) 64% 30%)}:root[data-theme=dark] .group-key{color:#10131a;background:hsl(var(--g-h) 62% 68%)}td.slot{text-align:center;padding:8px 6px;font-size:12.5px;vertical-align:middle}td.slot.free{background:var(--free);color:var(--free-ink)}.slot-all{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;font-weight:760;letter-spacing:-.01em;text-transform:lowercase}.slot-count{display:block;font-variant-numeric:tabular-nums;line-height:1;margin-bottom:6px}.slot-count b{font-size:22px;font-weight:760;letter-spacing:-.03em}.slot-count i{font-style:normal;font-size:14px;font-weight:600;color:var(--ink-faint)}td.slot.near{background:var(--duty-near);box-shadow:inset 0 0 0 2px var(--duty)}td.slot.dayoff{background:repeating-linear-gradient(45deg,transparent,transparent 7px,var(--line) 7px,var(--line) 8px)}.who-chips{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.wc{display:inline-block;padding:2px 6px;border-radius:6px;font-size:10.5px;font-weight:740;letter-spacing:.02em;line-height:1.35;border:1px solid transparent;cursor:default}.wc.FREE{background:#1a7f4b;color:#fff}.wc.BUSY{background:var(--panel);border-color:var(--line-strong);color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1.5px}.wc.DUTY{background:#a4600b;color:#fff}.wc.DUTY_NEAR{background:var(--duty);border-color:#a4600b;color:var(--duty-ink)}:root[data-theme=dark] .wc.FREE{background:#2fa768;color:#08120c}:root[data-theme=dark] .wc.DUTY{background:#d59437;color:#1a1206}.legend .wc{width:26px;height:15px;padding:0;vertical-align:-3px;margin-right:7px}table.grid.rooms th.room-head{width:150px;min-width:150px;line-height:1.3}.rh-code{display:block;font-size:20px;font-weight:780;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rh-tags{display:flex;gap:4px;margin:3px 0;flex-wrap:wrap}.tag{display:inline-block;font-style:normal;font-size:10px;font-weight:760;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:5px;color:#fff}.tag.pc{background:#1e4fb8}.tag.tv{background:#047857}.tag.half{background:#6d28d9}.legend .tag{width:24px;height:14px;padding:0;vertical-align:-2px;margin-right:7px}.rh-where{display:block;font-size:11.5px;font-weight:400;color:var(--ink-faint)}td.slot.taken{background:var(--panel-2)}.taken-card{display:block;line-height:1.3}.taken-card b{display:block;font-size:14px;font-weight:720;color:var(--ink)}.taken-card small{display:block;font-size:11.5px;color:var(--ink-soft)}.context-cell{padding:8px 12px;font-size:12.5px;text-align:left;vertical-align:middle;line-height:1.5}.ctx-label{display:inline-block;min-width:7ch;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:7px 9px 7px 15px;font-size:14.5px;font-weight:600}.chip button{border:0;background:transparent;color:inherit;padding:2px;min-height:0;font-size:15px;line-height:1;border-radius:999px}.chip button:hover{background:#00000014;color:inherit}.cachebar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.cachebar .dot{width:9px;height:9px;border-radius:50%;background:#17a04f;flex:none}.cachebar.stale .dot{background:#d99321}.cachebar button{min-height:40px;padding:8px 14px}.cachebar .progress{flex:1;min-width:160px;height:7px;background:var(--line);border-radius:4px;overflow:hidden}.cachebar .progress i{display:block;height:100%;background:var(--accent);transition:width .3s}.empty{text-align:center;padding:56px 24px;color:var(--ink-soft);font-size:15.5px}.empty strong{display:block;color:var(--ink);font-size:19px;margin-bottom:10px}.empty .btn{margin-top:18px}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft);margin-top:12px}.legend i{display:inline-block;width:13px;height:13px;border-radius:4px;margin-right:7px;vertical-align:-2px;border:1px solid var(--line-strong)}table.list{width:100%;border-collapse:collapse;font-size:14.5px}table.list th{text-align:left;font-size:13px;color:var(--ink-soft);font-weight:620;border-bottom:1px solid var(--line);padding:10px}table.list td{padding:10px;border-bottom:1px solid var(--line)}table.list tr:last-child td{border-bottom:0}.mono{font-family:var(--mono)}.stat-row{display:flex;gap:30px;flex-wrap:wrap}.stat{min-width:110px}.stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.15}.stat span{font-size:13.5px;color:var(--ink-soft)}.error{display:flex;align-items:center;gap:11px;background:var(--danger-soft);color:var(--danger);border:1px solid currentColor;border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;margin-bottom:20px}.hint{font-size:13.5px;color:var(--ink-faint)}kbd{font-family:var(--mono);font-size:12px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:2px 6px;color:var(--ink-faint);background:var(--panel-2)}.board{min-height:100vh;padding:2.2vh 2.4vw;background:var(--bg);display:flex;flex-direction:column;gap:1.8vh}.board-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2.5vw;padding:1.6vh 2vw;border-radius:20px;background:linear-gradient(135deg,#1e4fb8,#4338ca 60%,#6d28d9);color:#fff;box-shadow:var(--shadow-lg)}.board-clock{display:flex;align-items:baseline;gap:.6vw;font-variant-numeric:tabular-nums}.board-clock .t{font-size:clamp(52px,8.5vw,132px);font-weight:760;letter-spacing:-.04em;line-height:.95}.board-clock .s{font-size:clamp(20px,2.6vw,42px);font-weight:600;opacity:.7}.board-when .d{font-size:clamp(24px,3.2vw,54px);font-weight:700;text-transform:capitalize;line-height:1.1}.board-when .st{display:flex;align-items:center;gap:.7vw;font-size:clamp(14px,1.5vw,26px);opacity:.9}.live{width:clamp(9px,.9vw,15px);height:clamp(9px,.9vw,15px);border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade80b3;animation:pulse 2.4s ease-out infinite}@keyframes pulse{70%{box-shadow:0 0 0 clamp(8px,1vw,16px) #4ade8000}to{box-shadow:0 0 #4ade8000}}.board-period{min-width:clamp(180px,20vw,340px);text-align:right}.board-period .p-cap{font-size:clamp(34px,5vw,80px);font-weight:760;line-height:1;letter-spacing:-.03em}.board-period .p-cap small{font-size:clamp(13px,1.4vw,24px);font-weight:500;opacity:.8;margin-left:.3em}.board-period .p-bar{height:clamp(7px,.8vw,13px);margin:.8vh 0 .6vh;border-radius:999px;background:#ffffff40;overflow:hidden}.board-period .p-bar i{display:block;height:100%;border-radius:999px;background:#fbbf24;transition:width 1s linear}.board-period .p-sub{font-size:clamp(13px,1.4vw,24px);opacity:.92;font-variant-numeric:tabular-nums}.board-period.next{opacity:.85}.board-strip{display:flex;gap:.5vw}.board-strip .ts{flex:1;display:flex;flex-direction:column;align-items:center;padding:.9vh .3vw;border-radius:12px;background:var(--panel);border:2px solid var(--line);font-variant-numeric:tabular-nums}.board-strip .ts b{font-size:clamp(15px,1.7vw,30px);font-weight:740;line-height:1.1}.board-strip .ts small{font-size:clamp(10px,1vw,17px);color:var(--ink-faint)}.board-strip .ts.done{opacity:.42}.board-strip .ts.now{background:#1e4fb8;border-color:#1e4fb8;color:#fff;transform:scale(1.06);box-shadow:var(--shadow)}.board-strip .ts.now small{color:#ffffffd9}.board-grid{flex:1;display:grid;grid-template-columns:1.35fr 1fr;gap:1.6vw;min-height:0}.board-card{display:flex;flex-direction:column;padding:1.6vh 1.6vw;border-radius:20px;background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow-sm);min-height:0}.board-card h2{display:flex;align-items:center;gap:.8vw;font-size:clamp(18px,2.1vw,36px);font-weight:720;margin:0 0 1.4vh;letter-spacing:-.02em}.board-card h2 .count{margin-left:auto;font-size:clamp(16px,1.9vw,32px);font-weight:760;padding:.2em .6em;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-variant-numeric:tabular-nums}.board-card.changes h2 .count{background:#b91c1c;color:#fff}.board-none{margin:auto 0;text-align:center;font-size:clamp(16px,2vw,34px);color:var(--ink-faint);font-weight:550}.change-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9vh;overflow:hidden}.change-list li{display:grid;grid-template-columns:auto minmax(4ch,auto) 1fr auto;align-items:baseline;gap:.5vw 1vw;padding:.9vh 1vw;border-radius:12px;border-left:clamp(6px,.6vw,11px) solid hsl(var(--g-h) 64% 46%);background:hsl(var(--g-h) 84% 95%);color:hsl(var(--g-h) 72% 26%);font-size:clamp(14px,1.6vw,28px)}:root[data-theme=dark] .change-list li{background:hsl(var(--g-h) 38% 17%);color:hsl(var(--g-h) 68% 80%)}.change-list .ch-when{font-weight:760;font-variant-numeric:tabular-nums;opacity:.75}.change-list .ch-who{font-weight:760}.change-list .ch-what small{font-size:.78em;opacity:.8}.change-list .ch-kind{justify-self:end;font-weight:760;text-transform:uppercase;letter-spacing:.04em;font-size:.72em;padding:.25em .8em;border-radius:999px;background:hsl(var(--g-h) 64% 30%);color:#fff}:root[data-theme=dark] .change-list .ch-kind{background:hsl(var(--g-h) 62% 68%);color:#10131a}.change-list .ch-more{display:block;border:0;background:transparent;color:var(--ink-faint);font-size:clamp(13px,1.3vw,22px);padding-left:1vw}.rooms-group{display:flex;align-items:baseline;gap:1vw;margin-bottom:1.1vh;flex-wrap:wrap}.rg-label{min-width:11ch;font-size:clamp(12px,1.25vw,21px);font-weight:620;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.rg-list{display:flex;flex-wrap:wrap;gap:.45vw}.rg-room{display:inline-block;padding:.2em .55em;border-radius:10px;font-size:clamp(17px,2.1vw,38px);font-weight:760;font-variant-numeric:tabular-nums;background:var(--panel-2);border:2px solid var(--line-strong);color:var(--ink)}.rg-room.pc{background:#1e4fb8;border-color:#1e4fb8;color:#fff}.rg-room.sport{background:#047857;border-color:#047857;color:#fff}.board-legend{margin:auto 0 0;padding-top:1.2vh;font-size:clamp(11px,1.1vw,18px);color:var(--ink-faint)}.board-legend .rg-room{font-size:inherit;padding:.1em .45em;border-width:1px}.board-foot{display:flex;align-items:center;gap:1.6vw;font-size:clamp(12px,1.2vw,20px);color:var(--ink-faint);border-top:2px solid var(--line);padding-top:1.2vh}.board-foot span{display:flex;align-items:center;gap:.5vw}.board-foot .grow{flex:1}.board-error{display:flex;align-items:center;gap:1vw;padding:1.4vh 1.6vw;border-radius:16px;background:var(--danger-soft);color:var(--danger);border:2px solid currentColor;font-size:clamp(15px,1.7vw,28px);font-weight:600}@media(max-width:900px){.board-head{grid-template-columns:1fr;gap:1.2vh}.board-period{text-align:left}.board-grid{grid-template-columns:1fr}.board-strip{display:none}}@media(max-width:1180px){.brand-text small{display:none}.searchbox{min-width:180px;flex-basis:220px}}@media(max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}nav.tabs a span{display:none}nav.tabs a{padding:11px 13px}}@media(max-width:640px){main{padding:16px 14px 48px}.topbar{padding:10px 14px;gap:10px;min-height:66px;flex-wrap:wrap}.tiles,.tiles-secondary{grid-template-columns:1fr}.tile{min-height:132px;padding:20px}.tile-icon{top:18px;left:20px}.home-head h1{font-size:26px}table.grid{min-width:780px}.searchbox{order:10;flex-basis:100%}}@media print{.topbar,.cachebar,.no-print{display:none!important}body{background:#fff}.panel,.grid-wrap{border:0;box-shadow:none}}
