:root{color-scheme:dark;--bg:#11151b;--surface:#1a2029;--surface2:#202833;--line:rgba(255,255,255,.08);--text:#f2f3f5;--muted:#929ba8;--accent:#d8f078;--accent-ink:#1d2510;--blue:#91b9ff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#293543 0,transparent 52%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.app-shell{max-width:1700px;margin:auto;padding:18px 26px 12px}.topbar{height:42px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.brand{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.19em;font-weight:700}.brand-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:var(--accent-ink);font-size:19px}.topbar-date{font-size:13px;color:var(--muted)}.icon-button,.text-button,.small-button{border:0;background:none}.icon-button{font-size:20px;color:var(--muted);width:40px;height:40px;border-radius:12px}.icon-button:hover,.text-button:hover{background:var(--surface2);color:var(--text)}.dashboard{display:grid;grid-template-columns:minmax(350px, .38fr) minmax(0, .62fr);gap:14px;align-items:stretch}.left-column{display:grid;grid-template-rows:auto auto minmax(140px,1fr) auto;gap:12px;min-width:0}.panel{background:linear-gradient(145deg,rgba(31,39,50,.96),rgba(24,30,39,.97));border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 12px 40px rgba(0,0,0,.1);min-width:0}.hero{min-height:155px;display:flex;align-items:center;justify-content:space-between;padding:17px 22px;position:relative;overflow:hidden;background:linear-gradient(110deg,#252f3a,#1a2028 65%,#222c29)}.hero:after{content:'';position:absolute;width:220px;height:220px;right:8%;top:-140px;border-radius:50%;border:1px solid rgba(216,240,120,.1);box-shadow:0 0 0 35px rgba(216,240,120,.025),0 0 0 75px rgba(216,240,120,.02)}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--muted)}.clock{font-weight:500;font-size:clamp(64px,7vw,96px);letter-spacing:-.08em;line-height:1;margin:8px 0 4px;font-variant-numeric:tabular-nums}.hero-date{font-size:14px;color:#c1c7cf}.hero-status{align-self:flex-start;display:flex;gap:8px;align-items:center;font-size:11px;color:#bdc5cf;background:rgba(0,0,0,.16);padding:8px 10px;border-radius:30px;z-index:1}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px rgba(216,240,120,.6)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2,.modal h2{font-weight:600;font-size:19px;letter-spacing:-.03em;margin:4px 0 0}.text-button{font-size:11px;color:var(--muted);padding:7px 9px;border-radius:8px}.agenda-panel{min-height:0;overflow:auto}.agenda{display:flex;flex-direction:column;gap:1px}.agenda-row{display:grid;grid-template-columns:48px 3px 1fr;gap:9px;align-items:center;padding:7px 2px}.agenda-time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.agenda-mark{width:3px;height:30px;background:var(--blue);border-radius:3px}.agenda-title{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.empty-state{padding:13px 9px;color:var(--muted);font-size:12px;text-align:center;border:1px dashed var(--line);border-radius:10px}.weather-panel{padding-bottom:13px}.weather-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weather-day{text-align:center;display:grid;gap:3px;justify-items:center;padding:8px 3px;background:rgba(0,0,0,.12);border-radius:11px;min-width:0}.weather-day-name{font-size:10px;color:var(--muted)}.weather-icon{font-size:22px;line-height:1.2}.weather-condition{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.weather-temps{font-size:12px;font-weight:600;white-space:nowrap}.weather-temps span{font-size:10px;color:var(--muted);font-weight:400}.player-panel{padding:15px 17px}.player-panel .section-heading{margin-bottom:10px}.now-playing{display:flex;align-items:center;gap:10px}.album-art{width:46px;height:46px;flex:none;border-radius:11px;background:linear-gradient(135deg,#d8f078,#879d48);color:#35401a;display:grid;place-items:center;font-size:23px}.track-meta{min-width:0;flex:1}.track-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:10px;color:var(--muted);margin-top:4px}.player-controls{display:flex;gap:2px;align-items:center}.player-controls button{border:0;background:none;color:#c2c8d0;font-size:13px;padding:6px}.player-controls .play-button{background:var(--accent);color:var(--accent-ink);width:34px;height:34px;border-radius:50%;font-size:12px;padding-left:10px}.progress-row{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--muted);margin:12px 0 10px;font-variant-numeric:tabular-nums}.progress-row input{flex:1}.player-footer{display:flex;align-items:center;gap:8px}.volume-control{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:6px;flex:1;white-space:nowrap}.volume-control input{width:55px}.player-footer select,.field input,.field select{color:var(--text);background:#131920;border:1px solid var(--line);border-radius:8px;padding:8px 9px;max-width:132px;font-size:10px}.small-button{background:var(--surface2);border-radius:8px;padding:8px 9px;font-size:10px;color:var(--text)}input[type=range]{accent-color:var(--accent);height:4px}.schedule-inline{display:flex;justify-content:space-between;align-items:center;margin-top:10px;border-top:1px solid var(--line);padding-top:6px}.schedule-list{display:flex;flex-direction:column;gap:5px;max-height:80px;overflow:auto}.schedule-list .empty-state{padding:7px;border:0}.schedule-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:rgba(0,0,0,.13);border-radius:9px}.schedule-time{font-weight:600;font-size:13px;width:43px;font-variant-numeric:tabular-nums}.schedule-description{flex:1;font-size:10px}.schedule-days{font-size:9px;color:var(--muted);margin-top:2px}.schedule-row button{border:0;background:transparent;color:var(--muted)}.toggle{accent-color:var(--accent)}.week-panel{padding:17px 17px 12px;display:flex;flex-direction:column;min-height:calc(100vh - 92px)}.week-heading{margin-bottom:12px}.week-nav{display:flex;gap:2px}.week-nav .text-button{white-space:nowrap}.week-calendar{display:flex;flex-direction:column;flex:1;min-height:0}.week-head{display:grid;grid-template-columns:48px 1fr;border-bottom:1px solid var(--line)}.time-head{font-size:9px;color:var(--muted);text-align:center;padding:7px 0}.day-heads{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-head{display:flex;justify-content:center;align-items:center;gap:5px;padding:6px 2px;font-size:10px;color:var(--muted)}.day-head b{width:21px;height:21px;display:grid;place-items:center;font-size:11px;font-weight:500;border-radius:50%;color:var(--text)}.day-head.is-today{color:var(--accent)}.day-head.is-today b{background:var(--accent);color:var(--accent-ink)}.week-scroll{display:grid;grid-template-columns:48px 1fr;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.time-axis{display:grid;grid-template-rows:repeat(24,minmax(24px,1fr));padding-right:6px}.time-label{height:100%;font-size:9px;color:var(--muted);text-align:right;transform:translateY(-6px);font-variant-numeric:tabular-nums}.week-grid-body{position:relative;min-height:600px}.week-columns{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-column{display:grid;grid-template-rows:repeat(24,minmax(24px,1fr));border-left:1px solid var(--line)}.day-column:last-child{border-right:1px solid var(--line)}.hour-cell{border-top:1px solid var(--line);min-height:24px}.week-overlay{position:absolute;inset:0;pointer-events:none}.week-event{position:absolute;box-sizing:border-box;padding:3px 4px;background:rgba(145,185,255,.22);border-left:2px solid var(--blue);border-radius:4px;overflow:hidden;color:#e5edff;font-size:9px;line-height:1.25;pointer-events:auto;min-width:0}.week-event b,.week-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-event span{opacity:.75;font-size:8px;margin-top:2px}.week-empty{position:absolute;top:42%;left:20%;width:60%;text-align:center;color:var(--muted);font-size:12px}.week-legend{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;padding-top:8px}.legend-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.footer{display:flex;justify-content:space-between;padding:10px 2px 0;font-size:9px;letter-spacing:.08em;color:#6f7884}.modal-backdrop{position:fixed;inset:0;background:rgba(4,7,11,.73);display:grid;place-items:center;padding:20px;z-index:10}.modal-backdrop[hidden]{display:none}.modal{width:min(540px,100%);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#1b222b;padding:23px;box-shadow:0 22px 80px #0008}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.form-grid{display:grid;gap:12px}.field{display:grid;gap:7px;font-size:12px;color:#b8c0ca}.field input,.field select{width:100%;max-width:none;padding:10px 11px;font-size:12px}.form-grid small{font-size:10px;line-height:1.5;color:var(--muted)}.checkbox-line{display:flex;gap:8px;align-items:center;color:#b8c0ca;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.primary-button,.secondary-button{padding:10px 15px;border-radius:9px;border:0;font-weight:600}.primary-button{background:var(--accent);color:var(--accent-ink)}.secondary-button{background:var(--surface2)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e5f69c;color:#202714;padding:11px 17px;border-radius:10px;font-size:13px;transition:.2s;z-index:20}.toast.visible{opacity:1;transform:translate(-50%,0)}body.light-theme{--bg:#e8ebef;--surface:#fff;--surface2:#edf0f4;--line:rgba(12,20,31,.1);--text:#202631;--muted:#687280;background:radial-gradient(ellipse at 50% -20%,#d0d9e2 0,transparent 52%),var(--bg)}body.light-theme .panel{background:linear-gradient(145deg,#fff,#f7f9fb)}body.light-theme .hero{background:linear-gradient(110deg,#dce5eb,#f4f6f5)}body.light-theme .field input,body.light-theme .field select,body.light-theme .player-footer select{background:#fff;color:var(--text)}
@media(max-width:900px){.app-shell{padding:12px}.dashboard{grid-template-columns:minmax(300px,.42fr) minmax(0,.58fr);gap:10px}.left-column{gap:9px}.panel{padding:13px}.hero{min-height:135px;padding:14px}.clock{font-size:clamp(55px,8vw,78px)}.week-panel{padding:13px;min-height:calc(100vh - 76px)}.week-head,.week-scroll{grid-template-columns:40px 1fr}.day-head{font-size:9px}.week-nav .text-button{font-size:9px;padding:6px 5px}.time-axis{padding-right:4px}}
@media(max-width:680px){.app-shell{padding:10px}.dashboard{grid-template-columns:1fr}.left-column{display:grid;grid-template-rows:auto auto auto auto}.week-panel{min-height:76vh}.clock{font-size:76px}.hero{min-height:150px}.week-head,.week-scroll{grid-template-columns:38px 1fr}.week-event{font-size:8px;padding:2px}.week-event span{font-size:7px}.week-nav .text-button{font-size:10px}.topbar{margin-bottom:8px}}
.time-axis{position:relative}.time-axis .day-end{position:absolute;bottom:-5px;right:6px;height:auto;transform:none}
.clock{font-size:84px}@media(max-width:900px){.clock{font-size:64px}}@media(max-width:680px){.clock{font-size:76px}}
