:root{color-scheme:dark;--border:#3c484f;--muted-foreground:#abb7be}
* { box-sizing:border-box; } body { margin:0; background:#0e141a; color:#f7f5ef; font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif; } button { cursor:pointer; } .live-board { min-height:100vh; background:radial-gradient(ellipse 70% 32% at 50% -7%,#3b3235 0%,transparent 75%),linear-gradient(150deg,#11191e,#0e141a 60%); } .board-container { max-width:1600px; padding:0 42px 28px; margin:auto; }
.board-header { height:78px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ffffff20; } .wordmark { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:900; letter-spacing:.12em; } .wordmark em { font-style:normal; color:#e8bd86; } .logo { display:grid; place-items:center; width:34px; height:34px; border:1px solid #e9ba7a8c; border-radius:10px; color:#edbc7b; background:#e9ba7a17; } .header-right { display:flex; align-items:center; gap:15px; } .live-pill { display:flex; align-items:center; gap:7px; color:#a8d8bc; font-size:12px; font-weight:800; letter-spacing:.11em; } .live-pill>span { width:7px; height:7px; border-radius:50%; background:#8cd5a9; box-shadow:0 0 12px #8cd5a9; } .live-pill.offline { color:#efb4a8; } .live-pill.offline>span { background:#ef9b87; box-shadow:none; } .settings-button { display:grid; place-items:center; width:36px; height:36px; background:transparent; color:#929fa5; border:1px solid #ffffff1f; border-radius:10px; } .settings-button:hover { color:#fff; background:#ffffff12; }
.intro { display:flex; justify-content:space-between; align-items:flex-end; padding:33px 0 29px; gap:25px; } .kicker { font-size:12px; font-weight:800; letter-spacing:.2em; color:#ddb477; margin:0 0 10px; } .kicker span { color:#69747a; padding:0 5px; } h1 { font-size:clamp(32px,3.3vw,48px); line-height:1.12; letter-spacing:-.07em; font-weight:850; margin:0; } .heading-point { color:#e9b872; } .intro-sub { color:#9aabb2; font-size:15px; margin:12px 0 0; } .current-time { display:flex; flex-direction:column; align-items:flex-end; min-width:210px; } .current-time>span { font-size:14px; color:#b3bdc2; } .current-time strong { font-size:29px; font-variant-numeric:tabular-nums; letter-spacing:.03em; margin:5px 0 2px; font-weight:600; } .current-time small { color:#a08566; font-size:10px; letter-spacing:.13em; font-weight:800; }
.spotlight { min-height:166px; border:1px solid #d6a26765; border-radius:23px; background:linear-gradient(110deg,#664a39 0%,#342c2a 48%,#252a2d 100%); box-shadow:0 19px 60px #0005; padding:28px 38px; display:flex; justify-content:space-between; align-items:center; gap:30px; position:relative; overflow:hidden; } .spotlight:after { content:""; position:absolute; width:260px; height:260px; border:1px solid #ffffff18; border-radius:50%; right:25%; top:-140px; pointer-events:none; } .spotlight-main { min-width:0; z-index:1; } .spotlight-label { color:#f7c58d; font-size:11px; letter-spacing:.18em; font-weight:900; margin:0 0 14px; } .pulse { display:inline-block; background:#f3bd78; border-radius:50%; width:7px; height:7px; margin-right:6px; box-shadow:0 0 14px #f3bd78; } .spotlight h2 { font-size:clamp(27px,2.5vw,37px); font-weight:850; letter-spacing:-.06em; margin:0 0 9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .spotlight-main>p:last-child { margin:0; color:#d1bab0; font-size:14px; } .spotlight-clock { text-align:right; z-index:1; flex-shrink:0; } .spotlight-clock span { display:block; color:#cbb9b0; font-size:13px; margin-bottom:5px; } .spotlight-clock strong { display:block; color:#fff7e9; font-size:clamp(28px,3vw,43px); letter-spacing:.04em; font-variant-numeric:tabular-nums; line-height:1.15; } .spotlight-clock small { display:block; margin-top:7px; color:#e5c8ab; font-size:13px; }
.section-line { display:flex; justify-content:space-between; align-items:center; margin:30px 0 17px; } .section-line>div { display:flex; align-items:center; gap:11px; } .line-accent { width:4px; height:22px; background:#e5b677; border-radius:5px; } .section-line h2 { font-size:21px; margin:0; letter-spacing:-.045em; } .count { color:#e5b677; font-size:13px; font-weight:800; margin-left:1px; } .section-line p { color:#87979e; font-size:13px; margin:0; }
.boss-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } .boss-card { min-width:0; min-height:195px; padding:18px 20px 17px; border-radius:17px; border:1px solid #ffffff1c; background:linear-gradient(135deg,#222d34,#1a242b 76%); box-shadow:0 6px 20px #0002; display:flex; flex-direction:column; } .boss-card.due { border-color:#ca876644; background:linear-gradient(135deg,#352d2c,#22282c 75%); } .card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; gap:8px; } .card-number { color:#c09666; font-size:12px; font-weight:900; letter-spacing:.12em; } .card-status { color:#818f95; border:1px solid #69747b66; border-radius:50px; padding:4px 8px; font-size:11px; white-space:nowrap; } .card-status.scheduled { color:#9dd5b0; background:#78b18d19; border-color:#87bb9a55; } .card-status.due { color:#f0aa8e; background:#ef9b7920; border-color:#ef9b7955; } .card-title h3 { font-size:18px; line-height:1.2; letter-spacing:-.04em; margin:0 0 5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .card-title p { color:#97a7ac; font-size:12px; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .card-divider { height:1px; background:#ffffff17; margin:14px 0 12px; } .card-times { display:grid; grid-template-columns:1fr 1fr; gap:10px; } .card-times>div { min-width:0; } .card-times span { display:block; color:#91a0a7; font-size:11px; margin-bottom:5px; } .card-times strong { color:#e3e8e8; font-size:13px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; } .card-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:12px; } .card-bottom span { color:#8da0a7; font-size:11px; white-space:nowrap; } .card-bottom strong { color:#e8bf84; font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; } .boss-card.due .card-bottom strong { color:#efac92; }
.board-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:24px 1px 0; color:#72858c; font-size:11px; letter-spacing:.01em; } .board-footer span:first-child { display:flex; align-items:center; gap:6px; } .loading-note { color:#aebfc3; padding:25px 0; text-align:center; } .status-notice { padding:12px 18px; margin-bottom:16px; border-radius:12px; background:#482f2d; border:1px solid #9e6559; font-size:13px; color:#f2c5b9; line-height:1.5; } .status-notice strong { font-weight:500; }
.setup-card { width:min(660px,100%); margin:42px auto 0; border-radius:24px; background:linear-gradient(140deg,#28343a,#1a252d); border:1px solid #ffffff2c; text-align:center; padding:46px 35px; } .setup-icon { display:grid; place-items:center; margin:0 auto 22px; width:56px; height:56px; background:#dba96923; color:#e7b878; border:1px solid #e7b87858; border-radius:17px; } .setup-card h2 { font-size:25px; letter-spacing:-.05em; margin:0 0 13px; } .setup-card>p:not(.kicker) { font-size:15px; line-height:1.7; color:#a9b8be; max-width:460px; margin:0 auto 24px; } .setup-card button { background:#e7b878; color:#1b252b; font-weight:800; padding:0 18px; }
.connection-dialog { background:#202b32; border-color:#566169; color:#fff9ef; } .connection-dialog h2 { letter-spacing:-.045em; } .connection-dialog p { color:#aebdc3; line-height:1.5; } .connection-form { display:grid; gap:21px; margin-top:8px; } .connection-form>div { display:grid; gap:8px; } .connection-form label { font-weight:700; font-size:14px; } .connection-form input { background:#101a21; border-color:#53616a; min-height:43px; color:#fff; } .connection-form small { color:#98aab1; font-size:12px; } .connection-form button { justify-self:end; background:#e7b878; color:#172028; font-weight:800; } .connection-form .setup-error { color:#ffbdac; margin:0; font-size:13px; }
@media(max-width:1220px) { .boss-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .board-container { padding:0 30px 30px; } } @media(max-width:860px) { .boss-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .spotlight { padding:25px; } } @media(max-width:600px) { .board-container { padding:0 17px 25px; } .board-header { height:68px; } .wordmark { font-size:13px; } .intro { padding:27px 0 23px; align-items:flex-start; } .intro-sub { font-size:13px; line-height:1.4; } .current-time { min-width:auto; } .current-time>span,.current-time small { display:none; } .current-time strong { font-size:15px; margin-top:23px; } .spotlight { flex-direction:column; align-items:flex-start; gap:17px; min-height:0; padding:23px; } .spotlight h2 { white-space:normal; } .spotlight-clock { text-align:left; } .spotlight-clock strong { font-size:31px; } .section-line p { font-size:11px; max-width:145px; text-align:right; } .boss-grid { grid-template-columns:1fr; gap:11px; } .boss-card { min-height:180px; } .board-footer { flex-direction:column; align-items:flex-start; } }
@media print { .live-board { background:#0e141a!important; -webkit-print-color-adjust:exact; print-color-adjust:exact; } .settings-button { display:none; } .board-container { max-width:none; } }
@media(min-width:1600px) { .board-container { max-width:1840px; padding-left:48px; padding-right:48px; } .boss-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .boss-card { padding-left:17px; padding-right:17px; } }

.sound-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:0 0 24px; padding:18px; border:1px solid var(--border); border-radius:12px; }
.sound-volume { display:flex; align-items:center; gap:14px; min-width:210px; }
.sound-volume label { white-space:nowrap; font-size:14px; }
.sound-volume [data-slot="slider"] { width:110px; }
.sound-controls p { flex-basis:100%; margin:0; font-size:14px; color:var(--muted-foreground); }

button{border:1px solid #58636b;background:#202b32;color:#f7f5ef;padding:10px 16px;border-radius:9px;font-weight:700}button[aria-pressed="true"]{background:#e7b878;color:#172028}input[type=range]{width:110px;accent-color:#e7b878}[hidden]{display:none!important}