:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#101112;color:#F2F0EB;font-family:Arial,sans-serif;margin:0;line-height:1.6}a{color:inherit}button{font:inherit;background:#2448D8;color:#F2F0EB;border:1px solid transparent;border-radius:24px;padding:9px 18px;cursor:pointer}button:hover{filter:brightness(1.15)}button:disabled{background:#292B2E;color:#B6B3AC;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #E6AF45;outline-offset:4px}.shell{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.sidebar{padding:32px 24px;border-right:1px solid #343638}.brand{text-decoration:none;font-size:30px;font-weight:700;letter-spacing:2px}.brand span{display:block;font-size:12px;letter-spacing:4px;color:#B6B3AC}nav{display:grid;gap:8px;margin-top:42px}nav a{text-decoration:none;padding:10px 0;border-bottom:1px solid #343638}.sidebar-note{margin-top:64px;font-size:14px;color:#B6B3AC}main{padding:36px clamp(20px,3vw,48px);max-width:1550px;width:100%}header{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:32px;letter-spacing:-1px;margin:0}h2{font-size:20px;margin:0}h3{font-size:16px}.muted,.identifier,dt,.door-footer{color:#B6B3AC}.notice{border-left:3px solid #E6AF45;background:#1B1D20;padding:12px 16px;margin:24px 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.door{background:#1B1D20;border:1px solid #343638;border-radius:12px;padding:22px;margin-bottom:16px}.door-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.identifier{font-size:13px;letter-spacing:1px}.state{font-size:14px}.good{color:#49B889}.bad{color:#EF6B65}.warn{color:#E6AF45}dl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}dt{font-size:14px}dd{margin:6px 0 0;font-size:17px}.door-footer{border-top:1px solid #343638;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.context{border-left:1px solid #343638;padding-left:24px}.explanation{border-bottom:1px solid #343638;padding:8px 0}.context p{color:#B6B3AC;font-size:15px}.events{margin-top:24px;border-top:1px solid #343638;padding-top:24px}.events ul{list-style:none;padding:0}.events li{padding:12px 0;border-bottom:1px solid #343638}.secondary{background:transparent;border-color:#343638;white-space:nowrap}.small,footer{font-size:14px}footer{margin-top:40px;color:#B6B3AC}#blazor-error-ui{display:none;position:fixed;bottom:0;padding:16px;background:#511F24;width:100%;z-index:100}.loading-progress{width:70px;height:70px;margin:40px}.loading-progress circle{fill:none;stroke:#2448D8;stroke-width:6}.loading-progress-text{margin-left:40px}@media(max-width:1150px){.workspace{grid-template-columns:1fr}.context{border-left:0;border-top:1px solid #343638;padding:20px 0}.context .explanation{display:inline-block;vertical-align:top;width:32%;padding:12px}}@media(max-width:750px){.shell{grid-template-columns:1fr}.sidebar{padding:16px 20px;border-right:0;border-bottom:1px solid #343638}.sidebar .muted,.sidebar-note{display:none}.brand{font-size:22px}.brand span{display:inline;margin-left:12px}nav{display:flex;gap:20px;margin:12px 0 0}nav a{font-size:14px}main{padding:24px 16px}header{align-items:flex-start;flex-direction:column}h1{font-size:28px}dl{grid-template-columns:1fr 1fr}.door-heading,.door-footer{align-items:flex-start;flex-direction:column}.context .explanation{display:block;width:100%}.door{padding:18px}}
.detail-main{margin:0 auto;max-width:1240px}.breadcrumb{display:flex;margin:0 0 24px;gap:16px}.detail-values{grid-template-columns:repeat(2,minmax(0,1fr))}.door h2 a{text-decoration:none}.door h2 a:hover{text-decoration:underline}.detail-values dd{overflow-wrap:anywhere}
.filters{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:28px 0}.filters label{display:grid;gap:8px;flex:1;min-width:180px}.filters input,.filters select{font:inherit;background:#1B1D20;color:#F2F0EB;padding:12px;border:1px solid #343638;border-radius:8px;width:100%}.filters input:focus-visible,.filters select:focus-visible{outline:3px solid #E6AF45}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px;text-align:left}caption{text-align:left;color:#B6B3AC;font-size:14px;padding-bottom:16px}th,td{padding:16px 12px;border-bottom:1px solid #343638;vertical-align:top}th{color:#B6B3AC;font-size:14px}td{font-size:15px}tbody tr:hover{background:#1B1D20}
.saved-notes{list-style:none;padding:0}.saved-notes li{padding:18px 0;border-bottom:1px solid #343638;overflow-wrap:anywhere}
.setup-form{max-width:760px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.form-grid label{display:grid;gap:8px;color:#B6B3AC}.form-grid input{font:inherit;background:#101112;color:#F2F0EB;padding:11px 12px;border:1px solid #343638;border-radius:8px}.form-grid input:focus-visible{outline:3px solid #E6AF45;outline-offset:2px}@media(max-width:750px){.form-grid{grid-template-columns:1fr}}
.secondary-link{margin-left:16px;color:#F2F0EB}
.wall-display{max-width:none;min-height:100vh;padding:clamp(22px,3vw,48px);background:#101112}.wall-header{border-bottom:2px solid #343638;padding-bottom:20px}.wall-header h1{font-size:clamp(34px,3.2vw,58px)}.wall-brand{color:#49B889;letter-spacing:4px;font-size:clamp(18px,1.5vw,28px);font-weight:700;margin:0}.wall-clock{text-align:right;display:grid}.wall-clock strong{font-size:clamp(72px,8vw,132px);font-variant-numeric:tabular-nums;letter-spacing:-4px;line-height:.9}.wall-clock span{color:#F2F0EB;font-size:clamp(22px,2vw,32px);font-weight:700;margin-top:12px}.wall-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.wall-summary article,.wall-door{background:#1B1D20;border:2px solid #343638;border-radius:14px;padding:clamp(20px,2vw,32px)}.wall-summary article{display:grid;gap:8px;align-content:center;min-height:170px}.wall-summary span,.wall-summary small,.wall-door small{color:#D3D0C9}.wall-summary span{font-size:clamp(20px,1.4vw,24px);font-weight:700}.wall-summary strong{font-size:clamp(42px,4vw,64px);line-height:1.1}.wall-summary small{font-size:clamp(18px,1.15vw,21px)}.weather-card b{font-size:clamp(21px,1.4vw,25px)}.wall-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wall-door{margin:0}.wall-door h2{font-size:clamp(30px,2.4vw,42px)}.wall-door .state{font-size:clamp(20px,1.4vw,24px);font-weight:700}.wall-door .identifier{font-size:clamp(16px,1vw,18px)}.wall-door-state{display:block;font-size:clamp(42px,4.5vw,72px);line-height:1.05;margin:24px 0}.wall-door dl{grid-template-columns:1fr 1fr;margin:16px 0}.wall-door dt{font-size:clamp(19px,1.3vw,22px)}.wall-door dd{font-size:clamp(38px,3.5vw,56px);font-weight:700;line-height:1.1}.wall-door small{font-size:clamp(16px,1vw,18px)}@media(max-width:850px){.wall-summary,.wall-doors{grid-template-columns:1fr}.wall-clock{text-align:left}.wall-header{align-items:flex-start}.wall-clock strong{font-size:72px;letter-spacing:-2px}}
.weekdays{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #343638;border-radius:8px;margin:22px 0;padding:14px}.weekdays legend{color:#B6B3AC;padding:0 6px}.weekdays label{white-space:nowrap}
.weather-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#18334A,#1B1D20)!important}.weather-card>*:not(.weather-scene){position:relative;z-index:2;text-shadow:0 2px 8px #000}.weather-scene{position:absolute;inset:0;z-index:0;opacity:.75}.weather-sun{background:linear-gradient(135deg,#375B74,#9C6B24)!important}.weather-sun .weather-scene:before,.weather-partly .weather-scene:before{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:28px;top:22px;background:#FFD15C;box-shadow:0 0 42px #F6B93B}.weather-cloud,.weather-partly{background:linear-gradient(135deg,#304451,#1B252C)!important}.weather-cloud .weather-scene:after,.weather-partly .weather-scene:after,.weather-rain .weather-scene:after,.weather-storm .weather-scene:after{content:"";position:absolute;width:150px;height:45px;border-radius:50px;right:18px;top:72px;background:#B9C3C9;box-shadow:-45px 12px 0 -4px #9EABB3}.weather-rain,.weather-storm{background:linear-gradient(135deg,#172C3B,#151B22)!important}.weather-rain .weather-scene i,.weather-storm .weather-scene i{position:absolute;right:calc(25px + var(--rain-x,0px));top:-20px;width:3px;height:42px;background:#6DC7F0;transform:rotate(14deg);animation:wall-rain 1.1s linear infinite}.weather-rain .weather-scene i:nth-child(1),.weather-storm .weather-scene i:nth-child(1){--rain-x:20px}.weather-rain .weather-scene i:nth-child(2),.weather-storm .weather-scene i:nth-child(2){--rain-x:55px;animation-delay:.3s}.weather-rain .weather-scene i:nth-child(3),.weather-storm .weather-scene i:nth-child(3){--rain-x:90px;animation-delay:.6s}.weather-rain .weather-scene i:nth-child(4),.weather-storm .weather-scene i:nth-child(4){--rain-x:125px;animation-delay:.15s}.weather-rain .weather-scene i:nth-child(5),.weather-storm .weather-scene i:nth-child(5){--rain-x:160px;animation-delay:.45s}@keyframes wall-rain{to{top:110%}}.weather-snow{background:linear-gradient(135deg,#526A78,#283740)!important}.weather-snow .weather-scene i{position:relative;display:inline-block;margin:18px;color:#fff}.weather-snow .weather-scene i:after{content:"❄";font-style:normal;font-size:28px}.weather-fog{background:repeating-linear-gradient(175deg,#536169 0 18px,#303A40 19px 38px)!important}.weather-storm{box-shadow:inset 0 0 55px #67428B}.weather-unknown{background:#1B1D20!important}@media(prefers-reduced-motion:reduce){.weather-scene i{animation:none!important}}
.wall-events{margin-top:14px;border-top:1px solid #343638;padding-top:10px}.wall-events h2{color:#D3D0C9;font-size:18px;margin:0 0 7px}.wall-events ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 10px;padding:0;margin:0}.wall-events li{display:grid;grid-template-columns:80px minmax(145px,.8fr) minmax(0,1.3fr);align-items:center;gap:8px;min-height:36px;background:#17191B;border-left:3px solid #49B889;padding:5px 9px;overflow:hidden}.wall-events time,.wall-events strong,.wall-events span{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-events time,.wall-events span{color:#B6B3AC}.wall-events strong{font-weight:700}@media(max-width:1000px){.wall-events ol{grid-template-columns:1fr}.wall-events li{grid-template-columns:75px 1fr}.wall-events li span{grid-column:2}}
