:root{--display-background:#000;--display-ink:#f7f7f4;--display-muted:#f7f7f4a8;--display-faint:#f7f7f409;--display-line:#f7f7f447;--display-line-soft:#f7f7f424;color:var(--display-ink);background:var(--display-background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Times New Roman,Times,serif}*{box-sizing:border-box}html,body,#root{background:var(--display-background);width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.viewport-shell{--ambient-rgb:255, 255, 255;--ambient-strength:.08;background:var(--display-background);place-items:center;width:100vw;height:100dvh;display:grid;overflow:hidden}.viewport-shell.cursor-hidden,.viewport-shell.cursor-hidden *{cursor:none!important}.dashboard{width:min(100vw,56.25dvh);min-width:0;height:100dvh;padding:max(clamp(2.25rem, 5.2vw, 3.5rem), env(safe-area-inset-top)) max(clamp(2rem, 5.2vw, 3.5rem), env(safe-area-inset-right)) max(clamp(1.25rem, 3.2vw, 2.1rem), env(safe-area-inset-bottom)) max(clamp(2rem, 5.2vw, 3.5rem), env(safe-area-inset-left));background:var(--display-background);grid-template-rows:auto minmax(20rem,1.12fr) auto auto minmax(17rem,.88fr) .9rem;grid-template-columns:minmax(0,1fr);gap:clamp(1.25rem,2.15vh,2.6rem);display:grid;position:relative;overflow:hidden}.topbar,.clock,.current-weather,.weather-unavailable,.forecast-section,.tasks-section,footer{z-index:1;min-width:0;position:relative}.topbar{border-bottom:1px solid var(--display-line-soft);justify-content:space-between;align-items:center;gap:1.5rem;min-height:3.5rem;padding-bottom:clamp(1rem,1.6vh,1.9rem);display:flex}.date,.condition,.weather-unavailable p,footer{margin:0}.date{color:var(--display-muted);letter-spacing:.3em;text-transform:uppercase;font-size:clamp(1rem,2.1vw,1.45rem);font-weight:400;line-height:1.2}.fullscreen-button{border:1px solid var(--display-ink);background:var(--display-ink);min-height:2.8rem;color:var(--display-background);cursor:pointer;letter-spacing:.24em;text-transform:uppercase;border-radius:0;justify-content:center;align-items:center;padding:.7rem 1.15rem;font-size:clamp(.66rem,1.3vw,.82rem);font-weight:700;transition:background .14s,color .14s;display:inline-flex}.fullscreen-button:hover{background:var(--display-background);color:var(--display-ink)}.fullscreen-button:active{background:var(--display-faint)}.fullscreen-button:focus-visible{outline:2px solid var(--display-ink);outline-offset:4px}.clock{width:100%;min-width:0;min-height:0;color:var(--display-ink);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.07em;justify-content:center;align-items:center;font-weight:400;line-height:.78;display:flex}.clock-time{justify-content:center;align-items:center;min-width:0;display:flex;transform:scaleX(.92)}.clock-time>span{font-size:clamp(11.1375rem,42.075vw,28.4625rem)}:-webkit-any(html:fullscreen .clock-time,html:-webkit-full-screen .clock-time){transform:translate(.4rem)scaleX(.92)}:is(html:fullscreen .clock-time,html:fullscreen .clock-time){transform:translate(.4rem)scaleX(.92)}:-webkit-any(html:fullscreen .clock-time>span,html:-webkit-full-screen .clock-time>span){font-size:clamp(10.89rem,41.4563vw,27.8438rem)}:is(html:fullscreen .clock-time>span,html:fullscreen .clock-time>span){font-size:clamp(10.89rem,41.4563vw,27.8438rem)}.clock-colon{margin:0 .025em;transform:translateY(-.045em)}.seconds{color:var(--display-muted);letter-spacing:.08em;font-size:clamp(1.7rem,5.4vw,3.8rem);font-weight:400;line-height:1;position:absolute;bottom:clamp(.35rem,1.35vh,1.2rem);right:0}.current-weather,.weather-unavailable,.tasks-section{border:1px solid var(--display-line);background:var(--display-faint);border-radius:0}.current-weather{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:clamp(2.5rem,6vw,4.5rem);min-height:clamp(17rem,16vh,20rem);padding:clamp(1.8rem,3.6vw,2.3rem);display:grid}.current-summary{align-items:center;gap:clamp(1.15rem,2.6vw,1.8rem);min-width:0;display:flex}.current-icon{width:clamp(5.5rem,14vw,9rem);color:var(--display-ink);text-align:center;flex:none;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;font-size:clamp(5.5rem,13vw,8.5rem);line-height:.9}.temperature{color:var(--display-ink);letter-spacing:-.055em;margin:0;font-size:clamp(5rem,17vw,11.5rem);font-weight:400;line-height:.82}.condition{color:var(--display-muted);letter-spacing:.18em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:.65rem;font-size:clamp(.9rem,2vw,1.25rem);overflow:hidden}.weather-details{align-content:center;gap:0;min-height:100%;margin:0;display:grid}.weather-details div{justify-content:space-between;align-items:center;gap:.8rem;min-height:clamp(3rem,4.6vh,3.8rem);display:flex}.weather-details dt{color:var(--display-muted);letter-spacing:.18em;text-transform:uppercase;font-size:calc(clamp(.7rem,1.45vw,.95rem) + 2px)}.weather-details dd{color:var(--display-ink);white-space:nowrap;margin:0;font-size:calc(clamp(.95rem,1.9vw,1.25rem) + 2px);font-weight:700}.weather-unavailable{align-items:center;gap:1.5rem;min-height:8rem;padding:clamp(1.3rem,3vw,2rem);display:flex}.weather-unavailable>span{color:var(--display-muted);font-size:3.5rem}.weather-unavailable strong{letter-spacing:.18em;text-transform:uppercase;font-size:1.15rem;font-weight:400}.weather-unavailable p{color:var(--display-muted);margin-top:.55rem;font-size:.88rem}.forecast-section{min-height:0}.forecast-grid,.forecast-placeholder{border:1px solid var(--display-line);grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.forecast-card,.forecast-placeholder span{border:0;border-right:1px solid var(--display-line-soft);background:var(--display-faint);border-radius:0;min-width:0;min-height:clamp(7rem,9.4vh,10rem)}.forecast-card:last-child,.forecast-placeholder span:last-child{border-right:0}.forecast-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(.75rem,1.7vw,1.2rem) .3rem;display:flex}.forecast-card time{color:var(--display-muted);font-variant-numeric:tabular-nums;letter-spacing:.2em;font-size:clamp(.62rem,1.3vw,.82rem)}.forecast-icon{min-height:1em;color:var(--display-ink);margin:.4rem 0 .2rem;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;font-size:clamp(1.8rem,4.2vw,2.8rem);line-height:1}.forecast-card strong{color:var(--display-ink);font-size:clamp(1.25rem,2.8vw,1.8rem);font-weight:400}.rain-chance{color:var(--display-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.25rem;font-size:clamp(.52rem,1.05vw,.68rem)}.forecast-placeholder span{background:rgba(var(--ambient-rgb), .025)}.tasks-section{flex-direction:column;min-height:0;padding:clamp(1.25rem,2.8vw,1.85rem);display:flex;overflow:hidden}.tasks-heading{border-bottom:1px solid var(--display-line);justify-content:space-between;align-items:baseline;gap:1rem;min-height:2.6rem;padding-bottom:clamp(.8rem,1.4vh,1.35rem);display:flex}.tasks-heading h2{color:var(--display-ink);letter-spacing:.3em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,1.5vw,.98rem);font-weight:400}.tasks-heading span{color:var(--display-muted);letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.56rem,1.05vw,.7rem)}.tasks-section ul{flex:1;grid-template-rows:repeat(4,minmax(0,1fr));min-height:0;margin:0;padding:0;list-style:none;display:grid}.tasks-section li{border-bottom:1px solid var(--display-line-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.8rem,1.7vw,1.1rem);min-height:3rem;display:grid}.tasks-section li:last-child{border-bottom:0}.task-marker{border:1px solid var(--display-ink);border-radius:50%;width:clamp(.7rem,1.35vw,.88rem);height:clamp(.7rem,1.35vw,.88rem)}.task-label{color:var(--display-ink);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,1.65vw,1.08rem);font-weight:400;overflow:hidden}.task-detail{color:var(--display-muted);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;font-size:clamp(.54rem,1.05vw,.7rem)}footer{color:var(--display-muted);letter-spacing:.16em;text-align:center;text-transform:uppercase;font-size:clamp(.55rem,1vw,.68rem)}@media (orientation:portrait){.dashboard{width:100vw}}@media (height<=1400px){.dashboard{grid-template-rows:auto minmax(16rem,1.02fr) auto auto minmax(13rem,.72fr) .75rem;gap:clamp(.8rem,1.45vh,1.25rem);padding-top:clamp(1.4rem,3vh,2rem);padding-bottom:clamp(.8rem,1.7vh,1.2rem)}.clock-time>span{font-size:clamp(8.91rem,36.5063vw,19.1813rem)}.current-weather,.tasks-section{padding:clamp(.9rem,2vw,1.25rem)}.forecast-card,.forecast-placeholder span{min-height:clamp(5.8rem,8.3vh,7.2rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
