:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light;--bg:#f7f7f8;--card:#fff;--fg:#17191e;--sub:#747983;--border:#e4e5e8;--chip:#f2f3f5;--red:#df3b43;--yellow:#ddb137;--green:#36a67c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);transition:background .2s,color .2s}body.dark{color-scheme:dark;--bg:#0e1013;--card:#191c21;--fg:#f4f4f4;--sub:#979da5;--border:#30343a;--chip:#242830;--red:#ff5b66;--yellow:#f1bd47;--green:#55c999}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:11px;padding:10px 13px;color:var(--fg);background:var(--card)}button:hover{border-color:var(--sub)}button.primary{background:var(--red);border:0;color:white;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}header{display:flex;align-items:center;justify-content:space-between;padding:29px 34px 20px;gap:18px}header p{margin:8px 0 0}.brand{font-size:24px;font-weight:950;letter-spacing:-1.1px}.brand span{font-weight:500;letter-spacing:-.6px}.muted{font-size:12px;color:var(--sub)}.head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.head-actions button{font-size:20px}nav{display:flex;gap:6px;padding:0 34px 17px;border-bottom:1px solid var(--border);overflow:auto}nav button{font-size:12px;font-weight:750;letter-spacing:.03em;color:var(--sub);background:transparent;border:0;white-space:nowrap}nav button.selected{color:var(--fg);background:var(--chip)}main{padding:24px 34px;max-width:1760px;margin:auto;min-height:75vh}.widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.widget{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--green);border-radius:15px;padding:20px;min-height:140px;overflow-wrap:anywhere;box-shadow:0 1px 2px #00000005}.widget.red{border-top-color:var(--red)}.widget.yellow{border-top-color:var(--yellow)}.widget.green{border-top-color:var(--green)}.widget.wide{grid-column:span 2}.widget.full{grid-column:1/-1}.widget h2{font-size:12px;letter-spacing:.09em;font-weight:850;margin:0 0 17px}.widget .tools{float:right;display:flex;gap:7px;margin-top:-5px}.widget .tools button{background:var(--chip);padding:3px 7px;border:0;font-size:12px}.item{border-top:1px solid var(--border);padding:12px 0}.item:first-of-type{border-top:0}.item strong{display:block;font-size:14px;line-height:1.4}.item p{font-size:14px;white-space:pre-wrap;line-height:1.65;margin:8px 0}.meta{font-size:12px;color:var(--sub);margin-top:5px}.tag{display:inline-block;border-radius:7px;background:var(--chip);font-size:11px;color:var(--sub);padding:4px 7px;margin-top:7px}.small{font-size:12px}.weather-temp{font-size:44px;font-weight:740;letter-spacing:-2px}.weather-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.divider{height:1px;background:var(--border);margin:13px 0}.notice{padding:12px 16px;margin-bottom:16px;border-radius:9px;background:#b76a1020;color:var(--fg);border:1px solid #bb9b6680}.empty{color:var(--sub);font-size:13px;padding:10px 0}.login{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:5}.login[hidden],#app[hidden],.modal[hidden],.notice[hidden]{display:none}.login-box{background:var(--card);padding:35px;width:min(410px,calc(100% - 35px));border:1px solid var(--border);border-radius:20px;display:grid;gap:14px}.login-box p{color:var(--sub)}input{width:100%;padding:14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg)}.error{color:var(--red);font-size:13px;min-height:18px}.modal{position:fixed;inset:0;background:#08090cbb;display:grid;place-items:center;z-index:10;padding:16px}.modal-card{max-width:580px;width:100%;background:var(--card);border:2px solid var(--red);border-radius:22px;padding:30px;box-shadow:0 35px 130px #0007}.modal-card h2{font-size:29px;line-height:1.2}.modal-card p{white-space:pre-wrap;line-height:1.6}.modal-card button{width:100%;margin-top:18px;padding:14px}.alert-label{font-size:12px;font-weight:850;letter-spacing:.08em;color:var(--red)}footer{text-align:center;font-size:11px;color:var(--sub);padding:30px}.drag{cursor:grab;user-select:none}.drag:active{cursor:grabbing}#widgets.single{display:block}#widgets.single .widget{margin-bottom:16px}.reader{position:fixed;inset:0;background:var(--bg);color:var(--fg);z-index:9;padding:7vw;overflow:auto}.reader p{font-size:clamp(24px,3vw,52px);line-height:1.5;white-space:pre-wrap}.reader button{float:right}@media(max-width:1050px){.widgets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header{padding:19px;display:block}.head-actions{margin-top:17px}nav{padding:0 12px 12px}main{padding:14px}.widgets{grid-template-columns:1fr}.widget.wide,.widget.full{grid-column:span 1}}
/* First-run administrator setup */
.login-box[hidden],#boot-wait[hidden]{display:none!important}
.setup-label{font-size:11px;letter-spacing:.14em;color:var(--green);font-weight:850}
.login-box h2{font-size:22px;line-height:1.2;margin:0;font-weight:750}
.login-box .field-label{font-size:12px;font-weight:700;margin-bottom:-8px}
.login-box .setup-hint{font-size:12px;line-height:1.5;margin:-4px 0 3px;color:var(--sub)}
.login-box code{border-radius:4px;padding:2px 4px;background:var(--chip);font-size:11px}
#setup-form{max-height:95vh;overflow-y:auto;padding:28px;gap:12px}
