:root{color:#f4f7ff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#080d1c;--panel:#11182d;--panel-2:#182241;--line:#2a385f;--line-soft:#202d4d;--text:#f5f7ff;--muted:#8f9ab9;--cyan:#12c8bd;--cyan-dark:#0f9d99;--yellow:#ffd84a;--red:#ef3d53;background:#080d1c;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);min-height:100%}body{overscroll-behavior-y:none;background:radial-gradient(circle at 50% -20%,#2f417847,#0000 38rem),linear-gradient(#0b1020 0%,#070b17 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #12c8bd6b}.app-shell{width:100%;min-height:100vh;margin:0 auto;padding:8px 12px 24px}.topbar{border:1px solid var(--line);background:#11182deb;border-radius:15px;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:18px;min-height:78px;padding:7px 14px;display:grid;box-shadow:0 14px 40px #00000038}.brand-block{min-width:0}.eyebrow{color:#8c98b8;letter-spacing:.28em;margin:0 0 6px;font-size:9px;font-weight:900}.topbar h1{color:#f7f8ff;letter-spacing:.01em;white-space:nowrap;margin:0;font-size:clamp(17px,2vw,24px);line-height:1.15}.topbar h1 span{color:#7481a4;font-size:.45em}.header-clock{justify-items:center;line-height:1;display:grid}.header-clock time{color:#f8f9ff;letter-spacing:.035em;font-variant-numeric:tabular-nums;font-size:clamp(46px,6.2vw,72px);font-weight:900}.header-clock span{color:#7f8bab;margin-top:4px;font-size:11px;font-weight:700}.utility-button{color:#dce3f7;background:#1b2543;border:1px solid #34456f;border-radius:999px;justify-self:end;align-items:center;gap:8px;min-height:38px;padding:7px 12px;display:flex}.utility-button.active{color:#08131e;border-color:var(--cyan);background:var(--cyan)}.check-box{color:#13213a;background:#dbe4f7;border-radius:3px;place-items:center;width:18px;height:18px;font-size:13px;font-weight:900;display:grid}.utility-copy{align-items:center;gap:6px;display:flex}.utility-copy strong{font-size:11px}.utility-copy small{font-size:10px;font-weight:900}main{margin-top:10px}.rooms-container{gap:8px;display:grid}.floor-section{background:0 0;border:0;padding:0}.floor-heading{align-items:center;gap:10px;min-height:25px;margin-bottom:4px;display:flex}.floor-heading span{color:#8995b3;text-align:right;min-width:48px;font-size:12px;font-weight:900}.floor-heading div{background:#263354;width:100%;height:1px}.room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-left:60px;display:grid}.room-grid-two{grid-template-columns:repeat(4,minmax(0,1fr))}.room-card{background:linear-gradient(145deg,#1b274b,#151e39);border:1px solid #2c3a61;border-radius:12px;min-width:0;padding:10px;transition:background .2s,border-color .2s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.room-card.idle{color:var(--text)}.room-card.running{color:var(--text);background:linear-gradient(145deg,#1d2e59,#172444);border-color:#2a4673}.room-card.warning{color:#241b00;background:linear-gradient(145deg,#ffe77a,#ffc928);border-color:#f0c419;animation:1.2s ease-in-out infinite warningPulse}.room-card.finished{color:#fff;background:linear-gradient(145deg,#ef4158,#a91831);border-color:#ff5368;animation:.75s ease-in-out infinite finishedFlash}.room-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-card h3{letter-spacing:-.02em;margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1}.status-pill{color:#98a4c2;white-space:nowrap;background:#ffffff0e;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.running .status-pill{color:#72e3dc;background:#12c8bd21}.warning .status-pill{color:#594500;background:#ffffff6b}.finished .status-pill{color:#fff;background:#ffffff2e}.timer-label{color:#8e9aba;margin-top:9px;font-size:9px;font-weight:700;display:block}.warning .timer-label,.finished .timer-label{color:currentColor;opacity:.75}.timer-display{color:var(--cyan);letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:4px 0 7px;font-size:clamp(25px,3.1vw,38px);font-weight:900;line-height:1}.warning .timer-display,.finished .timer-display{color:currentColor}.room-meta{gap:3px;min-height:52px;display:grid}.room-meta span{color:#8e9aba;font-size:9px;font-weight:700}.room-meta strong{color:#f6f7ff;font-variant-numeric:tabular-nums;background:#060c1d61;border:1px solid #314268;border-radius:8px;place-items:center;min-height:36px;font-size:clamp(19px,2.3vw,28px);display:grid}.warning .room-meta span,.finished .room-meta span{color:currentColor;opacity:.72}.warning .room-meta strong,.finished .room-meta strong{color:currentColor;background:#ffffff2e;border-color:#00000026}.course-selector-label{color:#a0abc6;gap:6px;padding:9px 0 6px;font-size:11px;font-weight:800;display:grid}.course-select{color:#f4f7ff;background:#111a36;border:2px solid #3d5180;border-radius:9px;width:100%;min-height:48px;padding:0 14px;font-size:clamp(17px,1.7vw,22px);font-weight:900}.course-select:disabled{opacity:.62}.warning .course-selector-label,.finished .course-selector-label{color:currentColor;opacity:.86}.warning .course-select,.finished .course-select{color:currentColor;background:#ffffff2e;border-color:#0000002e}.room-actions button{border-radius:6px;width:100%;min-width:0;min-height:27px;padding:3px 4px;font-size:9px;font-weight:900}.primary-action{color:#031816;background:var(--cyan);border:0}.primary-action:active{background:var(--cyan-dark)}.secondary-action{color:#dfe5f6;background:#233057bf;border:1px solid #35466e}.room-actions button:disabled{opacity:.38}.alarm-stop-button{color:#99172b;background:#fff;border:0}.summary-card{border:1px solid var(--line-soft);background:#11182dc7;border-radius:12px;min-width:0;min-height:100%;padding:12px}.basement-summary{align-self:stretch}.section-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-title-row h2{color:#eef2ff;margin:0;font-size:16px}.summary-badge,.text-button{color:#aeb9d4;background:#192442;border:1px solid #33456f;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.text-button{cursor:pointer}.summary-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.summary-list li{color:#aab5cf;background:#131c34;border:1px solid #273759;border-radius:8px;grid-template-columns:22px 40px 1fr auto;align-items:center;gap:6px;min-height:32px;padding:5px 7px;font-size:11px;display:grid}.summary-list li strong,.summary-list li time{color:#eef2ff}.summary-list .ranking{color:#fff;background:#2b3b62;border-radius:50%;place-items:center;width:19px;height:19px;font-size:9px;font-weight:900;display:grid}.summary-list .empty-row{color:#7783a2;text-align:center;display:block}footer{text-align:center;gap:8px;margin:12px 0 0;display:grid}footer p{color:#687492;margin:0;font-size:10px}.modal-backdrop{z-index:100;opacity:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#01050fb8;align-items:end;padding:18px;transition:opacity .16s;display:grid;position:fixed;inset:0}.modal-backdrop.visible{opacity:1}.modal-backdrop[hidden]{display:none}.modal{color:#16213a;background:#f7f9ff;border-radius:22px 22px 12px 12px;width:min(100%,760px);max-height:min(88vh,900px);margin:0 auto;padding:20px;transition:transform .16s;overflow:auto;transform:translateY(20px);box-shadow:0 24px 80px #0000006b}.modal-backdrop.visible .modal{transform:translateY(0)}.modal-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.modal-header h2{color:#101a31;margin:0;font-size:24px}.modal-close{color:#43506b;background:#e4e9f4;border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:28px;display:grid}.modal-description{color:#63708b;margin:10px 0 16px;line-height:1.6}.course-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.course-button{color:#10243d;background:#eef3fb;border:1px solid #cbd5e6;border-radius:11px;justify-content:center;align-items:baseline;gap:3px;min-height:58px;display:flex}.course-button strong{font-size:22px}.course-button span{font-size:12px;font-weight:800}.adjust-current{background:#e9eff8;border-radius:12px;justify-content:space-between;align-items:center;margin:18px 0;padding:16px;display:flex}.adjust-current span{color:#65718a;font-weight:700}.adjust-current strong{color:#10243d;font-size:28px}.direct-input{color:#5e6a84;gap:8px;margin-top:18px;font-size:13px;font-weight:800;display:grid}.direct-input>div{grid-template-columns:1fr auto auto;align-items:center;gap:8px;display:grid}.direct-input input{color:#10243d;border:2px solid #c8d2e4;border-radius:11px;min-width:0;min-height:54px;padding:0 14px;font-size:22px;font-weight:850}.direct-input button{color:#041817;background:var(--cyan);border:0;border-radius:11px;min-height:54px;padding:0 20px;font-weight:900}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.confirm-actions button{border-radius:12px;min-height:54px;font-weight:850}.cancel-button{color:#4d5b73;background:#edf1f7;border:1px solid #cbd4e2}.confirm-reset-button{color:#fff;background:var(--red);border:0}.toast{z-index:200;left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;text-align:center;background:#0e1930f5;border-radius:999px;max-width:calc(100% - 32px);padding:11px 16px;font-size:13px;font-weight:800;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,12px);box-shadow:0 10px 30px #0000004d}.toast.visible{opacity:1;transform:translate(-50%)}@keyframes warningPulse{0%,to{filter:brightness()}50%{filter:brightness(1.08)}}@keyframes finishedFlash{0%,to{filter:brightness()}50%{filter:brightness(.72)}}@media (width<=900px){.topbar{grid-template-columns:1fr auto}.header-clock{grid-area:1/2/3}.utility-button{justify-self:start}.room-grid{gap:6px;padding-left:0}.floor-heading span{text-align:left;min-width:40px}footer{margin-left:0}.room-card{padding:8px}.room-actions button{font-size:10px}}@media (width<=700px){.app-shell{padding-inline:7px}.topbar{grid-template-columns:1fr auto;gap:8px;min-height:74px;padding:8px}.topbar h1{white-space:normal;font-size:15px}.header-clock time{font-size:38px}.header-clock span,.utility-copy strong{display:none}.room-grid,.room-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid{grid-template-columns:repeat(3,1fr)}}@media (orientation:landscape) and (height<=700px){body:before{content:"このアプリはiPadの縦向きでの使用を推奨します";z-index:999;color:#fff;text-align:center;background:#9b1628;padding:7px;font-size:12px;font-weight:850;position:fixed;inset:0 0 auto}.app-shell{padding-top:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.mode-button{color:#f6f8ff;min-height:38px;font:inherit;background:#273662a6;border:1px solid #849de14d;border-radius:999px;padding:0 14px;font-size:12px;font-weight:800}.login-panel{text-align:center;gap:16px;display:grid}.login-panel h2{margin:0}.pin-input{color:#fff;width:min(100%,320px);font:inherit;letter-spacing:.35em;text-align:center;background:#111a36;border:1px solid #7e97dc66;border-radius:12px;outline:none;margin:0 auto;padding:16px;font-size:28px;font-weight:900}.pin-input:focus{border-color:#15c9c0;box-shadow:0 0 0 3px #15c9c024}.login-button{width:min(100%,320px);min-height:48px;margin:0 auto}.pin-error{color:#ff7b8e;min-height:1.4em;margin:0;font-weight:800}.viewer-mode .room-actions button,.viewer-mode #clearEndedButton{cursor:not-allowed}@media (width<=900px){.header-actions{flex-wrap:wrap}.mode-button{min-height:34px;padding-inline:10px}}.room-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-actions .reset-button{grid-column:1/-1;width:100%}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;padding:6px 8px 8px;overflow:hidden}.topbar{min-height:64px;padding:4px 12px}.header-clock time{font-size:48px}.header-clock span{margin-top:1px;font-size:9px}main{margin-top:5px}.rooms-container{gap:3px}.floor-heading{min-height:17px;margin-bottom:2px}.floor-heading span{font-size:10px}.room-grid{gap:5px}.room-card,.summary-card{border-radius:9px;padding:6px}.room-card h3{font-size:22px}.status-pill{padding:3px 6px;font-size:8px}.timer-label{margin-top:5px;font-size:8px}.timer-display{margin:2px 0 4px;font-size:28px}.room-meta{gap:2px;min-height:39px}.room-meta span{font-size:8px}.room-meta strong{border-radius:6px;min-height:27px;font-size:20px}.course-selector-label{gap:3px;padding:4px 0;font-size:9px}.course-select{border-radius:7px;min-height:38px;padding:0 9px;font-size:18px}.room-actions{gap:4px}.room-actions button{min-height:26px;padding:2px 3px;font-size:8px;line-height:1.1}.room-actions .reset-button,.room-actions .alarm-stop-button{min-height:29px;font-size:10px}.section-title-row{margin-bottom:4px}.section-title-row h2{font-size:13px}.summary-badge,.text-button{padding:3px 6px;font-size:8px}.summary-list{gap:3px}.summary-list li{grid-template-columns:18px 32px 1fr auto;gap:4px;min-height:25px;padding:3px 5px;font-size:9px}.summary-list .ranking{width:16px;height:16px;font-size:8px}footer{display:none}}.room-actions.single-action .start-button,.room-actions.single-action .adjust-button{display:none}.room-actions.single-action .reset-button{grid-column:1/-1;width:100%;min-height:34px;font-size:11px;display:block}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-actions.single-action .reset-button{min-height:31px;font-size:10px}}.room-actions.single-action .alarm-stop-button,.finished .room-actions.single-action .reset-button:not(:disabled){font-weight:950}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-actions.single-action .reset-button{min-height:46px;padding:6px 8px;font-size:14px}}.course-summary{color:#fff;letter-spacing:.01em;text-align:center;place-items:center;min-height:22px;font-size:clamp(13px,1.45vw,19px);font-weight:950;display:grid}.course-summary:empty{display:none}.room-actions{grid-template-columns:1fr;gap:5px;display:grid}.room-actions .start-button,.room-actions .adjust-button,.room-actions .reset-button{grid-column:1;width:100%}.room-actions button[hidden]{display:none!important}.room-actions.single-action .reset-button{border-radius:10px;min-height:54px;padding:8px 6px;font-size:clamp(15px,1.8vw,23px);line-height:1.05}.room-actions.single-action .alarm-stop-button{color:#fff;background:#c81732;border:3px solid #ffffffe6;min-height:68px;font-size:clamp(18px,2.2vw,28px);animation:.8s ease-in-out infinite alarmButtonPulse;box-shadow:0 0 0 3px #ef3d5347,0 8px 22px #5c000f61}@keyframes alarmButtonPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.015)}}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card{padding:6px 7px}.course-selector-label{gap:3px;padding:3px 0 2px}.course-select{min-height:39px;padding-inline:8px;font-size:16px}.course-summary{min-height:17px;font-size:13px}.room-actions{gap:3px}.room-actions button{min-height:24px;padding:2px 4px;font-size:9px}.room-actions.single-action .reset-button{min-height:48px;font-size:18px}.room-actions.single-action .alarm-stop-button{min-height:60px;font-size:21px}}.room-card.idle .room-actions .start-button{border-radius:12px;min-height:72px;padding:12px 8px;font-size:clamp(20px,2.25vw,30px);font-weight:950;line-height:1.1}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card.idle .room-actions .start-button{min-height:58px;padding:8px 6px;font-size:20px}}.room-card.idle .course-select,.room-card.running .room-actions .adjust-button,.room-card.warning .room-actions .adjust-button{border-radius:12px;min-height:72px;padding:12px 8px;font-size:clamp(20px,2.25vw,30px);font-weight:950;line-height:1.1}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card.idle .course-select,.room-card.running .room-actions .adjust-button,.room-card.warning .room-actions .adjust-button{min-height:58px;padding:8px 6px;font-size:20px}}.room-card.running .room-actions .adjust-button,.room-card.warning .room-actions .adjust-button{border-radius:11px;min-height:60px;padding:9px 7px;font-size:clamp(17px,1.85vw,25px)}.room-card.running .room-meta strong{color:#ffad32;letter-spacing:.025em;background:#ff921817;border-color:#ffad32cc;min-height:46px;font-size:clamp(28px,3.35vw,43px);font-weight:950;box-shadow:inset 0 0 0 1px #ffc76c1f,0 0 16px #ff911829}.room-card.warning .room-meta strong{letter-spacing:.025em;min-height:46px;font-size:clamp(28px,3.35vw,43px);font-weight:950}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card.running .room-actions .adjust-button,.room-card.warning .room-actions .adjust-button{min-height:50px;padding:6px 5px;font-size:17px}.room-card.running .room-meta strong,.room-card.warning .room-meta strong{min-height:34px;font-size:27px}.topbar{border-radius:12px;min-height:54px;padding:2px 10px}.eyebrow{margin-bottom:2px;font-size:8px}.topbar h1{font-size:18px;line-height:1.05}.header-clock time{font-size:43px;line-height:.95}.header-clock span{margin-top:0;font-size:8px}.utility-button,.mode-button{min-height:32px;padding-top:4px;padding-bottom:4px}}.room-card.running .room-meta strong,.room-card.warning .room-meta strong{min-height:52px;font-size:clamp(31px,3.7vw,47px)}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card.running .room-meta strong,.room-card.warning .room-meta strong{min-height:39px;font-size:30px}}.room-card.running .room-meta strong,.room-card.warning .room-meta strong{letter-spacing:.03em;min-height:60px;font-size:clamp(36px,4.35vw,56px);line-height:1}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card.running .room-meta strong,.room-card.warning .room-meta strong{min-height:44px;font-size:35px;line-height:.95}.topbar{min-height:60px;padding:4px 11px}.header-clock time{font-size:46px;line-height:1}.header-clock span{margin-top:1px;font-size:9px}.room-card.idle .course-select{border-width:2px;border-radius:12px;min-height:68px;padding:8px 12px;font-size:26px;font-weight:950;line-height:1.1}.room-card.idle .course-select option{font-size:26px;font-weight:900}}.summary-card .section-title-row h2{font-size:clamp(20px,2.1vw,28px);font-weight:950}.summary-list{gap:8px}.summary-list li{grid-template-columns:34px 64px 1fr auto;gap:10px;min-height:48px;padding:8px 10px;font-size:clamp(14px,1.35vw,18px)}.summary-list li strong{letter-spacing:.02em;font-size:clamp(22px,2.25vw,30px);font-weight:950}.summary-list li time{font-size:clamp(15px,1.45vw,20px);font-weight:900}.summary-list .ranking{width:30px;height:30px;font-size:14px;font-weight:950}.plus-time-input{color:#5e6a84;border-top:1px solid #d7deeb;gap:8px;margin-top:22px;padding-top:20px;font-size:13px;font-weight:800;display:grid}.plus-time-input>div{grid-template-columns:1fr auto;gap:10px;display:grid}.plus-time-input select,.plus-time-input button{border-radius:11px;min-height:58px;font-size:20px;font-weight:900}.plus-time-input select{color:#10243d;background:#fff;border:2px solid #c8d2e4;min-width:0;padding:0 14px}.plus-time-input button{color:#041817;background:var(--cyan);border:0;padding:0 24px}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.summary-card .section-title-row h2{font-size:17px}.summary-list{gap:5px}.summary-list li{grid-template-columns:24px 44px 1fr auto;gap:6px;min-height:34px;padding:5px 7px;font-size:11px}.summary-list li strong{font-size:18px}.summary-list li time{font-size:12px}.summary-list .ranking{width:22px;height:22px;font-size:10px}}.room-card.idle .course-select:invalid{color:#8d93a3}.room-card.idle .course-select option{color:#1b2233}.next-card .summary-list li{color:#ffe98d;background:#ffd84a1f;border-color:#ffd84ab8}.next-card .summary-list li strong,.next-card .summary-list li time{color:#ffd84a}.next-card .summary-list .ranking{color:#2b2200;background:#ffd84a}.ended-card .summary-list li{color:#ff9cac;background:#ef3d5324;border-color:#ef3d53c7}.ended-card .summary-list li strong,.ended-card .summary-list li time{color:#ff5f74}.ended-card .summary-list .ranking{color:#fff;background:#ef3d53}.room-card,.summary-card{height:274px;min-height:274px}.room-card{flex-direction:column;display:flex}.room-card .room-actions{margin-top:auto}.room-card.idle .timer-label,.room-card.idle .timer-display,.room-card.idle .room-meta{display:none}.room-card.idle .course-selector-label{margin-top:14px}.topbar{min-height:98px;padding-top:10px;padding-bottom:10px}.header-clock time{font-size:clamp(58px,7.2vw,88px)}.header-clock span{font-size:12px}.modal-backdrop.login-active{align-items:center}.modal-backdrop.login-active .modal{border-radius:22px}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.room-card,.summary-card{height:255px;min-height:255px}.topbar{min-height:84px;padding:7px 11px}.header-clock time{font-size:62px;line-height:1}.header-clock span{margin-top:2px;font-size:10px}.room-card.idle .course-selector-label{margin-top:12px}}.timer-label,.timer-display{text-align:center;width:100%}.mode-button{text-align:center;white-space:normal;place-items:center;min-width:54px;padding:5px 10px;line-height:1.05;display:inline-grid}@media (width>=901px) and (width<=1100px) and (height>=1200px) and (orientation:portrait){.mode-button{min-width:48px;padding:3px 7px;line-height:1.05}}.sync-status{text-align:center;white-space:nowrap;border:1px solid #849de14d;border-radius:999px;min-width:76px;padding:7px 10px;font-size:10px;font-weight:900}.sync-status.connected{color:#7af1d8;background:#12c8bd1f}.sync-status.connecting{color:#ffe27a;background:#ffd84a1f}.sync-status.disconnected{color:#ff8f9e;background:#ef3d5321}.operator-disabled .room-card button,.operator-disabled .room-card select{cursor:not-allowed}@media (width<=700px){.sync-status{min-width:58px;padding-inline:7px;font-size:9px}}@media (width>=1200px) and (orientation:landscape){.room-card,.summary-card{height:auto;min-height:330px}.room-card.running,.room-card.warning,.room-card.finished{padding-bottom:14px;overflow:visible}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{gap:10px;margin-top:8px}.room-card.running .room-actions .adjust-button,.room-card.warning .room-actions .adjust-button{min-height:62px}.room-card .room-actions .reset-button{min-height:36px;padding:7px 10px;line-height:1.2}.room-card .course-summary{margin:5px 0 2px}}.room-card.vacant .room-meta,.room-card.vacant .timer-label,.room-card.vacant .timer-display,.room-card.vacant .course-summary{display:none!important}.room-card.vacant .course-selector-label{margin-top:14px}.room-card.vacant .status-pill{color:#98a4c2;background:#ffffff0e}.course-select{text-align:center;text-align-last:center}.course-select option{text-align:center}.course-select,.room-card.vacant .course-select{font-size:32px!important;font-weight:700!important}.room-card.vacant .course-select{color:#aab5c9!important;background:#2b3345!important;border:1px solid #566179!important;height:64px!important;min-height:64px!important;line-height:64px!important}.room-card.vacant{background:#1c2437!important}.room-card.vacant .course-select,.room-card:not(.vacant) .course-select{box-sizing:border-box;height:72px;min-height:72px;padding:0 18px;font-size:32px;font-weight:700;line-height:72px}.room-card.vacant .course-select{color:#d6d9e3;background:#32384d;border:1px solid #5f6983}.room-card .course-select{box-sizing:border-box!important;text-align:center!important;text-align-last:center!important;width:100%!important;height:72px!important;min-height:72px!important;max-height:72px!important;padding:0 18px!important;font-size:32px!important;font-weight:700!important;display:block!important}.room-card.vacant .course-select{color:#b8c0d0!important;box-sizing:border-box!important;background:#32384d!important;border-color:#5f6983!important;height:72px!important;min-height:72px!important;max-height:72px!important;padding:0 18px!important}button{transform-origin:50%;transition:transform 90ms,filter 90ms;transform:translateY(0)scale(1)}button.button-pressed:not(:disabled),button:active:not(:disabled){filter:brightness(.92);transform:translateY(2px)scale(.96)!important}.room-card .course-select,.room-card.vacant .course-select{white-space:nowrap!important;padding-left:38px!important;padding-right:38px!important;font-size:26px!important;line-height:normal!important}@media (width<=900px){.room-card .course-select,.room-card.vacant .course-select{padding-left:32px!important;padding-right:32px!important;font-size:23px!important}}.course-selector-label>span,.room-meta>span{width:100%;display:block;text-align:center!important}.room-card .course-select.numeric-course{letter-spacing:0!important;padding-left:30px!important;padding-right:30px!important;font-size:20px!important;font-weight:800!important}.room-card .course-select option[value]:not([value=""]):not([value=vacant]){font-size:18px}@media (width<=900px){.room-card .course-select.numeric-course{padding-left:26px!important;padding-right:26px!important;font-size:18px!important}}.course-select,.modal select,.modal input{transform-origin:50%;transition:transform 90ms,filter 90ms;transform:translateY(0)scale(1)}.course-select.control-pressed,.modal select.control-pressed,.modal input.control-pressed,.course-select:active,.modal select:active,.modal input:active{filter:brightness(.92);transform:translateY(2px)scale(.97)!important}.modal input.control-pressed,.modal input:active{filter:brightness(.96);box-shadow:inset 0 0 0 2px #12c8bd2e;transform:scale(.995)!important}.modal input,.modal input:hover,.modal input:focus,.modal input:active,.modal input.control-pressed{filter:none!important;transition:border-color 90ms,box-shadow 90ms,background-color 90ms!important;transform:translate(0,0)scale(1)!important}.modal input:focus,.modal input:active{box-shadow:0 0 0 2px #12c8bd38!important}.modal select,.modal select:hover,.modal select:focus,.modal select:active,.modal select.control-pressed{filter:none!important;transition:border-color 90ms,box-shadow 90ms,background-color 90ms!important;transform:translate(0,0)scale(1)!important}.modal select:focus,.modal select:active{box-shadow:0 0 0 2px #12c8bd38!important}.wheel-backdrop{z-index:1200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#040812b8;place-items:end center;padding:20px;transition:opacity .15s;display:grid;position:fixed;inset:0}.wheel-backdrop[hidden]{display:none}.wheel-backdrop.visible{opacity:1}.wheel-dialog{background:linear-gradient(#1d263afc,#0f1625fc);border:1px solid #9daecd47;border-radius:26px;width:min(520px,100%);transition:transform .15s;overflow:hidden;transform:translateY(18px);box-shadow:0 24px 70px #0000007a}.wheel-backdrop.visible .wheel-dialog{transform:translateY(0)}.wheel-header{border-bottom:1px solid #9daecd29;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:0 12px;display:grid}.wheel-header h2{text-align:center;margin:0;font-size:21px}.wheel-header-button{color:#aebbd1;background:0 0;border:0;min-height:48px;padding:0 12px;font-size:17px;font-weight:700}.wheel-header-button:first-child{justify-self:start}.wheel-header-button.confirm{color:#65e0d2;justify-self:end}.wheel-picker-shell{height:290px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 22% 78%,#0000 100%)}.wheel-picker{overscroll-behavior:contain;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:100%;overflow-y:auto}.wheel-picker::-webkit-scrollbar{display:none}.wheel-item{color:#dae2f07a;scroll-snap-align:center;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:58px;min-height:58px;padding:0 20px;font-size:25px;font-weight:650;line-height:1;transition:color .1s,font-size .1s,opacity .1s;display:flex}.wheel-item.selected{color:#fff;opacity:1;font-size:30px}.wheel-selection-frame{pointer-events:none;background:#485b7a2b;border-top:1px solid #65e0d257;border-bottom:1px solid #65e0d257;border-radius:12px;height:58px;position:absolute;top:116px;left:18px;right:18px}.course-select,#plusMinutes{cursor:pointer}@media (width>=700px){.wheel-backdrop{place-items:center}}.wheel-dialog{border-radius:28px!important;width:min(620px,96vw)!important}.wheel-header{grid-template-columns:90px 1fr 90px!important;min-height:88px!important;padding:0 14px!important}.wheel-header h2{letter-spacing:.04em;color:#fff!important;font-size:56px!important;font-weight:800!important;line-height:1!important}.wheel-picker-shell{height:470px!important}.wheel-spacer{height:206px!important}.wheel-selection-frame{box-shadow:0 0 26px #65e0d214;background:#536c9638!important;border-radius:14px!important;height:58px!important;top:206px!important;left:22px!important;right:22px!important}.wheel-item{opacity:.54;filter:blur(.15px);transform:scale(.92)}.wheel-item.selected{opacity:1;filter:none;text-shadow:0 6px 18px #65e0d23d;transform:scale(1.1)translateZ(0);color:#fff!important;font-size:32px!important}.wheel-header-button{color:#bec7d89e!important;min-height:50px!important;font-size:15px!important}.wheel-header-button.confirm{z-index:3;border-radius:20px;width:90%;position:absolute;bottom:22px;left:5%;right:5%;box-shadow:0 12px 28px #2f6edb57;color:#fff!important;background:linear-gradient(#4f8ef7,#2f6edb)!important;min-height:78px!important;font-size:26px!important;font-weight:800!important}.wheel-dialog{padding-bottom:120px;position:relative}#wheelCancelButton{z-index:4;width:max-content;margin:auto;position:absolute;bottom:2px;left:0;right:0;color:#bec7d87a!important;background:0 0!important;min-height:34px!important;padding:0 14px!important;font-size:14px!important}.wheel-picker-shell:before,.wheel-picker-shell:after{content:"";z-index:2;pointer-events:none;height:110px;position:absolute;left:0;right:0}.wheel-picker-shell:before{background:linear-gradient(#141c2cfa,#141c2c00);top:0}.wheel-picker-shell:after{background:linear-gradient(#141c2c00,#141c2cfa);bottom:0}.wheel-dialog{padding-bottom:0!important}.wheel-header{grid-template-columns:1fr!important}.wheel-header-button,#wheelCancelButton,#wheelConfirmButton{display:none!important}.keypad-backdrop{z-index:1300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#040812c2;place-items:center;padding:20px;transition:opacity .15s;display:grid;position:fixed;inset:0}.keypad-backdrop[hidden]{display:none}.keypad-backdrop.visible{opacity:1}.keypad-dialog{background:linear-gradient(#1d263afc,#0f1625fc);border:1px solid #9daecd47;border-radius:28px;width:min(480px,96vw);padding:22px;box-shadow:0 24px 70px #00000080}.keypad-header{place-items:center;min-height:56px;display:grid;position:relative}.keypad-header h2{margin:0;font-size:23px}.keypad-close-button{color:#e2e8f2b8;background:#7e8ba429;border-radius:50%;width:46px;height:46px;font-size:24px;position:absolute;top:0;right:0}.keypad-display-row{background:#30405b5c;border:1px solid #65e0d247;border-radius:18px;justify-content:center;align-items:baseline;gap:10px;min-height:92px;margin:10px 0 18px;display:flex}.keypad-display{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:80%;font-size:54px;font-weight:800;line-height:1;overflow:hidden}.keypad-display-row span{color:#dce4f0c2;font-size:22px;font-weight:700}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.keypad-grid button{color:#fff;background:#46567457;border:1px solid #97a6c233;border-radius:18px;min-height:74px;font-size:34px;font-weight:750}.keypad-grid button:active{background:#5c70947a;transform:scale(.96)}.keypad-apply-button{color:#fff;background:linear-gradient(#4f8ef7,#2f6edb);border-radius:20px;width:100%;min-height:72px;margin-top:16px;font-size:25px;font-weight:800;box-shadow:0 12px 28px #2f6edb4d}#directMinutes[readonly]{cursor:pointer;caret-color:#0000}.direct-input>div{grid-template-columns:minmax(0,1fr) auto!important}#directMinutes[readonly]{text-align:center;min-height:68px;font-size:30px;font-weight:800;width:100%!important}.course-select{touch-action:manipulation;pointer-events:auto!important}#plusMinutes{pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important}.keypad-display-row{justify-content:center!important;align-items:center!important;min-height:112px!important;padding:0 18px!important;line-height:1!important;display:flex!important}.keypad-display{justify-content:center!important;align-items:center!important;min-height:72px!important;margin:0!important;line-height:1!important;display:flex!important}.keypad-display-row>span{align-items:center!important;min-height:72px!important;margin:0!important;line-height:1!important;display:flex!important}.course-select.numeric-course{letter-spacing:-.04em!important;text-align:center!important;text-align-last:center!important;height:88px!important;min-height:88px!important;max-height:88px!important;padding-left:12px!important;padding-right:34px!important;font-size:clamp(36px,3vw,42px)!important;font-weight:900!important;line-height:1!important}.course-select option[value]:not([value=""]):not([value=vacant]){font-size:36px!important;font-weight:900!important}.room-card .status-pill{display:none!important}.course-panel-backdrop{z-index:1250;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#040812c2;place-items:center;padding:18px;transition:opacity .15s;display:grid;position:fixed;inset:0}.course-panel-backdrop.visible{opacity:1}.course-panel-dialog{background:linear-gradient(#1d263afc,#0f1625fc);border:1px solid #9daecd47;border-radius:28px;width:min(680px,96vw);max-height:min(88vh,860px);transition:transform .15s;overflow:hidden;transform:scale(.98);box-shadow:0 24px 70px #00000085}.course-panel-backdrop.visible .course-panel-dialog{transform:scale(1)}.course-panel-header{border-bottom:1px solid #9daecd29;place-items:center;min-height:96px;display:grid;position:relative}.course-panel-header h2{color:#fff;letter-spacing:.04em;margin:0;font-size:56px;font-weight:900;line-height:1}.course-panel-close{color:#e2e8f29e;background:#7e8ba424;border-radius:50%;width:50px;height:50px;font-size:26px;position:absolute;top:22px;right:22px}.course-panel-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity;max-height:calc(min(88vh,860px) - 96px);padding:14px;overflow-y:auto}.course-panel-item{color:#fff;letter-spacing:-.035em;scroll-snap-align:center;background:#3f506f47;border:1px solid #97a6c22e;border-radius:20px;justify-content:center;align-items:center;width:100%;min-height:94px;margin:8px 0;padding:8px 20px;font-size:clamp(42px,5.4vw,66px);font-weight:900;line-height:1;display:flex}.course-panel-item.selected{background:#4c69917a;border-color:#65e0d275;box-shadow:0 8px 26px #65e0d21f}.course-panel-item:active{transform:scale(.98)}.course-select{cursor:pointer!important}.course-panel-backdrop{pointer-events:auto;z-index:1250!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important;background:0 0!important;padding:0!important;display:block!important;position:fixed!important;inset:0!important}.course-panel-backdrop[hidden]{display:none!important}.course-panel-dialog{left:var(--course-panel-left)!important;top:var(--course-panel-top)!important;width:var(--course-panel-width)!important;max-width:calc(100vw - 20px)!important;max-height:var(--course-panel-max-height)!important;background:#131c2ffe!important;border-radius:14px!important;margin-top:4px!important;position:fixed!important;overflow:hidden!important;transform:none!important;box-shadow:0 16px 42px #00000085!important}.course-panel-backdrop.open-above .course-panel-dialog{margin-top:-4px!important;transform:translateY(-100%)!important}.course-panel-header{display:none!important}.course-panel-list{scroll-snap-type:y proximity;max-height:var(--course-panel-max-height)!important;padding:6px!important;overflow-y:auto!important}.course-panel-item{letter-spacing:-.03em!important;border-radius:10px!important;min-height:72px!important;margin:3px 0!important;padding:8px 10px!important;font-size:clamp(28px,3.2vw,42px)!important}.course-panel-item.selected{background:#4c699185!important;border-color:#65e0d273!important}#plusMinutes{text-align:center!important;text-align-last:center!important}.course-panel-dialog{-webkit-backdrop-filter:blur(26px)saturate(145%)!important;backdrop-filter:blur(26px)saturate(145%)!important;background:linear-gradient(#30343deb,#1c1f26f0)!important;border:1px solid #ffffff1f!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 18px 50px #0000006b,inset 0 1px #ffffff14!important}.course-panel-list{background:0 0!important;padding:6px 8px!important}.course-panel-item{position:relative;color:#fffffff0!important;letter-spacing:-.025em!important;min-height:70px!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:12px!important;margin:0!important;padding:10px 16px!important;font-size:clamp(28px,3.1vw,40px)!important;font-weight:650!important;transition:background-color .11s,transform .11s,color .11s!important}.course-panel-item:not(:last-child):after{content:"";background:#ffffff13;height:1px;position:absolute;bottom:0;left:14px;right:14px}.course-panel-item.selected{text-shadow:0 1px 10px #0a84ff2e;color:#fff!important;background:#0a84ff2e!important;font-weight:720!important}.course-panel-item:active{background:#ffffff1c!important;transform:scale(.985)!important}.course-panel-list{-webkit-mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 18px calc(100% - 18px),#0000 100%)}.course-panel-dialog{animation:.14s cubic-bezier(.2,.8,.2,1) appleDropdownIn;transform-origin:top!important}.course-panel-backdrop.open-above .course-panel-dialog{transform-origin:bottom!important}@keyframes appleDropdownIn{0%{opacity:0;transform:scale(.985)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.course-select{-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);background:linear-gradient(#292e3adb,#1d212be6)!important;border-color:#ffffff24!important;box-shadow:inset 0 1px #ffffff12,0 6px 18px #00000029!important}.course-select:focus{border-color:#0a84ffb8!important;outline:none!important;box-shadow:0 0 0 3px #0a84ff2e,inset 0 1px #ffffff14!important}.course-selector-label{padding-top:0!important;display:block!important;position:relative!important}.course-select{z-index:3!important;opacity:0!important;cursor:pointer!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.course-select-display{color:#fff;box-sizing:border-box;background:linear-gradient(#292e3ae0,#1d212beb);border:1px solid #ffffff24;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:82px;padding:8px 18px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 8px 20px #0000002e}.course-selector-label.idle-selected .course-select-display{background:linear-gradient(#23416ce0,#182d4feb);border-color:#5083d475}.course-selector-label.vacant-selected .course-select-display{color:#e6ebf4c7;background:linear-gradient(#373d4be0,#262b36f0);border-color:#808ba05c}.course-state-text{letter-spacing:.01em;font-size:34px;font-weight:760;line-height:1}.course-number{letter-spacing:-.055em;font-size:clamp(52px,5vw,72px);font-weight:900;line-height:.9}.course-unit{margin-left:4px;font-size:clamp(34px,3vw,46px);font-weight:850;line-height:1}.course-word{color:#e2f5f1b8;align-self:flex-end;margin:0 0 7px 10px;font-size:clamp(15px,1.25vw,20px);font-weight:700;line-height:1}.course-selector-label:active .course-select-display{filter:brightness(1.08);transform:scale(.992)}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{gap:10px!important;width:100%!important;margin-top:10px!important;display:grid!important;overflow:visible!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button{visibility:visible!important;opacity:1!important;width:100%!important;min-height:58px!important;display:block!important;position:static!important}@media (width<=1199px){.room-card.running,.room-card.warning,.room-card.finished{overflow:visible!important}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{margin-top:6px!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button{min-height:54px!important}}.room-card.running .course-selector-label,.room-card.warning .course-selector-label,.room-card.finished .course-selector-label{display:none!important}.room-card.running,.room-card.warning,.room-card.finished{flex-direction:column!important;display:flex!important;overflow:hidden!important}.room-card.running .room-meta,.room-card.warning .room-meta,.room-card.finished .room-meta{text-align:center!important;place-items:center!important;width:100%!important;min-height:54px!important;margin:0 0 6px!important;padding:0!important;display:grid!important;position:static!important}.room-card.running .room-meta span,.room-card.warning .room-meta span,.room-card.finished .room-meta span{margin:0 0 2px!important;line-height:1.1!important;display:block!important}.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{margin:0!important;line-height:1!important;display:block!important;position:static!important}.room-card.running .timer-label,.room-card.warning .timer-label,.room-card.finished .timer-label{text-align:center!important;width:100%!important;margin:4px 0 2px!important;padding:0!important;line-height:1.15!important;display:block!important;position:static!important}.room-card.running .timer-display,.room-card.warning .timer-display,.room-card.finished .timer-display{text-align:center!important;width:100%!important;margin:0!important;padding:0!important;line-height:1!important;display:block!important;position:static!important}.room-card.running .timer-display{color:#d8eaff!important;text-shadow:0 0 18px #549dff29!important}.room-card.warning .timer-display{color:#ffd75e!important}.room-card.finished .timer-display{color:#ff6b78!important}.room-card.running .course-summary,.room-card.warning .course-summary,.room-card.finished .course-summary{text-align:center!important;width:100%!important;margin:4px 0 0!important;padding:0!important;line-height:1.1!important;display:block!important;position:static!important}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{gap:8px!important;width:100%!important;margin-top:auto!important;padding-top:8px!important;display:grid!important;position:static!important;overflow:visible!important}.room-card.running .adjust-button,.room-card.warning .adjust-button,.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button{visibility:visible!important;opacity:1!important;width:100%!important;min-height:48px!important;margin:0!important;display:block!important;position:static!important}@media (width>=901px) and (width<=1100px) and (height>=1000px) and (orientation:portrait){.room-card.running .room-meta,.room-card.warning .room-meta,.room-card.finished .room-meta{min-height:44px!important;margin-bottom:3px!important}.room-card.running .timer-label,.room-card.warning .timer-label,.room-card.finished .timer-label{margin:2px 0 1px!important}.room-card.running .course-summary,.room-card.warning .course-summary,.room-card.finished .course-summary{margin-top:2px!important}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{gap:5px!important;padding-top:5px!important}.room-card.running .adjust-button,.room-card.warning .adjust-button,.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button{min-height:42px!important;padding-top:6px!important;padding-bottom:6px!important}}.room-card.running .room-meta,.room-card.warning .room-meta,.room-card.finished .room-meta{box-sizing:border-box!important;align-self:center!important;width:min(94%,430px)!important;padding-left:18px!important;padding-right:18px!important}.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{text-align:center!important;width:100%!important;min-width:0!important}.room-card.warning .timer-display{-webkit-text-stroke:1px #412200b8;filter:brightness(1.18)saturate(1.12);color:#fff4c2!important;text-shadow:0 2px #3e2100d1,0 0 12px #ffa118f5,0 0 28px #ff760094!important}.room-card.finished .timer-display,.room-card.finished .room-meta strong{animation:.8s ease-in-out infinite alternate finishedAttentionPulse;color:#ff6b78!important}@keyframes finishedAttentionPulse{0%{opacity:.68;text-shadow:0 0 8px #ff385047}to{opacity:1;text-shadow:0 0 12px #ff3850b8,0 0 24px #ff385057}}.course-panel-list{-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;scroll-behavior:auto!important}.room-card.running .room-meta,.room-card.warning .room-meta,.room-card.finished .room-meta{box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:68px!important;padding-top:7px!important;padding-bottom:7px!important;display:flex!important}.room-card.running .room-meta span,.room-card.warning .room-meta span,.room-card.finished .room-meta span{flex:none!important;margin:0 0 3px!important;line-height:1!important}.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{text-align:center!important;flex:auto!important;justify-content:center!important;align-items:center!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;line-height:1!important;display:flex!important}.start-button{color:#fff!important;text-shadow:0 1px 2px #0000003d!important;background:linear-gradient(#3168b2fa,#204a84)!important;border-color:#67a6ffb8!important;box-shadow:inset 0 1px #ffffff24,0 9px 24px #2566be47!important}.start-button:active,.start-button.button-pressed{filter:brightness(1.1)!important}.course-selector-label.numeric-selected .course-select-display{background:linear-gradient(#4287e8 0%,#2f6fc9 100%)!important;border-color:#88beffdb!important;box-shadow:inset 0 1px #fff3,0 9px 24px #2f6fc94d!important}.course-selector-label.numeric-selected .course-number,.course-selector-label.numeric-selected .course-unit{color:#fff!important}.course-selector-label.numeric-selected .course-word{color:#ebf5ffd1!important}.room-card.warning .timer-display{color:#ffd54a!important;-webkit-text-stroke:0!important;text-shadow:0 2px #4c3100d1,0 0 10px #ffd54ae6,0 0 24px #ffaa006b!important;filter:brightness(1.08)saturate(1.05)!important}.room-card.running .timer-display{color:#58e6c4!important;text-shadow:0 0 10px #37dcba4d,0 0 20px #37dcba1f!important;filter:none!important}.room-card.warning .timer-display{color:#111318!important;-webkit-text-stroke:0!important;text-shadow:0 1px #ffffff40,0 0 2px #ffffff2e!important;filter:none!important;font-weight:950!important}.room-card.running .timer-display{text-shadow:none!important;filter:none!important}.reset-button{min-height:42px!important;padding-top:6px!important;padding-bottom:6px!important}.adjust-button{min-height:60px!important;padding-top:14px!important;padding-bottom:14px!important}.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{text-shadow:none!important;filter:none!important}.room-card.running .adjust-button,.room-card.warning .adjust-button{box-sizing:border-box!important;height:68px!important;min-height:68px!important;max-height:68px!important;padding:14px 12px!important;font-size:20px!important;line-height:1.15!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button:not(.alarm-stop-button){box-sizing:border-box!important;color:#ff5364!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:3px 12px!important;font-size:18px!important;line-height:1!important}.room-card.finished .reset-button.alarm-stop-button{color:inherit!important}@media (width>=901px) and (width<=1100px) and (orientation:portrait){.room-card.running .adjust-button,.room-card.warning .adjust-button{height:64px!important;min-height:64px!important;max-height:64px!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button:not(.alarm-stop-button){height:36px!important;min-height:36px!important;max-height:36px!important}}.room-card .room-meta strong,.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{text-shadow:none!important;filter:none!important;opacity:1!important;animation:none!important}.room-card.running .room-actions,.room-card.warning .room-actions,.room-card.finished .room-actions{box-sizing:border-box!important;flex:none!important;grid-template-rows:auto auto!important;gap:4px!important;width:100%!important;margin-top:auto!important;padding-top:4px!important;padding-bottom:0!important;display:grid!important;overflow:visible!important}.room-card.running .adjust-button,.room-card.warning .adjust-button{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important;padding:10px 8px!important;font-size:19px!important;line-height:1.1!important;display:flex!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button:not(.alarm-stop-button){box-sizing:border-box!important;white-space:nowrap!important;color:#ff5364!important;justify-content:center!important;align-items:center!important;height:34px!important;min-height:34px!important;max-height:34px!important;margin:0!important;padding:1px 8px!important;font-size:17px!important;line-height:1!important;display:flex!important;overflow:visible!important}.room-card.finished .reset-button.alarm-stop-button{height:auto!important;min-height:54px!important;max-height:none!important;color:inherit!important;padding:8px!important}@media (width>=901px) and (width<=1100px) and (orientation:portrait){.room-card.running,.room-card.warning,.room-card.finished{padding-bottom:6px!important}.room-card.running .adjust-button,.room-card.warning .adjust-button{height:54px!important;min-height:54px!important;max-height:54px!important}.room-card.running .reset-button,.room-card.warning .reset-button,.room-card.finished .reset-button:not(.alarm-stop-button){height:32px!important;min-height:32px!important;max-height:32px!important;font-size:16px!important}}.room-card .room-meta strong,.room-card.idle .room-meta strong,.room-card.vacant .room-meta strong,.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{color:inherit!important;text-shadow:none!important;-webkit-text-stroke:0 transparent!important;filter:none!important;box-shadow:none!important;opacity:1!important;mix-blend-mode:normal!important;background:0 0!important;animation:none!important}.room-card.finished .room-meta,.room-card.warning .room-meta,.room-card.running .room-meta{filter:none!important;text-shadow:none!important;animation:none!important}.room-card.finished .room-meta strong{text-shadow:none!important;animation-name:none!important}.room-card .room-meta strong,.room-card.running .room-meta strong,.room-card.warning .room-meta strong,.room-card.finished .room-meta strong{color:#f5a623!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;-webkit-text-stroke:0!important;animation:none!important}.course-panel-dialog{width:var(--course-panel-width)!important;min-width:0!important;max-width:var(--course-panel-width)!important;box-sizing:border-box!important}.course-panel-list,.course-panel-item{box-sizing:border-box!important;width:100%!important}.course-panel-list{touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;scroll-behavior:auto!important}.room-card.idle .room-actions{margin-top:6px!important;padding-top:0!important}.room-card.idle .start-button{box-sizing:border-box!important;text-align:center!important;justify-content:center!important;align-items:center!important;width:100%!important;height:92px!important;min-height:92px!important;max-height:92px!important;margin:0!important;padding:0 16px!important;line-height:1!important;display:flex!important}@media (width>=901px) and (width<=1100px) and (orientation:portrait){.room-card.idle .room-actions{margin-top:4px!important}.room-card.idle .start-button{height:86px!important;min-height:86px!important;max-height:86px!important}}.room-card.idle .start-button[hidden],.room-card.vacant .start-button,.room-card.vacant .room-actions,.room-card.idle .course-selector-label.idle-selected+.room-actions .start-button{display:none!important}.room-card.idle .course-selector-label.numeric-selected+.room-actions .start-button:not([hidden]){display:flex!important}.room-card.idle .start-button{letter-spacing:.04em;color:#fff!important;background:linear-gradient(#4287e8 0%,#2f6fc9 100%)!important;border:1px solid #88beffe6!important;font-size:30px!important;font-weight:800!important}.room-card.idle:has(.course-selector-label.numeric-selected){background:linear-gradient(#3d4d67 0%,#324258 100%)!important}.room-card.idle .start-button{letter-spacing:.035em!important;color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(#5a9af0 0%,#4287e8 12%,#2f6fc9 100%)!important;border:1px solid #97c9ffe6!important;font-size:34px!important;font-weight:850!important;box-shadow:inset 0 1px #ffffff52,inset 0 -1px #0000001a,0 8px 18px #1b4f9942!important}.room-card.idle .start-button:active,.room-card.idle .start-button.button-pressed{filter:brightness(.98)!important;transform:translateY(1px)scale(.992)!important;box-shadow:inset 0 1px #fff3,0 4px 10px #1b4f9933!important}#plusMinutes{cursor:pointer!important;touch-action:manipulation!important}.course-panel-item[data-course-panel-value="15"],.course-panel-item[data-course-panel-value="30"],.course-panel-item[data-course-panel-value="45"],.course-panel-item[data-course-panel-value="60"],.course-panel-item[data-course-panel-value="75"],.course-panel-item[data-course-panel-value="90"]{font-weight:800!important}.room-card.warning .room-meta strong{color:#ff5364!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;animation:none!important}.room-card.finished.alarm-silenced .room-actions{width:100%!important;margin-top:auto!important;padding-top:8px!important;display:block!important}.room-card.finished.alarm-silenced .reset-button:not(.alarm-stop-button){box-sizing:border-box!important;color:#ff5364!important;white-space:nowrap!important;justify-content:center!important;align-items:center!important;width:100%!important;height:68px!important;min-height:68px!important;max-height:68px!important;margin:0!important;padding:10px 16px!important;font-size:24px!important;font-weight:800!important;line-height:1!important;display:flex!important}@media (width>=901px) and (width<=1100px) and (orientation:portrait){.room-card.finished.alarm-silenced .reset-button:not(.alarm-stop-button){height:62px!important;min-height:62px!important;max-height:62px!important;font-size:22px!important}}.room-card.idle .prestart-reset-button[hidden],.room-card.vacant .prestart-reset-button{display:none!important}.room-card.idle .course-selector-label.numeric-selected+.room-actions .prestart-reset-button:not([hidden]){display:flex!important}.room-card.idle .prestart-reset-button{box-sizing:border-box!important;color:#ff5364!important;justify-content:center!important;align-items:center!important;width:100%!important;height:34px!important;min-height:34px!important;max-height:34px!important;margin:4px 0 0!important;padding:2px 10px!important;font-size:17px!important;font-weight:750!important;line-height:1!important}@media (width>=901px) and (width<=1100px) and (orientation:portrait){.room-card.idle .prestart-reset-button{height:32px!important;min-height:32px!important;max-height:32px!important;margin-top:3px!important;font-size:16px!important}}.sync-status.connected{color:#ffffffb8!important}.pin-error:empty{display:none!important}
