/* v35: reference-led typography and compact summaries. All content remains native UI. */
.widget.plugin-expanded>.widget-heading h2{font-size:20px;line-height:1.4;display:flex;align-items:center;gap:10px}.widget.plugin-expanded>.widget-heading h2 svg{width:24px;height:24px}.widget.plugin-expanded>.widget-heading{min-height:44px;margin-bottom:14px}
.widget.plugin-expanded:has(.calendar-summary){background:rgb(247 248 251 / calc(.65 + var(--glass-alpha,.7)*.35));backdrop-filter:blur(var(--glass-blur,18px));--surface:#f3f4f7;--surface-soft:#ffffff80;--text:#292e39;--muted:#717785;--line:#22283b18;--accent:#427fe4;--accent-soft:#4386e51a;color:var(--text)}
body.dark .widget.plugin-expanded:has(.calendar-summary){background:rgb(29 29 32 / calc(.65 + var(--glass-alpha,.7)*.35));--surface:#242427;--surface-soft:#ffffff09;--text:#f0f1f4;--muted:#a6a9b1;--line:#ffffff13;--accent:#6c9df1;--accent-soft:#6196e91a;color:var(--text)}
.canvas-widget:not(.plugin-expanded) .plugin-detail-tools{gap:0}.canvas-widget:not(.plugin-expanded) .plugin-detail-tools .icon-button{width:32px;min-width:32px;height:32px;min-height:32px}.canvas-widget:not(.plugin-expanded) .plugin-detail-tools svg{width:16px;height:16px}
.canvas-editing>.canvas-widget>.plugin-content{pointer-events:none}.canvas-widget[data-canvas-compact=true]:not(.plugin-expanded){padding:12px}
.canvas-widget:not(.plugin-expanded) .tools-shortcuts{height:100%;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.canvas-widget:not(.plugin-expanded) .tools-shortcut{padding:9px 3px;gap:7px;align-content:center;min-height:0;font-size:11px}.canvas-widget:not(.plugin-expanded) .tools-shortcut svg{width:22px;height:22px}
.canvas-widget[data-canvas-rows="1"]:not(.plugin-expanded) .rss-summary-list button:nth-child(n+3){display:none}.canvas-widget:not(.plugin-expanded) .rss-summary-list button{padding:7px 0;font-size:12px;line-height:1.45}.canvas-widget:not(.plugin-expanded) .rss-summary-count{font-size:11px;margin-bottom:5px}
.canvas-widget:not(.plugin-expanded) .weather-snapshot{height:100%;min-height:0;padding:9px 12px;border-radius:12px;box-sizing:border-box;background:linear-gradient(120deg,#344966,#596f8e)}.canvas-widget:not(.plugin-expanded) .weather-card-temp{font-size:29px;line-height:1.05;margin:3px 0 5px}.canvas-widget:not(.plugin-expanded) .weather-card-city{font-size:11px}.canvas-widget:not(.plugin-expanded) .weather-card-condition{font-size:10px;line-height:1.3}.canvas-widget:not(.plugin-expanded) .weather-card-condition svg{width:20px;height:20px}.canvas-widget:not(.plugin-expanded) .weather-mini-days{gap:3px;font-size:9px}.canvas-widget:not(.plugin-expanded) .weather-mini-days>span{gap:3px}.canvas-widget:not(.plugin-expanded) .weather-mini-days svg{width:17px;height:17px}.canvas-widget:not(.plugin-expanded) .weather-source{display:none}
.calendar-summary{display:flex;flex-direction:column;gap:7px}.calendar-month-summary{display:flex;flex-direction:column;flex:1;min-height:0}.calendar-month-summary>.calendar-month-head{flex:none;margin:0 0 5px;font-size:11px}.calendar-month-summary>.calendar-month-head strong{font-size:13px}.calendar-month-summary>.calendar-grid{flex:1;min-height:0;grid-template-rows:16px repeat(6,minmax(0,1fr));gap:2px}
.calendar-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;min-height:0;height:auto;line-height:1.1;padding:5px 2px}.calendar-grid button strong{font-weight:600}.calendar-grid button small{font-size:11px;line-height:1.2;color:var(--muted);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-grid .weekend{color:#df6c75}.calendar-grid .calendar-special{color:#719fea}.calendar-grid button.today{background:#347cf0;color:white;box-shadow:none}.calendar-grid button.today small{color:#eef5ff}.calendar-grid button[aria-selected=true]:not(.today){box-shadow:inset 0 0 0 1px #7298d0}.calendar-grid button.rest{background:color-mix(in srgb,#b74c57 13%,var(--surface))}.calendar-grid button.work .calendar-holiday-flag{background:#657a9c}
.calendar-holiday-flag{position:absolute;right:3px;top:3px;font-style:normal;font-size:10px;line-height:13px;border-radius:3px;padding:0 2px;background:#d85d66;color:white}.calendar-month-summary .calendar-grid button{min-height:0;height:auto;gap:2px;font-size:12px;border-radius:6px;padding:2px}.calendar-month-summary .calendar-grid button small{font-size:9px}.calendar-month-summary .calendar-grid .calendar-holiday-flag{font-size:8px;line-height:10px;right:1px;top:1px}.calendar-month-summary .calendar-grid>span{padding:0;font-size:10px}
.calendar-next-date{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:27px!important;flex:none;border-top:1px solid var(--line);padding:5px 0 0;font-size:11px;text-align:left;width:100%}.calendar-next-date>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-next-date>strong{font-size:10px;white-space:nowrap;color:var(--accent)}.calendar-today-tile{display:none;align-items:center;justify-content:center;gap:14px;flex:1;width:100%;text-align:left}.calendar-today-tile>strong{font-size:48px;color:#4d8bf1;font-weight:600;line-height:1}.calendar-today-tile>span{font-size:12px}.calendar-today-tile small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.canvas-widget[data-canvas-rows="1"] .calendar-month-summary{display:none}.canvas-widget[data-canvas-rows="1"] .calendar-today-tile{display:flex}
.calendar-detail-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:0 0 18px}.calendar-detail-tabs button{padding:10px 16px;border-bottom:3px solid transparent;font-size:14px;min-height:44px}.calendar-detail-tabs button[aria-pressed=true]{color:#6fa2f2;border-color:#4e8df2}.calendar-detail-tabs small{color:var(--muted);font-size:11px}
.calendar-layout.calendar-upgraded{grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:16px}.calendar-month-panel,.calendar-date-side{border:1px solid var(--line);border-radius:var(--r-large);background:color-mix(in srgb,var(--surface) 94%,var(--text));padding:20px;min-width:0}.calendar-month-panel{display:flex;flex-direction:column;min-height:560px}.calendar-month-controls{display:grid;grid-template-columns:36px minmax(100px,1.4fr) minmax(70px,1fr) 36px auto;align-items:center;gap:8px}.calendar-month-controls select,.calendar-month-controls .nav-select{min-width:0;max-width:100%;width:100%}.calendar-month-controls .ts-control{min-width:0}.calendar-month-controls .secondary-button{padding:8px 12px;min-height:40px}.calendar-month-controls .icon-button{width:36px;min-width:36px}
.calendar-display-options{display:flex;justify-content:flex-end;gap:14px;font-size:11px;color:var(--muted);margin:12px 0}.calendar-display-options label{display:flex;align-items:center;gap:6px}.calendar-display-options input{width:14px;height:14px;min-height:0;accent-color:#4e8df2}.calendar-upgraded .calendar-grid{flex:1;grid-template-rows:28px repeat(6,minmax(48px,1fr));gap:5px}.calendar-upgraded .calendar-grid button{font-size:18px;border-radius:10px}.calendar-upgraded .calendar-grid>span{font-size:13px;padding:5px}.calendar-holiday-notice{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.calendar-month-controls{display:flex;flex-wrap:wrap}.calendar-month-controls>label{display:block;min-width:0;flex:none}.calendar-month-controls>.calendar-year-field{width:118px}.calendar-month-controls>.calendar-month-field{width:84px}.calendar-month-controls>label .nav-select{width:100%;min-width:0}.calendar-month-controls .ts-control{font-size:13px;min-height:38px;padding:8px;gap:6px}.calendar-month-controls>[data-calendar-today]{margin-left:auto}
.calendar-selected-heading{font-size:14px;line-height:1.7}.calendar-selected-date{display:flex;align-items:center;gap:18px;padding:20px 0 24px;border-bottom:1px solid var(--line);margin-bottom:20px}.calendar-selected-date>strong{display:grid;place-items:center;width:84px;height:94px;flex:none;background:#387ff0;border-radius:16px;font-size:48px;line-height:1;color:white}.calendar-selected-date>span{font-size:16px;line-height:1.6}.calendar-selected-date small{display:block;color:var(--muted);font-size:11px}.calendar-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-section-heading h3{font-size:14px;margin:0}.calendar-date-side>section{margin-top:18px}.calendar-event-row{gap:8px;padding:12px 0}.calendar-event-symbol{color:#7b9bc7;flex:none}.calendar-event-symbol svg{width:19px;height:19px}.calendar-event-copy{flex:1;min-width:0}.calendar-event-copy strong{font-size:12px;font-weight:550}.calendar-event-copy small{font-size:10px;line-height:1.5}.calendar-countdown{font-size:11px;white-space:nowrap;color:var(--accent)}.calendar-event-row .icon-button{width:32px;min-width:32px;min-height:36px}.calendar-event-row .icon-button svg{width:14px;height:14px}
.calendar-all-events,.calendar-editor-panel{padding:20px;max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-large);background:var(--surface)}.calendar-all-events>.calendar-section-heading{margin-bottom:12px}.calendar-editor-panel h3{font-size:17px;margin:0 0 20px}.calendar-editor-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-lunar-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.calendar-lunar-fields[hidden],.calendar-editor [hidden]{display:none!important}.calendar-editor .plugin-label{font-size:12px}.calendar-editor :is(input,select){min-height:42px;min-width:0;width:100%}.calendar-editor .calendar-checks input{width:16px;min-height:0}.calendar-editor .plugin-message:empty{display:none}
/* Weather uses one quiet blue-grey canvas, with reference-style aligned diagrams. */
.widget.plugin-expanded:has(.weather-upgraded){background:#dce7f4;--text:#243e5e;--muted:#536d8b;--surface:#d5e1f0;--surface-soft:#ffffff45;--line:#4f71942b;color:var(--text)}
body.dark .widget.plugin-expanded:has(.weather-upgraded){background:#425773;--text:#f3f6fc;--muted:#cad6e6;--surface:#3d526f;--surface-soft:#ffffff0c;--line:#dbe7f52b;color:var(--text)}
.weather-upgraded{grid-template-columns:minmax(0,1fr) 225px;gap:20px}.weather-upgraded .weather-main{gap:16px;align-content:start}.weather-upgraded .weather-hero{padding:4px 0}.weather-upgraded .weather-hero h3{font-size:14px;margin:0 0 4px}.weather-upgraded .weather-hero>.plugin-muted{font-size:10px;margin:0 0 12px}.weather-upgraded .weather-current-line{gap:22px;margin:10px 0 18px}.weather-upgraded .weather-current-line>strong{font-size:76px;font-weight:550;line-height:1}.weather-current-condition{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:center;font-size:12px}.weather-current-condition svg{grid-row:1/4;width:40px!important;height:40px!important;color:#e8b45a}.weather-current-condition strong{font-size:17px}.weather-current-condition span{color:var(--muted);line-height:1.7}
.weather-upgraded .weather-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0 0}.weather-metrics>span{display:grid;grid-template-columns:20px 1fr;gap:3px 7px;min-width:0;border-right:1px solid var(--line);padding-right:8px}.weather-metrics>span:last-child{border:0}.weather-metrics>span svg{grid-row:1/3;width:18px;height:18px;align-self:center;color:var(--muted)}.weather-metrics>span small{font-size:10px;color:var(--muted)}.weather-metrics>span strong{font-size:11px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.weather-update-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.weather-update-row>small{font-size:10px;color:var(--muted)}.weather-update-row button{min-height:32px;font-size:11px}
.weather-chart-section{padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px;min-width:0}.weather-chart-section h3{font-size:13px;margin:0 0 12px}.weather-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.weather-chart-heading h3{margin:0;white-space:nowrap}.weather-metric-tabs{display:flex;border-radius:10px;background:var(--surface-soft);padding:3px;gap:2px}.weather-metric-tabs button{min-height:32px;font-size:11px;padding:5px 10px;white-space:nowrap;border-radius:8px}.weather-metric-tabs button[aria-pressed=true]{background:#ffffff24;box-shadow:0 1px 5px #0001;color:var(--text)}
.weather-hours-content{min-width:840px;width:100%}.weather-hour-labels{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));font-size:10px}.weather-hour-labels>span{display:grid;justify-items:center;gap:8px}.weather-hour-labels small{font-size:10px;color:var(--muted)}.weather-hour-labels svg{width:20px;height:20px}.weather-upgraded .weather-hour-chart{min-width:0;width:100%;height:132px;color:#6eacf5;overflow:visible}.weather-hour-chart .weather-grid-line{stroke:var(--line);stroke-width:1}.weather-hour-line{stroke:currentColor;stroke-width:2}.weather-hour-chart circle{fill:currentColor}.weather-hour-chart text{font-size:11px;fill:var(--text)}.weather-missing-metric{height:120px;display:grid;place-content:center}
.weather-days-scroll{overflow-x:auto;overscroll-behavior-x:contain}.weather-week-content{min-width:630px;width:100%}.weather-week-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weather-week-labels .weather-day{padding:4px 2px;border-right:1px solid var(--line);border-radius:0;background:none;gap:6px;font-size:11px}.weather-week-labels .weather-day:first-child{background:var(--surface-soft);border-radius:10px 10px 0 0}.weather-week-labels .weather-day svg{width:24px;height:24px}.weather-week-labels small{font-size:10px;color:var(--muted)}.weather-daily-chart{width:100%;height:140px;overflow:visible;display:block}.weather-daily-chart polyline{stroke:currentColor;stroke-width:2}.weather-daily-chart circle{fill:currentColor;stroke:var(--surface);stroke-width:1.5}.weather-daily-chart text{fill:var(--text);font-size:12px}.weather-daily-high{color:#dd9460}.weather-daily-low{color:#70a7e5}body.dark .weather-daily-high{color:#f1b88a}body.dark .weather-daily-low{color:#b7d9ff}
.weather-week-wind{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:10px;text-align:center;color:var(--muted)}.weather-week-wind>span{display:grid;grid-template-columns:14px auto;justify-content:center;align-items:center;gap:2px}.weather-week-wind svg{width:12px;height:12px}.weather-week-wind small{grid-column:1/-1;font-size:10px}.weather-chart-legend{display:flex;justify-content:center;gap:20px;font-size:10px;margin:12px 0 0;color:var(--muted)}.weather-chart-legend span:before{content:'';width:12px;height:2px;display:inline-block;margin-right:5px;background:#df9c6c;vertical-align:middle}.weather-chart-legend span:last-child:before{background:#8db8eb}
.weather-upgraded .weather-city-panel{padding-left:16px;gap:12px}.weather-upgraded .weather-city-panel>.plugin-row{font-size:13px;justify-content:space-between}.weather-upgraded .weather-city-entry{background:transparent;border-color:transparent;padding:14px 10px}.weather-upgraded .weather-city-entry[aria-pressed=true]{border-color:var(--line);background:var(--surface-soft);box-shadow:inset 3px 0 #8cb7ee}.weather-upgraded .weather-city-entry strong{font-size:13px}.weather-upgraded .weather-city-entry small{font-size:10px}.weather-upgraded .weather-source{font-size:10px;line-height:1.8;margin-top:auto}
@container(max-width:220px){.calendar-month-summary{display:none}.calendar-today-tile{display:flex;flex-direction:column;text-align:center;gap:8px}.calendar-today-tile>strong{font-size:42px}.weather-mini-days{display:none!important}.weather-card-condition br:last-of-type{display:none}.canvas-widget .tools-shortcut:nth-child(n+3){display:none}}
@media(max-width:1000px){.calendar-layout.calendar-upgraded{grid-template-columns:minmax(0,1fr)}.calendar-month-panel{min-height:520px}.calendar-date-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-selected-heading,.calendar-selected-date{grid-column:1/-1}.calendar-selected-date{margin-bottom:0;padding:8px 0 16px}.calendar-date-side>section{margin-top:0}.weather-upgraded{grid-template-columns:minmax(0,1fr)}.weather-upgraded .weather-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.calendar-detail-tabs{margin-bottom:12px}.calendar-month-panel,.calendar-date-side{padding:12px;border-radius:16px}.calendar-month-panel{min-height:0}.calendar-month-controls{grid-template-columns:32px minmax(0,1.4fr) minmax(0,1fr) 32px;gap:6px}.calendar-month-controls .icon-button{width:32px;min-width:32px}.calendar-month-controls>[data-calendar-today]{grid-column:1/-1;justify-self:end;min-height:36px}.calendar-upgraded .calendar-grid{grid-template-rows:24px repeat(6,48px);gap:3px}.calendar-upgraded .calendar-grid button{font-size:15px;gap:5px}.calendar-upgraded .calendar-grid button small{font-size:10px}.calendar-date-side{display:block}.calendar-date-side>section{margin-top:18px}.calendar-selected-date>strong{width:70px;height:80px;font-size:40px}.calendar-selected-date>span{font-size:14px}.calendar-all-events,.calendar-editor-panel{padding:14px}.calendar-lunar-fields{gap:7px}.calendar-editor-pair{gap:10px}.calendar-countdown{font-size:10px}.calendar-event-row .icon-button{width:30px;min-width:30px}.calendar-event-symbol{display:none}
.calendar-month-controls{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 44px}.calendar-month-controls>.calendar-year-field,.calendar-month-controls>.calendar-month-field{width:100%}.calendar-grid .calendar-holiday-flag{right:1px;top:1px;font-size:8px;line-height:10px;padding:0 1px}
.weather-upgraded .weather-current-line>strong{font-size:64px}.weather-upgraded .weather-current-line{gap:14px}.weather-current-condition{grid-template-columns:32px 1fr;column-gap:8px}.weather-current-condition svg{width:30px!important;height:30px!important}.weather-current-condition strong{font-size:14px}.weather-upgraded .weather-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weather-upgraded .weather-metrics>span{border:0}.weather-chart-section{padding:12px}.weather-chart-heading{flex-wrap:wrap;gap:10px}.weather-metric-tabs button{min-height:44px;padding:5px 9px}.weather-update-row{align-items:flex-start}.weather-update-row button{min-height:44px}.weather-hours-content{min-width:840px}.weather-upgraded .weather-city-panel{padding:0}.weather-mobile-cities{gap:7px}.weather-mobile-cities button{min-height:44px;font-size:11px;padding:5px 8px}.weather-mobile-cities .ts-control{font-size:11px}.calendar-event-row .icon-button,.calendar-month-controls .icon-button{width:44px;min-width:44px;min-height:44px}.calendar-month-controls>[data-calendar-today]{min-height:44px}}
