.family-mark[data-v-f9e59c86]{display:inline-grid;place-items:center;color:var(--accent);background:transparent}.family-mark svg[data-v-f9e59c86]{display:block;width:100%;height:100%;stroke:currentColor;fill:none}.fh-school-work-panel,.fh-homework-root{min-width:0}.fh-homework-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 0 12px}.fh-homework-intro>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;row-gap:3px}.fh-homework-intro b{font-size:14px}.fh-homework-intro small{color:var(--muted);font-size:12px}.fh-homework-private{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:var(--panel2);padding:6px 10px;border-radius:100px;color:var(--muted);font-size:11px;font-weight:720}.fh-homework-note{font-size:12px;margin:0 0 18px;line-height:1.55;color:var(--muted)}.fh-homework-note strong{color:var(--text);font-weight:670}.fh-homework-issue{font-size:12px;color:#f5a7a0;border:1px solid #ef909050;border-radius:12px;padding:11px 12px;margin:0 0 12px}.fh-homework-list{display:grid;gap:12px;min-width:0}.fh-homework-entry{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:16px 17px;border:1px solid var(--line);border-radius:17px;background:var(--panel2);min-width:0;transition:border-color .14s,background .14s}.fh-homework-entry-main{min-width:0;flex:1}.fh-homework-entry-heading{display:flex;justify-content:space-between;align-items:baseline;column-gap:14px;row-gap:4px;flex-wrap:wrap;margin-bottom:9px}.fh-homework-entry h4{color:var(--text);margin:0;font-size:15px;font-weight:750;line-height:1.3}.fh-homework-entry-heading small{color:var(--muted);font-size:12px;font-weight:580}.fh-homework-entry p{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:1.55;margin:0}.fh-homework-entry.fh-homework-complete{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--panel2))}.fh-homework-done{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 13px;white-space:nowrap;background:var(--panel);border:1px solid var(--line);color:var(--text);font-weight:730;font-size:12px;border-radius:12px;transition:background .15s,border-color .15s,transform .13s}.fh-homework-done:not(:disabled):hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--panel))}.fh-homework-done:not(:disabled):active{transform:scale(.98)}.fh-homework-done.is-done{background:color-mix(in srgb,var(--accent) 22%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--text)}.fh-homework-done svg{color:var(--accent)}.fh-school-learning-link{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}.fh-school-learning-link>div{display:grid;gap:3px}.fh-school-learning-link b{font-size:13px}.fh-school-learning-link small{font-size:12px}.fh-homework-empty{padding:16px 0;margin:0;font-size:13px}@media(max-width:640px){.fh-homework-entry{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.fh-homework-entry-heading{margin-bottom:10px}.fh-homework-done{align-self:flex-start;min-height:42px;padding:9px 13px}.fh-school-learning-link>.button{width:100%}.fh-homework-private{font-size:10px}}.next-hub{display:grid;gap:17px;min-width:0;padding-bottom:20px}.nx-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.nx-heading h1{margin:5px 0 9px}.nx-heading p{margin:0;max-width:630px}.nx-heading-actions,.nx-sport-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nx-warning,.nx-success,.nx-callout{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);font-size:13px;min-width:0;overflow-wrap:anywhere}.nx-warning{border-color:#e87d6f73;color:#efaba4}.nx-success{color:var(--accent)}.nx-success button{margin-left:auto;min-height:0;padding:0 5px}.nx-callout{color:var(--muted)}.nx-warning a{text-decoration:underline;margin-left:5px}.nx-week-toolbar{display:flex;gap:10px;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:9px 12px}.nx-week-toolbar>button{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--panel2)}.nx-week-toolbar>b{font-size:15px;flex:1;text-align:center}.nx-week-toolbar .nx-today{width:auto;padding:0 12px;color:var(--accent);font-size:12px}.nx-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.nx-day{border-radius:14px;border:1px solid var(--line);background:var(--panel);min-width:0;min-height:113px;padding:12px 8px;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.nx-day small{font-size:12px}.nx-day strong{font-size:24px;line-height:1.2}.nx-day .nx-count{min-width:20px;height:20px;padding:0 5px;border-radius:7px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:700}.nx-day.istoday{border-color:var(--accent)}.nx-day.active{background:var(--accent);color:var(--accent-ink);border-color:transparent}.nx-day.active small,.nx-day.active .nx-count{color:var(--accent-ink)}.nx-day.active .nx-count{background:#ffffff38}.nx-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.nx-panel{min-width:0;display:grid;gap:15px;align-content:start}.nx-panel h3,.nx-card h3{margin:0}.nx-panel h4{font-size:13px;color:var(--muted);margin:7px 0 0}.nx-panel p{margin:0}.nx-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.nx-panel-title>span{color:var(--muted);font-size:12px}.nx-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nx-shortcut-grid>button{border:1px solid var(--line);background:var(--panel2);padding:14px;border-radius:13px;min-height:85px;display:grid;gap:7px;justify-items:start;text-align:left}.nx-shortcut-grid svg{color:var(--accent)}.nx-shortcut-grid b{font-size:13px}.nx-footnote{color:var(--muted);font-size:12px;margin:0;line-height:1.5}.nx-list{display:grid;gap:8px}.nx-line{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);min-width:0;text-align:left}.nx-line>div{flex:1;min-width:0;display:grid;gap:3px}.nx-line b{font-size:13px;overflow-wrap:anywhere}.nx-line small{font-size:11px;overflow-wrap:anywhere}.nx-line-time{min-width:43px;color:var(--accent);font-weight:700;font-size:12px}.nx-empty{color:var(--muted);font-size:13px;padding:17px 12px;text-align:center}.nx-lesson-dot{color:#f2ab65;font-weight:900;font-size:20px}.nx-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nx-metrics>div{background:var(--panel2);border:1px solid var(--line);padding:16px;border-radius:15px;display:grid;gap:4px}.nx-metrics strong{font-size:26px}.nx-metrics small{font-size:11px}.nx-external{padding:12px;border-radius:11px;background:var(--panel2);border:1px solid var(--line);display:grid;gap:4px}.nx-external b{font-size:12px}.nx-external small{font-size:11px}.nx-done{text-decoration:line-through;opacity:.55}.nx-check{width:25px;height:25px;min-height:25px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);color:var(--muted);flex:none}.nx-check.done{background:var(--accent);color:var(--accent-ink)}.nx-action{width:35px;height:35px;min-height:35px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:9px}.nx-sport-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.nx-sport-head h3{font-size:21px}.nx-sport-head p{margin:8px 0}.nx-sport-head small{font-size:11px}.nx-match{display:grid;gap:6px;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}.nx-match strong{font-size:13px;overflow-wrap:anywhere}.nx-match strong span{color:var(--accent)}.nx-match-date{display:flex;align-items:center;justify-content:space-between;gap:9px}.nx-match-date b{font-size:12px}.nx-match-date small{font-size:11px}.nx-match-actions{display:flex;justify-content:space-between;align-items:center}.nx-match-actions button{min-height:32px;padding:5px;color:var(--accent)}.nx-switch{font-size:11px;display:flex;align-items:center;gap:6px;color:var(--muted)}.nx-switch input{accent-color:var(--accent)}.nx-table-wrap{overflow:auto;max-width:100%}.nx-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;text-align:left}.nx-table td,.nx-table th{padding:11px 8px;border-bottom:1px solid var(--line)}.nx-table th{color:var(--muted);font-size:11px}.nx-table tr.own{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);font-weight:800}.nx-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:13px}.nx-card{display:grid;gap:9px;align-content:start;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:17px;min-width:0}.nx-card>small{font-size:11px}.nx-card>b{font-size:16px}.nx-card p{font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.nx-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}.nx-card-actions button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;min-height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);font-size:12px}.nx-assign{display:flex;gap:8px;align-items:center;color:var(--accent);font-size:12px;font-weight:700}.nx-tag{display:inline-block;width:max-content;background:var(--panel2);border-radius:7px;padding:4px 8px;color:var(--accent);font-size:11px}.nx-birthdays{display:grid;gap:7px}.nx-birthdays>div{display:flex;align-items:center;gap:11px;padding:11px;background:var(--panel2);border-radius:11px}.nx-birthdays>div b{flex:1;font-size:13px}.nx-note{position:relative;padding:21px;display:grid;gap:12px;align-content:start}.nx-note>svg{color:var(--accent)}.nx-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px}.nx-templates{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nx-templates span{font-size:12px;color:var(--muted)}.nx-templates button{min-height:36px;padding:8px 12px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);border-radius:10px;font-size:12px}.nx-pack{padding:19px;display:grid;gap:10px;align-content:start}.nx-pack-line{display:flex;align-items:center;gap:11px;color:var(--text);font-size:13px}.nx-pack-line input{width:20px;height:20px;accent-color:var(--accent)}.nx-progress{height:6px;border-radius:6px;background:var(--panel2);overflow:hidden}.nx-progress span{display:block;height:100%;background:var(--accent);transition:width .3s}.nx-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}.nx-forecast-day{padding:18px;background:var(--panel2);border:1px solid var(--line);border-radius:13px;display:grid;gap:10px}.nx-forecast-day svg{color:var(--accent)}.nx-forecast-day strong{font-size:14px}.nx-forecast-day b{font-size:22px}.nx-forecast-day p{font-size:12px;margin:0}.nx-pref{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.nx-pref input{width:21px;height:21px;accent-color:var(--accent)}.nx-alert{width:100%;cursor:pointer}.nx-alert>svg:first-child{color:var(--accent)}.nx-alert>svg:last-child{margin-left:auto;color:var(--muted)}.nx-display{padding:clamp(18px,3vw,34px);border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 4% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 60%),var(--panel);display:grid;gap:21px}.nx-display>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.nx-display>header small{letter-spacing:.15em}.nx-display>header h2{margin:4px 0 0}.nx-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.nx-display-grid>div{background:var(--bg2);border:1px solid var(--line);border-radius:19px;padding:21px;min-width:0;display:grid;align-content:start;gap:11px}.nx-display-grid svg{color:var(--accent)}.nx-display-grid h3{font-size:20px}.nx-display-grid .nx-line{background:var(--panel)}.nx-modal-backdrop{position:fixed;inset:0;z-index:60;background:#050c12b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.nx-editor{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,710px);max-height:min(86dvh,900px);overflow:auto;overscroll-behavior:contain;display:grid;gap:17px;box-shadow:0 27px 90px #00000073}.nx-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.nx-editor .field textarea{width:100%;min-width:0;resize:vertical;padding:12px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);color:var(--text)}.nx-form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.nx-form-actions .danger{margin-right:auto}.nx-overview-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-overview-shortcuts button{display:flex;align-items:center;gap:9px;border-radius:14px;padding:13px 12px;background:var(--panel);border:1px solid var(--line);font-size:12px;font-weight:750;min-height:60px;text-align:left}.nx-overview-shortcuts svg{color:var(--accent);flex:none}@media(max-width:850px){.nx-grid-two,.nx-display-grid,.nx-sport-head{grid-template-columns:1fr}.nx-sport-controls{justify-content:flex-start}}@media(max-width:730px){.next-hub{gap:13px}.nx-heading{align-items:center}.nx-heading h1{font-size:clamp(26px,6vw,34px)}.nx-heading p{font-size:12px}.nx-heading-actions .nx-text-desktop{display:none}.nx-heading-actions .button{padding:10px 12px;min-height:42px}.nx-days{gap:5px}.nx-day{min-height:95px;padding:8px 2px;border-radius:11px}.nx-day small{font-size:10px}.nx-day strong{font-size:20px}.nx-day .nx-count{height:18px;min-width:18px;font-size:10px}.nx-week-toolbar{gap:5px}.nx-week-toolbar>b{font-size:12px}.nx-panel,.nx-display{padding:17px}.nx-display-grid>div{padding:15px}.nx-form-grid{grid-template-columns:1fr}.nx-editor{width:calc(100vw - 22px);max-height:calc(94dvh - env(safe-area-inset-bottom));padding:19px;border-radius:18px}.nx-match-date{flex-wrap:wrap}.nx-card-actions button{font-size:11px}.nx-shortcut-grid>button{min-height:76px}.nx-heading-actions{gap:5px}}@media(prefers-reduced-motion:reduce){.nx-day,.nx-progress span{transition:none}}.nx-display-full{position:fixed;inset:0;z-index:90;border-radius:0;overflow:auto;align-content:start;padding:clamp(22px,4vw,60px);background:var(--bg)}.nx-display-full h2{font-size:clamp(25px,3.5vw,55px)}.nx-display-full .nx-display-grid{min-height:70dvh}.nx-display-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.nx-calendar-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.nx-calendar-heading-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px}.nx-calendar-heading-actions .button[aria-pressed=true]{border-color:var(--accent)}.nx-week-extras{display:grid;gap:17px;margin-top:2px}.nx-week-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 2px;flex-wrap:wrap}.nx-week-intro>div{min-width:0}.nx-week-intro h3{margin:5px 0 7px;font-size:clamp(21px,2.4vw,27px)}.nx-week-intro p{color:var(--muted);font-size:13px;margin:0;line-height:1.5}.nx-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.nx-preview-card{padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.nx-preview-title{display:flex;align-items:center;gap:12px;min-width:0}.nx-preview-title>svg{color:var(--accent);flex:none}.nx-preview-title>div{display:grid;gap:3px;min-width:0}.nx-preview-title h3{font-size:18px;margin:0;line-height:1.24}.nx-preview-title small{font-size:11px;color:var(--muted);line-height:1.4}.nx-preview-rows{display:grid;gap:8px;flex:1;align-content:start}.nx-preview-row{display:flex;gap:11px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:13px;padding:12px;min-width:0}.nx-preview-row>svg{color:var(--accent);flex:none}.nx-preview-row>div{display:grid;gap:5px;min-width:0;flex:1}.nx-preview-row b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.nx-preview-row small{font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.nx-kind-tag{font-size:10px;font-weight:800;padding:6px 7px;min-width:34px;text-align:center;color:var(--accent);border-radius:8px;background:var(--panel);flex:none}.nx-preview-empty{font-size:12px;line-height:1.6;color:var(--muted);background:var(--panel2);padding:14px;border-radius:12px;margin:0}.nx-preview-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.nx-preview-links button{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:9px 11px;min-height:36px;color:var(--text);font-size:12px;font-weight:650}.nx-preview-open{margin-top:auto;display:flex;gap:8px;align-items:center;justify-content:space-between;padding:11px 4px;border-top:1px solid var(--line);font-size:12px;font-weight:750;color:var(--accent)}.nx-preview-open svg{flex:none}.nx-school-source{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);padding:16px 20px;border-radius:18px}.nx-school-source>svg{color:var(--accent);flex:none}.nx-school-source>div{flex:1;min-width:200px;display:grid;gap:4px}.nx-school-source>div b{font-size:14px}.nx-school-source>div p{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.nx-source-count{font-size:12px;font-weight:750;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:4px 7px;vertical-align:middle}.nx-source-meta{font-size:11px;color:var(--muted);display:block;margin-top:5px}.nx-study-list{display:grid;gap:10px}.nx-study-item{display:grid;gap:7px;padding:15px;background:var(--panel2);border:1px solid var(--line);border-radius:13px;min-width:0}.nx-study-item-head{display:flex;align-items:center;justify-content:space-between;gap:11px;flex-wrap:wrap}.nx-study-item-head strong{font-size:14px}.nx-study-item small{color:var(--muted);font-size:12px}.nx-study-item p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;font-size:13px}.nx-status{font-size:10px;border-radius:8px;background:var(--panel);border:1px solid var(--line);padding:5px 9px;color:var(--accent)}.nx-status.complete{color:var(--muted)}@media(max-width:880px){.nx-preview-grid{grid-template-columns:1fr}}@media(max-width:730px){.nx-calendar-heading-actions{width:100%;justify-content:stretch}.nx-calendar-heading-actions .button{flex:1;min-width:0;font-size:12px;padding:10px}.nx-preview-card{padding:16px}.nx-week-intro{align-items:start}.nx-school-source{align-items:flex-start}.nx-school-source>.button{width:100%;justify-content:center}}.nx-sport-help{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:7px}.nx-sport-warning{display:grid;grid-template-columns:22px minmax(0,1fr);gap:13px;align-items:start}.nx-sport-warning>svg{flex:none;margin-top:2px}.nx-sport-warning>div{min-width:0;display:grid;gap:6px}.nx-sport-warning strong{font-size:13px}.nx-sport-warning p{font-size:12px;line-height:1.55;overflow-wrap:break-word;margin:0}.nx-sport-import{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px;flex-wrap:wrap}.nx-sport-import-copy{display:flex;align-items:flex-start;gap:12px;flex:1 1 250px;min-width:0}.nx-sport-import-copy>svg{color:var(--accent);flex:none;margin-top:2px}.nx-sport-import-copy>div{display:grid;gap:5px;min-width:0}.nx-sport-import-copy b{font-size:14px}.nx-sport-import-copy p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}.nx-sport-import-copy small{font-size:11px;color:var(--muted)}.nx-sport-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}.nx-sport-import-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;white-space:nowrap}.nx-sport-file{position:relative;cursor:pointer}.nx-sport-file input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.nx-sport-file:focus-within{outline:2px solid var(--accent);outline-offset:3px}.nx-sport-import-status{flex:1 0 100%;color:var(--muted);font-size:12px;margin:0}@media(max-width:730px){.app-root.mobile-ui .next-hub>.nx-heading{padding-top:9px;align-items:flex-start}.app-root.mobile-ui .next-hub>.nx-heading .nx-heading-copy{min-width:0}.app-root.mobile-ui .next-hub>.nx-heading h1{line-height:1.12}.nx-sport-import{align-items:stretch;gap:15px;padding:17px}.nx-sport-import-actions{width:100%}.nx-sport-import-actions .button{flex:1;min-width:0}.nx-sport-warning{padding:15px}}.nx-sport-source{color:var(--muted,#94a3b8);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere;margin:.6rem 0 .9rem}.nx-public-json-import{align-items:flex-start}.nx-public-json-import .nx-sport-import-copy{flex-basis:100%}.nx-public-json-import .nx-sport-import-actions{width:100%;justify-content:flex-start}.nx-public-json-import .nx-sport-import-actions .button{white-space:normal;text-align:center;overflow-wrap:break-word}.nx-json-paste{display:grid;gap:10px;flex:1 0 100%;min-width:0;width:100%}.nx-json-paste label{font-size:13px;font-weight:700}.nx-json-paste textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:110px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:inherit;font-size:12px;resize:vertical;overflow-wrap:anywhere}.nx-json-paste .button{justify-self:start}@media(max-width:730px){.nx-public-json-import .nx-sport-import-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-public-json-import .nx-sport-import-actions .button{width:100%;padding:10px 8px;font-size:12px;line-height:1.4}}.nx-auto-status{gap:11px}.nx-auto-status-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.nx-auto-status-title>svg{color:var(--accent);flex:none;margin-top:2px}.nx-auto-status-title>div{min-width:0;display:grid;gap:5px}.nx-auto-status-title b{font-size:14px}.nx-auto-status-title small{font-size:12px;line-height:1.55;color:var(--muted)}.nx-source-updated{font-size:12px;color:var(--muted);padding:9px 12px;border-radius:10px;background:var(--panel2)}.nx-change-list{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.nx-change-list>strong{font-size:12px;color:var(--accent)}.nx-change-line{font-size:12px;line-height:1.5;padding:10px 12px;border-radius:10px;background:var(--panel2);overflow-wrap:anywhere}.nx-rank-tie{font-size:10px;color:var(--accent);font-weight:750;margin-left:2px}.nx-hall-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:650;color:var(--accent);min-width:0;overflow-wrap:anywhere}.nx-match-date small{min-width:0;text-align:right;overflow-wrap:anywhere}.nx-match-actions{gap:10px;flex-wrap:wrap}.nx-sport-overview{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:17px;align-items:start}.nx-sport-league-tag{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750;letter-spacing:.07em;color:var(--accent);flex-wrap:wrap}.nx-sport-title-row{align-items:center;flex-wrap:wrap;row-gap:12px}.nx-sport-title-row h3{font-size:clamp(20px,2vw,24px)}.nx-sport-title-row .nx-switch{font-size:12px;white-space:nowrap}.nx-sport-match-group{display:grid;gap:10px;min-width:0}.nx-match-group-title{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid var(--line);padding-top:13px}.nx-match-group-title h4{font-size:13px;margin:0;color:var(--muted)}.nx-match-group-title>span{font-size:11px;color:var(--muted)}.nx-match-list{display:grid;gap:9px;min-width:0}.nx-match-card{display:grid;gap:12px;padding:13px 15px;border-radius:14px;background:var(--panel2);border:1px solid var(--line);min-width:0}.nx-match-card-own{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.nx-match-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;font-size:11px;font-weight:650;color:var(--muted)}.nx-match-header>span{display:inline-flex;align-items:center;gap:5px;min-width:0}.nx-match-header svg{color:var(--accent);flex:none}.nx-scoreline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0}.nx-team{font-size:13px;line-height:1.3;min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.nx-team-home{text-align:right}.nx-team-guest{text-align:left}.nx-score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:49px;min-height:40px;padding:6px 8px;border-radius:11px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:800}.nx-score-pill.is-result{font-size:18px;color:var(--text);border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.nx-match-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border-top:1px solid var(--line);padding-top:8px}.nx-match-footer .nx-hall-link,.nx-hall-text{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:1;font-size:11px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.nx-match-footer .nx-hall-link{color:var(--accent)}.nx-match-footer .nx-hall-link svg,.nx-hall-text svg{flex:none}.nx-match-footer .nx-hall-link span{min-width:0}.nx-game-calendar{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:35px;padding:6px 9px;border-radius:9px;border:1px solid var(--line);background:var(--panel);font-size:11px;font-weight:700;color:var(--accent)}.nx-game-calendar svg{flex:none}.nx-sport-table-wrap{overflow:visible;min-width:0;max-width:100%}.nx-league-table{width:100%;table-layout:fixed;white-space:normal;font-size:12px}.nx-league-table td,.nx-league-table th{box-sizing:border-box;padding:11px 5px;overflow-wrap:anywhere;vertical-align:middle}.nx-league-table th:nth-child(1){width:9%}.nx-league-table th:nth-child(2){width:45%}.nx-league-table th:nth-child(3){width:10%}.nx-league-table th:nth-child(4){width:17%}.nx-league-table th:nth-child(5){width:19%}.nx-league-table .nx-league-team{font-weight:650;line-height:1.4}.nx-league-record{display:block;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4;margin-top:3px}.nx-league-table td.nx-league-stat{font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}.nx-mobile-stat-label{display:none}.nx-sport-tech-area{display:grid;gap:16px;margin-top:4px;min-width:0}.nx-sport-tech-area .nx-sport-head{grid-template-columns:1fr;gap:12px}.nx-sport-tech-area .nx-sport-controls{justify-content:flex-start}.nx-sport-tech-area .nx-sport-controls>.button{min-height:41px}@media(max-width:1190px){.nx-sport-overview{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.nx-sport-game-panel,.nx-sport-table-panel{padding:15px}.nx-match-card{padding:12px;gap:11px}.nx-scoreline{gap:7px}.nx-team{font-size:12px}.nx-score-pill{min-width:43px;min-height:38px;padding:6px 7px}.nx-score-pill.is-result{font-size:17px}.nx-game-calendar{min-width:35px;padding:7px}.nx-game-calendar span{display:none}.nx-league-table{display:block;table-layout:auto;width:100%;font-size:12px}.nx-league-table thead{display:none}.nx-league-table tbody{display:block;width:100%}.nx-league-table tbody tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;column-gap:10px;row-gap:6px;align-items:start;min-width:0;padding:12px 7px;border-bottom:1px solid var(--line)}.nx-league-table td{display:block;width:auto;min-width:0;border:0;padding:0;line-height:1.35}.nx-league-table .nx-league-rank{grid-column:1;grid-row:1 / 3;align-self:center;font-weight:800;font-size:15px;color:var(--accent);text-align:center}.nx-league-table .nx-league-team{grid-column:2;grid-row:1;font-size:12px;overflow-wrap:anywhere}.nx-league-table .nx-league-played{grid-column:3;grid-row:1;text-align:right;color:var(--muted);font-size:11px}.nx-league-table .nx-league-goals{grid-column:2;grid-row:2;font-size:11px;color:var(--muted)}.nx-league-table .nx-league-points{grid-column:3;grid-row:2;text-align:right;font-size:12px;font-weight:800;color:var(--text)}.nx-mobile-stat-label{display:inline;font-weight:550;color:var(--muted)}.nx-league-record{font-size:10px}.nx-league-table tbody tr.own{border-radius:11px}.nx-sport-tech-area .nx-sport-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nx-sport-tech-area .nx-sport-controls>.button{width:100%;font-size:12px;justify-content:center;white-space:normal;text-align:center}}@media(max-width:365px){.nx-game-calendar span{display:none}.nx-team{font-size:11px}.nx-scoreline{gap:5px}.nx-score-pill{min-width:38px}.nx-sport-title-row .nx-switch{font-size:11px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-root{--bg:#0b141d;--bg2:#101d28;--panel:#172633;--panel2:#1b2c39;--line:rgba(193,219,220,.14);--text:#f3f5f1;--muted:#9cabb5;--subtle:#778c97;--accent:#d7f58a;--accent-ink:#142016;--sidebar:#101b26;--overlay:rgba(7,15,22,.75);--shadow:0 18px 50px rgba(0,0,0,.15);min-height:100dvh;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;transition:background .15s,color .15s}.app-root[data-accent=sky]{--accent:#9fd5ff;--accent-ink:#102432}.app-root[data-accent=apricot]{--accent:#ffc39e;--accent-ink:#342016}.app-root[data-accent=violet]{--accent:#d5baff;--accent-ink:#261b3f}.app-root[data-accent=mint]{--accent:#9ce3c9;--accent-ink:#102a25}.app-root[data-theme=light]{--bg:#edf1ee;--bg2:#f1f4f0;--panel:#fffefa;--panel2:#f4f5f1;--line:rgba(56,77,77,.14);--text:#203039;--muted:#687e84;--subtle:#7a9096;--sidebar:#e2eae5;--overlay:rgba(18,41,34,.42);--shadow:0 10px 40px rgba(46,70,60,.06)}.app-root[data-theme=light] .guest-intro{background:radial-gradient(ellipse at 85% 12%,rgba(203,243,159,.18),transparent 55%)}.app-root[data-theme=light] .logo,.app-root[data-theme=light] .primary{box-shadow:0 2px 4px #0000000f}.app-root[data-theme=light] .logo{background:#1c3236;color:var(--accent)}.app-root[data-theme=light] .hero-panel{color:#f4f7f1}.app-root[data-theme=light] .hero-panel p{color:#c6d3d3}.app-root[data-theme=light] .hero-panel .eyebrow{color:#e4f4a9}.app-root[data-theme=light] .day-event,.app-root[data-theme=light] .calendar-event{color:#17313b}.app-root[data-theme=light] .profile-mini,.app-root[data-theme=light] .sidebar-bottom{border-color:var(--line)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1{font-size:clamp(30px,2.45vw,46px);line-height:1.12;margin-bottom:12px}h2{font-size:27px;line-height:1.18;margin-bottom:12px}h3{font-size:20px;line-height:1.2;margin:0}p{color:var(--muted);line-height:1.6}b,strong{font-weight:690}small{font-size:12px;color:var(--muted)}.eyebrow,.panel-kicker,.panel-label,.nav-cap{font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--subtle);text-transform:uppercase}.accent-dot{color:var(--accent)}.tiny-muted{font-size:11px;color:var(--subtle)}.flex-spacer{flex:1}button{border:0;background:transparent;color:inherit;min-height:42px}.button{border:1px solid var(--line);padding:11px 17px;min-height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:720;transition:transform .12s,background .12s,border-color .12s;white-space:nowrap}.button:not(:disabled):active{transform:translateY(1px) scale(.99)}.button.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.button.primary:hover{filter:brightness(.95)}.button.ghost{background:var(--panel2)}.button.ghost:hover{border-color:var(--accent)}.button.subtle{background:var(--panel2)}.button.danger{color:#fa9f9e;border-color:#fa9f9e54}.button-wide{width:100%}.small-button{font-size:12px;min-height:39px;padding:8px 12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:var(--shadow)}.callout{border:1px solid var(--line);border-radius:13px;background:var(--bg2);padding:14px;display:flex;gap:10px;color:var(--muted);font-size:12px;margin-top:20px;align-items:flex-start}.callout svg{flex:none;color:var(--accent)}.callout b{display:block;color:var(--text);margin-bottom:3px}.callout span{display:block}.callout.prominent{margin-top:0;max-width:960px}.field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.invite-result input{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px 13px;min-height:47px;width:100%;min-width:0}.field input::placeholder{color:var(--subtle)}.checkbox-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.checkbox-line input{width:19px;height:19px;accent-color:var(--accent)}.form-stack{display:grid;gap:17px}.guest-frame{min-height:100dvh;background:radial-gradient(ellipse 66% 85% at -8% 8%,rgba(101,125,94,.11),transparent),var(--bg)}.guest-nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:17px clamp(20px,5.6vw,90px)}.identity{display:flex;align-items:center;gap:11px}.logo{width:43px;height:43px;display:grid;place-items:center;background:#21382f;color:var(--accent);border:1px solid rgba(195,240,176,.18);border-radius:13px;font-size:28px;letter-spacing:-.1em;font-weight:900;line-height:1}.logo>span{font-size:16px;align-self:center;margin-top:-13px}.identity b{font-size:21px;letter-spacing:-.06em;line-height:1;display:block}.identity b span{color:var(--accent)}.identity small{letter-spacing:.17em;font-size:8px;display:block;margin-top:6px;color:var(--subtle);font-weight:750}.guest-tag,.mini-tag{padding:8px 12px;border:1px solid var(--line);border-radius:99px;font-size:10px;letter-spacing:.14em;font-weight:750;color:var(--muted);white-space:nowrap}.guest-body{min-height:calc(100dvh - 95px);max-width:1420px;margin:auto;padding:clamp(34px,7vh,90px) 36px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.8fr);align-items:center;gap:clamp(28px,8vw,125px)}.guest-intro{padding:30px 5px 50px 0}.guest-intro .eyebrow{color:var(--accent);margin-bottom:28px}.guest-intro h1{font-size:clamp(48px,5.1vw,82px);line-height:1.06;margin-bottom:25px}.guest-intro h1 em{font-style:normal;color:var(--accent)}.guest-intro>p{max-width:560px;font-size:16px}.guest-points{display:flex;flex-wrap:wrap;gap:16px 20px;margin:31px 0 40px;color:var(--text);font-size:13px}.guest-points span{display:flex;align-items:center;gap:7px}.guest-points svg{color:var(--accent)}.guest-kpis{display:flex;gap:35px;border-top:1px solid var(--line);padding-top:29px}.guest-kpis>div{display:flex;flex-direction:column}.guest-kpis strong{font-size:31px;line-height:1.2;letter-spacing:-.07em}.guest-kpis small{margin-top:5px}.guest-card{padding:36px;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);max-width:505px;width:100%}.guest-card .panel-kicker{color:var(--accent);margin-bottom:14px}.guest-card h2{font-size:32px}.guest-card>p{font-size:14px;margin-bottom:25px}.setup-divider{border-top:1px solid var(--line);margin:27px 0 24px}.step-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.step-row>span{flex:none;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--panel2);color:var(--accent);font-weight:800}.step-row b{font-size:13px;display:block}.step-row small{display:block;margin-top:3px;font-size:11px}.guest-card .tiny-muted{margin-top:22px;margin-bottom:0}.auth-card>.field{margin-bottom:16px}.auth-card>.button-wide{margin-top:8px}.form-links{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.form-links button{font-size:12px;font-weight:720;color:var(--accent);padding:0;min-height:34px}.onboard-wrap{max-width:980px;margin:58px auto;padding:0 24px}.onboard-wrap>.eyebrow{color:var(--accent);margin-bottom:16px}.onboard-wrap>p{max-width:650px}.onboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.onboard-grid .panel{padding:30px}.onboard-grid .field{margin:18px 0}.circle-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:var(--panel2);color:var(--accent);margin-bottom:24px}.warning{color:#f4ab97!important}.loading{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column}.loading small{color:var(--muted)}.spinner{width:38px;height:38px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:26px 15px 17px;min-height:100dvh;height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;z-index:30}.brand{padding:3px 11px 42px}.nav-cap{padding:0 19px;margin:0 0 15px;font-size:9px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{padding:0 15px;display:flex;align-items:center;text-align:left;gap:14px;border-radius:12px;min-height:46px;line-height:1.2;font-size:13px;font-weight:660;color:var(--muted);position:relative;transition:background .12s,color .12s}.nav-item svg{flex:none}.nav-item:hover{background:var(--panel2);color:var(--text)}.nav-item.active{background:#d7f58a1a;color:var(--accent)}.app-root[data-accent=sky] .nav-item.active{background:#9fd5ff1f}.app-root[data-accent=apricot] .nav-item.active{background:#ffc39e1c}.app-root[data-accent=violet] .nav-item.active{background:#d5baff21}.app-root[data-accent=mint] .nav-item.active{background:#9ce3c91f}.nav-item.active:before{content:"";position:absolute;left:-15px;width:3px;height:30px;background:var(--accent);border-radius:0 4px 4px 0}.nav-chevron{margin-left:auto}.sidebar-bottom{margin-top:auto;display:grid;gap:16px}.family-state{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;align-items:flex-start;gap:11px}.online-dot{display:inline-block;width:8px;height:8px;flex:none;background:#9de4b3;border-radius:50%;box-shadow:0 0 0 4px #9de4b314;margin-top:5px}.family-state b{display:block;font-size:12px}.family-state small{font-size:10px}.profile-mini{display:flex;align-items:center;gap:10px;padding:14px 3px 2px;border-top:1px solid var(--line)}.profile-meta{min-width:0;flex:1}.profile-meta b,.profile-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.profile-meta small{font-size:10px}.avatar{width:37px;height:37px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--panel2);color:var(--accent);font-weight:850}.profile-mini>button{min-width:38px;min-height:39px;display:grid;place-items:center;border-radius:10px;color:var(--muted)}.profile-mini>button:hover{background:var(--panel2);color:var(--text)}.mobile-close,.mobile-menu,.mobile-overlay{display:none}.workspace{display:flex;flex-direction:column;min-width:0}.topbar{min-height:99px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:15px clamp(19px,2.9vw,52px);gap:24px;background:var(--bg)}.topbar-left{display:flex;align-items:center;gap:15px}.top-eyebrow{display:flex;align-items:center;gap:12px;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.145em}.top-eyebrow .line{background:var(--accent);height:3px;width:24px;border-radius:3px}.slash{opacity:.5}.top-title{display:block;font-size:16px;letter-spacing:.005em;margin-top:8px}.topbar-actions{display:flex;align-items:center;gap:26px}.date-clock{text-align:right;display:flex;flex-direction:column}.date-clock strong{font-size:28px;line-height:1.1;font-weight:790;font-variant-numeric:tabular-nums;letter-spacing:-.055em}.date-clock small{font-size:11px;text-transform:capitalize}.content{padding:clamp(19px,2.7vw,44px) clamp(16px,3vw,54px) 48px;flex:1;max-width:1730px;width:100%;margin:0 auto}.page-stack{display:flex;flex-direction:column;gap:22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 4px}.page-heading .eyebrow{color:var(--accent);margin-bottom:8px}.page-heading h1{margin-bottom:8px}.page-heading p{margin:0;color:var(--muted);font-size:13px}.page-status{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:99px;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:770;letter-spacing:.1em}.page-status .online-dot{margin:0;width:7px;height:7px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.panel-heading .eyebrow{margin-bottom:7px}.panel-heading h3{font-size:19px}.mini-link{display:flex;align-items:center;gap:5px;min-height:35px;color:var(--accent);font-size:12px;font-weight:770;white-space:nowrap}.counter{font-size:12px;color:var(--accent);margin-left:6px;background:var(--panel2);padding:4px 7px;border-radius:7px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:16px}.hero-panel{border-color:#c7e1c724;background:radial-gradient(ellipse at 84% 20%,rgba(127,157,114,.13),transparent 55%),linear-gradient(115deg,#203a35,#192d37 60%,#1a2937);display:flex;justify-content:space-between;gap:12px;min-height:195px;padding:26px 32px;position:relative;overflow:hidden}.hero-panel:after{content:"";width:190px;height:190px;border:1px solid rgba(221,252,214,.12);border-radius:50%;position:absolute;right:-65px;bottom:-103px}.hero-panel .eyebrow{color:var(--accent)}.hero-panel h2{font-size:clamp(25px,2.2vw,38px);margin:12px 0 9px}.hero-panel p{color:#bdd0cc;margin:0;max-width:390px;font-size:13px}.hero-number{align-self:center;text-align:center;min-width:100px;z-index:1}.hero-number strong{font-size:57px;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.08em;display:block}.hero-number small{color:#c5d7ce;font-size:10px;letter-spacing:.04em}.weather-box{min-height:195px}.panel-label{display:flex;justify-content:space-between;color:var(--subtle);align-items:center;font-size:10px;font-weight:800;letter-spacing:.14em}.panel-label svg{color:var(--accent)}.weather-main{display:flex;align-items:center;gap:18px;margin-top:21px}.weather-main>strong{font-size:55px;letter-spacing:-.1em;line-height:1}.weather-main b,.weather-main small{display:block}.weather-main b{font-size:14px}.light-note{font-size:10px;margin-top:21px;color:var(--subtle);border-top:1px solid var(--line);padding-top:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat{min-height:112px;display:grid;grid-template-columns:32px 1fr 20px;grid-template-rows:1fr 1fr;gap:2px 7px;text-align:left;align-items:end;padding:19px 20px;transition:transform .15s,border .15s}.stat:hover{transform:translateY(-2px);border-color:var(--accent)}.stat>svg:first-child{grid-column:1;grid-row:1;align-self:start;color:var(--accent)}.stat strong{grid-column:2;grid-row:1;align-self:center;font-size:29px;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}.stat span{grid-column:1/3;grid-row:2;font-size:12px;color:var(--muted);align-self:end}.stat .stat-arrow{grid-column:3;grid-row:1;align-self:start;color:var(--subtle)}.main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.78fr);gap:16px}.week-panel{min-width:0}.arrows{display:flex;align-items:center;gap:5px}.arrows button{width:36px;height:36px;min-height:36px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center}.arrows .today-button{width:auto;padding:0 12px;font-size:11px;font-weight:720;color:var(--muted)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-height:220px}.week-day{min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--bg2)}.week-day.is-today{border-color:var(--accent)}.week-date{padding:11px 7px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;border-bottom:1px solid var(--line)}.week-date small{font-size:10px;font-weight:800}.week-date b{font-size:20px;line-height:1}.week-day.is-today .week-date{background:#bce27f1a}.week-day.is-today .week-date b{color:var(--accent)}.day-events{padding:8px 5px;display:flex;flex-direction:column;gap:5px}.day-event{font-size:10px;border-radius:6px;padding:6px;background:#aad8ea;color:#173341;min-width:0;cursor:pointer}.day-event.color-lime,.calendar-event.color-lime{background:#d3efab}.day-event.color-sky,.calendar-event.color-sky{background:#a7d9ed}.day-event.color-apricot,.calendar-event.color-apricot{background:#f1bea4}.day-event.color-violet,.calendar-event.color-violet{background:#d5b7f3}.day-event.color-mint,.calendar-event.color-mint{background:#a8deca}.day-event b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-event small{font-size:9px;color:#34505e}.no-event{display:block;text-align:center;color:var(--subtle);padding:6px}.side-panel{min-width:0}.agenda-list{display:grid;gap:13px}.agenda-item{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.agenda-item:last-child{border-bottom:0}.agenda-dot{width:9px;height:9px;border-radius:50%;background:#a7d9ed;flex:none;margin-top:6px}.bg-apricot{background:#f1bea4}.bg-sky{background:#a7d9ed}.bg-lime{background:#d3efab}.bg-mint{background:#a8deca}.bg-violet{background:#d5b7f3}.agenda-item b{font-size:12px;display:block}.agenda-item small{font-size:10px;display:block;margin-top:3px}.bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tasks-preview,.lesson-preview,.birth-preview{display:grid;gap:13px}.task-row,.lesson-row,.birth-row{display:flex;gap:11px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.task-row:last-child,.lesson-row:last-child,.birth-row:last-child{border-bottom:0;padding-bottom:0}.check-btn{flex:none;width:28px;height:28px;min-height:28px;border-radius:9px;border:1.5px solid var(--line);display:grid;place-items:center;color:transparent;transition:background .13s}.check-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.check-btn.checked{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.task-row b,.lesson-row b,.birth-row b{display:block;font-size:12px}.task-row small,.lesson-row small,.birth-row small{display:block;font-size:10px;margin-top:2px}.lesson-time{color:var(--accent);background:var(--panel2);border-radius:9px;padding:8px 7px;font-size:11px;font-weight:800}.birth-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;background:#d0b9fa21;border:1px solid rgba(208,185,250,.12);color:#d5baff;border-radius:10px}.empty{min-height:130px;color:var(--muted);font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px}.empty svg{color:var(--subtle)}.external-row{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:11px;font-weight:800;margin-top:20px}.footer{padding:16px clamp(16px,3vw,54px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:var(--subtle);font-size:9px;letter-spacing:.1em;flex-wrap:wrap}.footer b{color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:315px}.calendar-day{border:1px solid var(--line);border-radius:13px;background:var(--bg2);min-width:0;overflow:hidden}.calendar-day.is-today{border-color:var(--accent)}.calendar-dayhead{padding:12px 11px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.calendar-dayhead span{color:var(--muted);font-size:11px}.calendar-dayhead strong{font-size:22px}.calendar-day.is-today .calendar-dayhead strong{color:var(--accent)}.calendar-items{padding:7px;display:flex;flex-direction:column;gap:7px}.calendar-event{display:flex;flex-direction:column;gap:3px;min-width:0;border-radius:8px;padding:10px 8px;background:#a7d9ed;color:#1e3441;text-align:left;cursor:pointer}.calendar-event b{font-size:11px;overflow-wrap:anywhere}.calendar-event small,.calendar-event span{color:inherit;opacity:.8;font-size:10px}.records{display:grid}.record{display:flex;align-items:center;gap:17px;padding:14px 0;border-bottom:1px solid var(--line)}.record:last-child{border-bottom:0}.date-square{min-width:51px;height:53px;background:var(--panel2);border-radius:12px;display:grid;place-items:center;align-content:center;line-height:1.13}.date-square strong{font-size:22px}.date-square small{font-size:10px}.record-main{flex:1;min-width:0}.record-main b{display:block;font-size:14px}.record-main small{display:block;margin-top:4px}.icon-control{display:grid;place-items:center;width:40px;height:40px;min-height:40px;flex:none;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.icon-control:hover{color:var(--accent);border-color:var(--accent)}.task-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.task-list{display:grid}.task-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.task-item:last-child{border-bottom:0}.task-content{flex:1;min-width:0}.task-content b,.task-content small{display:block}.task-content b{font-size:14px}.task-content small{margin-top:3px}.task-item.done .task-content b{text-decoration:line-through;opacity:.65}.school-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.school-col{border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:320px;background:var(--bg2)}.school-colhead{font-size:12px;font-weight:800;text-align:center;border-bottom:1px solid var(--line);padding:12px;background:var(--panel2)}.school-slot{background:var(--panel);border:1px solid var(--line);border-radius:11px;margin:9px;padding:11px;display:grid;gap:3px}.school-slot.can-edit{cursor:pointer}.school-slot.can-edit:hover{border-color:var(--accent)}.school-slot span{color:var(--accent);font-size:10px;font-weight:800}.school-slot b{font-size:13px}.school-slot small{font-size:10px}.school-empty{text-align:center;font-size:11px;color:var(--subtle);padding:25px 10px}.birthday-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.birthday-card{min-height:180px;position:relative;display:flex;align-items:center;gap:20px}.birth-icon.large{width:55px;height:55px;border-radius:17px}.birthday-details .eyebrow{margin-bottom:8px}.birthday-details h3{font-size:24px;margin-bottom:6px}.birthday-details p{margin:0}.birthday-details small{font-size:11px}.birthday-edit{position:absolute;top:12px;right:12px}.large-empty{grid-column:1/-1}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.member-list{display:grid}.member-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.member-row:last-child{border-bottom:0}.member-row>div:nth-child(2){flex:1;min-width:0}.member-row b,.member-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row b{font-size:13px}.role-pill{font-size:10px;color:var(--accent);padding:6px 10px;border-radius:99px;background:var(--panel2)}.invite-result{background:var(--bg2);border-radius:15px;margin-top:22px;padding:17px;display:grid;gap:10px}.invite-result b{font-size:13px}.invite-result p{margin:0;font-size:11px}.invite-result input{font-size:11px}.invite-result small{font-size:10px}.home-mock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.placeholder-card{min-height:245px}.placeholder-card>svg{color:var(--accent);margin:5px 0 20px}.placeholder-card h3{margin-bottom:10px}.placeholder-card p{max-width:360px}.placeholder-card .mini-tag{display:inline-block}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:13px}.option-row,.color-picker{display:flex;align-items:center;gap:7px}.round-option{min-width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line)}.round-option.active{border-color:var(--accent);color:var(--accent)}.swatch{min-width:29px;width:29px;height:29px;min-height:29px;border-radius:50%;border:2px solid transparent;outline:2px solid transparent;outline-offset:2px}.swatch.selected{outline-color:var(--text)}.swatch-lime{background:#d7f58a}.swatch-sky{background:#9fd5ff}.swatch-apricot{background:#ffc39e}.swatch-violet{background:#d5baff}.swatch-mint{background:#9ce3c9}.integration-row{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.integration-row svg{color:var(--accent);flex:none}.integration-row b,.integration-row small{display:block}.integration-row b{font-size:13px}.integration-row small{margin-top:3px}.toast{position:fixed;z-index:100;top:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#213d34;color:#f4fff1;padding:14px 19px;border:1px solid #649a79;border-radius:13px;box-shadow:0 12px 40px #00000040;font-size:13px;max-width:min(550px,calc(100vw - 35px))}.toast-error{background:#502b33;border-color:#a6666d}.toast-close{min-height:25px;margin-left:8px}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--panel);border:1px solid var(--line);border-radius:22px;width:min(570px,100%);max-height:calc(100dvh - 45px);overflow-y:auto;box-shadow:0 35px 120px #00000061}.modal-top{display:flex;align-items:center;justify-content:space-between;padding:23px 25px 15px}.modal-top h2{font-size:24px;margin:6px 0 0}.modal-fields{padding:9px 25px 25px;display:grid;gap:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.modal-foot{border-top:1px solid var(--line);padding:18px 25px;display:flex;align-items:center;gap:10px}@media(min-width:1600px){.content{padding-top:44px}.panel{padding:26px}.hero-grid,.main-grid,.bottom-grid,.stats-grid{gap:18px}.week-strip{min-height:250px}}@media(max-width:1190px){.bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-grid>.panel:last-child{grid-column:1/-1}.main-grid{grid-template-columns:1.4fr 1fr}.sidebar{padding-left:10px;padding-right:10px}.shell{grid-template-columns:225px minmax(0,1fr)}.stat{padding:15px}.week-strip{overflow-x:auto}.week-day{min-width:75px}.birthday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:940px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;width:270px;transform:translate(-101%);transition:transform .18s;z-index:60;padding:25px 15px}.sidebar.sidebar-open{transform:translate(0)}.mobile-close,.mobile-menu{display:grid;place-items:center}.mobile-close{position:absolute;top:22px;right:8px;width:41px;height:41px}.mobile-menu{min-width:41px;width:41px;height:41px;border:1px solid var(--line);border-radius:10px}.mobile-overlay{position:fixed;display:block;z-index:50;inset:0;background:#00000073}.topbar{min-height:87px}.guest-body{gap:25px;grid-template-columns:1fr minmax(330px,.9fr)}.hero-grid{grid-template-columns:1.4fr 1fr}}@media(max-width:730px){.guest-nav{min-height:76px;padding:15px 20px}.guest-body{display:block;padding:24px 20px 45px}.guest-intro{padding:17px 0 27px}.guest-intro h1{font-size:43px}.guest-intro>p{font-size:13px}.guest-points{margin:20px 0;gap:10px}.guest-points span{font-size:11px}.guest-kpis{padding:15px 0 7px;gap:22px}.guest-kpis strong{font-size:24px}.guest-card{max-width:100%;padding:24px}.guest-tag{font-size:9px}.onboard-grid{grid-template-columns:1fr}.onboard-wrap{margin:25px auto}.topbar{padding:12px 16px;min-height:77px}.top-eyebrow{font-size:9px;gap:7px}.top-eyebrow .line{width:12px}.top-title{font-size:11px;margin-top:5px}.topbar-actions{gap:11px}.date-clock strong{font-size:22px}.date-clock small{font-size:9px}.top-add{display:none}.content{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:32px}.page-heading p{font-size:12px}.hero-grid{grid-template-columns:1fr}.hero-panel{min-height:180px;padding:20px}.hero-panel h2{font-size:29px}.hero-number strong{font-size:46px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:100px}.main-grid,.bottom-grid,.task-columns,.family-grid,.home-mock{grid-template-columns:1fr}.bottom-grid>.panel:last-child{grid-column:auto}.week-strip,.calendar-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:8px;padding-bottom:6px}.week-day{min-width:94px;min-height:195px;scroll-snap-align:start}.calendar-day{min-width:155px;min-height:260px}.panel{padding:18px}.panel-heading h3{font-size:18px}.panel-heading{margin-bottom:17px}.birthday-grid{grid-template-columns:1fr}.school-grid{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory}.school-col{min-width:180px;scroll-snap-align:start}.field-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px;align-items:flex-end}.modal{max-height:calc(100dvh - 20px);border-radius:19px}.modal-top{padding:17px 16px 10px}.modal-fields{padding:10px 16px 18px}.modal-foot{padding:13px 16px;flex-wrap:wrap}.modal-foot .button{min-width:0;padding:10px 12px}.birthday-card{min-height:140px}.footer{font-size:8px}.page-status{font-size:9px}}@media(max-width:390px){.top-title{font-size:10px}.topbar-actions{gap:7px}.date-clock small,.guest-tag{display:none}.guest-intro h1{font-size:36px}.stats-grid{gap:7px}.stat{padding:14px}.guest-card h2{font-size:27px}}.offline-dot{background:#d3b483;box-shadow:0 0 0 4px #d3b4831c}.wallet-overview{width:100%;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;min-height:110px;padding:19px 23px;border:1px solid var(--line);border-radius:18px;transition:border-color .16s,transform .16s}.wallet-overview:hover{border-color:var(--accent);transform:translateY(-1px)}.wallet-overview-icon,.wallet-task-icon{display:flex;align-items:center;justify-content:center;flex:none;background:var(--panel2);color:var(--accent);border-radius:14px}.wallet-overview-icon{width:55px;height:55px}.wallet-task-icon{width:42px;height:42px}.wallet-overview>div:nth-child(2){flex:1;display:grid;gap:5px}.wallet-overview strong{font-size:25px;line-height:1.1}.wallet-overview small{color:var(--muted);font-size:11px}.wallet-overview-arrow{color:var(--accent)}.wallet-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:17px}.wallet-total{min-height:244px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;background:linear-gradient(130deg,var(--panel),var(--panel2))}.wallet-amount{font-size:clamp(38px,4.5vw,68px);font-weight:850;letter-spacing:-.055em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.wallet-total p{font-size:12px;color:var(--muted);margin:0}.wallet-total .button{margin-top:5px}.wallet-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wallet-stats .panel{min-height:116px;padding:17px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}.wallet-stats .panel:first-child{grid-column:1/-1}.wallet-stats svg{color:var(--accent)}.wallet-stats strong{font-size:25px;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.wallet-stats .eyebrow{font-size:9px;margin:0;color:var(--muted)}.wallet-task-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:17px;align-items:start}.wallet-list{display:grid}.wallet-description{font-size:12px;margin:0 0 15px}.wallet-line{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:14px 0;min-width:0}.wallet-line:last-child{border-bottom:none}.wallet-task-detail{display:grid;gap:5px;flex:1;min-width:0}.wallet-task-detail b{font-size:13px;overflow-wrap:anywhere}.wallet-task-detail small{color:var(--muted);font-size:10px;line-height:1.5}.wallet-line>strong{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.wallet-line .button.small-button{font-size:11px;white-space:nowrap;padding:9px 11px;min-height:40px}.wallet-line .button:disabled{opacity:.6}.wallet-parent-actions{display:flex;gap:7px;align-items:center;flex:none;margin-left:auto}.wallet-parent-actions .wallet-complete-btn{padding:8px 12px;min-height:39px;box-shadow:none}.wallet-parent-actions .icon-control{flex:none}@media(max-width:730px){.wallet-parent-actions{width:100%;justify-content:flex-end;margin-left:0}.wallet-parent-actions .wallet-complete-btn{min-width:118px}.wallet-line .wallet-parent-actions .button.small-button,.wallet-line .wallet-parent-actions .icon-control{margin-left:0}}.wallet-review-buttons{display:flex;align-items:center;gap:7px}.wallet-review-buttons .button{font-size:11px;min-height:42px;padding:8px 12px}.wallet-positive{color:var(--accent)}.wallet-negative{color:var(--danger)}.wallet-zero{font-size:11px;color:var(--muted);white-space:nowrap}.wallet-maximum{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--muted)}.wallet-maximum b{font-size:16px;color:var(--text)}.wallet-account-picker{display:flex;gap:22px;align-items:center;justify-content:space-between}.wallet-account-picker .field{min-width:min(280px,100%);flex:0 1 350px}.wallet-account-picker small{font-size:11px;color:var(--muted)}.wallet-warning{display:flex;gap:15px;align-items:flex-start}.wallet-warning svg{color:var(--accent);flex:none}.wallet-warning h3{margin:0 0 8px}.wallet-warning p{margin:0 0 10px}.wallet-warning small{font-size:11px;color:var(--muted)}.wallet-warning .button{margin-top:9px}@media(max-width:1190px){.wallet-task-columns{grid-template-columns:1fr}.wallet-hero-grid{grid-template-columns:1fr 1fr}}@media(max-width:730px){.wallet-hero-grid{grid-template-columns:1fr}.wallet-stats{gap:9px}.wallet-total{min-height:195px}.wallet-amount{font-size:46px}.wallet-account-picker{display:grid;gap:12px}.wallet-overview{padding:16px;gap:12px}.wallet-overview-icon{width:46px;height:46px}.wallet-overview strong{font-size:21px}.wallet-line{flex-wrap:wrap;gap:9px}.wallet-task-detail{min-width:calc(100% - 185px)}.wallet-line .button.small-button,.wallet-review-buttons{margin-left:auto}.wallet-review-buttons{width:100%;justify-content:flex-end}.wallet-line .icon-control{margin-left:auto}.wallet-task-icon{width:38px;height:38px}}@media(max-width:390px){.wallet-task-detail{min-width:calc(100% - 143px)}.wallet-line>strong{font-size:12px}.wallet-review-buttons .button{padding:7px 9px}}.header-account{min-height:42px;padding:8px 12px}.header-account svg{flex:none}.family-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feature-highlight{width:100%;display:flex;text-align:left;align-items:flex-start;gap:14px;min-width:0;min-height:118px;transition:border-color .15s}.feature-highlight>svg{color:var(--accent);flex-shrink:0}.feature-highlight>svg:last-child{color:var(--muted);margin-left:auto}.feature-highlight>div{flex:1;min-width:0;display:grid;gap:7px}.feature-highlight b{font-size:15px;line-height:1.35}.feature-highlight small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.feature-highlight:hover{border-color:var(--accent)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.module-grid .panel{min-width:0}.module-grid .panel h3{margin-bottom:15px}.shopping-line{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;min-width:0}.shopping-line .check-btn{flex-shrink:0}.shopping-description{flex:1;min-width:0;display:grid;gap:2px}.shopping-description b{overflow-wrap:anywhere;font-size:13px}.shopping-description small{font-size:11px}.shopping-line.done b{text-decoration:line-through;opacity:.65}.shopping-line .icon-control{flex:none}.question-hero{padding:35px;background:radial-gradient(ellipse at 90% 10%,rgba(198,237,131,.12),transparent 55%),var(--panel)}.question-hero .eyebrow{color:var(--accent);margin-bottom:16px}.question-hero h2{font-size:clamp(26px,3.5vw,48px);max-width:900px;line-height:1.18}.question-hero p{margin:0}.module-input{display:block;resize:vertical;width:100%;min-height:120px;max-width:100%;padding:15px;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:13px;font:inherit}.answer-line{padding:15px 0;border-bottom:1px solid var(--line)}.answer-line:last-child{border-bottom:0}.answer-line b{color:var(--accent);font-size:13px}.answer-line p{margin:7px 0 0;white-space:pre-wrap;font-size:14px;overflow-wrap:anywhere}.upload-zone{display:flex;min-height:130px;align-items:center;justify-content:center;flex-direction:column;gap:9px;border:2px dashed var(--line);border-radius:16px;padding:18px;margin:20px 0;cursor:pointer;color:var(--text)}.upload-zone svg{color:var(--accent)}.upload-zone small{color:var(--muted)}.upload-zone input,.upload-inline input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.upload-inline{cursor:pointer;position:relative}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:13px}.photo-tile{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--bg2)}.photo-tile img{height:100%;width:100%;object-fit:cover}.photo-remove{position:absolute;top:9px;right:9px;min-height:38px;min-width:38px;border-radius:11px;background:#08121bc2;color:#fff;display:grid;place-items:center}.account-line{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.account-line>div:first-child{display:grid;gap:5px}.account-line b{font-size:13px}.account-line small{overflow-wrap:anywhere}.inline-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.inline-actions .button{white-space:normal}.inline-actions .field.flex-grow{flex:1;min-width:180px}.account-reset{border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:16px;background:var(--bg2)}.account-reset b{font-size:13px}.week-weather .panel-heading{display:flex;justify-content:space-between;align-items:center}.forecast-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:14px}.forecast-day{display:grid;align-content:center;justify-items:center;gap:8px;text-align:center;padding:14px 8px;border-radius:13px;background:var(--bg2);border:1px solid var(--line)}.forecast-day svg{color:var(--accent)}.forecast-day b{font-size:13px;font-variant-numeric:tabular-nums}.forecast-day small{line-height:1.4;font-size:10px}.text-button{display:inline-flex;gap:5px;align-items:center;color:var(--accent);font-size:11px;min-height:30px}@media(max-width:1000px){.forecast-row{grid-template-columns:repeat(4,minmax(0,1fr))}.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:730px){.header-account span{display:none}.header-account{padding:9px;min-width:43px}.family-highlights,.module-grid{grid-template-columns:1fr}.forecast-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.forecast-day{flex:0 0 117px;scroll-snap-align:start}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-line .inline-actions{width:100%}.account-line .button{flex:1}}.photo-actions{position:absolute;bottom:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-actions .photo-remove{position:static;flex:none}.photo-actions .button{background:#08121bd1;color:#fff;font-size:10px;white-space:normal}.overview-gallery{display:flex;align-items:center;gap:20px;min-height:140px}.overview-gallery>div{flex:1}.overview-gallery img{width:min(270px,45%);max-height:150px;object-fit:cover;border-radius:12px}.overview-gallery h3{margin:5px 0}.overview-gallery small,.overview-gallery .button{font-size:11px}@media(max-width:730px){.overview-gallery{flex-wrap:wrap}.overview-gallery img{width:45%}.overview-gallery .button{width:100%}}.mobile-first-overview,.mobile-bottom-nav,.mobile-count,.m-selected-agenda{display:none}html,body,#app{width:100%;max-width:100%;overflow-x:clip}.shell,.workspace,.content,.page-stack,.panel,.guest-body,.guest-card{min-width:0;max-width:100%}.sidebar .nav-list{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 2px 12px 0}.sidebar .sidebar-bottom{flex:none;margin-top:13px}.sidebar{overflow:hidden}@media(max-width:940px){.sidebar{width:min(330px,87vw);max-width:87vw;height:100dvh;overscroll-behavior:contain;padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.sidebar .brand{padding-right:32px}.sidebar .nav-list{overflow-y:auto}.mobile-overlay{touch-action:none}}@media(max-width:730px){.app-root.mobile-ui{--bg:#f4f7fa;--bg2:#edf3fa;--panel:#fff;--panel2:#f1f6fa;--text:#14283c;--muted:#688096;--subtle:#8b9caa;--line:#e2ecf4;--sidebar:#fff;--accent:#238cf0;--accent-ink:white;--shadow:0 7px 25px rgba(24,60,104,.04);color-scheme:light;background:#f4f7fa}.app-root.mobile-ui .sidebar{background:#fff}.app-root.mobile-ui .nav-item.active{background:#e7f3ff;color:#238cf0}.app-root.mobile-ui .nav-item.active:before{background:#238cf0}.app-root.mobile-ui .workspace{background:#f4f7fa;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-root.mobile-ui .content{padding:12px 15px 35px;overflow-x:clip}.app-root.mobile-ui .topbar{position:sticky;top:0;z-index:16;background:#fff;border-bottom:1px solid #e7edf5;min-height:64px;gap:9px;padding:10px 14px;overflow:hidden}.app-root.mobile-ui .topbar-left .top-eyebrow,.app-root.mobile-ui .topbar-left .top-title,.app-root.mobile-ui .date-clock,.app-root.mobile-ui .header-account{display:none!important}.app-root.mobile-ui .topbar-left{display:flex;align-items:center;gap:8px}.app-root.mobile-ui .topbar-left:after{content:"familyhub";font-size:22px;font-weight:850;letter-spacing:-.07em;color:#193449}.app-root.mobile-ui .mobile-menu{background:#eef5fa;border-radius:12px;width:40px;height:40px}.app-root.mobile-ui .topbar-actions{margin-left:auto;min-width:0}.app-root.mobile-ui .top-add{display:none}.app-root.mobile-ui input,.app-root.mobile-ui textarea,.app-root.mobile-ui select,.guest-frame input,.guest-frame select{font-size:16px!important}.guest-body,.guest-card,.guest-intro,.auth-card,.guest-frame,.onboard-wrap{min-width:0;max-width:100%}.guest-intro h1,.guest-card h2{overflow-wrap:anywhere}.mobile-first-overview{display:grid;gap:13px}.desktop-overview,.page-stack:has(.mobile-first-overview)>.page-heading{display:none!important}.m-home-hero{background:linear-gradient(130deg,#0d314c,#164d6d 67%,#19779a);color:#fff;padding:19px;border-radius:19px;display:flex;flex-direction:column;gap:11px;min-height:170px;justify-content:space-between}.m-home-hero .m-hero-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#cbe4f1}.m-hero-top b{display:flex;align-items:center;gap:7px;font-size:16px;color:#fff}.m-home-hero h1{color:#fff;font-size:28px;margin:0;line-height:1.17}.m-home-hero p,.m-home-hero small{margin:0;color:#d6e9f1;font-size:11px}.m-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.m-title h3{font-size:16px;letter-spacing:-.03em}.m-title button{color:#238cf0;font-size:11px;font-weight:750;min-height:33px}.m-card{background:#fff;border:1px solid #e5edf4;border-radius:18px;padding:8px 15px;box-shadow:var(--shadow)}.m-event{display:flex;align-items:center;gap:11px;width:100%;text-align:left;min-height:61px;border-bottom:1px solid #edf2f6;padding:8px 0}.m-event:last-child{border:0}.m-event>span{font-size:11px;color:#628096;width:39px;flex:none}.m-event i{height:37px;width:4px;border-radius:7px;background:#2c92f2;flex:none}.m-event i.color-mint{background:#27b990}.m-event i.color-violet{background:#b288e9}.m-event i.color-apricot{background:#eda455}.m-event>div{display:grid;gap:3px;flex:1;min-width:0}.m-event b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-event small{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-event>svg{flex:none;color:#99aebe}.m-family{display:flex;gap:9px;align-items:center;overflow:auto;scrollbar-width:none;padding:14px 9px}.m-family button{display:grid;justify-items:center;gap:4px;flex:1;min-width:55px;padding:0}.m-family button>span{display:grid;place-items:center;width:44px;height:44px;background:#e7f3ff;color:#238cf0;border-radius:50%;font-size:18px;font-weight:800}.m-family button:nth-child(2)>span{background:#fff0e9;color:#c78b62}.m-family button:nth-child(3)>span{background:#e8f8ee;color:#4aa174}.m-family button:nth-child(4)>span{background:#f3eefa;color:#9474c7}.m-family button b{font-size:10px;max-width:65px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-family button small{font-size:9px}.m-qotd{display:flex;gap:11px;align-items:center;min-width:0;min-height:82px;padding:14px;border-radius:16px;background:#e3f2ff;border:1px solid #cce5fc;text-align:left}.m-qotd>span{width:44px;height:44px;border-radius:13px;background:#238cf0;color:#fff;display:grid;place-items:center;flex:none}.m-qotd>div{flex:1;display:grid;gap:4px;min-width:0}.m-qotd b{font-size:12px;color:#165581}.m-qotd small{font-size:11px;color:#49748e;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.m-qotd>svg{color:#438cca;flex:none}.m-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.m-grid button{background:#fff;border:1px solid #e6eef4;border-radius:16px;padding:15px;display:grid;text-align:left;align-content:start;gap:5px;min-height:116px;box-shadow:var(--shadow)}.m-grid button span{background:#e6f4ff;width:41px;height:41px;display:grid;place-items:center;border-radius:12px;font-size:20px;margin-bottom:3px}.m-grid button:nth-child(2) span{background:#e5f9ed}.m-grid button:nth-child(3) span{background:#eeeafa}.m-grid button:nth-child(4) span{background:#fff2dd}.m-grid b{font-size:12px}.m-grid small{font-size:10px}.m-photo{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e4edf4;border-radius:16px;padding:15px;text-align:left;font-size:12px;font-weight:700;min-height:63px}.m-photo svg:first-child{color:#238cf0}.mobile-bottom-nav{display:grid;position:fixed;left:0;bottom:0;right:0;z-index:26;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(69px + env(safe-area-inset-bottom));padding:7px 5px env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e7edf5;box-shadow:0 -8px 29px #0c35570a}.mobile-bottom-nav button{display:grid;justify-items:center;align-content:center;gap:3px;color:#718397;min-width:0;padding:6px 0;border-radius:11px}.mobile-bottom-nav button.active{background:#eef7ff;color:#238cf0}.mobile-bottom-nav span{font-size:9px;font-weight:700;white-space:nowrap}.week-strip,.calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;overflow:visible!important;scroll-snap-type:none!important;width:100%;min-height:0!important}.week-day,.calendar-day{min-width:0!important;min-height:80px!important;border-radius:10px;overflow:hidden;cursor:pointer}.week-date,.calendar-dayhead{padding:9px 1px!important;flex-direction:column!important;align-items:center;gap:4px!important;border-bottom:0!important}.week-date small,.calendar-dayhead span{font-size:9px}.week-date b,.calendar-dayhead strong{font-size:16px!important;line-height:1.1}.week-day .day-events,.calendar-day .calendar-items{display:none!important}.mobile-count{display:block;text-align:center;font-size:11px;color:#238cf0;font-weight:800}.week-day.is-selected,.calendar-day.is-selected{box-shadow:inset 0 0 0 2px #238cf0;background:#e9f4ff}.m-selected-agenda{display:grid;gap:8px}.m-selected-agenda>b{font-size:13px;margin-bottom:3px}.m-selected-agenda>button{display:flex;align-items:center;gap:13px;background:var(--panel);padding:12px;border:1px solid var(--line);border-radius:11px;text-align:left}.m-selected-agenda>button span{color:#238cf0;font-size:11px}.m-selected-agenda>button strong{font-size:12px}.page-stack,.hero-grid,.main-grid,.bottom-grid,.panel,.modal,.field-grid,.module-grid{min-width:0;max-width:100%}.modal{width:100%}}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar-upload{position:relative;cursor:pointer;overflow:hidden}.avatar-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.m-moments{display:grid;gap:9px;min-width:0}.m-moments-main{display:block;width:100%;height:175px;border:0;position:relative;overflow:hidden;border-radius:18px;background:var(--panel2);padding:0;text-align:left}.m-moments-main .moment-photo{width:100%;height:100%;display:block;object-fit:cover;animation:fh-moment-fade .3s ease}.m-moments-empty{display:flex;align-items:center;justify-content:center;gap:13px;height:100%;font-size:14px;color:var(--muted)}.m-moments-shade{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#000c);padding:32px 17px 15px;display:grid;gap:3px;color:#fff}.m-moments-shade strong{font-size:16px}.m-moments-shade small{color:#e3eaf2;font-size:11px}.moment-dots{display:flex;align-items:center;justify-content:center;gap:7px}.moment-dots button{min-height:23px;min-width:23px;display:grid;place-items:center}.moment-dots button:not(:last-child):before{content:"";width:7px;height:7px;border-radius:20px;background:var(--muted);opacity:.42}.moment-dots button.active:before{background:var(--accent);width:20px;opacity:1}@keyframes fh-moment-fade{0%{opacity:.65}to{opacity:1}}@media(prefers-reduced-motion:reduce){.m-moments-main .moment-photo{animation:none}}@media(max-width:730px){.app-root.mobile-ui{color-scheme:light;background:var(--bg)}.app-root.mobile-ui .mobile-menu{display:none!important}.app-root.mobile-ui .workspace{background:var(--bg)}.app-root.mobile-ui .topbar{background:var(--panel);border-color:var(--line)}.app-root.mobile-ui .topbar-left:after{color:var(--text)}.app-root.mobile-ui .sidebar,.app-root.mobile-ui .mobile-bottom-nav,.app-root.mobile-ui .m-card,.app-root.mobile-ui .m-grid button,.app-root.mobile-ui .m-moments-main{background:var(--panel);border-color:var(--line)}.app-root.mobile-ui .m-title button,.app-root.mobile-ui .m-photo svg:first-child,.app-root.mobile-ui .mobile-count{color:var(--accent)}.app-root.mobile-ui .mobile-bottom-nav button.active,.app-root.mobile-ui .sidebar .nav-item.active{color:var(--accent);background:var(--panel2)}.app-root.mobile-ui .m-home-hero{background:linear-gradient(128deg,var(--hero1),var(--hero2))}.app-root.mobile-ui .m-qotd{background:var(--panel2);border-color:var(--line)}.app-root.mobile-ui .m-qotd>span{background:var(--accent);color:var(--accent-ink)}.app-root.mobile-ui .m-qotd b{color:var(--text)}.app-root.mobile-ui .m-qotd small,.app-root.mobile-ui .m-qotd>svg{color:var(--muted)}.app-root.mobile-ui .m-family button>span,.app-root.mobile-ui .m-grid button span,.app-root.mobile-ui .mobile-menu{background:var(--panel2);color:var(--accent)}.app-root.mobile-ui .m-family button:nth-child(n)>span:has(img){background:transparent}.app-root.mobile-ui .m-event i{background:var(--accent)}.app-root.mobile-ui .week-day.is-selected,.app-root.mobile-ui .calendar-day.is-selected{background:var(--panel2);box-shadow:inset 0 0 0 2px var(--accent)}}.app-root{--hero1:#143b51;--hero2:#286f82}.app-root[data-accent=lime]{--hero1:#23442b;--hero2:#427e61}.app-root[data-accent=sky]{--hero1:#0d314c;--hero2:#19779a}.app-root[data-accent=apricot]{--hero1:#513a36;--hero2:#ac6f4a}.app-root[data-accent=violet]{--hero1:#322c58;--hero2:#6d5b95}.app-root[data-accent=mint]{--hero1:#173d3d;--hero2:#2e7772}@media(max-width:730px){.app-root.mobile-ui[data-theme=dark]{--bg:#0b141d;--bg2:#101d28;--panel:#172633;--panel2:#1b2c39;--line:rgba(193,219,220,.14);--text:#f3f5f1;--muted:#9cabb5;--subtle:#778c97;--sidebar:#101b26;--shadow:0 15px 35px rgba(0,0,0,.18);color-scheme:dark}.app-root.mobile-ui[data-theme=dark] .m-home-hero{color:#f6fbff}.app-root.mobile-ui[data-theme=dark] .m-event{border-color:var(--line)}.app-root.mobile-ui[data-theme=dark] .mobile-bottom-nav button{color:var(--muted)}.app-root.mobile-ui[data-theme=dark] .mobile-bottom-nav button.active{color:var(--accent)}.app-root.mobile-ui[data-accent=lime]{--accent:#7fae49;--accent-ink:#101a0e}.app-root.mobile-ui[data-accent=sky]{--accent:#238cf0;--accent-ink:white}.app-root.mobile-ui[data-accent=apricot]{--accent:#d68d55;--accent-ink:#281a10}.app-root.mobile-ui[data-accent=violet]{--accent:#9c7de3;--accent-ink:#1f1936}.app-root.mobile-ui[data-accent=mint]{--accent:#43b9a0;--accent-ink:#0a2924}}@media(max-width:730px){.app-root.mobile-ui .m-home-hero .m-hero-top,.app-root.mobile-ui .m-hero-top b{color:#e8f4fa}.app-root.mobile-ui .m-home-hero h1,.app-root.mobile-ui .m-home-hero p,.app-root.mobile-ui .m-home-hero small{color:#f0f7fa}.app-root.mobile-ui .m-qotd>span{color:var(--accent-ink)}}.untis-grid{display:grid;gap:7px;margin:14px 0}.untis-row{display:grid;grid-template-columns:minmax(76px,110px) minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}.untis-row>div{display:grid;gap:3px;min-width:0}.untis-row b{font-size:12px}.untis-row small{font-size:11px}.untis-cancelled{opacity:.62;text-decoration:line-through}@media(max-width:730px){.untis-row{grid-template-columns:76px minmax(0,1fr);padding:10px}.untis-row>.role-pill{grid-column:2;justify-self:start}}.moment-collage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.82fr);gap:3px;height:100%;width:100%;overflow:hidden}.moment-collage.single{display:block}.moment-collage>.moment-photo{width:100%;height:100%;object-fit:cover}.moment-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:3px;overflow:hidden}.moment-side:has(img:only-child){grid-template-rows:1fr}.moment-side>.moment-photo{height:100%;width:100%;min-height:0;object-fit:cover}.active-profile-control{display:flex;align-items:center;gap:9px;margin-left:auto;min-width:0;color:var(--muted);font-weight:700;font-size:11px}.active-profile-control select{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:9px 12px;max-width:170px;min-width:0;font-weight:700}.school-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.school-extra-panel{min-width:0;border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:14px}.school-extra-panel h4{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;font-size:14px}.school-extra-item{padding:10px 0;border-top:1px solid var(--line);display:grid;gap:3px}.school-extra-item b{font-size:13px}.school-extra-item small{color:var(--muted);font-size:11px}.school-extra-item p{font-size:12px;margin:0}.school-data-warning{padding:10px 12px;border:1px solid var(--line);border-radius:9px}@media(max-width:730px){.active-profile-control{font-size:0;margin-left:auto;max-width:52%;padding:0}.active-profile-control select{max-width:100%;width:100%;font-size:16px!important}.school-extras{grid-template-columns:minmax(0,1fr)}.app-root.mobile-ui .topbar{overflow:visible}}.school-week-controls{display:flex;gap:6px;align-items:center;margin-left:auto}.school-week-controls .icon-control{width:36px;height:36px}@media(max-width:730px){.page-stack:has(.school-week-controls) .panel-heading{flex-wrap:wrap}.school-week-controls{margin-left:0}}.school-tabs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 0 7px;max-width:100%}.school-tabs button{flex:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:99px;padding:11px 14px;font-size:13px;font-weight:750;min-height:44px;white-space:nowrap;cursor:pointer}.school-tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#10262b)}.school-tabs button span{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:1px 7px;border-radius:20px;background:var(--bg2);color:var(--text);font-size:11px}.school-raw-details{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:12px}.school-raw-details summary{font-weight:750;cursor:pointer;color:var(--muted);font-size:12px}.school-raw-details .untis-grid{margin-top:12px;max-height:430px;overflow:auto}.school-detail-panel{min-width:0}.school-detail-panel .school-extra-item{padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.school-detail-panel .school-extra-item b,.school-detail-panel .school-extra-item small{display:block}.school-detail-panel .school-extra-item small{margin-top:5px;color:var(--muted)}.school-detail-panel .school-extra-item p{margin:6px 0 0;white-space:pre-line}.school-news{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.school-day-picker,.school-mobile-agenda{display:none}.school-slot{overflow-wrap:anywhere}.school-slot em{font-style:normal;font-size:10px;margin-left:3px;border-radius:20px;padding:3px 6px;background:var(--panel2);color:var(--text)}.school-slot.untis-cancelled{border-left:4px solid #e37a7a;opacity:.8}.school-slot.untis-changed:not(.untis-cancelled){border-left:4px solid #d6a45d}.school-exam-card{display:grid;gap:4px;border:1px solid #d6a45d;border-left:4px solid #d6a45d;border-radius:12px;margin:9px;padding:12px;background:var(--panel)}.school-exam-card b{font-size:13px}.school-exam-card span,.school-exam-card small{font-size:11px;color:var(--muted)}@media(max-width:730px){.school-day-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:16px}.school-day-chip{min-width:0;min-height:60px;display:grid;align-content:center;justify-items:center;gap:3px;background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:13px;position:relative}.school-day-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#13252a)}.school-day-chip strong{font-size:13px}.school-day-chip small{font-size:10px}.school-exam-dot{position:absolute;bottom:5px;right:5px;width:5px;height:5px;border-radius:50%;background:#e5a26b}.school-mobile-agenda{display:block;min-width:0}.school-mobile-agenda h4{font-size:15px;margin:0 0 12px}.school-mobile-agenda .school-slot,.school-mobile-agenda .school-exam-card{margin:0 0 9px;padding:13px;gap:5px}.school-mobile-agenda .school-slot span{font-size:12px}.school-mobile-agenda .school-slot b{font-size:16px}.school-mobile-agenda .school-slot small{font-size:12px}.school-grid{display:none!important}.school-tabs button{font-size:12px}.school-detail-panel .panel-heading{align-items:flex-start}.school-detail-panel .role-pill{display:inline-block;margin-top:6px;line-height:1.4;white-space:normal}}.school-test-label{color:#d59c5c!important;font-weight:800}.source-legend{display:flex;gap:8px;flex-wrap:wrap;padding:9px 0 5px;max-width:100%;align-items:center}.source-legend span{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:99px;padding:6px 10px;background:var(--panel);font-size:11px;color:var(--text)}.source-legend i{width:10px;height:10px;border-radius:99px;flex:none}.m-event .source-dot{display:block;width:4px;align-self:stretch;min-width:4px;border-radius:99px;flex-shrink:0}.day-event,.calendar-event{box-shadow:inset 4px 0 0 var(--cal-source,var(--accent))}.m-selected-agenda button{border-left:4px solid var(--cal-source,var(--accent))!important}.m-selected-agenda button small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.record{border-left:4px solid var(--cal-source,var(--accent));padding-left:10px}.m-smart-tips,.smart-tips{display:grid;gap:8px}.m-smart-tips>div,.smart-tips>p{display:flex;align-items:flex-start;gap:11px;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:13px;padding:13px;font-size:12px;line-height:1.5;margin:0}.m-smart-tips svg,.smart-tips svg{color:var(--accent);flex-shrink:0}.photo-expand{display:block;border:0;width:100%;height:100%;padding:0;cursor:zoom-in;background:transparent}.photo-expand img{width:100%;height:100%;object-fit:cover;display:block}.photo-lightbox{position:fixed;inset:0;z-index:115;background:#040910f5;display:flex;align-items:center;justify-content:center;color:#fff;padding:calc(env(safe-area-inset-top) + 66px) 12px calc(env(safe-area-inset-bottom) + 22px)}.photo-lightbox>img{display:block;max-height:100%;max-width:100%;object-fit:contain;border-radius:9px}.lightbox-bar{position:absolute;top:calc(env(safe-area-inset-top) + 8px);left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#f5f8fc}.lightbox-bar button,.lightbox-prev,.lightbox-next{color:#fff;background:#4d5c70a6;border:0;min-width:44px;min-height:44px;border-radius:14px;display:grid;place-items:center}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.lightbox-prev{left:14px}.lightbox-next{right:14px}@media(max-width:730px){.photo-lightbox{padding-left:8px;padding-right:8px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.lightbox-prev,.lightbox-next{opacity:.82;min-width:36px;min-height:50px}.source-legend{padding:7px 0 3px}}.day-event,.calendar-event{background:color-mix(in srgb,var(--cal-source,var(--accent)) 21%,var(--panel));color:var(--text)}.top-profile-button{height:42px;width:42px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:16px;font-weight:850;cursor:pointer;overflow:hidden}.top-profile-button .avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.top-profile-button:focus-visible,.m-weather button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.m-weather{display:none}@media(max-width:730px){.app-root.mobile-ui .topbar-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.app-root.mobile-ui .top-profile-button{display:grid;height:40px;width:40px;background:var(--panel2);color:var(--text);border-color:var(--line)}.app-root.mobile-ui .m-weather{display:grid;gap:14px;min-width:0;padding:15px;background:var(--panel);color:var(--text);border-radius:17px;border:1px solid var(--line)}.m-weather-heading{display:flex;justify-content:space-between;align-items:center;gap:9px;min-width:0}.m-weather-heading>div{min-width:0}.m-weather-heading small{font-size:10px;letter-spacing:.09em;font-weight:800;color:var(--muted);display:block;line-height:1.5}.m-weather-heading h3{font-size:16px;margin:3px 0 0;font-weight:800;color:var(--text)}.m-weather-refresh{width:38px;height:38px;min-width:38px;display:grid;place-items:center;background:var(--panel2);color:var(--accent);border:1px solid var(--line);border-radius:12px}.m-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.m-forecast-grid.expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.m-forecast-day{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:space-between;min-width:0;padding:14px 6px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);text-align:center;color:var(--text)}.m-forecast-day>span{color:var(--muted);font-size:12px;font-weight:700}.m-forecast-day>svg{color:var(--accent)}.m-forecast-day>b{font-size:16px;font-weight:850;white-space:nowrap;letter-spacing:-.04em}.m-forecast-day>b small{font-size:12px;color:var(--muted);font-weight:650}.m-rain-prob{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px;white-space:nowrap}.m-weather-more{display:flex;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px;font-size:12px;font-weight:750;border-radius:11px;border:1px solid var(--line);color:var(--accent);background:var(--panel2)}.m-weather-more svg{transition:transform .15s ease}.m-weather-more svg.up{transform:rotate(180deg)}.m-weather-source{font-size:10px;color:var(--muted);text-align:right}.m-weather-empty{font-size:12px;color:var(--muted);line-height:1.5;margin:0;padding:14px;background:var(--bg2);border-radius:12px}.m-smart-tips{gap:8px}.m-smart-tips .m-tips-title{margin:6px 0 0}.m-tips-title h3{display:flex;align-items:center;gap:8px}.m-tips-title svg{color:var(--accent)}}@media(max-width:365px){.m-forecast-grid.expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.m-forecast-day{padding:10px 4px}}.top-profile-button,.app-root.mobile-ui .top-profile-button{position:relative;box-sizing:border-box;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;line-height:1;isolation:isolate}.top-profile-button .avatar-image,.app-root.mobile-ui .top-profile-button .avatar-image{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;object-position:50% 38%;border-radius:50%;border:0}.avatar-crop-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:#050c14d1}.avatar-crop-panel{width:min(100%,390px);max-height:calc(100dvh - 36px);overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px;color:var(--text);box-shadow:0 18px 80px #0007}.avatar-crop-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.avatar-crop-header h3{font-size:20px}.avatar-crop-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%}.avatar-crop-panel p{color:var(--muted);font-size:13px;line-height:1.5;margin:9px 0 17px}.avatar-crop-preview{width:170px;height:170px;margin:0 auto 18px;border:4px solid var(--accent);border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--bg2)}.avatar-crop-preview img{width:100%;height:100%;object-fit:cover;max-width:none;transform-origin:center center}.avatar-crop-range{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center;gap:10px;color:var(--muted);font-size:13px;margin:12px 0}.avatar-crop-range input{min-width:0;width:100%;accent-color:var(--accent)}.avatar-crop-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:19px}@media(max-width:730px){.app-root.mobile-ui .topbar-actions{align-items:center;justify-content:flex-end;flex:0 0 auto}.avatar-crop-panel{padding:18px}}.app-root.mobile-ui .m-grid button .m-module-icon{background:transparent!important;color:var(--accent)!important;border:0;border-radius:0;width:28px;height:31px;margin-bottom:7px;display:grid;place-items:center}.app-root.mobile-ui .m-grid button .m-module-icon svg{display:block;stroke:currentColor;fill:none;stroke-width:1.8}.fh-mobile-brand{display:none}.identity .brand-symbol{display:block;width:43px;height:43px;flex:none;overflow:visible;color:var(--accent);filter:drop-shadow(0 4px 9px rgba(3,24,17,.18))}.identity b,.fh-mobile-brand b{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-weight:850;letter-spacing:-.065em;line-height:1.05;color:var(--text)}.identity b span,.fh-mobile-brand b span{color:var(--accent)}.identity.brand{gap:11px;align-items:center}.app-root[data-theme=light] .brand-symbol{filter:drop-shadow(0 4px 9px rgba(8,43,34,.12))}.app-root{--fh-control-light:rgba(255,255,255,.13);--fh-control-shadow:0 4px 9px rgba(1,8,13,.24),0 1px 2px rgba(0,0,0,.16);--fh-control-press:inset 0 2px 5px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.11);--fh-card-depth:0 12px 28px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.055)}.app-root[data-theme=light]{--fh-control-light:rgba(255,255,255,.82);--fh-control-shadow:0 5px 11px rgba(28,64,66,.12),0 1px 3px rgba(28,64,66,.07);--fh-control-press:inset 0 2px 4px rgba(28,64,66,.12),0 1px 1px rgba(28,64,66,.08);--fh-card-depth:0 9px 22px rgba(28,64,66,.07),inset 0 1px 0 rgba(255,255,255,.85)}.app-root .button:not(.link),.app-root .m-grid button,.app-root .m-weather-refresh,.app-root .m-weather-more,.app-root .school-day-chip,.app-root .top-profile-button{box-shadow:inset 0 1px 0 var(--fh-control-light),var(--fh-control-shadow);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.app-root .button.primary{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 80%,white 20%) 0%,var(--accent) 62%,color-mix(in srgb,var(--accent) 86%,black 14%) 100%);border-color:color-mix(in srgb,var(--accent) 82%,white 18%);box-shadow:inset 0 1px #ffffff75,0 4px color-mix(in srgb,var(--accent) 52%,black 48%),0 7px 15px #0000002e}.app-root .button.subtle,.app-root .button.ghost{background:linear-gradient(160deg,color-mix(in srgb,var(--panel2) 88%,white 12%),var(--panel2))}.app-root :is(.button,.m-grid button,.m-weather-refresh,.m-weather-more,.school-day-chip,.top-profile-button):not(:disabled):active{transform:translateY(2px) scale(.995);box-shadow:var(--fh-control-press)}@media(hover:hover){.app-root :is(.button,.m-grid button,.m-weather-refresh,.m-weather-more,.school-day-chip):not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 var(--fh-control-light),0 8px 17px #00000030}.app-root .button.primary:not(:disabled):hover{filter:brightness(1.035)}}.app-root .panel,.app-root .m-card,.app-root .m-weather{box-shadow:var(--fh-card-depth)}.app-root .nav-item.active{box-shadow:inset 0 1px 0 var(--fh-control-light),0 3px 9px #0000001a}@media(max-width:730px){.app-root.mobile-ui .topbar-left:after{content:none!important;display:none!important}.app-root.mobile-ui .fh-mobile-brand{display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0}.app-root.mobile-ui .fh-mobile-brand .brand-symbol{width:31px;height:31px;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}.app-root.mobile-ui .fh-mobile-brand b{font-size:21px;color:var(--text)}.app-root.mobile-ui .topbar-left{flex:0 1 auto;min-width:0}.app-root.mobile-ui .topbar{min-height:66px;padding:9px 16px}.app-root.mobile-ui .m-grid button{background:linear-gradient(157deg,color-mix(in srgb,var(--panel) 92%,white 8%),var(--panel) 76%);border-color:var(--line);box-shadow:inset 0 1px 0 var(--fh-control-light),var(--fh-control-shadow)}.app-root.mobile-ui .mobile-bottom-nav{box-shadow:0 -7px 22px #0000001a,inset 0 1px 0 var(--fh-control-light)}.app-root.mobile-ui .mobile-bottom-nav button{border-radius:13px;transition:background .14s ease,transform .14s ease,box-shadow .14s ease}.app-root.mobile-ui .mobile-bottom-nav button.active{box-shadow:inset 0 1px 0 var(--fh-control-light),0 3px 8px #0000001f}.app-root.mobile-ui .mobile-bottom-nav button:active{transform:translateY(1px);box-shadow:var(--fh-control-press)}}@media(prefers-reduced-motion:reduce){.app-root :is(.button,.m-grid button,.mobile-bottom-nav button,.school-day-chip,.m-weather-refresh,.m-weather-more){transition:none!important;transform:none!important}}.app-root[data-theme=light] .identity b span,.app-root[data-theme=light] .fh-mobile-brand b span{color:var(--accent)}.app-root .brand-symbol{color:var(--accent);aspect-ratio:1;flex:none;transform:none;filter:drop-shadow(0 3px 7px rgba(0,0,0,.15))}.app-root .identity b span,.app-root .fh-mobile-brand b span{color:var(--accent)}.app-root[data-theme=light] .brand-symbol{filter:drop-shadow(0 3px 6px rgba(0,0,0,.1))}.calendar-all-details{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.calendar-all-details>summary{display:flex;align-items:center;gap:10px;padding:12px 16px;min-height:46px;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;list-style:none}.calendar-all-details>summary::-webkit-details-marker{display:none}.calendar-all-details>summary:hover{color:var(--accent);background:var(--panel2)}.calendar-all-details>summary>svg:first-child{color:var(--accent)}.calendar-all-details .details-chevron{margin-left:auto;transition:transform .15s ease}.calendar-all-details[open] .details-chevron{transform:rotate(180deg)}.calendar-all-body{padding:0 17px 9px;border-top:1px solid var(--line)}.task-scope-picker{display:flex;flex-wrap:wrap;gap:7px;margin-top:-4px}.task-scope-picker button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:12px;padding:8px 13px;min-height:39px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s}.task-scope-picker button.selected{background:var(--panel2);color:var(--accent);border-color:var(--accent)}.task-scope-picker button:focus-visible,.calendar-all-details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-date-hint{font-weight:400;color:var(--muted);line-height:1.45;font-size:11px}.cal-extra-footer{display:flex;justify-content:flex-end;padding:4px 0 0;margin-top:7px}.cal-extra-toggle{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;padding:7px 2px 5px;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:11px;font-weight:600;line-height:1.2;cursor:pointer;min-height:32px}.cal-extra-toggle:hover,.cal-extra-toggle:focus-visible{color:var(--accent)}.cal-extra-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}.cal-extra-toggle>svg{transition:transform .18s ease}.cal-extra-toggle>svg.cal-extra-rotated{transform:rotate(180deg)}.cal-extra-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.cal-extra-body .records{margin-top:0}@media(max-width:760px){.cal-extra-footer{margin-top:8px}.cal-extra-toggle{font-size:11px;min-height:36px}}@media(max-width:730px){.app-root .school-day-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff40,0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent),0 4px 10px #0000001f}.app-root .school-day-chip.selected strong,.app-root .school-day-chip.selected small{color:var(--accent-ink);opacity:1;text-shadow:none;font-weight:800}.app-root .school-day-chip:not(.selected) small{color:var(--muted)}}.calendar-page{gap:16px}.calendar-page>.page-heading{margin-bottom:0}.calendar-week-panel .calendar-grid{min-height:385px;gap:10px}.calendar-week-panel .calendar-grid .calendar-day{min-height:385px;border-radius:15px}.calendar-week-panel .calendar-grid .calendar-dayhead{padding:15px 12px}.calendar-week-panel .calendar-grid .calendar-dayhead strong{font-size:25px;line-height:1.1}.calendar-week-panel .calendar-grid .calendar-items{padding:10px;gap:8px}.calendar-week-panel .calendar-grid .calendar-event{min-height:58px;padding:10px 9px}.settings-integrations{display:flex;flex-direction:column;align-items:stretch;gap:20px}.settings-integrations>.panel-heading{margin-bottom:0}.settings-integrations>.integration-row{padding:10px 0 15px}.settings-integrations .form-stack{display:grid;gap:18px;min-width:0}.settings-integrations .form-stack>.button{width:100%;min-height:46px;margin:0}.settings-integrations .form-stack>.button.ghost.small-button{width:auto;justify-self:start;padding-inline:17px}.settings-integrations .settings-ics-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;min-width:0}.settings-integrations .settings-ics-actions>.button{display:flex;min-width:0;width:100%;min-height:48px;margin:0;padding:10px 12px;text-align:center;white-space:nowrap;align-items:center;justify-content:center}.settings-integrations .integration-row>div{min-width:0;flex:1}.settings-integrations .integration-row>div>.button{margin-top:14px;max-width:100%;white-space:normal}.settings-integrations .checkbox-line{line-height:1.5;align-items:flex-start}.settings-integrations .checkbox-line>input{flex:none;margin-top:2px}.settings-integrations>p.muted{margin:0}@media(max-width:730px){.app-root.mobile-ui .calendar-page{gap:14px}.app-root.mobile-ui .calendar-page>.page-heading{gap:12px}.app-root.mobile-ui .calendar-page>.page-heading p{display:none}.app-root.mobile-ui .calendar-page>.page-heading h1{margin:0;font-size:31px;line-height:1.11}.app-root.mobile-ui .calendar-week-panel{padding:15px 10px 16px;overflow:hidden}.app-root.mobile-ui .calendar-week-panel>.panel-heading{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin:0 3px 16px}.app-root.mobile-ui .calendar-week-panel>.panel-heading h3{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.app-root.mobile-ui .calendar-week-panel>.panel-heading .arrows{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;align-items:stretch}.app-root.mobile-ui .calendar-week-panel>.panel-heading .arrows button{width:100%;height:42px;min-height:42px;border-radius:11px}.app-root.mobile-ui .calendar-week-panel>.panel-heading .arrows .today-button{font-size:12px}.app-root.mobile-ui .calendar-week-panel .calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;min-height:116px!important;padding:0}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-day{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:116px!important;border-radius:12px;transition:background .15s,border-color .15s,box-shadow .15s}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-dayhead{padding:13px 1px 8px!important;gap:9px!important}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-dayhead span{font-size:10px;font-weight:760;white-space:nowrap}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-dayhead strong{font-size:21px!important;font-weight:850;font-variant-numeric:tabular-nums}.app-root.mobile-ui .calendar-week-panel .calendar-grid .mobile-count{display:grid;place-items:center;align-self:center;margin:2px auto 11px;min-width:24px;height:24px;padding:0 4px;border-radius:9px;font-size:12px;color:var(--muted);background:var(--panel2);line-height:1}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-day.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:inset 0 0 0 1.5px var(--accent)}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-day.is-selected .mobile-count{background:var(--accent);color:var(--accent-ink)}.app-root.mobile-ui .calendar-week-agenda{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.app-root.mobile-ui .calendar-week-agenda>b{font-size:16px;margin:0 0 3px;font-weight:800;color:var(--text)}.app-root.mobile-ui .calendar-week-agenda>button{display:grid;grid-template-columns:55px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 12px;align-items:center;min-height:73px;padding:12px 15px;border-radius:13px;border-left-width:4px}.app-root.mobile-ui .calendar-week-agenda>button span{grid-row:1/3;color:var(--accent);font-size:12px;font-weight:800}.app-root.mobile-ui .calendar-week-agenda>button strong{font-size:14px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.app-root.mobile-ui .calendar-week-agenda>button small{grid-column:2;font-size:11px}.app-root.mobile-ui .calendar-week-agenda>p{margin:0;background:var(--bg2);border-radius:12px;padding:18px;text-align:center;font-size:12px}.app-root.mobile-ui .settings-integrations{gap:20px;padding-bottom:24px}.app-root.mobile-ui .settings-integrations .settings-ics-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-root.mobile-ui .settings-integrations .settings-ics-actions>.button{padding:11px 7px;font-size:12px;gap:5px;min-height:48px}.app-root.mobile-ui .settings-integrations .settings-ics-actions>.button>svg{width:15px;height:15px;flex:none}}@media(max-width:365px){.app-root.mobile-ui .calendar-week-panel .calendar-grid{gap:3px!important}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-dayhead strong{font-size:19px!important}.app-root.mobile-ui .calendar-week-panel .calendar-grid .calendar-dayhead span{font-size:9px}.app-root.mobile-ui .settings-integrations .settings-ics-actions>.button{font-size:11px}}@media(prefers-reduced-motion:reduce){.calendar-week-panel .calendar-grid .calendar-day{transition:none!important}}.app-root .identity .brand-symbol,.app-root .fh-mobile-brand .brand-symbol,.guest-frame .identity .brand-symbol{display:grid;place-items:center;vertical-align:middle;line-height:0;flex:none;overflow:hidden;box-sizing:border-box}.app-root .identity .brand-symbol svg,.app-root .fh-mobile-brand .brand-symbol svg,.guest-frame .identity .brand-symbol svg{display:block;width:70%;height:70%;margin:auto;flex:none}.settings-profile-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;margin-top:18px}.settings-profile-actions .settings-password-form{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0;margin:0;padding:0}.settings-profile-actions .settings-password-form .field{gap:10px;min-width:0}.settings-profile-actions .profile-action-button{width:100%;min-width:0;min-height:52px;margin:0;padding:12px 14px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;line-height:1.3;white-space:normal}.settings-profile-actions .profile-action-button svg{flex:none}.settings-profile-panel>p.muted{margin-bottom:0}@media(max-width:730px){.app-root.mobile-ui .settings-profile-actions{gap:19px}.app-root.mobile-ui .settings-profile-actions .settings-password-form{gap:15px}.app-root.mobile-ui .settings-profile-actions .profile-action-button{min-height:52px}}.m-moments-main>.moment-collage{position:absolute;inset:0;width:100%;height:100%}.m-moments-main .moment-photo{animation:none!important}.moment-crossfade-enter-active,.moment-crossfade-leave-active{transition:opacity .56s cubic-bezier(.22,.61,.36,1);pointer-events:none;will-change:opacity}.moment-crossfade-enter-active{z-index:2}.moment-crossfade-leave-active{z-index:1}.moment-crossfade-enter-from,.moment-crossfade-leave-to{opacity:0}.m-moments-main .m-moments-shade{z-index:3;pointer-events:none}@media(prefers-reduced-motion:reduce){.moment-crossfade-enter-active,.moment-crossfade-leave-active{transition:none!important}}.app-root.mobile-ui .fh-daily-heading{margin-top:4px}.app-root.mobile-ui .fh-daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}.app-root.mobile-ui .fh-daily-grid>button{display:flex;align-items:center;gap:11px;min-width:0;min-height:78px;border:1px solid var(--line);border-radius:17px;padding:12px 13px;background:linear-gradient(155deg,color-mix(in srgb,var(--panel) 93%,white 7%),var(--panel));color:var(--text);text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 var(--fh-control-light),var(--fh-control-shadow);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.app-root.mobile-ui .fh-daily-grid>button>svg{display:block;flex:none;color:var(--accent);stroke:currentColor}.app-root.mobile-ui .fh-daily-copy{display:grid;gap:5px;min-width:0;align-content:center}.app-root.mobile-ui .fh-daily-copy strong{font-size:12px;font-weight:750;line-height:1.25;overflow-wrap:break-word}.app-root.mobile-ui .fh-daily-copy small{color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:break-word}.app-root.mobile-ui .fh-daily-grid>button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-root.mobile-ui .fh-daily-grid>button:active{transform:translateY(1px)}@media(hover:hover){.app-root.mobile-ui .fh-daily-grid>button:hover{border-color:var(--accent)}}@media(max-width:365px){.app-root.mobile-ui .fh-daily-grid{gap:8px}.app-root.mobile-ui .fh-daily-grid>button{padding:10px;gap:8px;min-height:76px}.app-root.mobile-ui .fh-daily-grid>button>svg{width:21px;height:21px}.app-root.mobile-ui .fh-daily-copy strong{font-size:11px}.app-root.mobile-ui .fh-daily-copy small{font-size:9.5px}}@media(prefers-reduced-motion:reduce){.app-root.mobile-ui .fh-daily-grid>button{transition:none!important;transform:none!important}}@media(min-width:731px){.app-root{--fh-nav-active-label:var(--text);--fh-nav-active-icon:var(--accent);--fh-nav-active-bg:color-mix(in srgb,var(--accent) 15%,var(--sidebar))}.app-root[data-theme=light]{--fh-nav-active-label:#20343c;--fh-nav-active-icon:color-mix(in srgb,var(--accent) 44%,#1f4648);--fh-nav-active-bg:color-mix(in srgb,var(--accent) 23%,#f7faf7)}.app-root .sidebar .nav-cap{color:var(--muted);font-weight:850;letter-spacing:.145em}.app-root .sidebar .nav-item{min-width:0;gap:12px;transition:background .17s ease,color .17s ease,box-shadow .17s ease,transform .17s ease}.app-root .sidebar .nav-item>span{color:inherit;min-width:0;overflow-wrap:break-word}.app-root .sidebar .nav-item.active{color:var(--fh-nav-active-label);background:var(--fh-nav-active-bg);font-weight:800;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 34%,transparent),0 3px 9px #00000012}.app-root .sidebar .nav-item.active>svg{color:var(--fh-nav-active-icon);stroke-width:2.2}.app-root .sidebar .nav-item.active .nav-chevron{color:var(--fh-nav-active-icon)}.app-root .sidebar .nav-item.active:before{left:-8px;width:3px;border-radius:6px;background:var(--fh-nav-active-icon)}.app-root .sidebar .nav-item:focus-visible{outline:2px solid var(--fh-nav-active-icon);outline-offset:1px}.page-stack:has(>.desktop-overview){gap:0}.desktop-overview{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;width:100%;min-width:0;align-content:start;align-items:stretch}.desktop-overview>*{grid-column:1/-1;min-width:0;margin:0}.desktop-overview .page-heading{margin:0 0 3px;align-items:center}.desktop-overview .hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:stretch}.desktop-overview .hero-grid>.panel{height:100%;min-width:0;min-height:185px}.desktop-overview .smart-tips{padding:19px 23px;gap:9px}.desktop-overview .smart-tips .panel-heading{margin-bottom:3px}.desktop-overview .week-weather{min-width:0}.desktop-overview .week-weather .forecast-day{min-width:0;min-height:105px}.desktop-overview .week-weather .forecast-day small{overflow-wrap:break-word}.desktop-overview .fh-desktop-feature-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:stretch;min-width:0}.desktop-overview .fh-desktop-feature-row:has(>:only-child){grid-template-columns:1fr}.desktop-overview .fh-desktop-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,36%);grid-template-rows:minmax(0,1fr) auto;column-gap:18px;row-gap:10px;align-items:center;min-height:185px;min-width:0}.desktop-overview .fh-desktop-photos .fh-photo-copy{grid-column:1;grid-row:1;min-width:0}.desktop-overview .fh-desktop-photos img{grid-column:2;grid-row:1/3;width:100%;height:150px;max-height:none;object-fit:cover;border-radius:14px}.desktop-overview .fh-desktop-photos .button{grid-column:1;grid-row:2;justify-self:start}.desktop-overview .fh-desktop-question{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) 20px;gap:16px;align-items:center;min-width:0;min-height:185px;text-align:left}.desktop-overview .fh-feature-icon{height:52px;width:52px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--accent) 14%,var(--panel2));color:var(--accent);display:grid;place-items:center}.desktop-overview .fh-feature-copy{min-width:0;display:grid;gap:8px}.desktop-overview .fh-feature-copy strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.desktop-overview .fh-feature-copy small{font-size:12px}.desktop-overview .fh-feature-arrow{color:var(--muted);align-self:start}.desktop-overview .fh-desktop-family-section{min-width:0;display:grid;gap:13px}.desktop-overview .fh-desktop-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;min-width:0;padding:1px 2px}.desktop-overview .fh-desktop-section-head h3{font-size:clamp(19px,1.55vw,23px);margin:4px 0 0}.desktop-overview .fh-desktop-section-head>small{font-size:11px}.desktop-overview .fh-desktop-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(100px,auto);gap:12px}.desktop-overview .fh-desktop-link{display:grid;grid-template-columns:26px minmax(0,1fr) 13px;gap:11px;align-items:center;align-content:center;min-width:0;min-height:100px;padding:17px 15px;text-align:left;border-radius:17px;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:var(--fh-card-depth)}.desktop-overview .fh-desktop-link>svg:first-child{color:var(--accent);align-self:start;margin-top:3px}.desktop-overview .fh-desktop-link>span{display:grid;gap:6px;min-width:0;align-content:center}.desktop-overview .fh-desktop-link strong{font-size:13px;line-height:1.32;overflow-wrap:break-word}.desktop-overview .fh-desktop-link small{font-size:10px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.desktop-overview .fh-desktop-link .fh-link-arrow{color:var(--subtle);align-self:center}.desktop-overview .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.desktop-overview .stat{height:100%;min-height:118px}.desktop-overview .main-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,.95fr);gap:18px}.desktop-overview .bottom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.desktop-overview .main-grid>.panel,.desktop-overview .bottom-grid>.panel{min-width:0;height:100%}.desktop-overview .main-grid .week-strip{min-width:0}.desktop-overview .bottom-grid>.panel:last-child{grid-column:auto}.desktop-overview :is(.fh-desktop-link,.fh-desktop-question,.stat,.feature-highlight,.wallet-overview),.desktop-overview :is(.mini-link,.text-button,.external-row,.arrows button,.icon-control,.overview-gallery .button){transition:transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease,color .17s ease}.desktop-overview :is(.fh-desktop-link,.fh-desktop-question,.stat,.feature-highlight,.wallet-overview):focus-visible,.desktop-overview :is(.mini-link,.text-button,.external-row,.arrows button,.icon-control,.overview-gallery .button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-root[data-theme=light] .desktop-overview .fh-desktop-link>svg:first-child,.app-root[data-theme=light] .desktop-overview .fh-feature-icon{color:color-mix(in srgb,var(--accent) 48%,#315355)}}@media(min-width:731px)and (hover:hover){.app-root .sidebar .nav-item:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel2));color:var(--text);transform:translate(2px)}.app-root .sidebar .nav-item.active:hover{background:color-mix(in srgb,var(--accent) 26%,var(--sidebar));color:var(--fh-nav-active-label)}.desktop-overview :is(.fh-desktop-link,.fh-desktop-question,.stat,.feature-highlight,.wallet-overview):not(:disabled):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 76%,var(--line));box-shadow:0 13px 28px #00000021,inset 0 1px 0 var(--fh-control-light)}.desktop-overview :is(.mini-link,.text-button,.external-row,.arrows button,.icon-control,.overview-gallery .button):not(:disabled):hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));transform:translateY(-1px)}.desktop-overview .fh-desktop-link:hover .fh-link-arrow{color:var(--accent);transform:translate(2px)}}@media(min-width:731px)and (max-width:1120px){.desktop-overview .fh-desktop-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:731px)and (max-width:1040px){.desktop-overview .fh-desktop-feature-row{grid-template-columns:1fr}.desktop-overview .fh-desktop-question{min-height:135px}}@media(min-width:731px)and (max-width:1040px){.desktop-overview .hero-grid{grid-template-columns:1fr}.desktop-overview .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-overview .main-grid{grid-template-columns:1fr}.desktop-overview .bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-overview .bottom-grid>.panel:last-child{grid-column:1/-1}.desktop-overview .fh-desktop-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:731px)and (max-width:845px){.desktop-overview .bottom-grid{grid-template-columns:1fr}.desktop-overview .bottom-grid>.panel:last-child{grid-column:auto}.desktop-overview .fh-desktop-section-head>small{display:none}.desktop-overview .fh-desktop-photos{grid-template-columns:minmax(0,1fr) minmax(95px,34%)}}@media(prefers-reduced-motion:reduce){.desktop-overview :is(.fh-desktop-link,.fh-desktop-question,.stat,.feature-highlight,.wallet-overview,.mini-link,.text-button,.external-row,.arrows button,.icon-control,.overview-gallery .button),.app-root .sidebar .nav-item{transition:none!important;transform:none!important}}@media(min-width:731px){.app-root[data-theme=light] .sidebar .nav-cap{color:#486068}.app-root[data-theme=light] .sidebar .nav-item:not(.active){color:#4e626b}.app-root[data-theme=dark] .sidebar .nav-item:not(.active){color:#adbec7}.desktop-overview .week-day,.desktop-overview .day-event,.desktop-overview .check-btn,.app-root .top-profile-button{transition:background .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease}.desktop-overview .week-day:focus-visible,.desktop-overview .day-event:focus-visible,.desktop-overview .check-btn:focus-visible,.app-root .top-profile-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}}@media(min-width:731px)and (hover:hover){.desktop-overview .week-day:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--bg2));box-shadow:0 7px 18px #0000001a;transform:translateY(-1px)}.desktop-overview .day-event:hover{filter:brightness(.98);box-shadow:0 3px 8px #00000021;transform:translateY(-1px)}.desktop-overview .check-btn:not(:disabled):hover,.app-root .top-profile-button:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 7px 16px #00000026,inset 0 0 0 1px color-mix(in srgb,var(--accent) 44%,transparent)}}@media(prefers-reduced-motion:reduce){.desktop-overview :is(.week-day,.day-event,.check-btn),.app-root .top-profile-button{transition:none!important;transform:none!important}}@media(min-width:731px){.app-root[data-theme=light] .sidebar .identity b span,.app-root[data-theme=light] .sidebar .identity .brand-symbol{color:color-mix(in srgb,var(--accent) 45%,#275058)}}.shopping-quick{display:grid;gap:7px;margin:0 0 17px;min-width:0}.shopping-quick-label{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.shopping-quick-items{display:flex;gap:7px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 6px;scrollbar-width:thin;scroll-snap-type:x proximity}.shopping-quick-chip{display:inline-flex;gap:5px;align-items:center;justify-content:center;flex:none;scroll-snap-align:start;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:6px 11px;min-height:36px;font-size:12px;font-weight:700;white-space:nowrap;line-height:1;transition:background .15s,border-color .15s,transform .15s}.shopping-quick-chip svg{color:var(--accent);flex:none}.shopping-quick-chip:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel2));transform:translateY(-1px)}.shopping-quick-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shopping-quick-chip.is-listed{opacity:.64;cursor:default}.shopping-quick-chip:disabled:not(.is-listed){opacity:.5;cursor:wait}.app-root{--fh-btn-radius:12px;--fh-btn-height:44px;--fh-btn-small-height:38px;--fh-btn-face:linear-gradient(170deg, color-mix(in srgb,var(--panel2) 82%,var(--panel) 18%), var(--panel2));--fh-btn-outline:color-mix(in srgb,var(--text) 11%,var(--line));--fh-btn-hover-outline:color-mix(in srgb,var(--accent) 72%,var(--line));--fh-btn-tint:color-mix(in srgb,var(--accent) 12%,var(--panel2));--fh-btn-shadow:inset 0 1px 0 var(--fh-control-light),0 3px 8px rgba(2,14,25,.13);--fh-btn-shadow-hover:inset 0 1px 0 var(--fh-control-light),0 6px 14px rgba(2,14,25,.18);--fh-btn-shadow-pressed:inset 0 2px 4px rgba(5,16,24,.15),0 1px 2px rgba(2,14,25,.07);--fh-btn-primary-bg:linear-gradient(165deg, color-mix(in srgb,var(--accent) 89%,white 11%), var(--accent) 48%, color-mix(in srgb,var(--accent) 88%,black 12%));--fh-btn-primary-shadow:inset 0 1px 0 rgba(255,255,255,.36), 0 2px 0 color-mix(in srgb,var(--accent) 48%,#263c37 52%), 0 5px 11px rgba(2,14,25,.17);--fh-btn-primary-shadow-hover:inset 0 1px 0 rgba(255,255,255,.42), 0 2px 0 color-mix(in srgb,var(--accent) 48%,#263c37 52%), 0 7px 16px rgba(2,14,25,.2);--fh-btn-danger-ink:#e9a09c}.app-root[data-theme=light]{--fh-btn-outline:color-mix(in srgb,#617b8c 24%,var(--line));--fh-btn-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 3px 9px rgba(24,57,74,.09);--fh-btn-shadow-hover:inset 0 1px 0 white,0 6px 14px rgba(24,57,74,.14);--fh-btn-shadow-pressed:inset 0 2px 4px rgba(26,56,70,.13),0 1px 1px rgba(26,56,70,.05);--fh-btn-danger-ink:#ab4444}.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-game-calendar,.nx-preview-open,.nx-week-toolbar>button,.nx-action,.icon-control,.round-option,.arrows button,.m-weather-refresh,.m-weather-more,.mobile-menu,.mobile-close,.task-scope-picker button,.school-tabs button,.shopping-quick-chip,.nx-shortcut-grid>button,.nx-overview-shortcuts button,.profile-mini>button,.avatar-crop-header button){border:1px solid var(--fh-btn-outline);border-radius:var(--fh-btn-radius);background:var(--fh-btn-face);color:var(--text);font-weight:720;box-shadow:var(--fh-btn-shadow);text-decoration:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-preview-open,.m-weather-more,.task-scope-picker button,.school-tabs button){min-height:var(--fh-btn-height);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.35}.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-preview-open,.m-weather-more,.task-scope-picker button,.school-tabs button)>svg{flex-shrink:0}.app-root .button.small-button,.app-root .nx-card-actions button,.app-root .nx-templates button,.app-root .task-scope-picker button{min-height:var(--fh-btn-small-height);font-size:12px;padding:8px 12px}.app-root .wallet-parent-actions .wallet-complete-btn{min-height:var(--fh-btn-small-height);box-shadow:var(--fh-btn-primary-shadow)}.app-root .button.button-wide{width:100%;white-space:normal;overflow-wrap:anywhere}.app-root .settings-profile-actions .profile-action-button{min-height:46px}.app-root :is(.icon-control,.nx-action,.round-option,.arrows button,.nx-week-toolbar>button,.m-weather-refresh,.mobile-menu,.mobile-close,.profile-mini>button,.avatar-crop-header button){display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;flex:none}.app-root .nx-game-calendar{min-height:38px;padding:7px 10px}.app-root .shopping-quick-chip{min-height:35px;padding:7px 11px;font-size:12px;border-radius:11px}.app-root .nx-preview-open{padding:10px 14px;margin-top:auto;justify-content:space-between}.app-root .nx-shortcut-grid>button{display:grid;justify-items:start;text-align:left;align-content:center;min-height:82px;padding:13px}.app-root .nx-overview-shortcuts button{min-height:60px;padding:12px;justify-content:flex-start}.app-root :is(.button.primary,.school-tabs button.active){background:var(--fh-btn-primary-bg);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 73%,var(--fh-btn-outline));box-shadow:var(--fh-btn-primary-shadow);text-shadow:none}.app-root :is(.button.primary,.school-tabs button.active)>svg{color:currentColor}.app-root :is(.task-scope-picker button.selected,.round-option.active,.fh-homework-done.is-done,.nx-check.done){background:var(--fh-btn-tint);border-color:var(--fh-btn-hover-outline);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.app-root .fh-homework-done>svg,.app-root :is(.fh-homework-done.is-done,.task-scope-picker button.selected) svg,.app-root .shopping-quick-chip>svg{color:var(--accent)}.app-root .button.danger{color:var(--fh-btn-danger-ink);background:color-mix(in srgb,#b54b4b 9%,var(--panel2));border-color:color-mix(in srgb,#bb5858 45%,var(--fh-btn-outline))}.app-root .shopping-quick-chip.is-listed{box-shadow:none;cursor:default;opacity:.7}@media(hover:hover){.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-game-calendar,.nx-preview-open,.nx-week-toolbar>button,.nx-action,.icon-control,.round-option,.arrows button,.m-weather-refresh,.m-weather-more,.mobile-menu,.mobile-close,.task-scope-picker button,.school-tabs button,.shopping-quick-chip,.nx-shortcut-grid>button,.nx-overview-shortcuts button,.profile-mini>button,.avatar-crop-header button):not(:disabled):not(.is-listed):hover{border-color:var(--fh-btn-hover-outline);background:var(--fh-btn-tint);color:var(--text);box-shadow:var(--fh-btn-shadow-hover);transform:translateY(-1px);filter:none}.app-root :is(.button.primary,.school-tabs button.active):not(:disabled):hover{background:var(--fh-btn-primary-bg);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--fh-btn-primary-shadow-hover);filter:brightness(1.035)}.app-root .button.danger:not(:disabled):hover{border-color:#cf7070;background:color-mix(in srgb,#c65b5b 17%,var(--panel2));color:var(--fh-btn-danger-ink)}}.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-game-calendar,.nx-preview-open,.nx-week-toolbar>button,.nx-action,.icon-control,.round-option,.arrows button,.m-weather-refresh,.m-weather-more,.mobile-menu,.mobile-close,.task-scope-picker button,.school-tabs button,.shopping-quick-chip,.nx-shortcut-grid>button,.nx-overview-shortcuts button,.profile-mini>button,.avatar-crop-header button):not(:disabled):active{transform:translateY(1px) scale(.995);box-shadow:var(--fh-btn-shadow-pressed)}.app-root :is(.button.primary,.school-tabs button.active):not(:disabled):active{box-shadow:var(--fh-btn-shadow-pressed);background:color-mix(in srgb,var(--accent) 88%,black 12%);color:var(--accent-ink)}.app-root :is(.button,.fh-homework-done,.nx-card-actions button,.nx-templates button,.nx-game-calendar,.nx-preview-open,.nx-week-toolbar>button,.nx-action,.icon-control,.round-option,.arrows button,.m-weather-refresh,.m-weather-more,.mobile-menu,.mobile-close,.task-scope-picker button,.school-tabs button,.shopping-quick-chip,.nx-shortcut-grid>button,.nx-overview-shortcuts button,.profile-mini>button,.avatar-crop-header button,.check-btn,.nx-check):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-root :is(.check-btn,.nx-check){border-color:var(--fh-btn-outline);border-radius:9px;background:var(--panel);box-shadow:inset 0 1px 0 var(--fh-control-light);transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.app-root :is(.check-btn.checked,.nx-check.done){border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}@media(hover:hover){.app-root :is(.check-btn,.nx-check):not(:disabled):hover{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 19%,transparent)}}.app-root :is(.m-grid button,.fh-daily-grid>button,.nx-day,.nx-line:is(button,a),.nx-alert,.nx-overview-shortcuts button,.m-qotd,.m-event,.week-day,.calendar-event,.day-event,.feature-highlight,.fh-desktop-link,.fh-desktop-question,.wallet-overview,.stat:is(button,a),.m-moments-main){transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}@media(hover:hover){.app-root :is(.m-grid button,.fh-daily-grid>button,.nx-day,.nx-line:is(button,a),.nx-alert,.m-qotd,.m-event,.week-day,.calendar-event,.day-event,.feature-highlight,.fh-desktop-link,.fh-desktop-question,.wallet-overview,.stat:is(button,a),.m-moments-main):not(:disabled):hover{border-color:var(--fh-btn-hover-outline);box-shadow:var(--fh-btn-shadow-hover);transform:translateY(-1px)}}.app-root :is(.m-grid button,.fh-daily-grid>button,.nx-day,.nx-line:is(button,a),.nx-alert,.m-qotd,.m-event,.week-day,.calendar-event,.day-event,.feature-highlight,.fh-desktop-link,.fh-desktop-question,.wallet-overview,.stat:is(button,a),.m-moments-main):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-root :is(.mobile-bottom-nav button,.nav-item){transition:color .16s,background .16s,box-shadow .16s}.app-root .mobile-bottom-nav button.active,.app-root .nav-item.active{color:var(--text);background:var(--fh-btn-tint);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.app-root :is(.mobile-bottom-nav button.active,.nav-item.active)>svg{color:var(--accent)}.app-root :is(.mobile-bottom-nav button,.nav-item):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(hover:hover){.app-root :is(.mobile-bottom-nav button,.nav-item):not(:disabled):hover{background:var(--fh-btn-tint);color:var(--text)}}.app-root :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign){color:var(--accent);transition:color .16s,background .16s,text-decoration-color .16s}@media(hover:hover){.app-root :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign):not(:disabled):hover{color:color-mix(in srgb,var(--accent) 72%,var(--text));text-decoration:underline;text-underline-offset:3px}}.app-root :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:7px}.app-root :is(.photo-remove,.lightbox-prev,.lightbox-next,.lightbox-bar button){border-radius:var(--fh-btn-radius);box-shadow:0 3px 9px #0003}@media(hover:hover){.app-root :is(.photo-remove,.lightbox-prev,.lightbox-next,.lightbox-bar button):not(:disabled):hover{background:#475665e6;box-shadow:0 6px 14px #0000003d}}@media(prefers-reduced-motion:reduce){.app-root button,.app-root a.button{transition:none!important;transform:none!important}}.app-root :is(.fh-button-danger,.button.danger){color:var(--fh-btn-danger-ink);border-color:color-mix(in srgb,#b65a5a 37%,var(--fh-btn-outline));background:color-mix(in srgb,#b54b4b 8%,var(--panel2))}@media(hover:hover){.app-root :is(.fh-button-danger,.button.danger):not(:disabled):hover{color:var(--fh-btn-danger-ink);border-color:#c96c6c;background:color-mix(in srgb,#b54b4b 14%,var(--panel2))}}.app-root .arrows .today-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:62px;min-height:42px;padding:0 12px;font-size:12px;font-weight:720;color:var(--text)}.app-root .school-day-chip{border-color:var(--fh-btn-outline);box-shadow:var(--fh-btn-shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.app-root .school-day-chip.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);box-shadow:var(--fh-btn-primary-shadow)}.app-root .top-profile-button{border-color:var(--fh-btn-outline);box-shadow:var(--fh-btn-shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.app-root .toast-close{display:grid;place-items:center;min-width:30px;min-height:30px;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:inherit;transition:background .16s ease,border-color .16s ease}.app-root .cal-extra-toggle{color:var(--muted);transition:color .16s ease,text-decoration-color .16s ease}@media(hover:hover){.app-root .school-day-chip:not(:disabled):hover{border-color:var(--fh-btn-hover-outline);box-shadow:var(--fh-btn-shadow-hover);transform:translateY(-1px)}.app-root .school-day-chip.selected:not(:disabled):hover{background:var(--accent);color:var(--accent-ink)}.app-root .top-profile-button:not(:disabled):hover{border-color:var(--fh-btn-hover-outline);box-shadow:var(--fh-btn-shadow-hover);transform:translateY(-1px)}.app-root .toast-close:not(:disabled):hover{border-color:#ffffffa6;background:#ffffff26}.app-root .cal-extra-toggle:not(:disabled):hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}}.app-root :is(.school-day-chip,.top-profile-button,.toast-close,.cal-extra-toggle):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.app-root :is(.school-day-chip,.top-profile-button,.toast-close,.cal-extra-toggle){transition:none!important;transform:none!important}}.app-root :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign){min-height:36px}.app-root[data-theme=light] :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign){color:color-mix(in srgb,var(--accent) 25%,var(--text) 75%)}@media(hover:hover){.app-root[data-theme=light] :is(.mini-link,.text-button,.form-links button,.m-title button,.nx-match-actions button,.nx-hall-link,.nx-assign):not(:disabled):hover{color:color-mix(in srgb,var(--accent) 36%,var(--text) 64%)}}.app-root{--color-page: var(--bg);--color-surface: var(--panel);--color-surface-strong: var(--panel2);--color-text: var(--text);--color-text-muted: var(--muted);--color-border: var(--line);--color-accent: var(--accent);--color-on-accent: var(--accent-ink);--color-accent-soft: color-mix(in srgb, var(--accent) 15%, var(--panel));--aurora-primary: color-mix(in srgb, var(--accent) 23%, transparent);--aurora-neighbor: color-mix(in srgb, var(--accent) 11%, var(--panel2));--aurora-opposite: color-mix(in srgb, var(--accent) 9%, transparent);--leaf-primary: color-mix(in srgb, var(--accent) 42%, var(--panel2));--leaf-secondary: color-mix(in srgb, var(--accent) 25%, var(--panel));--leaf-shadow: color-mix(in srgb, var(--accent) 42%, #152f29);--fh-radius-card: 24px;--fh-radius-control: 14px;--fh-focus: 0 0 0 3px color-mix(in srgb, var(--accent) 48%, transparent)}.app-root[data-theme=light]{--aurora-neighbor: color-mix(in srgb, var(--accent) 15%, #f7fbf8);--leaf-shadow: color-mix(in srgb, var(--accent) 56%, #2f5b50)}@media(prefers-reduced-motion:reduce){.app-root{scroll-behavior:auto}}.app-root .workspace{position:relative;isolation:isolate;background:radial-gradient(circle at 14% 8%,var(--aurora-primary),transparent 32rem),radial-gradient(circle at 88% 28%,var(--aurora-opposite),transparent 28rem),var(--color-page)}.app-root .workspace:before{content:"";position:fixed;z-index:-1;inset:0 0 auto;height:360px;pointer-events:none;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 68%)}.app-root .panel,.app-root .m-card,.app-root .fh-desktop-family-section{border-color:color-mix(in srgb,var(--accent) 12%,var(--line));border-radius:var(--fh-radius-card);box-shadow:0 18px 48px color-mix(in srgb,var(--leaf-shadow) 10%,transparent)}@supports (backdrop-filter: blur(18px)){.app-root .panel,.app-root .m-card,.app-root .fh-desktop-family-section{background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08)}}.app-root .sidebar{border-right-color:color-mix(in srgb,var(--accent) 13%,var(--line));background:radial-gradient(circle at 20% 5%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 15rem),color-mix(in srgb,var(--sidebar) 94%,transparent)}.app-root .sidebar .nav-list{gap:5px}.app-root .sidebar .nav-item{min-height:44px;border-radius:16px}.app-root .sidebar .nav-item.active{border-radius:16px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 8px 24px #00000014}.app-root .sidebar .nav-item.active:before{display:none}.app-root .topbar{gap:14px;background:color-mix(in srgb,var(--panel) 86%,transparent);border-bottom-color:color-mix(in srgb,var(--accent) 13%,var(--line))}@supports (backdrop-filter: blur(20px)){.app-root .topbar{-webkit-backdrop-filter:blur(20px) saturate(1.1);backdrop-filter:blur(20px) saturate(1.1)}}.fh-v7-ticker{display:flex;align-items:center;min-width:220px;max-width:310px;height:42px;padding:0 14px 0 10px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:15px;color:var(--text);background:color-mix(in srgb,var(--panel2) 88%,transparent);overflow:hidden;text-align:left}.fh-v7-ticker:hover{border-color:var(--accent)}.fh-v7-ticker:focus-visible{outline:none;box-shadow:var(--fh-focus)}.fh-v7-ticker-bell{position:relative;display:grid;place-items:center;flex:none;width:30px;color:var(--accent)}.fh-v7-ticker-bell b{position:absolute;top:-7px;right:-2px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:9px}.fh-v7-ticker-window{min-width:0;margin-left:8px;overflow:hidden}.fh-v7-ticker-window span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:760;animation:fh-v7-ticker-in .28s ease-out}@keyframes fh-v7-ticker-in{0%{opacity:0;transform:translateY(5px)}}.hero-grid[data-design=final-v7]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(24px,4vw,64px);min-height:490px}.fh-v7-hero-copy{min-width:0;padding:clamp(8px,2vw,24px)}.fh-v7-hero-copy h2{max-width:680px;margin:13px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,5vw,78px);font-weight:500;line-height:.96;letter-spacing:-.055em}.fh-v7-hero-copy h2 em{display:block;color:var(--accent);font-weight:500}.fh-v7-hero-copy>p{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.fh-v7-tip-list{display:grid;gap:10px;max-width:650px;margin-top:28px}.fh-v7-tip{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:13px;min-height:64px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));border-radius:19px;color:var(--text);background:color-mix(in srgb,var(--panel) 84%,transparent);text-align:left}.fh-v7-tip>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--color-accent-soft);color:var(--accent)}.fh-v7-tip b{min-width:0;font-size:12px;line-height:1.45}.fh-v7-tip>svg{color:var(--muted)}.fh-v7-tip:hover{border-color:var(--accent);transform:translateY(-1px)}.fh-v7-tip:focus-visible{outline:none;box-shadow:var(--fh-focus)}.fh-v7-hero-meta{display:flex;align-items:center;gap:9px;margin-top:19px;color:var(--muted);font-size:10px}.fh-v7-hero-meta i{width:28px;height:1px;background:var(--accent)}.fh-v7-date-card{position:relative;isolation:isolate;min-width:0;height:460px;padding:44px 32px 42px;display:flex;flex-direction:column;align-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:100px 100px 92px 92px/88px 88px 96px 96px;background:linear-gradient(148deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),color-mix(in srgb,var(--accent) 26%,var(--panel2)) 58%,color-mix(in srgb,var(--accent) 34%,var(--panel)));box-shadow:0 28px 65px color-mix(in srgb,var(--leaf-shadow) 22%,transparent),inset 0 1px #ffffff4d}.fh-v7-landscape,.fh-v7-leaf{position:absolute;z-index:-1;display:block;pointer-events:none}.fh-v7-landscape--halo{width:82%;height:72%;right:-6%;top:-18%;border-radius:49% 51% 48% 52%/55% 44% 56% 45%;background:color-mix(in srgb,var(--accent) 16%,var(--panel));transform:rotate(4deg)}.fh-v7-landscape--sweep{width:142%;height:61%;left:-24%;top:29%;border-radius:50% 50% 47% 53%/62% 57% 43% 38%;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));transform:rotate(-4deg);opacity:.58}.fh-v7-landscape--leaf{width:76%;height:106%;left:-31%;bottom:-25%;border-radius:54% 46% 51% 49%/42% 58%;background:color-mix(in srgb,var(--accent) 23%,var(--panel2));transform:rotate(9deg);opacity:.6}.fh-v7-landscape--ground{width:134%;height:45%;left:-17%;bottom:-25%;border-radius:48% 52% 50% 50%/68% 66% 34% 32%;background:color-mix(in srgb,var(--accent) 40%,var(--panel2));opacity:.72}.fh-v7-leaf{overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:100% 0/82% 0 100% 18%;background:linear-gradient(145deg,var(--leaf-secondary),var(--leaf-primary));box-shadow:inset 0 0 0 1px color-mix(in srgb,white 18%,transparent);transform-origin:50% 100%}.fh-v7-leaf:after{content:"";position:absolute;left:16%;top:53%;width:70%;height:26%;border-top:1px solid color-mix(in srgb,var(--text) 22%,transparent);border-radius:50%;transform-origin:left top;opacity:.72}.fh-v7-leaf--left-top{width:132px;height:210px;left:-64px;top:42px;transform:rotate(-19deg);opacity:.48}.fh-v7-leaf--left-side{width:112px;height:172px;left:-54px;top:201px;transform:rotate(9deg);opacity:.55}.fh-v7-leaf--left-bottom{width:178px;height:154px;left:20px;bottom:-66px;transform:rotate(49deg);opacity:.58}.fh-v7-leaf--right-top{width:136px;height:214px;right:-67px;top:51px;transform:rotate(109deg);opacity:.48}.fh-v7-leaf--right-side{width:114px;height:176px;right:-56px;top:195px;transform:rotate(81deg);opacity:.55}.fh-v7-leaf--right-bottom{width:182px;height:158px;right:18px;bottom:-69px;transform:rotate(42deg);opacity:.58}.fh-v7-leaf--left-top:after,.fh-v7-leaf--left-side:after,.fh-v7-leaf--left-bottom:after{transform:rotate(-35deg)}.fh-v7-leaf--right-top:after,.fh-v7-leaf--right-side:after,.fh-v7-leaf--right-bottom:after{transform:rotate(-49deg)}.fh-v7-date-content{z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;color:var(--text)}.fh-v7-dayline{width:min(100%,270px);display:grid;grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);align-items:center;gap:13px;font-size:10px;font-weight:720;letter-spacing:.26em;text-transform:uppercase}.fh-v7-dayline i{height:1px;background:color-mix(in srgb,var(--text) 34%,transparent)}.fh-v7-date{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:13px}.fh-v7-date>strong{font-family:Georgia,Times New Roman,serif;font-size:94px;font-weight:500;line-height:.9;letter-spacing:-.075em}.fh-v7-date>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.fh-v7-date b{font-size:20px;font-weight:540;text-transform:capitalize;white-space:nowrap}.fh-v7-date small{color:var(--muted);font-size:11px}.fh-v7-weather{position:relative;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;margin-top:7px;padding:3px 26px 3px 3px;border-radius:22px;color:var(--text)}.fh-v7-weather:hover{background:color-mix(in srgb,var(--panel) 35%,transparent)}.fh-v7-weather:focus-visible{outline:none;box-shadow:var(--fh-focus)}.fh-v7-weather-icon{grid-row:1 / 3;filter:drop-shadow(0 7px 12px color-mix(in srgb,var(--leaf-shadow) 20%,transparent))}.fh-v7-weather-reading{display:flex;align-items:baseline;gap:9px}.fh-v7-weather-reading strong{font-size:34px;line-height:1;letter-spacing:-.055em}.fh-v7-weather-reading span{font-size:12px;white-space:nowrap}.fh-v7-weather-city{color:var(--muted);font-size:9px}.fh-v7-weather-refresh{position:absolute;right:5px;color:var(--muted)}.fh-v7-next{z-index:2;width:100%;min-height:78px;margin-top:13px;padding:13px 17px;display:grid;grid-template-columns:72px minmax(0,1fr) 20px;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--text) 11%,transparent);border-radius:27px;background:color-mix(in srgb,var(--panel) 89%,transparent);color:var(--text);text-align:left;box-shadow:0 14px 35px color-mix(in srgb,var(--leaf-shadow) 15%,transparent)}.fh-v7-next>strong{padding-right:15px;border-right:1px solid color-mix(in srgb,var(--text) 20%,transparent);font-size:20px;text-align:center;font-variant-numeric:tabular-nums}.fh-v7-next span{min-width:0;display:grid;gap:4px}.fh-v7-next small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.fh-v7-next b{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}button.fh-v7-next:hover{border-color:var(--accent);transform:translateY(-1px)}button.fh-v7-next:focus-visible{outline:none;box-shadow:var(--fh-focus)}.fh-v7-next--empty{grid-template-columns:72px minmax(0,1fr)}.app-root[data-theme=light] .week-day.is-selected,.app-root[data-theme=light] .calendar-day.is-selected{background:color-mix(in srgb,var(--accent) 13%,white);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 68%,#4b655c)}.app-root .school-day-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.app-root .school-day-chip{border-radius:14px}.app-root .school-day-chip.selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 68%,white),0 7px 18px #0000001f}@media(max-width:1190px){.hero-grid[data-design=final-v7]{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:24px}.fh-v7-date-card{height:440px;padding:40px 27px 36px;border-radius:84px}.fh-v7-date>strong{font-size:84px}.fh-v7-ticker{min-width:190px;max-width:235px}}@media(max-width:940px){.fh-v7-ticker{min-width:42px;width:42px;padding:0 6px}.fh-v7-ticker-window{display:none}.hero-grid[data-design=final-v7]{grid-template-columns:minmax(0,1fr) minmax(310px,.85fr)}}@media(max-width:730px){.app-root.mobile-ui .topbar{background:color-mix(in srgb,var(--panel) 90%,transparent)}.app-root.mobile-ui .topbar-actions{display:flex;align-items:center}.app-root.mobile-ui .fh-v7-ticker{display:flex}.app-root.mobile-ui .content{padding-top:16px}.app-root.mobile-ui .mobile-first-overview{gap:16px}.app-root.mobile-ui .m-home-hero.fh-v7-date-card{width:100%;max-width:520px;height:398px;min-height:398px;margin:0 auto;padding:33px 22px 32px;gap:0;border-radius:68px;color:var(--text);background:linear-gradient(148deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),color-mix(in srgb,var(--accent) 29%,var(--panel2)))}.app-root.mobile-ui .fh-v7-date>strong{font-size:76px}.app-root.mobile-ui .fh-v7-date b{font-size:17px}.app-root.mobile-ui .fh-v7-weather-icon{width:58px;height:58px}.app-root.mobile-ui .fh-v7-weather-reading strong{font-size:31px}.app-root.mobile-ui .fh-v7-next{min-height:70px;margin-top:10px;border-radius:23px}.app-root.mobile-ui .fh-v7-leaf--left-top{width:118px;height:184px;left:-66px;top:54px}.app-root.mobile-ui .fh-v7-leaf--right-top{width:121px;height:188px;right:-69px;top:60px}.app-root.mobile-ui .fh-v7-leaf--left-side{width:100px;height:153px;left:-55px;top:194px}.app-root.mobile-ui .fh-v7-leaf--right-side{width:103px;height:157px;right:-57px;top:188px}.app-root.mobile-ui .fh-v7-leaf--left-bottom{width:158px;height:138px;left:-2px;bottom:-62px}.app-root.mobile-ui .fh-v7-leaf--right-bottom{width:162px;height:141px;right:-4px;bottom:-65px}.app-root.mobile-ui .m-smart-tips>div:not(.m-title){border-radius:16px}.app-root.mobile-ui .mobile-bottom-nav{background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-root.mobile-ui .school-day-picker{gap:4px}.app-root.mobile-ui .school-day-chip{min-height:58px;padding-inline:2px}.app-root.mobile-ui .school-day-chip strong{font-size:12px}.app-root.mobile-ui .school-day-chip small{font-size:9px}}@media(max-width:390px){.app-root.mobile-ui .m-home-hero.fh-v7-date-card{height:382px;min-height:382px;padding:31px 16px 29px;border-radius:58px}.app-root.mobile-ui .fh-v7-dayline{width:230px;font-size:8px;gap:9px}.app-root.mobile-ui .fh-v7-date{gap:12px}.app-root.mobile-ui .fh-v7-date>strong{font-size:68px}.app-root.mobile-ui .fh-v7-date b{font-size:15px}.app-root.mobile-ui .fh-v7-date small{font-size:9px}.app-root.mobile-ui .fh-v7-weather{transform:scale(.94);margin-top:2px}.app-root.mobile-ui .fh-v7-next{grid-template-columns:58px minmax(0,1fr) 18px;gap:10px;padding:10px 12px}.app-root.mobile-ui .fh-v7-next>strong{padding-right:10px;font-size:17px}.app-root.mobile-ui .fh-v7-next b{font-size:11px}.app-root.mobile-ui .fh-v7-next small{font-size:8px}}@media(max-width:340px){.app-root.mobile-ui .m-home-hero.fh-v7-date-card{height:370px;min-height:370px;padding-inline:12px}.app-root.mobile-ui .fh-v7-date>strong{font-size:62px}.app-root.mobile-ui .fh-v7-date b{font-size:14px}.app-root.mobile-ui .fh-v7-weather{transform:scale(.9)}.app-root.mobile-ui .school-day-picker{gap:2px}.app-root.mobile-ui .school-day-chip{min-height:56px;border-radius:11px}.app-root.mobile-ui .school-day-chip strong{font-size:11px}.app-root.mobile-ui .school-day-chip small{font-size:8px}}@media(prefers-reduced-motion:reduce){.fh-v7-ticker-window span{animation:none}.fh-v7-tip,button.fh-v7-next{transition:none!important;transform:none!important}}.fh-v7-shell.shell{display:block;min-height:100dvh}.fh-v7-main.workspace{display:block;min-height:calc(100dvh - var(--header));background:transparent}.fh-v7-content.content{max-width:1400px;margin:0 auto;padding:34px 38px 42px}.fh-v7-brand.brand{padding:0;display:flex;align-items:center;gap:10px;color:var(--ink)}.fh-v7-brand .brand-symbol{width:31px;height:31px;color:var(--accent)}.fh-v7-brand b{font-size:26px;letter-spacing:-.07em}.fh-v7-brand b span{color:var(--accent);font-weight:450}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.fh-header-control{width:42px;height:42px;min-height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;color:var(--muted);background:var(--panel-quiet)}.fh-header-control:hover{color:var(--accent);border-color:var(--accent)}.site-header .top-profile-button{width:42px;height:42px;min-height:42px}.site-header .active-profile-control{margin-left:auto}.desktop-navigation{max-width:1160px;width:fit-content;margin:18px auto 0;padding:5px;display:flex;align-items:center;justify-content:center;gap:3px;background:var(--nav);border:1px solid var(--line);border-radius:28px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 var(--shine);position:relative;z-index:12}.nav-button{height:44px;min-height:44px;padding:11px 13px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:22px;color:var(--muted);font-size:12px;font-weight:650}.nav-button svg{flex:none}.nav-button:hover{color:var(--ink)}.fh-v7-menu-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:22px;background:color-mix(in srgb,var(--overlay) 80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fh-v7-menu{width:min(940px,100%);max-height:min(760px,calc(100dvh - 44px));overflow:auto;padding:27px;border:1px solid var(--line);border-radius:30px;background:var(--panel);box-shadow:0 30px 90px #00000047}.fh-v7-menu>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.fh-v7-menu h2{margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500}.fh-v7-menu-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fh-v7-menu-groups>section{min-width:0}.fh-v7-menu-groups h3{margin-bottom:10px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.fh-v7-menu-groups nav{display:grid;gap:6px}.fh-v7-menu-groups button{min-width:0;min-height:48px;padding:8px 10px;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;border:1px solid transparent;border-radius:14px;color:var(--text);text-align:left}.fh-v7-menu-groups button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680}.fh-v7-menu-groups button>svg:first-child{color:var(--accent)}.fh-v7-menu-groups button>svg:last-child{color:var(--muted)}.fh-v7-menu-groups button:hover,.fh-v7-menu-groups button.active{border-color:var(--line);background:var(--soft)}.fh-v7-menu>footer{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.fh-v7-menu .profile-mini{max-width:420px;border:0}.fh-v7-home{display:grid;gap:0}.home-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:42px;align-items:center;margin:6px 0 36px}.hero-copy{min-width:0;padding:16px 0}.hero-copy h1{margin:15px 0 23px;font-size:clamp(43px,5.2vw,73px);font-weight:520;letter-spacing:-.055em;line-height:1.03}.hero-copy h1 em{display:block;margin-top:6px;font-family:Georgia,Times New Roman,serif;font-size:1.08em;font-weight:400;line-height:1.07}.hero-tip{width:100%;min-height:66px;padding:8px 14px 8px 9px;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:13px;border:1px solid var(--shine);border-radius:22px;color:var(--ink);background:linear-gradient(110deg,var(--panel-heavy),var(--panel));box-shadow:inset 0 1px 0 var(--shine),0 10px 30px color-mix(in srgb,var(--leaf-shadow) 4%,transparent);text-align:left}.hero-tip b,.hero-tip small{display:block}.hero-tip b{font-size:14px;line-height:1.3}.hero-tip small{margin-top:4px;color:var(--muted);font-size:10px}.hero-tip>svg{color:var(--muted)}.hero-tip-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;color:var(--accent);background:var(--soft)}.hero-meta{display:flex;align-items:center;gap:10px;margin-top:26px;color:var(--muted);font-size:11px}.home-hero .day-garden{width:100%}.home-week-head h2{margin:0;font-size:22px}.home-week-head h2 span{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.fh-v7-week-strip.week-strip{min-height:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-chip{min-width:0;min-height:87px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--line);border-radius:18px;color:var(--muted);background:var(--panel-quiet);box-shadow:inset 0 1px 0 var(--shine)}.day-chip b{color:var(--ink);font-size:25px;font-weight:560}.day-chip small{min-height:16px;font-size:9px}.day-chip.active{border-color:transparent;color:var(--on-accent);background:var(--accent)}.day-chip.active b,.day-chip.active small{color:var(--on-accent)}.section-head{min-height:54px;margin-bottom:13px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.section-head h2{margin:5px 0 0;font-size:27px}.section-head h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.fh-v7-tag{padding:7px 10px;border-radius:99px;color:var(--muted);background:var(--panel-quiet);font-size:10px}.appointment{min-height:106px;padding:19px 21px;display:grid;grid-template-columns:68px minmax(0,1fr) 25px;align-items:center;gap:16px;border:1px solid var(--line);border-radius:24px;color:var(--ink);background:linear-gradient(105deg,var(--soft),var(--panel-quiet));box-shadow:inset 0 1px 0 var(--shine);text-align:left}.appointment time{font-size:21px;font-weight:550;font-variant-numeric:tabular-nums}.appointment h3{margin:5px 0 7px;font-size:19px}.appointment small{color:var(--muted);font-size:11px}.stack{display:grid;gap:var(--space)}.quiet-panel{border-radius:24px}.weather-mini{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px}.weather-mini>svg{color:var(--accent)}.weather-mini h3{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400}.weather-mini p{margin:7px 0 0;font-size:12px}.mini-forecast{margin-top:18px;padding-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;text-align:center}.mini-forecast svg{margin:5px auto;color:var(--accent)}.mini-forecast b{display:block;color:var(--ink);font-size:12px}.summary-link{width:100%;min-height:66px;padding:10px 0;display:flex;align-items:center;gap:12px;color:var(--ink);text-align:left}.summary-copy{flex:1;min-width:0}.summary-copy b,.summary-copy small{display:block}.summary-copy b{font-size:13px}.summary-copy small{margin-top:4px;font-size:11px}.block-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--accent);background:var(--soft)}.moments,.home-shortcuts{margin-top:44px}.fh-v7-moments-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--space)}.fh-v7-photo-stage{min-width:0;display:grid;gap:9px}.fh-v7-photo-card{position:relative;min-height:280px;overflow:hidden;border-radius:28px;color:#fff;background:var(--panel-quiet);text-align:left}.fh-v7-photo-card>.moment-collage{position:absolute;inset:0;width:100%;height:100%}.fh-v7-photo-card .moment-photo{width:100%;height:100%;object-fit:cover}.fh-v7-photo-card>.m-moments-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted)}.fh-v7-photo-card>strong{position:absolute;z-index:3;inset:auto 0 0;padding:55px 22px 20px;background:linear-gradient(transparent,#000000c2);font-size:19px}.question-card{min-height:280px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--ink);text-align:left}.question-card h2{margin:22px 0;font-family:Georgia,Times New Roman,serif;font-weight:400}.shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.shortcut{min-width:0;min-height:92px;padding:14px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--panel-quiet);text-align:left}.shortcut>svg{flex:none;color:var(--accent)}.shortcut span{min-width:0}.shortcut b,.shortcut small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shortcut b{font-size:12px}.shortcut small{margin-top:4px;font-size:9px}.fh-school-board-wrap{width:100%;min-width:0}.schedule-grid.fh-school-board{display:grid;grid-template-columns:58px repeat(5,minmax(0,1fr));gap:6px;min-width:0}.schedule-head{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:13px;background:var(--panel-quiet)}.schedule-head b{font-size:14px}.schedule-head span{color:var(--muted);font-size:11px}.schedule-head i{color:#d59c5c;font-size:9px;font-style:normal}.schedule-head.schedule-hours-head{border-color:transparent;border-radius:0;background:transparent}.schedule-time{min-width:0;display:grid;place-content:center;gap:2px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;text-align:center}.schedule-time small{display:grid;gap:0;color:var(--muted);font-size:10px;line-height:1.05}.schedule-time .time-dash{opacity:.62;line-height:.72}.fh-school-board .lesson{min-width:0;padding:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:13px;color:var(--ink);background:linear-gradient(130deg,var(--soft),var(--panel-quiet));text-align:left;overflow:hidden}.fh-school-board .lesson:nth-of-type(3n){background:linear-gradient(130deg,var(--soft2),var(--panel-quiet))}.fh-school-board .lesson strong{max-width:100%;overflow-wrap:anywhere;font-size:14px;line-height:1.2}.fh-school-board .lesson small,.fh-school-board .lesson span{max-width:100%;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-school-board .lesson.empty{align-items:center;border-style:dashed;background:transparent;color:var(--muted);font-size:10px}.fh-school-board .lesson.can-edit{cursor:pointer}.fh-school-board .lesson.can-edit:hover{border-color:var(--accent)}.fh-school-board .lesson.untis-cancelled{border-left:4px solid #e37a7a;opacity:.8}.fh-school-board .lesson.untis-changed:not(.untis-cancelled){border-left:4px solid #d6a45d}.subject-short{display:none}.schedule-note{margin:13px 0 0;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:11px}.fh-school-exams{margin-top:17px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.fh-school-exams .school-exam-card{margin:0}@media(max-width:1040px){.header-caption{display:none}.home-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:26px}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fh-v7-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.app-root{--header: 66px}.header-inner{padding:0 14px;gap:8px}.fh-v7-brand .brand-symbol{width:27px;height:27px}.fh-v7-brand b{font-size:22px}.site-header .active-profile-control,.site-header .fh-header-control:nth-of-type(2){display:none}.site-header .fh-v7-ticker{min-width:42px;width:42px;padding:0 6px}.site-header .fh-v7-ticker-window,.desktop-navigation{display:none}.mobile-navigation{position:fixed;z-index:50;inset:auto 0 0;height:calc(70px + env(safe-area-inset-bottom));padding:7px 5px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);background:var(--nav);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 -8px 29px #0c355714}.mobile-navigation .nav-button{height:auto;min-height:54px;padding:5px 1px;display:grid;justify-items:center;align-content:center;gap:2px;border-radius:13px}.mobile-navigation .nav-button span{font-size:9px;white-space:nowrap}.fh-v7-main.workspace{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.fh-v7-content.content{padding:18px 14px 34px}.home-hero{grid-template-columns:1fr;gap:22px;margin-top:0}.hero-copy{padding:8px 0 0}.hero-copy h1{font-size:clamp(41px,13vw,58px)}.home-hero .day-garden{grid-row:1}.hero-copy{grid-row:2}.hero-tip{min-height:62px}.hero-meta{margin-top:18px}.fh-v7-week-strip.week-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;overflow:visible!important;width:100%}.day-chip{min-height:70px;padding:5px 1px;border-radius:12px}.day-chip span{font-size:9px}.day-chip b{font-size:18px}.day-chip small{min-height:12px;font-size:7px}.home-main{grid-template-columns:1fr}.home-main .stack{margin-top:22px}.fh-v7-moments-grid{grid-template-columns:1fr}.fh-v7-photo-card,.question-card{min-height:220px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shortcut{min-height:82px;padding:11px}.fh-v7-menu-backdrop{align-items:end;padding:8px}.fh-v7-menu{max-height:calc(100dvh - 16px);padding:21px 16px calc(20px + env(safe-area-inset-bottom));border-radius:25px}.fh-v7-menu h2{font-size:31px}.fh-v7-menu-groups{grid-template-columns:1fr;gap:18px}.fh-v7-menu-groups nav{grid-template-columns:repeat(2,minmax(0,1fr))}.school-tabs{overflow-x:auto}.schedule-grid.fh-school-board{grid-template-columns:44px repeat(5,minmax(0,1fr));gap:3px}.schedule-head{border-radius:9px}.schedule-head b{font-size:11px}.schedule-head span{font-size:8px}.schedule-time b{font-size:10px}.schedule-time small{font-size:8px}.fh-school-board .lesson{padding:5px;border-radius:9px;gap:2px}.fh-school-board .lesson .subject-full{display:none}.fh-school-board .lesson .subject-short{display:block;font-size:10px}.fh-school-board .lesson small,.fh-school-board .lesson span{font-size:7px}.fh-school-board .lesson.empty{font-size:8px}.schedule-note{align-items:flex-start;flex-direction:column;gap:4px;font-size:9px}.page-heading{align-items:flex-start}.school-week-controls{margin-left:auto}}@media(max-width:390px){.site-header .fh-header-control{display:none}.site-header .top-profile-button{width:38px;height:38px;min-height:38px}.home-hero .fh-v7-date-card{height:382px;min-height:382px}.appointment{grid-template-columns:55px minmax(0,1fr) 18px;padding:15px 13px;gap:10px}.appointment time{font-size:17px}.appointment h3{font-size:16px}.fh-v7-menu-groups nav{grid-template-columns:1fr 1fr}.schedule-grid.fh-school-board{grid-template-columns:40px repeat(5,minmax(0,1fr));gap:2px}.fh-school-board .lesson{padding:3px}.fh-school-board .lesson .subject-short{font-size:9px}.fh-school-board .lesson small{font-size:6px}}@media(prefers-reduced-motion:reduce){.hero-tip,.day-chip,.appointment,.shortcut{transition:none!important;transform:none!important}}:root{--h:162;--s:42%;--neighbor:calc(var(--h) + 36);--opposite:calc(var(--h) - 32);--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;--ink:#20373b;--muted:#526b71;--page:hsl(var(--h) 27% 96%);--solid:#f8fcfa;--accent:hsl(var(--h) 48% 29%);--on-accent:#fff;--soft:hsl(var(--h) 49% 83% / .37);--soft2:hsl(var(--neighbor) 58% 83% / .36);--soft3:hsl(var(--opposite) 64% 84% / .4);--line:hsl(var(--h) 20% 56% / .26);--panel:rgb(255 255 255 / .57);--panel-quiet:rgb(255 255 255 / .32);--panel-heavy:rgb(255 255 255 / .85);--nav:rgb(255 255 255 / .48);--shine:rgb(255 255 255 / .82);--shadow:0 12px 45px hsl(var(--h) 32% 25% / .055);--shadow-hover:0 12px 32px hsl(var(--h) 35% 25% / .1);--glow-a:hsl(var(--h) 70% 79% / .62);--glow-b:hsl(var(--neighbor) 80% 85% / .61);--glow-c:hsl(var(--opposite) 70% 83% / .5);--form:rgb(255 255 255 / .52);--shape:hsl(var(--h) 44% 76% / .62);--shape-light:hsl(var(--neighbor) 67% 87% / .8);--shape-dark:hsl(var(--opposite) 43% 51% / .42);--warning:#85551b;--danger:#a13342;--success:#22694b;--radius:26px;--radius-small:17px;--button-radius:14px;--space:22px;--pad:26px;--control:44px;--blur:20px;--header:78px;--dock-bottom: calc(84px + env(safe-area-inset-bottom,0px)) ;--speed:.17s;color-scheme:light}:root[data-accent=lime]{--h:84;--s:50%}:root[data-accent=sky]{--h:206;--s:58%}:root[data-accent=apricot]{--h:26;--s:62%}:root[data-accent=violet]{--h:264;--s:52%}:root[data-accent=mint]{--h:162;--s:42%}:root[data-theme=dark]{--ink:#f0f6f4;--muted:#b4c7c8;--page:hsl(var(--h) 25% 8%);--solid:hsl(var(--h) 23% 14%);--accent:hsl(var(--h) 59% 76%);--on-accent:hsl(var(--h) 38% 12%);--soft:hsl(var(--h) 41% 50% / .16);--soft2:hsl(var(--neighbor) 49% 51% / .14);--soft3:hsl(var(--opposite) 42% 47% / .17);--line:rgb(216 244 235 / .17);--panel:hsl(var(--h) 19% 16% / .52);--panel-quiet:hsl(var(--h) 20% 17% / .28);--panel-heavy:hsl(var(--h) 22% 13% / .92);--nav:hsl(var(--h) 22% 12% / .51);--shine:rgb(237 255 250 / .17);--shadow:0 14px 50px #00000014;--shadow-hover:0 16px 36px #00000026;--glow-a:hsl(var(--h) 52% 39% / .43);--glow-b:hsl(var(--neighbor) 57% 32% / .41);--glow-c:hsl(var(--opposite) 54% 36% / .31);--form:rgb(255 255 255 / .045);--shape:hsl(var(--h) 30% 32% / .56);--shape-light:hsl(var(--neighbor) 52% 58% / .23);--shape-dark:hsl(var(--opposite) 42% 19% / .55);--warning:#f4cc87;--danger:#ffacb5;--success:#a5e2c2;color-scheme:dark}:root[data-glass=calm]{--panel:rgb(255 255 255 / .78);--panel-quiet:rgb(255 255 255 / .6);--nav:rgb(255 255 255 / .68)}:root[data-glass=calm][data-theme=dark]{--panel:hsl(var(--h) 20% 14% / .78);--panel-quiet:hsl(var(--h) 20% 15% / .64);--nav:hsl(var(--h) 22% 12% / .7)}*{box-sizing:border-box}html{font-family:var(--sans);background:var(--page);color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased;scroll-padding-top:100px}body{margin:0;min-width:280px;min-height:100dvh;line-height:1.55}button,input,textarea,select{font:inherit}button,a{color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-.04em}svg{display:block;flex-shrink:0;width:21px;height:21px}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--soft);color:var(--ink)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 5% 0%,var(--glow-a) 0,transparent 48%),radial-gradient(ellipse at 96% 15%,var(--glow-b) 0,transparent 50%),radial-gradient(ellipse at 55% 80%,var(--glow-c) 0,transparent 55%),var(--page)}.skip-link{position:fixed;top:-100px;left:16px;z-index:300;background:var(--solid);padding:12px;border-radius:10px}.skip-link:focus{top:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--panel:rgb(255 255 255 / .9);--nav:rgb(255 255 255 / .92)}:root[data-theme=dark]{--panel:#19302e;--nav:#19302e}}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--shine),var(--shadow);backdrop-filter:blur(var(--blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--blur)) saturate(125%);border-radius:var(--radius);min-width:0}.panel{padding:var(--pad)}.quiet-panel{background:var(--panel-quiet)}.btn{min-height:var(--control);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--button-radius);padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:650;font-size:13px;line-height:1.35;text-decoration:none;text-align:center;transition:background var(--speed),border-color var(--speed),box-shadow var(--speed),transform .1s;box-shadow:inset 0 1px 0 var(--shine)}.btn svg{width:18px;height:18px}.btn.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);box-shadow:none}.btn.quiet{background:transparent;box-shadow:none;border-color:transparent}.btn.soft{background:var(--soft);border-color:transparent;color:var(--ink)}.btn.danger{color:var(--danger)}.btn.icon-only{width:44px;min-width:44px;padding:11px}.btn.small{font-size:12px;padding:9px 12px}.btn.wide{width:100%}.btn:active:not(:disabled){transform:translateY(1px)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions.end{justify-content:flex-end}.text-link{font-size:12px;font-weight:650;color:var(--accent);background:none;border:0;display:inline-flex;align-items:center;gap:6px;padding:8px 0;min-height:40px;text-decoration:none}.text-link svg{width:16px;height:16px}.eyebrow{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:720;color:var(--muted)}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}.italic{font-style:italic}h2{font-size:25px;font-weight:650}h3{font-size:17px;font-weight:650}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head .eyebrow{margin-bottom:7px}.section-head h2 em{font-family:var(--serif);font-weight:400}.muted{color:var(--muted)}.sub{font-size:13px;line-height:1.7;color:var(--muted)}.smallprint{font-size:11px;color:var(--muted);line-height:1.6}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:9px;font-size:11px;font-weight:620;line-height:1.4;background:var(--panel-quiet);color:var(--muted);max-width:100%}.tag.accent{color:var(--accent);background:var(--soft);border-color:transparent}.tag.success{color:var(--success)}.tag.warning{color:var(--warning)}.tag svg{width:13px;height:13px}.avatar{height:34px;width:34px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--soft);border:1px solid var(--line);font-size:11px;font-weight:750;color:var(--ink)}.avatar:nth-child(2){background:var(--soft2)}.avatar:nth-child(3){background:var(--soft3)}.avatars{display:flex;align-items:center}.avatars .avatar+.avatar{margin-left:-7px}.avatar.big{width:46px;height:46px;font-size:13px}.pills{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.pill{background:var(--panel-quiet);border:1px solid var(--line);border-radius:999px;min-height:40px;padding:5px 11px 5px 5px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;color:var(--muted)}.pill .avatar{width:28px;height:28px;font-size:9px}.pill.active{border-color:var(--accent);color:var(--ink);background:var(--soft)}.pill svg{width:16px;height:16px;margin-left:6px}.segment{padding:4px;background:var(--panel-quiet);border:1px solid var(--line);border-radius:18px;display:flex;gap:3px;max-width:100%;width:fit-content;flex-wrap:wrap}.segment button{background:transparent;border:1px solid transparent;border-radius:13px;color:var(--muted);padding:10px 15px;min-height:44px;line-height:1.3;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:7px}.segment button.active{background:var(--panel-heavy);border-color:var(--line);color:var(--ink);box-shadow:0 3px 10px #00000004}.segment .count{color:var(--accent);font-size:11px}.row{display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row-copy{flex:1;min-width:0}.row-copy b{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.row-copy small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.row-copy.done b{text-decoration:line-through;color:var(--muted)}.check{width:44px;height:44px;min-width:44px;padding:9px;background:none;border:0;border-radius:12px;display:grid;place-items:center}.check span{border:1.5px solid var(--line);width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--panel)}.check[aria-pressed=true] span{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.check svg{width:16px;height:16px}.block-icon{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;color:var(--accent);background:var(--soft);flex:none}.stack{display:grid;gap:var(--space);min-width:0}.stack.small{gap:12px}.cols{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--space);align-items:start}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space)}.form{display:grid;gap:17px}.field{display:grid;gap:7px;font-weight:650;font-size:12px;color:var(--muted);min-width:0}.field input,.field textarea,.field select{width:100%;min-width:0;min-height:46px;background:var(--form);border:1px solid var(--line);color:var(--ink);border-radius:var(--button-radius);font-size:16px;padding:11px 13px}.field textarea{min-height:100px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.85}.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notice{padding:14px 16px;border:1px solid var(--line);background:var(--soft);border-radius:var(--radius-small);display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.7;color:var(--muted)}.notice svg{width:17px;height:17px;color:var(--accent);margin-top:3px}.notice strong{color:var(--ink)}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.switch{border:0;width:46px;min-width:46px;height:28px;border-radius:99px;background:var(--accent);display:flex;justify-content:flex-end;padding:3px}.switch:after{content:"";width:22px;height:22px;background:var(--on-accent);border-radius:50%}.switch[aria-checked=false]{background:var(--line);justify-content:flex-start}.switch[aria-checked=false]:after{background:var(--ink)}.swatches{display:flex;gap:9px;flex-wrap:wrap}.swatch{width:44px;height:44px;border-radius:50%;background:hsl(var(--swatch-h) 63% 77%);border:4px solid var(--panel-heavy);box-shadow:0 0 0 1px var(--line);display:grid;place-items:center;color:#19312c}.swatch.active{box-shadow:0 0 0 2px var(--accent)}.swatch svg{width:17px;height:17px}.skin-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.skin-label b{font-size:13px}.skin-label small{font-size:11px;color:var(--muted)}#dialog{border:1px solid var(--line);background:var(--panel-heavy);color:var(--ink);border-radius:28px;width:min(530px,calc(100% - 28px));max-height:calc(100dvh - 36px);padding:28px;box-shadow:0 24px 90px #0003;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);overflow:auto}#dialog::backdrop{background:#081a244d;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}#dialog h2{font-size:28px;margin-bottom:18px;font-family:var(--serif);font-weight:400}#dialog .dialog-body{display:grid;gap:20px}.dialog-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dialog-nav .btn{justify-content:flex-start}.dialog-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.dialog-photo{width:100%;max-height:65dvh;object-fit:contain;border-radius:16px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(12px);max-width:calc(100vw - 28px);background:var(--ink);color:var(--page);box-shadow:var(--shadow);border-radius:14px;padding:13px 20px;z-index:150;font-size:13px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;width:max-content;text-align:center}#toast.visible{opacity:1;transform:translate(-50%)}@media(hover:hover){.btn:not(:disabled):hover{border-color:var(--accent);box-shadow:var(--shadow-hover);background:var(--soft)}.btn.primary:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink));color:var(--on-accent)}.btn.quiet:hover{background:var(--soft);box-shadow:none}.btn.danger:hover{border-color:var(--danger)}.text-link:hover{text-decoration:underline}.pill:hover,.segment button:not(.active):hover,.check:hover{background:var(--soft)}.interactive:hover{border-color:var(--accent);box-shadow:var(--shadow-hover)}.nav-button:hover{background:var(--soft);color:var(--ink)}}@media(max-width:700px){:root{--pad:19px;--space:17px;--radius:23px;--header:72px}.cols,.two{grid-template-columns:1fr}h2{font-size:23px}.section-head{gap:10px}.section-head>.btn{padding:9px 11px}.form-pair{gap:10px}.row{gap:9px}.row-copy b{font-size:13px}.row-copy small{font-size:11px}#dialog{padding:22px}#toast{bottom:calc(var(--dock-bottom) + 18px)}.segment button{padding:10px 11px}.smallprint{font-size:10px}}.site-header{height:var(--header);position:sticky;top:0;z-index:40;background:var(--nav);border-bottom:1px solid var(--line);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.header-inner{height:100%;max-width:1460px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;gap:10px;align-items:center;background:none;border:0;padding:0;color:var(--ink);font-size:26px;letter-spacing:-.07em;font-weight:760}.brand>svg{width:31px;height:31px;color:var(--accent)}.brand span{font-weight:400}.brand em{font-weight:400;font-style:normal}.header-caption{color:var(--muted);font-size:11px;letter-spacing:.035em}.header-actions{display:flex;align-items:center;gap:8px}.preview-tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.desktop-navigation{max-width:1160px;margin:18px auto 0;padding:6px 10px;display:flex;align-items:center;justify-content:center;gap:3px;width:fit-content;background:var(--nav);border:1px solid var(--line);border-radius:99px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 var(--shine)}.nav-button{border:1px solid transparent;background:none;padding:11px 13px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);border-radius:99px;font-size:12px;font-weight:650;transition:background .17s,color .17s}.nav-button svg{width:17px;height:17px}.nav-button.active{background:var(--soft);color:var(--ink);border-color:var(--line)}.mobile-navigation{display:none}.main{max-width:1400px;margin:0 auto;padding:40px 38px 38px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:10px 0 30px}.page-heading h1{font-size:clamp(35px,4vw,54px);font-weight:600;letter-spacing:-.052em;margin:10px 0}.page-heading h1 em{font-family:var(--serif);font-weight:400}.page-heading .sub{max-width:620px}.app-footer{margin-top:38px;border-top:1px solid var(--line);padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:10px}.app-footer .text-link{font-size:11px;min-height:32px}.home-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:54px;align-items:center;margin:6px 0 36px}.hero-copy{padding:18px 0}.hero-copy h1{font-size:clamp(43px,5.2vw,73px);font-weight:520;letter-spacing:-.055em;line-height:1.03;margin:20px 0 24px}.hero-copy h1 em{font-family:var(--serif);font-weight:400;font-size:1.08em;display:block;line-height:1.07;margin-top:6px;letter-spacing:-.06em}.hero-copy>.sub{max-width:380px;font-size:15px;line-height:1.8;margin-bottom:28px}.hero-meta{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:11px;color:var(--muted)}.hero-meta i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.day-garden{height:390px;position:relative;overflow:hidden;border:1px solid var(--shine);border-radius:46% 42% 12% 13%/44% 42% 13% 13%;background:linear-gradient(130deg,var(--shape),var(--soft2));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow);display:flex;align-items:center;flex-direction:column;justify-content:center;padding:50px 27px 23px;min-width:0}.day-garden .leaf{position:absolute;pointer-events:none;border:1px solid var(--shine)}.day-garden .leaf.one{width:215px;height:260px;right:-42px;top:-55px;border-radius:68% 30% 51% 49%/42% 49% 51% 58%;background:var(--shape-light);transform:rotate(-25deg)}.day-garden .leaf.two{width:220px;height:165px;bottom:-63px;left:-35px;border-radius:12% 88% 20% 80%/31% 68% 32% 69%;background:var(--shape-dark);transform:rotate(21deg)}.day-garden .leaf.three{width:175px;height:245px;bottom:-86px;right:-36px;border-radius:75% 25% 52% 48%;background:var(--soft3);transform:rotate(64deg)}.garden-date,.garden-weather,.garden-next,.garden-kicker{z-index:1;position:relative}.garden-kicker{font-size:10px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.garden-date{display:flex;gap:14px;align-items:center;margin-top:10px}.garden-date strong{font-family:var(--serif);font-weight:400;font-size:106px;line-height:1;letter-spacing:-.08em}.garden-date span{font-size:13px;color:var(--ink);line-height:1.6}.garden-weather{margin-top:15px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px}.garden-weather svg{width:25px;height:25px}.garden-weather strong{font-size:24px;font-weight:520}.garden-next{width:100%;margin-top:24px;padding:14px 17px;background:var(--panel-heavy);border:1px solid var(--shine);border-radius:19px;display:flex;align-items:center;gap:11px;text-align:left;color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);min-height:76px}.garden-next .next-copy{flex:1;min-width:0}.garden-next small{display:block;font-size:10px;color:var(--muted);letter-spacing:.02em}.garden-next b{font-size:13px;display:block;margin-top:2px}.garden-next>svg{width:17px;height:17px}.garden-time{font-size:18px;letter-spacing:-.04em;font-weight:650}.home-week{margin-bottom:26px}.home-week-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.home-week-head h2{font-size:22px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-chip{min-width:0;min-height:87px;background:var(--panel-quiet);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);box-shadow:inset 0 1px 0 var(--shine);transition:background .15s,border-color .15s}.day-chip span{font-size:11px}.day-chip b{font-size:25px;color:var(--ink);font-weight:560;letter-spacing:-.04em}.day-chip small{height:16px;font-size:9px}.day-chip.active{background:var(--accent);color:var(--on-accent);border-color:transparent}.day-chip.active b{color:var(--on-accent)}.home-main>section{align-self:stretch;display:flex;flex-direction:column}.home-main>section>.appointment-grid{flex:1;grid-auto-rows:1fr}.home-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);gap:var(--space);align-items:start}.appointment-grid{display:grid;gap:11px}.appointment{position:relative;background:linear-gradient(105deg,var(--soft),var(--panel-quiet));border:1px solid var(--line);padding:19px 21px;min-height:106px;border-radius:24px;display:grid;grid-template-columns:68px minmax(0,1fr) 25px;gap:16px;align-items:center;color:var(--ink);text-align:left;box-shadow:inset 0 1px 0 var(--shine);transition:border-color .17s,box-shadow .17s}.appointment:nth-child(2n){background:linear-gradient(105deg,var(--soft2),var(--panel-quiet))}.appointment:nth-child(3n){background:linear-gradient(105deg,var(--soft3),var(--panel-quiet))}.appointment time{font-size:21px;font-weight:550;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.appointment h3{font-size:19px;margin:5px 0 7px;line-height:1.2}.appointment .eyebrow{font-size:9px}.appointment small{font-size:11px;color:var(--muted)}.appointment>svg{width:19px;height:19px}.summary-list{display:grid;gap:12px}.summary-link{background:none;border:0;display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);padding:10px 0;min-height:66px;width:100%}.summary-link+.summary-link{border-top:1px solid var(--line)}.summary-link .summary-copy{flex:1;min-width:0}.summary-link b{font-size:13px;display:block}.summary-link small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.summary-link>svg{width:15px;height:15px}.weather-mini{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center}.weather-mini>svg{height:39px;width:39px;color:var(--accent)}.weather-mini h3{font-family:var(--serif);font-weight:400;font-size:24px}.weather-mini p{font-size:12px;color:var(--muted);margin-top:7px}.mini-forecast{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;border-top:1px solid var(--line);padding-top:15px;text-align:center;font-size:10px;color:var(--muted)}.mini-forecast svg{width:17px;height:17px;margin:5px auto;color:var(--accent)}.mini-forecast b{color:var(--ink);font-size:12px}.moments{margin-top:35px}.photo-grid{display:grid;grid-template-columns:1.15fr .7fr .8fr;gap:var(--space)}.photo-card{position:relative;border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;background:var(--panel-quiet);min-height:240px;isolation:isolate}.photo-card img{width:100%;height:100%;position:absolute;object-fit:cover;transition:opacity .6s ease}.photo-card .incoming{opacity:0}.photo-card .incoming.visible{opacity:1}.photo-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#09191cbf);pointer-events:none;z-index:1}.photo-caption{position:absolute;bottom:18px;left:20px;right:20px;color:#fff;z-index:2}.photo-caption small{font-size:10px;color:#eaf1ed}.photo-caption h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:27px;margin-top:5px}.photo-open{position:absolute;inset:0;background:none;border:0;z-index:1}.photo-controls{position:absolute;top:12px;right:12px;display:flex;gap:4px;z-index:3}.photo-controls button{background:#182b3559;color:#fff;border:1px solid #ffffff6b;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.photo-controls svg{height:16px;width:16px}.question-card{display:flex;flex-direction:column;justify-content:space-between;gap:22px;padding:23px}.question-card h2{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.18;margin-top:15px}.photo-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:9px}.home-shortcuts{margin-top:35px}.shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.shortcut{padding:16px 12px;display:flex;align-items:center;gap:10px;min-height:81px;background:var(--panel-quiet);border:1px solid var(--line);border-radius:18px;color:var(--ink);text-align:left;min-width:0;transition:border-color .17s,background .17s}.shortcut>svg{color:var(--accent);width:21px;height:21px}.shortcut b{font-size:12px;line-height:1.3;display:block}.shortcut small{font-size:10px;display:block;color:var(--muted);margin-top:5px}.school-tabs{margin-bottom:22px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;flex-wrap:wrap}.schedule-toolbar h2{font-size:23px}.schedule-grid{display:grid;grid-template-columns:49px repeat(5,minmax(0,1fr));grid-template-rows:64px repeat(6,69px);gap:6px;min-width:0}.schedule-head{display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:13px;background:var(--panel-quiet);border:1px solid var(--line);min-width:0}.schedule-head b{font-size:14px;font-weight:650}.schedule-head span{font-size:11px;color:var(--muted)}.schedule-head.today{background:var(--soft)}.schedule-time{display:grid;place-content:center;gap:3px;text-align:center;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;min-width:0}.schedule-time b{font-size:12px}.schedule-time small{font-size:10px;color:var(--muted)}.lesson{min-width:0;border:1px solid var(--line);border-radius:13px;background:linear-gradient(130deg,var(--soft),var(--panel-quiet));color:var(--ink);padding:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;transition:border-color .15s,background .15s}.lesson[data-tint=b]{background:linear-gradient(130deg,var(--soft2),var(--panel-quiet))}.lesson[data-tint=c]{background:linear-gradient(130deg,var(--soft3),var(--panel-quiet))}.lesson strong{font-size:14px;line-height:1.2;overflow-wrap:anywhere}.lesson .subject-short{display:none}.lesson small{font-size:11px;color:var(--muted)}.lesson span{font-size:9px;color:var(--muted)}.lesson.selected{outline:2px solid var(--accent);outline-offset:-2px}.lesson.empty{border-style:dashed;background:transparent;color:var(--muted);align-items:center;font-size:11px}.schedule-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:13px;font-size:11px;color:var(--muted);flex-wrap:wrap}.schedule-detail{margin-top:18px;background:var(--soft);border:1px solid var(--line);border-radius:17px;padding:16px 20px;display:flex;align-items:center;gap:14px}.schedule-detail b{font-size:15px;display:block}.schedule-detail p{font-size:12px;margin-top:4px;color:var(--muted)}.schedule-list{display:grid;gap:16px}.schedule-list-day{background:var(--panel-quiet);border:1px solid var(--line);border-radius:18px;padding:20px}.schedule-list-day>h3{font-family:var(--serif);font-size:25px;font-weight:400;margin-bottom:8px}.schedule-list-row{display:grid;grid-template-columns:65px minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center;font-size:12px}.schedule-list-row:last-child{border:0}.schedule-list-row small{color:var(--muted)}.homework-card{background:var(--panel-quiet);border:1px solid var(--line);border-radius:21px;padding:20px;display:grid;gap:17px}.homework-card .top,.homework-card .bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.homework-card .top h3{font-size:18px}.homework-card p{font-size:14px;line-height:1.7}.homework-card.done p{text-decoration:line-through;color:var(--muted)}.homework-card .bottom small{color:var(--muted);font-size:11px}.balance-number{font-family:var(--serif);font-size:56px;line-height:1.15;display:block;letter-spacing:-.055em;margin:18px 0}.wallet-balance{background:linear-gradient(125deg,var(--soft),var(--soft2))}.reward{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:21px 0;border-bottom:1px solid var(--line)}.reward:last-child{border:0}.reward h3{font-size:15px}.reward small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.reward .actions{grid-column:1/-1;justify-content:flex-end}.money{font-size:19px;white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}.quick-add{display:flex;gap:8px;flex-wrap:wrap}.quick-add .btn{padding:8px 11px;font-size:12px}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space)}.board-note{padding:26px;background:linear-gradient(120deg,var(--soft),var(--panel-quiet));min-height:185px;display:flex;flex-direction:column;gap:13px}.board-note:nth-child(2n){background:linear-gradient(120deg,var(--soft2),var(--panel-quiet))}.board-note h3{font-family:var(--serif);font-size:28px;font-weight:400}.board-note p{font-size:13px;line-height:1.7}.board-note small{font-size:10px;color:var(--muted);margin-top:auto}.matches{display:grid;gap:12px}.match{padding:20px;border:1px solid var(--line);background:var(--panel-quiet);border-radius:20px}.match-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin-bottom:18px}.match-score{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;text-align:center;gap:8px}.match-score b{font-size:14px}.match-score strong{font-size:23px}.match-place{border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.match-place svg{width:15px;height:15px}.stand-row{display:grid;grid-template-columns:22px minmax(0,1fr) 38px 42px;gap:10px;align-items:center;font-size:12px;padding:13px 0;border-bottom:1px solid var(--line)}.stand-row>*:last-child{text-align:right}.stand-row.ours{background:var(--soft);border-radius:10px;padding:13px 10px;margin:0 -10px}.calendar-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-column{min-width:0;background:var(--panel-quiet);padding:11px;border-radius:17px;border:1px solid var(--line)}.calendar-column>h3{text-align:center;font-size:13px;margin-bottom:16px}.calendar-column>h3 strong{font-size:26px;font-weight:500;display:block;margin-top:8px}.calendar-event{font-size:10px;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:10px 8px;margin-top:8px;width:100%;color:var(--ink);text-align:left}.calendar-event b{font-size:12px;display:block;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.calendar-event small{color:var(--muted)}.mobile-calendar{display:none}.calendar-mobile-list{display:grid;gap:17px}.calendar-mobile-list h3{font-family:var(--serif);font-size:23px;font-weight:400}.calendar-mobile-list .appointment-grid{margin-top:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space)}.settings-section{padding:22px}.token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.token-grid>div{padding:15px;border:1px solid var(--line);background:var(--panel-quiet);border-radius:15px}.token-grid small{display:block;font-size:11px;color:var(--muted)}.token-grid b{font-size:13px;display:block;margin-top:5px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space)}.album-grid .photo-card{min-height:280px}.safety-list{display:grid;gap:11px;font-size:13px;color:var(--muted)}.safety-list p{padding:12px 0;border-bottom:1px solid var(--line)}.safety-list strong{color:var(--ink)}@media(hover:hover){.day-chip:not(.active):hover,.shortcut:hover,.lesson:hover{border-color:var(--accent);background-color:var(--soft)}.photo-controls button:hover{background:#193f488c}.summary-link:hover .summary-copy b{text-decoration:underline}}@media(max-width:1100px){.header-caption{display:none}.main{padding:32px 28px}.header-inner{padding:0 28px}.desktop-navigation{gap:0;padding:5px}.nav-button{font-size:11px;padding:10px 11px}.home-hero{gap:30px;grid-template-columns:1fr .9fr}.hero-copy h1{font-size:58px}.day-garden{height:370px;padding:46px 24px 20px}.shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid{grid-template-columns:1fr 1fr}.question-card{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.question-card h2{margin-top:8px;font-size:25px}.question-card>.btn{max-width:210px}.school-wide{padding:21px}.lesson strong{font-size:12px}.lesson small{font-size:10px}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px)and (min-width:701px){.desktop-navigation .nav-button{padding:10px 8px;gap:5px;font-size:10px}.nav-button svg{width:15px;height:15px}.home-hero{gap:18px}.hero-copy h1{font-size:47px}.hero-copy>.sub{font-size:13px}.day-garden{height:340px}.garden-date strong{font-size:88px}.garden-next{padding:12px}.home-main{grid-template-columns:1.3fr 1fr}.appointment{padding:15px;grid-template-columns:50px minmax(0,1fr) 20px;gap:10px}.appointment h3{font-size:16px}.appointment time{font-size:17px}}@media(max-width:700px){.header-inner{padding:0 18px}.brand{font-size:25px;gap:8px}.brand>svg{width:29px;height:29px}.preview-tag{display:none}.header-actions{gap:3px}.header-actions .btn{width:39px;min-width:39px;padding:10px}.header-actions .avatar{margin-left:5px;width:31px;height:31px}.desktop-navigation{display:none}.mobile-navigation{position:fixed;bottom:calc(11px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:45;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:7px;background:var(--nav);border:1px solid var(--shine);border-radius:27px;box-shadow:0 9px 36px #00000017,inset 0 1px 0 var(--shine);backdrop-filter:blur(21px) saturate(160%);-webkit-backdrop-filter:blur(21px) saturate(160%)}.mobile-navigation .nav-button{border-radius:20px;min-height:54px;display:flex;flex-direction:column;padding:8px 2px;gap:5px;font-size:9px;line-height:1.2}.mobile-navigation svg{width:21px;height:21px}.main{padding:26px 16px calc(var(--dock-bottom) + 32px)}.home-hero{grid-template-columns:1fr;gap:23px;margin:2px 0 29px}.hero-copy{padding:8px 3px 0}.hero-copy h1{font-size:49px;margin:16px 0 17px;line-height:1.04}.hero-copy h1 em{font-size:1.08em;margin-top:2px}.hero-copy>.sub{font-size:13px;line-height:1.7;max-width:305px;margin-bottom:17px}.hero-meta{margin-top:14px;font-size:10px}.pills{gap:5px}.pill{font-size:10px;padding-right:9px;gap:5px;min-height:37px}.pill .avatar{height:25px;width:25px}.day-garden{height:300px;max-width:460px;width:100%;margin:auto;padding:40px 24px 17px;border-radius:43% 44% 11% 12%/39% 44% 12% 12%}.garden-kicker{font-size:9px}.garden-date{margin-top:7px}.garden-date strong{font-size:79px}.garden-date span{font-size:11px}.garden-weather{margin-top:10px;font-size:12px}.garden-weather strong{font-size:22px}.garden-weather svg{width:23px;height:23px}.garden-next{margin-top:17px;min-height:67px;padding:11px 14px;border-radius:17px}.garden-next b{font-size:12px}.garden-next small{font-size:9px}.garden-time{font-size:17px}.day-garden .leaf.one{width:166px;height:230px;right:-37px;top:-77px}.day-garden .leaf.two{bottom:-85px}.home-week{margin-bottom:24px}.home-week-head{margin-bottom:12px}.home-week-head h2{font-size:22px}.week-strip{gap:5px}.day-chip{min-height:77px;border-radius:15px;padding:6px 2px}.day-chip span{font-size:10px}.day-chip b{font-size:23px}.day-chip small{font-size:9px;height:12px}.home-main{grid-template-columns:1fr}.appointment{grid-template-columns:53px minmax(0,1fr) 17px;gap:12px;padding:17px 16px;min-height:100px;border-radius:22px}.appointment time{font-size:18px}.appointment h3{font-size:17px;margin:5px 0}.appointment .eyebrow{font-size:8px}.appointment small{font-size:10px}.home-main>.stack{display:grid;grid-template-columns:1fr;gap:var(--space)}.summary-link{min-height:63px}.moments{margin-top:28px}.photo-grid{gap:12px;grid-template-columns:1fr 1fr}.photo-card{min-height:220px}.photo-card:first-child{grid-column:1/-1;min-height:230px}.photo-card:nth-child(2){min-height:220px}.question-card{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:18px;gap:15px;min-width:0}.question-card h2{font-size:24px;margin-top:12px}.question-card .eyebrow{font-size:8px}.question-card .btn{font-size:11px;padding:10px;gap:6px}.photo-caption{left:15px;right:15px;bottom:17px}.photo-caption h3{font-size:24px}.photo-foot{align-items:flex-start}.photo-foot .smallprint{max-width:180px}.photo-foot .text-link{font-size:10px;white-space:nowrap}.home-shortcuts{margin-top:28px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shortcut{min-height:73px;padding:12px;gap:10px}.shortcut b{font-size:12px}.shortcut small{font-size:10px}.app-footer{display:block;font-size:9px;margin-top:29px;line-height:1.7}.app-footer .text-link{display:flex;margin-top:8px}.page-heading{margin:9px 0 26px;align-items:flex-start;gap:12px}.page-heading h1{font-size:36px;line-height:1.08;margin:12px 0}.page-heading>.btn{font-size:0;width:44px;min-width:44px;padding:11px}.page-heading>.btn svg{width:20px;height:20px}.page-heading .sub{font-size:12px}.school-tabs .segment{width:100%;flex-wrap:nowrap}.school-tabs .segment button{flex:1;min-width:0;padding:10px 6px;font-size:11px;gap:4px}.school-tabs .segment .count{font-size:10px}.school-wide{padding:14px 10px 17px;border-radius:21px}.schedule-toolbar{padding:0 3px;gap:11px;margin-bottom:14px}.schedule-toolbar h2{font-size:21px}.schedule-toolbar .eyebrow{font-size:9px}.schedule-toolbar .actions{gap:1px}.schedule-toolbar .btn.icon-only{width:38px;min-width:38px;height:40px;min-height:40px;padding:10px}.schedule-grid{grid-template-columns:27px repeat(5,minmax(0,1fr));grid-template-rows:55px repeat(6,66px);gap:4px}.schedule-head{border-radius:10px}.schedule-head b{font-size:12px}.schedule-head span{font-size:9px}.schedule-time b{font-size:10px}.schedule-time small{font-size:8px}.lesson{padding:7px 3px;border-radius:10px;align-items:center;text-align:center;gap:4px}.lesson strong{font-size:10px;line-height:1.2;letter-spacing:-.025em}.lesson .subject-full{display:none}.lesson .subject-short{display:block}.lesson small,.lesson span{font-size:8px}.lesson.empty{font-size:9px}.schedule-note{padding:0 5px;gap:7px;font-size:10px}.schedule-detail{padding:13px 12px;gap:10px;margin:16px 3px 0;border-radius:13px}.schedule-detail .block-icon{width:33px;height:33px;border-radius:10px}.schedule-detail svg{height:17px;width:17px}.schedule-detail b{font-size:13px}.schedule-detail p{font-size:11px}.schedule-list-day{padding:15px}.schedule-list-row{grid-template-columns:51px minmax(0,1fr);gap:9px}.schedule-list-row>small{grid-column:2}.homework-card{padding:17px}.homework-card .top{align-items:flex-start}.homework-card .top h3{font-size:16px}.homework-card .bottom{align-items:center}.homework-card .bottom>.btn{font-size:11px;padding:9px 12px}.homework-card p{font-size:13px}.homework-card .bottom small{font-size:10px}.board-grid,.settings-grid{grid-template-columns:1fr}.calendar-columns{display:none}.mobile-calendar{display:block}.calendar-mobile-list .appointment{min-height:85px}.album-grid{grid-template-columns:1fr}.album-grid .photo-card{min-height:290px}.balance-number{font-size:52px}.match-score b{font-size:12px}.stand-row{font-size:11px;gap:8px;grid-template-columns:17px minmax(0,1fr) 30px 38px}}@media(max-width:360px){.main{padding-left:12px;padding-right:12px}.header-inner{padding:0 13px}.hero-copy h1{font-size:43px}.day-garden{height:293px;padding-left:20px;padding-right:20px}.pill{font-size:9px;padding-right:8px}.pills{gap:4px}.pill .avatar{width:23px;height:23px}.week-strip{gap:4px}.day-chip{min-height:73px;border-radius:13px}.day-chip b{font-size:21px}.photo-grid{gap:9px}.question-card{padding:15px}.question-card h2{font-size:23px}.question-card .btn{font-size:10px;gap:4px;padding:9px 6px}.lesson strong{font-size:9px}.lesson small{font-size:8px}.schedule-grid{grid-template-columns:26px repeat(5,minmax(0,1fr));gap:3px}.shortcut{padding:12px 10px;gap:8px}.shortcut b{font-size:11px}.segment button{font-size:11px;padding:10px 9px}}.home-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:42px;align-items:start}.hero-copy{padding-top:16px}.hero-copy h1{margin:15px 0 23px}.hero-tips{display:grid;gap:9px;max-width:650px}.hero-tip{width:100%;min-height:66px;padding:8px 14px 8px 9px;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:13px;text-align:left;color:var(--ink);background:linear-gradient(110deg,var(--panel-heavy),var(--panel));border:1px solid var(--shine);border-radius:22px;box-shadow:inset 0 1px 0 var(--shine),0 10px 30px hsl(var(--h) 30% 25% / .035);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform var(--speed),border-color var(--speed),box-shadow var(--speed)}.hero-tip>span:nth-child(2){min-width:0}.hero-tip b{display:block;font-size:14px;line-height:1.3}.hero-tip small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.hero-tip>svg{width:16px;height:16px;color:var(--muted)}.hero-tip-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:var(--accent);background:var(--soft)}.hero-tip-icon svg{width:21px;height:21px}.hero-tip-icon.tone-2{background:var(--soft2)}.hero-tip-icon.tone-3{background:var(--soft3)}.hero-tip-icon.tone-4{background:color-mix(in srgb,var(--soft) 55%,var(--soft2))}.day-garden.botanical{height:465px;border-radius:38px;background:linear-gradient(145deg,var(--panel),var(--soft) 48%,var(--soft2));padding:72px 30px 25px;isolation:isolate}.day-garden.botanical:before{content:"";position:absolute;inset:18px;border:1px solid var(--shine);border-radius:29px;z-index:0;pointer-events:none}.botanical-leaf{position:absolute;width:132px;height:54px;border:1px solid var(--shine);border-radius:100% 0;background:linear-gradient(145deg,var(--shape-light),var(--shape));opacity:.62;filter:saturate(.82);pointer-events:none;transform-origin:100% 100%;z-index:0}.botanical-leaf:after{content:"";position:absolute;left:13%;right:8%;top:50%;height:1px;background:var(--shine);transform:rotate(-19deg);transform-origin:center}.botanical-leaf.leaf-a{left:-22px;top:34px;transform:rotate(38deg) scale(1.18)}.botanical-leaf.leaf-b{left:-43px;top:126px;transform:rotate(16deg) scale(.92);background:linear-gradient(145deg,var(--soft2),var(--shape-light))}.botanical-leaf.leaf-c{left:-27px;bottom:52px;transform:rotate(-12deg) scale(1.08);background:linear-gradient(145deg,var(--soft3),var(--shape))}.botanical-leaf.leaf-d{left:73px;bottom:-30px;transform:rotate(-64deg) scale(.88);background:linear-gradient(145deg,var(--shape),var(--soft2))}.botanical-leaf.leaf-e{right:-28px;top:37px;transform:rotate(126deg) scale(1.12);background:linear-gradient(145deg,var(--soft2),var(--shape-light))}.botanical-leaf.leaf-f{right:-43px;top:143px;transform:rotate(153deg) scale(.96);background:linear-gradient(145deg,var(--shape-dark),var(--soft3))}.botanical-leaf.leaf-g{right:-20px;bottom:58px;transform:rotate(181deg) scale(1.14);background:linear-gradient(145deg,var(--soft3),var(--shape-light))}.botanical-leaf.leaf-h{right:79px;bottom:-34px;transform:rotate(236deg) scale(.86);background:linear-gradient(145deg,var(--shape),var(--soft2))}.botanical .garden-next{margin-top:30px}@media(hover:hover){.hero-tip:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:var(--shadow-hover)}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero-tip{background:var(--solid)}}@media(max-width:1100px){.home-hero{grid-template-columns:minmax(0,1fr) minmax(330px,.88fr);gap:28px}.day-garden.botanical{height:445px;padding-top:65px}.hero-tip{min-height:62px}.hero-copy h1{font-size:54px}}@media(max-width:800px)and (min-width:701px){.home-hero{grid-template-columns:1fr .92fr}.hero-copy h1{font-size:45px}.hero-tip{grid-template-columns:39px minmax(0,1fr) 15px;min-height:57px;padding:7px 11px 7px 7px;gap:9px;border-radius:18px}.hero-tip-icon{width:39px;height:39px;border-radius:13px}.hero-tip b{font-size:12px}.hero-tip small{font-size:9px}.day-garden.botanical{height:410px}.botanical .garden-date strong{font-size:91px}}@media(max-width:700px){.home-hero{grid-template-columns:1fr;gap:24px}.hero-copy h1{font-size:48px;margin:14px 0 20px}.hero-tips{gap:8px}.hero-tip{min-height:61px;border-radius:21px}.hero-tip b{font-size:13px}.day-garden.botanical{height:390px;max-width:520px;padding:57px 22px 20px;border-radius:33px}.day-garden.botanical:before{inset:13px;border-radius:25px}.botanical .garden-date{margin-top:12px}.botanical .garden-date strong{font-size:89px}.botanical .garden-next{margin-top:24px}.botanical-leaf{width:112px;height:46px;opacity:.57}.botanical-leaf.leaf-a{left:-33px;top:33px}.botanical-leaf.leaf-b{left:-48px;top:116px}.botanical-leaf.leaf-c{left:-32px;bottom:45px}.botanical-leaf.leaf-d{left:49px;bottom:-29px}.botanical-leaf.leaf-e{right:-34px;top:34px}.botanical-leaf.leaf-f{right:-49px;top:125px}.botanical-leaf.leaf-g{right:-30px;bottom:47px}.botanical-leaf.leaf-h{right:48px;bottom:-30px}}@media(max-width:360px){.hero-copy h1{font-size:43px}.hero-tip{grid-template-columns:40px minmax(0,1fr) 15px;padding-right:10px;gap:10px}.hero-tip-icon{width:40px;height:40px;border-radius:13px}.day-garden.botanical{height:372px;padding-left:18px;padding-right:18px}.botanical .garden-date strong{font-size:82px}.botanical .garden-next{padding-left:11px;padding-right:11px}}@media(max-width:360px){.question-card{grid-column:1/-1}.question-card h2{overflow-wrap:anywhere}}:root[data-theme=light] .day-chip.active{background:color-mix(in srgb,var(--accent) 13%,var(--panel-heavy));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:none}:root[data-theme=light] .day-chip.active b{color:var(--accent)}.desktop-navigation{padding:5px;border-radius:28px}.desktop-navigation .nav-button{height:44px;min-height:44px;border-radius:22px;line-height:1}.header-actions{min-width:0}.notification-ticker{width:clamp(175px,18vw,255px);height:36px;min-height:36px;padding:0 11px 0 8px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel-quiet);color:var(--ink);text-align:left;box-shadow:none;transition:background var(--speed),border-color var(--speed)}.ticker-bell{position:relative;width:24px;height:28px;display:grid;place-items:center;color:var(--accent)}.ticker-bell svg{width:17px;height:17px}.ticker-bell b{position:absolute;right:-4px;top:0;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;border:2px solid var(--nav);border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:8px;line-height:1}.ticker-window{height:34px;overflow:hidden;display:block;min-width:0}.ticker-track{display:flex;flex-direction:column;animation:ticker-shift 12s ease-in-out infinite;will-change:transform}.ticker-track>span{height:34px;min-height:34px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:650;letter-spacing:.01em}@keyframes ticker-shift{0%,23%{transform:translateY(0)}29%,52%{transform:translateY(-34px)}58%,81%{transform:translateY(-68px)}87%,to{transform:translateY(-102px)}}@media(hover:hover){.notification-ticker:hover{background:var(--soft);border-color:var(--accent)}}.schedule-grid{grid-template-columns:58px repeat(5,minmax(0,1fr))}.schedule-head.schedule-hours-head{background:transparent;border-color:transparent;border-radius:0;box-shadow:none}.schedule-time{gap:2px}.schedule-time small{display:grid;gap:0;line-height:1.05}.schedule-time small span{display:block}.schedule-time .time-dash{line-height:.72;opacity:.62}.schedule-list-row{grid-template-columns:94px minmax(0,1fr) auto}.schedule-list-row time{font-variant-numeric:tabular-nums;white-space:nowrap}.day-garden.botanical{height:465px;padding:71px 31px 25px;isolation:isolate;border:1px solid color-mix(in srgb,var(--accent) 23%,transparent);border-radius:48% 47% 17% 18%/42% 44% 14% 15%;background:linear-gradient(154deg,color-mix(in srgb,var(--shape-light) 72%,var(--panel-heavy)),color-mix(in srgb,var(--shape) 76%,var(--panel)) 57%,color-mix(in srgb,var(--shape-dark) 70%,var(--panel)));box-shadow:var(--shadow)}.day-garden.botanical:before{display:none}.garden-layer{position:absolute;display:block;border:0;pointer-events:none;z-index:0}.garden-layer.layer-halo{width:92%;height:68%;right:-12%;top:-10%;border-radius:50%;background:color-mix(in srgb,var(--shape-light) 84%,var(--panel-heavy));transform:rotate(7deg)}.garden-layer.layer-sweep{width:132%;height:55%;left:-20%;bottom:17%;border-radius:52% 48% 15% 20%/88% 68% 18% 22%;background:color-mix(in srgb,var(--shape) 72%,var(--soft2));transform:rotate(-7deg)}.garden-layer.layer-leaf{width:70%;height:88%;left:-30%;bottom:-10%;border-radius:76% 24% 68% 32%/43% 58% 42% 57%;background:color-mix(in srgb,var(--shape-dark) 76%,var(--soft));transform:rotate(15deg)}.garden-layer.layer-ground{width:128%;height:47%;left:-13%;bottom:-26%;border-radius:52% 48% 12% 18%/72% 68% 18% 22%;background:color-mix(in srgb,var(--accent) 43%,var(--shape-dark));transform:rotate(2deg)}.botanical .garden-date,.botanical .garden-weather,.botanical .garden-next,.botanical .garden-kicker{z-index:2}.botanical .garden-kicker{letter-spacing:.18em}.botanical .garden-date{margin-top:17px}.botanical .garden-date strong{font-size:112px}.botanical .garden-weather{margin-top:18px}.botanical .garden-next{margin-top:30px;background:color-mix(in srgb,var(--panel-heavy) 91%,var(--shape-light));border-color:color-mix(in srgb,var(--ink) 13%,transparent);box-shadow:0 13px 32px hsl(var(--h) 28% 12% / .12)}@media(max-width:1100px){.notification-ticker{width:180px}.day-garden.botanical{height:445px;padding-top:65px}}@media(max-width:900px){.preview-tag{display:none}.notification-ticker{width:170px}}@media(max-width:800px)and (min-width:701px){.notification-ticker{width:148px}.day-garden.botanical{height:410px}.botanical .garden-date strong{font-size:91px}}@media(max-width:700px){.notification-ticker{width:39px;min-width:39px;padding:0;display:grid;grid-template-columns:1fr;border-radius:50%}.ticker-window{display:none}.ticker-bell{margin:auto}.day-garden.botanical{height:390px;max-width:520px;padding:57px 22px 20px;border-radius:48% 47% 17% 18%/42% 44% 14% 15%}.botanical .garden-date{margin-top:12px}.botanical .garden-date strong{font-size:89px}.botanical .garden-next{margin-top:24px}.schedule-grid{grid-template-columns:48px repeat(5,minmax(0,1fr))}.schedule-time small{font-size:8px}.schedule-list-row{grid-template-columns:84px minmax(0,1fr)}}@media(max-width:360px){.notification-ticker{width:35px;min-width:35px;height:35px;min-height:35px}.header-actions .btn{width:36px;min-width:36px}.day-garden.botanical{height:372px;padding-left:18px;padding-right:18px}.botanical .garden-date strong{font-size:82px}.botanical .garden-next{padding-left:11px;padding-right:11px}.schedule-grid{grid-template-columns:44px repeat(5,minmax(0,1fr))}.schedule-list-row{grid-template-columns:78px minmax(0,1fr)}}.home-hero{align-items:center}.day-garden.botanical{height:460px;align-self:center;justify-content:flex-start;padding:50px 32px 24px;border:1px solid color-mix(in srgb,var(--shine) 68%,var(--accent) 32%);border-radius:100px 100px 92px 92px/88px 88px 96px 96px;background:linear-gradient(148deg,color-mix(in srgb,var(--shape-light) 76%,var(--panel-heavy)),color-mix(in srgb,var(--shape) 74%,var(--panel)) 56%,color-mix(in srgb,var(--shape-dark) 69%,var(--panel)));box-shadow:0 22px 55px hsl(var(--h) 32% 18% / .11)}.garden-layer.layer-halo{width:82%;height:72%;right:-6%;top:-18%;border-radius:49% 51% 48% 52%/55% 44% 56% 45%;background:color-mix(in srgb,var(--shape-light) 88%,var(--panel-heavy));transform:rotate(4deg)}.garden-layer.layer-sweep{width:142%;height:61%;left:-24%;top:29%;bottom:auto;border-radius:50% 50% 47% 53%/62% 57% 43% 38%;background:color-mix(in srgb,var(--shape) 76%,var(--soft2));transform:rotate(-4deg)}.garden-layer.layer-leaf{width:76%;height:106%;left:-31%;bottom:-25%;border-radius:54% 46% 51% 49%/42% 58%;background:color-mix(in srgb,var(--shape-dark) 78%,var(--soft));transform:rotate(9deg)}.garden-layer.layer-ground{width:134%;height:45%;left:-17%;bottom:-25%;border-radius:48% 52% 50% 50%/68% 66% 34% 32%;background:color-mix(in srgb,var(--accent) 44%,var(--shape-dark));transform:rotate(1deg)}.garden-content{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;color:var(--ink)}.garden-dayline{width:min(100%,270px);display:grid;grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);align-items:center;gap:13px;color:var(--ink);font-size:10px;font-weight:680;letter-spacing:.28em;text-transform:uppercase}.garden-dayline i{height:1px;background:color-mix(in srgb,var(--ink) 45%,transparent)}.botanical .garden-date{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:18px}.botanical .garden-date strong{font-size:104px;line-height:.9;letter-spacing:-.075em;text-shadow:0 1px 0 color-mix(in srgb,var(--shine) 52%,transparent)}.botanical .garden-date span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--ink);line-height:1.2}.botanical .garden-date span b{font-size:21px;font-weight:430;letter-spacing:-.025em;white-space:nowrap}.botanical .garden-date span small{font-size:11px;font-weight:520;color:var(--muted);white-space:nowrap}.botanical .garden-weather{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ink)}.garden-weather-icon{width:38px;height:38px;display:grid;place-items:center}.garden-weather-icon svg{width:34px;height:34px;stroke-width:1.6}.garden-temperature{display:flex;align-items:flex-start;gap:2px}.garden-temperature strong{font-size:38px;line-height:1;font-weight:610;letter-spacing:-.055em}.garden-temperature small{font-size:13px;line-height:1.25;margin-top:3px;color:var(--muted)}.garden-condition{font-size:14px;white-space:nowrap}.botanical .garden-next{z-index:2;margin-top:auto;min-height:82px;padding:14px 18px;border-radius:27px;background:color-mix(in srgb,var(--panel-heavy) 94%,var(--shape-light));border-color:color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 14px 35px hsl(var(--h) 30% 16% / .13)}.botanical .garden-time{min-width:72px;padding-right:16px;border-right:1px solid color-mix(in srgb,var(--ink) 28%,transparent);font-size:22px;text-align:center;font-variant-numeric:tabular-nums}.botanical .garden-next small{font-size:10px}.botanical .garden-next b{font-size:14px}.botanical .garden-next>svg{width:20px;height:20px}@media(max-width:1100px){.day-garden.botanical{height:440px;padding:45px 27px 22px;border-radius:84px 84px 78px 78px/76px 76px 82px 82px}.botanical .garden-date strong{font-size:92px}.botanical .garden-date span b{font-size:19px}.botanical .garden-weather{margin-top:17px}.botanical .garden-next{min-height:76px}}@media(max-width:800px)and (min-width:701px){.day-garden.botanical{height:400px;padding:38px 21px 19px;border-radius:70px}.garden-dayline{font-size:8px;gap:9px}.botanical .garden-date{gap:12px;margin-top:14px}.botanical .garden-date strong{font-size:76px}.botanical .garden-date span b{font-size:16px}.botanical .garden-date span small{font-size:9px}.botanical .garden-weather{margin-top:13px;gap:8px}.garden-weather-icon{width:30px;height:30px}.garden-weather-icon svg{width:27px;height:27px}.garden-temperature strong{font-size:31px}.garden-condition{font-size:11px}.botanical .garden-next{min-height:70px;padding:11px 13px;border-radius:22px}.botanical .garden-time{min-width:61px;padding-right:11px;font-size:18px}.botanical .garden-next b{font-size:12px}.botanical .garden-next small{font-size:8px}}@media(max-width:700px){.home-hero{align-items:stretch}.day-garden.botanical{height:410px;width:100%;max-width:520px;margin:0 auto;padding:42px 24px 21px;border-radius:68px 68px 62px 62px/61px 61px 67px 67px}.garden-dayline{font-size:9px}.botanical .garden-date{margin-top:15px}.botanical .garden-date strong{font-size:88px}.botanical .garden-date span b{font-size:18px}.botanical .garden-date span small{font-size:10px}.botanical .garden-weather{margin-top:16px}.garden-weather-icon{width:34px;height:34px}.garden-weather-icon svg{width:31px;height:31px}.garden-temperature strong{font-size:34px}.garden-condition{font-size:12px}.botanical .garden-next{margin-top:auto;min-height:74px;border-radius:24px}.botanical .garden-time{min-width:66px;font-size:20px}}@media(max-width:360px){.day-garden.botanical{height:390px;padding:38px 17px 18px;border-radius:58px}.garden-dayline{width:230px;font-size:8px;gap:9px}.botanical .garden-date{gap:12px;margin-top:13px}.botanical .garden-date strong{font-size:77px}.botanical .garden-date span b{font-size:16px}.botanical .garden-weather{gap:8px;margin-top:13px}.garden-weather-icon{width:30px;height:30px}.garden-weather-icon svg{width:27px;height:27px}.garden-temperature strong{font-size:30px}.garden-condition{font-size:11px}.botanical .garden-next{min-height:69px;padding:10px 12px;border-radius:22px}.botanical .garden-time{min-width:58px;padding-right:10px;font-size:18px}.botanical .garden-next b{font-size:12px}.botanical .garden-next small{font-size:8px}}.day-garden.botanical{padding:44px 32px 46px}.garden-layer.layer-halo{opacity:.74}.garden-layer.layer-sweep{opacity:.54}.garden-layer.layer-leaf{opacity:.58}.garden-layer.layer-ground{opacity:.72}.garden-foliage{position:absolute;z-index:1;display:block;pointer-events:none;transform-origin:50% 100%;border:1.2px solid color-mix(in srgb,var(--ink) 45%,transparent);border-radius:100% 0/82% 0 100% 18%;background:linear-gradient(145deg,color-mix(in srgb,var(--shape-light) 72%,var(--panel)),color-mix(in srgb,var(--shape-dark) 76%,var(--shape)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shine) 38%,transparent);opacity:.88}.garden-foliage:after{content:"";position:absolute;left:5%;top:52%;width:112%;height:1.2px;background:color-mix(in srgb,var(--ink) 42%,transparent);transform:rotate(-43deg);transform-origin:left center}.foliage-left-back{width:170px;height:305px;left:-95px;bottom:-150px;transform:rotate(-13deg);background:linear-gradient(155deg,color-mix(in srgb,var(--shape-light) 76%,var(--panel)),color-mix(in srgb,var(--shape) 82%,var(--soft)))}.foliage-left-front{width:174px;height:242px;left:-37px;bottom:-139px;transform:rotate(31deg);background:linear-gradient(155deg,color-mix(in srgb,var(--shape) 76%,var(--panel)),color-mix(in srgb,var(--shape-dark) 82%,var(--soft)))}.foliage-right-back{width:178px;height:312px;right:-105px;bottom:-142px;transform:rotate(103deg);background:linear-gradient(155deg,color-mix(in srgb,var(--shape-light) 70%,var(--panel)),color-mix(in srgb,var(--shape) 78%,var(--soft2)))}.foliage-right-front{width:188px;height:246px;right:-43px;bottom:-145px;transform:rotate(57deg);background:linear-gradient(155deg,color-mix(in srgb,var(--shape) 72%,var(--panel)),color-mix(in srgb,var(--accent) 38%,var(--shape-dark)))}.botanical .garden-date{margin-top:13px}.botanical .garden-date strong{font-size:94px}.botanical .garden-weather{margin-top:11px;display:flex;flex-direction:column;gap:3px}.garden-weather-icon{width:72px;height:72px;color:var(--ink)}.garden-weather-icon svg{width:72px;height:72px;stroke-width:1.25;filter:drop-shadow(0 7px 12px hsl(var(--h) 30% 20% / .12))}.garden-weather-reading{display:flex;align-items:center;justify-content:center;gap:12px}.garden-temperature strong{font-size:39px}.garden-condition{font-size:14px}.botanical .garden-next{margin-top:16px;margin-bottom:0;min-height:79px}@media(max-width:1100px){.day-garden.botanical{padding:38px 27px 40px}.botanical .garden-date{margin-top:11px}.botanical .garden-date strong{font-size:84px}.garden-weather-icon,.garden-weather-icon svg{width:64px;height:64px}.garden-temperature strong{font-size:35px}.botanical .garden-next{margin-top:13px;min-height:74px}.garden-foliage{opacity:.8}.foliage-left-back{left:-108px}.foliage-left-front{left:-56px}.foliage-right-back{right:-115px}.foliage-right-front{right:-59px}}@media(max-width:800px)and (min-width:701px){.day-garden.botanical{padding:31px 21px}.botanical .garden-date strong{font-size:70px}.garden-weather-icon,.garden-weather-icon svg{width:56px;height:56px}.garden-weather-reading{gap:8px}.garden-temperature strong{font-size:30px}.garden-condition{font-size:11px}.botanical .garden-next{margin-top:11px;min-height:67px}.garden-foliage{opacity:.72}.foliage-left-back{left:-125px}.foliage-left-front{left:-79px}.foliage-right-back{right:-129px}.foliage-right-front{right:-80px}}@media(max-width:700px){.day-garden.botanical{padding:34px 24px 37px}.botanical .garden-date{margin-top:11px}.botanical .garden-date strong{font-size:78px}.garden-weather-icon,.garden-weather-icon svg{width:62px;height:62px}.garden-temperature strong{font-size:33px}.botanical .garden-next{margin-top:13px;min-height:71px}.garden-foliage{opacity:.78}.foliage-left-back{left:-112px;bottom:-162px}.foliage-left-front{left:-60px;bottom:-150px}.foliage-right-back{right:-120px;bottom:-155px}.foliage-right-front{right:-62px;bottom:-153px}}@media(max-width:360px){.day-garden.botanical{padding:29px 17px 31px}.botanical .garden-date{margin-top:9px}.botanical .garden-date strong{font-size:68px}.garden-weather-icon,.garden-weather-icon svg{width:54px;height:54px}.garden-weather-reading{gap:7px}.garden-temperature strong{font-size:29px}.garden-condition{font-size:10px}.botanical .garden-next{margin-top:10px;min-height:65px}.garden-foliage{opacity:.7}.foliage-left-back{left:-130px}.foliage-left-front{left:-81px}.foliage-right-back{right:-137px}.foliage-right-front{right:-85px}}.foliage-left-middle{width:132px;height:218px;left:3px;bottom:-132px;transform:rotate(18deg);border-radius:92% 8% 96% 4%/76% 12% 88% 24%;background:linear-gradient(155deg,color-mix(in srgb,var(--shape-light) 58%,var(--panel)),color-mix(in srgb,var(--accent) 31%,var(--shape)));opacity:.74}.foliage-right-middle{width:138px;height:226px;right:0;bottom:-137px;transform:rotate(72deg);border-radius:96% 4% 88% 12%/84% 8% 92% 16%;background:linear-gradient(155deg,color-mix(in srgb,var(--shape) 80%,var(--panel)),color-mix(in srgb,var(--shape-dark) 72%,var(--soft2)));opacity:.77}.foliage-center-back{width:246px;height:166px;left:18%;bottom:-106px;transform:rotate(48deg);border-radius:100% 0 93% 7%/78% 6% 94% 22%;background:linear-gradient(148deg,color-mix(in srgb,var(--shape-light) 68%,var(--panel)),color-mix(in srgb,var(--shape) 77%,var(--soft)));opacity:.68}.foliage-center-sprout{width:92px;height:185px;left:43%;bottom:-119px;transform:rotate(24deg);border-radius:96% 4% 100% 0/88% 4% 96% 12%;background:linear-gradient(155deg,color-mix(in srgb,var(--shape-light) 74%,var(--panel-heavy)),color-mix(in srgb,var(--accent) 34%,var(--shape)));opacity:.7}.foliage-center-front{width:238px;height:158px;right:17%;bottom:-112px;transform:rotate(39deg);border-radius:94% 6% 100% 0/82% 8% 92% 18%;background:linear-gradient(150deg,color-mix(in srgb,var(--shape) 76%,var(--panel)),color-mix(in srgb,var(--accent) 43%,var(--shape-dark)));opacity:.76}.foliage-left-middle:after{transform:rotate(-38deg)}.foliage-right-middle:after{transform:rotate(-49deg)}.foliage-center-back:after{top:48%;transform:rotate(-35deg)}.foliage-center-sprout:after{top:55%;transform:rotate(-46deg)}.foliage-center-front:after{top:47%;transform:rotate(-37deg)}@media(max-width:1100px){.foliage-left-middle{left:-19px}.foliage-right-middle{right:-18px}.foliage-center-back{left:14%}.foliage-center-front{right:13%}}@media(max-width:800px)and (min-width:701px){.foliage-left-middle{left:-51px}.foliage-right-middle{right:-48px}.foliage-center-back{left:8%;opacity:.57}.foliage-center-sprout{left:42%;opacity:.58}.foliage-center-front{right:7%;opacity:.62}}@media(max-width:700px){.foliage-left-middle{left:-34px;bottom:-143px}.foliage-right-middle{right:-32px;bottom:-146px}.foliage-center-back{left:11%;bottom:-119px}.foliage-center-sprout{bottom:-132px}.foliage-center-front{right:10%;bottom:-123px}}@media(max-width:360px){.foliage-left-middle{left:-58px}.foliage-right-middle{right:-56px}.foliage-center-back{left:2%;opacity:.54}.foliage-center-sprout{left:40%;opacity:.55}.foliage-center-front{right:1%;opacity:.58}}.foliage-left-back{width:138px;height:236px;left:-82px;top:36px;bottom:auto;transform:rotate(-22deg);opacity:.5}.foliage-right-back{width:145px;height:238px;right:-86px;top:43px;bottom:auto;transform:rotate(112deg);opacity:.5}.foliage-left-middle{width:112px;height:182px;left:-45px;top:166px;bottom:auto;transform:rotate(13deg);opacity:.58}.foliage-right-middle{width:118px;height:188px;right:-47px;top:157px;bottom:auto;transform:rotate(77deg);opacity:.58}.foliage-left-front{width:158px;height:194px;left:-12px;bottom:-96px;transform:rotate(34deg);opacity:.68}.foliage-center-back{width:208px;height:142px;left:20%;bottom:-67px;transform:rotate(47deg);opacity:.49}.foliage-center-sprout{width:78px;height:137px;left:45%;bottom:-68px;transform:rotate(20deg);opacity:.55}.foliage-center-front{width:205px;height:140px;right:19%;bottom:-72px;transform:rotate(40deg);opacity:.59}.foliage-right-front{width:164px;height:198px;right:-13px;bottom:-98px;transform:rotate(55deg);opacity:.68}@media(max-width:1100px){.foliage-left-back{left:-91px;top:42px}.foliage-right-back{right:-96px;top:48px}.foliage-left-middle{left:-55px;top:159px}.foliage-right-middle{right:-58px;top:153px}.foliage-center-back{left:16%}.foliage-center-front{right:15%}}@media(max-width:800px)and (min-width:701px){.foliage-left-back{left:-104px;top:49px;opacity:.42}.foliage-right-back{right:-108px;top:54px;opacity:.42}.foliage-left-middle{left:-70px;top:155px;opacity:.49}.foliage-right-middle{right:-72px;top:150px;opacity:.49}.foliage-left-front{left:-33px}.foliage-right-front{right:-35px}.foliage-center-back{left:9%;opacity:.42}.foliage-center-sprout{opacity:.47}.foliage-center-front{right:8%;opacity:.48}}@media(max-width:700px){.foliage-left-back{left:-96px;top:45px;opacity:.46}.foliage-right-back{right:-101px;top:50px;opacity:.46}.foliage-left-middle{left:-60px;top:166px;opacity:.52}.foliage-right-middle{right:-63px;top:159px;opacity:.52}.foliage-left-front{left:-26px;bottom:-103px}.foliage-right-front{right:-28px;bottom:-105px}.foliage-center-back{left:12%;bottom:-74px;opacity:.45}.foliage-center-sprout{bottom:-75px;opacity:.5}.foliage-center-front{right:11%;bottom:-79px;opacity:.52}}@media(max-width:360px){.foliage-left-back{left:-111px;top:53px;opacity:.4}.foliage-right-back{right:-116px;top:57px;opacity:.4}.foliage-left-middle{left:-77px;top:165px;opacity:.45}.foliage-right-middle{right:-79px;top:160px;opacity:.45}.foliage-left-front{left:-43px}.foliage-right-front{right:-45px}.foliage-center-back{left:3%;opacity:.38}.foliage-center-sprout{left:42%;opacity:.43}.foliage-center-front{right:2%;opacity:.44}}.garden-foliage{overflow:hidden;border-color:color-mix(in srgb,var(--ink) 31%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--shine) 24%,transparent)}.garden-foliage:after{left:16%;top:53%;width:70%;height:26%;background:none;border-top:1px solid color-mix(in srgb,var(--ink) 32%,transparent);border-radius:50%;transform:rotate(-37deg);transform-origin:left top;opacity:.72}.foliage-center-back,.foliage-center-sprout,.foliage-center-front{display:none}.foliage-left-back{width:132px;height:210px;left:-64px;top:42px;bottom:auto;transform:rotate(-19deg);opacity:.48}.foliage-right-back{width:136px;height:214px;right:-67px;top:51px;bottom:auto;transform:rotate(109deg);opacity:.48}.foliage-left-middle{width:112px;height:172px;left:-54px;top:201px;bottom:auto;transform:rotate(9deg);opacity:.55}.foliage-right-middle{width:114px;height:176px;right:-56px;top:195px;bottom:auto;transform:rotate(81deg);opacity:.55}.foliage-left-front{width:178px;height:154px;left:20px;bottom:-66px;transform:rotate(49deg);opacity:.58}.foliage-right-front{width:182px;height:158px;right:18px;bottom:-69px;transform:rotate(42deg);opacity:.58}.foliage-left-back:after,.foliage-left-middle:after,.foliage-left-front:after{transform:rotate(-35deg)}.foliage-right-back:after,.foliage-right-middle:after,.foliage-right-front:after{transform:rotate(-49deg)}@media(max-width:1100px){.foliage-left-back{left:-73px;top:46px}.foliage-right-back{right:-77px;top:54px}.foliage-left-middle{left:-62px;top:194px}.foliage-right-middle{right:-64px;top:188px}.foliage-left-front{left:4px}.foliage-right-front{right:2px}}@media(max-width:800px)and (min-width:701px){.foliage-left-back{left:-86px;top:52px;opacity:.41}.foliage-right-back{right:-89px;top:58px;opacity:.41}.foliage-left-middle{left:-72px;top:183px;opacity:.47}.foliage-right-middle{right:-74px;top:178px;opacity:.47}.foliage-left-front{left:-18px;bottom:-73px;opacity:.5}.foliage-right-front{right:-20px;bottom:-76px;opacity:.5}}@media(max-width:700px){.foliage-left-back{width:118px;height:184px;left:-66px;top:61px;opacity:.44}.foliage-right-back{width:121px;height:188px;right:-69px;top:67px;opacity:.44}.foliage-left-middle{width:100px;height:153px;left:-55px;top:211px;opacity:.5}.foliage-right-middle{width:103px;height:157px;right:-57px;top:205px;opacity:.5}.foliage-left-front{width:158px;height:138px;left:-2px;bottom:-62px;opacity:.53}.foliage-right-front{width:162px;height:141px;right:-4px;bottom:-65px;opacity:.53}}@media(max-width:360px){.foliage-left-back{left:-78px;top:66px;opacity:.38}.foliage-right-back{right:-81px;top:72px;opacity:.38}.foliage-left-middle{left:-67px;top:207px;opacity:.43}.foliage-right-middle{right:-69px;top:202px;opacity:.43}.foliage-left-front{left:-20px;bottom:-68px;opacity:.46}.foliage-right-front{right:-22px;bottom:-71px;opacity:.46}}.app-root.app-root.app-root{--panel: inherit;--line: inherit;--accent: inherit;--muted: inherit;--shadow: inherit;--text: var(--ink);--bg: var(--page);--bg2: var(--panel-quiet);--panel2: var(--panel-quiet);--border: var(--line);--subtle: var(--muted);--accent-ink: var(--on-accent);--sidebar: var(--panel-heavy);--overlay: #081a24bf}body{background:var(--page)}.app-root{min-height:100dvh;color:var(--ink);background:transparent}.app-root .ambient{z-index:0;background:radial-gradient(ellipse at 4% 2%,var(--glow-a) 0,transparent 46%),radial-gradient(ellipse at 98% 12%,var(--glow-b) 0,transparent 48%),radial-gradient(ellipse at 52% 78%,var(--glow-c) 0,transparent 56%),linear-gradient(145deg,var(--page),color-mix(in srgb,var(--page) 78%,var(--shape-dark)))}.fh-v7-shell{position:relative;z-index:1;min-height:100dvh;overflow:hidden;background:transparent;isolation:isolate}.fh-v7-shell:before,.fh-v7-shell:after{content:"";position:fixed;z-index:-1;pointer-events:none;filter:blur(2px);opacity:.42}.fh-v7-shell:before{width:48vw;height:72vh;left:-18vw;top:18vh;border-radius:62% 38% 70% 30%;background:linear-gradient(145deg,var(--shape-light),var(--shape));transform:rotate(14deg)}.fh-v7-shell:after{width:56vw;height:64vh;right:-24vw;bottom:-13vh;border-radius:42% 58% 35% 65%;background:linear-gradient(145deg,var(--soft2),var(--shape-dark));transform:rotate(-18deg)}.fh-v7-main.workspace.main{max-width:1400px;margin:0 auto;padding:40px 38px 38px;background:transparent}.fh-v7-content.content{display:contents}.brand .brand-symbol{width:31px;height:31px;flex:none}.site-header .top-profile-button{width:34px;height:34px;min-height:34px;padding:0;overflow:hidden}.site-header .top-profile-button .avatar-image{width:100%;height:100%;object-fit:cover}.site-header .fh-header-control{width:44px;height:44px;min-height:44px}.fh-v7-shell .panel{min-width:0;padding:var(--pad);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 92%,var(--soft)),color-mix(in srgb,var(--panel-quiet) 94%,var(--soft2)));box-shadow:inset 0 1px 0 var(--shine),var(--shadow);backdrop-filter:blur(var(--blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--blur)) saturate(125%)}.fh-v7-shell .quiet-panel{background:var(--panel-quiet)}.fh-v7-shell .page-heading p{color:var(--muted)}.fh-v7-shell .button.primary{background:var(--accent);color:var(--on-accent)}.fh-v7-menu-backdrop{background:#081a244d;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.fh-v7-menu{width:min(530px,calc(100% - 28px));max-height:calc(100dvh - 36px);padding:28px;border:1px solid var(--line);border-radius:28px;color:var(--ink);background:var(--panel-heavy);box-shadow:0 24px 90px #0003;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}.fh-v7-menu>header{margin-bottom:18px}.fh-v7-menu h2{font-family:var(--serif);font-size:28px;font-weight:400}.fh-v7-menu .dialog-nav{grid-template-columns:1fr 1fr}.fh-v7-menu .dialog-nav .btn{justify-content:flex-start;min-width:0}.fh-v7-menu .dialog-nav .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-v7-menu>footer{margin-top:20px;padding-top:18px}.garden-weather{border:0}.garden-weather{background:transparent;cursor:pointer}.garden-weather-city{color:var(--muted);font-size:9px}.fh-v7-weather-refresh{color:var(--muted)}.shopping-filter{margin-bottom:17px}.shopping-quick-label{margin-bottom:12px}.calendar-page .calendar-mobile-list{margin-top:24px}.calendar-page .calendar-mobile-list>section+section{margin-top:17px}.calendar-page .calendar-mobile-list .quiet-panel{margin-top:14px}.calendar-page .calendar-event{color:var(--ink)}.fh-v7-shell .page-heading h1 em,.fh-v7-shell .nx-heading h1 em{font-family:var(--serif);font-weight:400;font-style:italic}.fh-v7-shell .tasks-v7 .task-unified,.fh-v7-shell .next-hub .module-list{padding:28px}.fh-v7-shell .task-scope-picker{display:inline-flex;align-self:flex-start;padding:5px;gap:4px;border:1px solid var(--line);border-radius:16px;background:var(--panel-quiet)}.fh-v7-shell .task-scope-picker button{min-height:40px;padding:0 14px;border:0;border-radius:12px;color:var(--muted);background:transparent;font-weight:750}.fh-v7-shell .task-scope-picker button.selected{color:var(--ink);background:var(--panel-heavy);box-shadow:inset 0 0 0 1px var(--line)}.fh-v7-shell .task-scope-picker .task-add{margin-left:3px;width:40px;padding:0;display:grid;place-items:center;color:var(--on-accent);background:var(--accent)}.fh-v7-shell .task-unified .task-item{padding-block:17px;border-bottom:1px solid var(--line)}.fh-v7-shell .task-unified .task-item:last-child{border-bottom:0}.fh-v7-shell .task-unified .task-item.done b{text-decoration:line-through;color:var(--muted)}.fh-v7-shell .task-closing h2,.fh-v7-shell .next-hub .quiet-panel h2,.fh-v7-shell .nx-note h2{margin:8px 0 10px;font-family:var(--serif);font-size:clamp(25px,4vw,34px);font-weight:400}.fh-v7-shell .nx-heading{align-items:flex-start}.fh-v7-shell .nx-heading-actions{display:flex;gap:8px}.fh-v7-shell .module-row{display:flex;align-items:center;gap:14px;padding:17px 0;border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none}.fh-v7-shell .module-row:last-child{border-bottom:0}.fh-v7-shell .module-copy{min-width:0;flex:1;display:grid;gap:4px}.fh-v7-shell .module-copy p{margin:3px 0 0}.fh-v7-shell .module-row .nx-card-actions{margin:0;flex:0 0 auto}.fh-v7-shell .board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fh-v7-shell .nx-note{min-height:205px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.fh-v7-shell .nx-note p{flex:1}.fh-v7-shell .nx-note .admin-actions{opacity:.72}.fh-v7-shell .nx-modal-backdrop{background:color-mix(in srgb,var(--bg-deep) 48%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.fh-v7-shell .nx-editor{background:var(--panel-heavy);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%)}.fh-v7-shell .nx-editor .nx-panel-title h2{font-family:var(--serif);font-size:30px;font-weight:400}.fh-v7-shell .nx-editor .nx-panel-title{position:sticky;top:-1px;z-index:3;padding:4px 0 12px;background:linear-gradient(var(--panel-heavy) 78%,transparent)}.fh-v7-shell .nx-editor .nx-form-actions{position:sticky;bottom:-1px;z-index:3;margin:0 calc(var(--pad) * -1) calc(var(--pad) * -1);padding:14px var(--pad) calc(14px + env(safe-area-inset-bottom));background:var(--panel-heavy);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.fh-v7-shell .settings-design-v7{grid-column:1/-1;max-width:680px}.fh-v7-shell .settings-design-v7 .panel-heading h2{margin-top:8px;font-family:var(--serif);font-size:31px;font-weight:400}.fh-v7-shell .settings-design-v7 .setting-row{padding-block:18px}.fh-v7-shell .settings-design-v7 .segment{display:inline-flex;padding:4px;border:1px solid var(--line);border-radius:16px}.fh-v7-shell .settings-design-v7 .segment button{display:inline-flex;align-items:center;gap:7px;min-height:40px;border:0;border-radius:12px;color:var(--muted);background:transparent}.fh-v7-shell .settings-design-v7 .segment button.active{color:var(--ink);background:var(--panel-heavy);box-shadow:inset 0 0 0 1px var(--line)}.fh-v7-shell .settings-design-v7 .swatch{display:grid;place-items:center;color:#15352f}.fh-v7-shell .school-tabs .segment{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.fh-v7-shell .school-tabs .segment button{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-v7-shell .school-raw-details,.fh-v7-shell .nx-sport-tech-area{opacity:.78}.fh-v7-shell .wallet-v7 .wallet-account-picker{display:none}.fh-v7-shell .wallet-v7 .wallet-task-columns{order:1}.fh-v7-shell .wallet-v7 .wallet-reviews{order:2}.fh-v7-shell .wallet-v7 .wallet-hero-grid{order:3}.fh-v7-shell .wallet-v7 .wallet-entries{order:4}.fh-v7-shell .wallet-v7 .wallet-task-columns>.panel:first-child .panel-heading h3{font-size:clamp(24px,4vw,31px)}.fh-v7-shell .wallet-v7 .wallet-task-columns>.panel:first-child{background:linear-gradient(135deg,var(--soft),var(--panel))}.fh-v7-shell .wallet-v7 .wallet-task-columns>.panel:first-child .panel-heading h3,.fh-v7-shell .wallet-v7 .wallet-entries .panel-heading h3{font-family:var(--serif);font-weight:400}.fh-v7-shell .question-hero h2{font-family:var(--serif);font-size:clamp(30px,5vw,46px);font-weight:400;line-height:1.12}.fh-v7-shell .schedule-head:disabled{opacity:1;cursor:default}.fh-v7-shell .schedule-head.has-exam{cursor:pointer}.fh-v7-shell .schedule-head.has-exam:hover{border-color:var(--accent);background:var(--soft)}.fh-v7-shell .lesson{overflow:hidden}.fh-v7-shell .lesson .subject-full,.fh-v7-shell .lesson .subject-short,.fh-v7-shell .lesson small,.fh-v7-shell .lesson span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.fh-v7-shell .next-hub .nx-panel>h2,.fh-v7-shell .next-hub .nx-panel-title h2,.fh-v7-shell .nx-display h2{font-family:var(--serif);font-weight:400}.fh-v7-shell .family-grid .panel-heading h3{font-family:var(--serif);font-size:24px;font-weight:400}.fh-v7-shell .next-hub:has(.nx-alert) .nx-grid-two{grid-template-columns:1fr}.fh-v7-shell .next-hub:has(.nx-alert) .nx-line{background:transparent;border-bottom:1px solid var(--line);border-radius:0}.fh-v7-shell .next-hub:has(.nx-alert) .nx-panel:last-child{background:var(--panel-quiet)}.fh-v7-shell .modal{background:var(--panel-heavy);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%)}.fh-v7-shell .modal-top{position:sticky;top:0;z-index:3;background:var(--panel-heavy);border-bottom:1px solid var(--line)}.fh-v7-shell .modal-foot{position:sticky;bottom:0;z-index:3;background:var(--panel-heavy);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.fh-v7-shell .settings-design-v7 .segment{flex-wrap:nowrap}.fh-v7-shell .settings-design-v7 .segment button{white-space:nowrap}.fh-v7-shell .next-hub{padding-bottom:24px}.app-root[data-accent=mint] .fh-v7-shell{--accent-h:158}.app-root[data-accent=sky] .fh-v7-shell{--accent-h:204}.app-root[data-accent=lime] .fh-v7-shell{--accent-h:86}.app-root[data-accent=apricot] .fh-v7-shell{--accent-h:27}.app-root[data-accent=violet] .fh-v7-shell{--accent-h:267}.fh-v7-shell .swatch-mint{background:#9fe8d6!important}.fh-v7-shell .swatch-sky{background:#9ec9eb!important}.fh-v7-shell .swatch-lime{background:#d0ee9e!important}.fh-v7-shell .swatch-apricot{background:#edbd9d!important}.fh-v7-shell .swatch-violet{background:#b99ae1!important}@media(max-width:700px){html,body,.app-root,.fh-v7-shell{max-width:100%;overflow-x:hidden}.fh-v7-main.workspace.main{width:100%;max-width:100%;padding:26px 16px calc(var(--dock-bottom) + 32px);overflow:hidden}.home-hero,.hero-copy,.hero-tips,.hero-tip,.day-garden{min-width:0;max-width:100%}.home-hero .day-garden,.home-hero .hero-copy{grid-row:auto}.site-header .fh-header-control{width:39px;min-width:39px;height:39px;min-height:39px}.fh-v7-menu-backdrop{align-items:center;padding:0}.fh-v7-menu{width:min(530px,calc(100% - 28px));max-height:calc(100dvh - 36px);padding:22px;border-radius:28px}.fh-v7-menu .dialog-nav{grid-template-columns:1fr 1fr}.calendar-add span{display:none}.mobile-navigation{width:auto;max-width:none}.mobile-navigation .nav-button{min-width:0;padding-inline:2px}.fh-v7-shell .board-grid{grid-template-columns:1fr}.fh-v7-shell .module-row{align-items:flex-start;flex-wrap:wrap}.fh-v7-shell .module-row .nx-card-actions{width:100%;padding-left:58px}.fh-v7-shell .nx-editor{top:10px;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%);max-height:none;height:auto;padding:18px 18px 0;overflow:auto;scroll-padding-bottom:90px;border-radius:22px}.fh-v7-shell .settings-design-v7 .setting-row{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);align-items:center;gap:12px}.fh-v7-shell .settings-design-v7 .segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.fh-v7-shell .settings-design-v7 .segment button{justify-content:center;padding-inline:8px;white-space:nowrap}}@media(max-width:360px){.fh-v7-main.workspace.main{padding-left:12px;padding-right:12px}.fh-v7-menu .dialog-nav{grid-template-columns:1fr}}.fh-v7-shell .next-hub>.nx-heading,.fh-v7-shell .calendar-page>.page-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;column-gap:12px;row-gap:0;margin:8px 0 12px;width:100%;min-width:0}.fh-v7-shell .nx-heading-copy,.fh-v7-shell .calendar-page>.page-heading>div{min-width:0}.fh-v7-shell .nx-heading h1,.fh-v7-shell .calendar-page>.page-heading h1{overflow-wrap:normal;line-height:1.09;margin:9px 0 8px}.fh-v7-shell .nx-heading p,.fh-v7-shell .calendar-page>.page-heading p{margin:0}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions{grid-column:2;display:flex;justify-content:flex-end;align-items:flex-start;width:44px;margin-top:23px;flex-wrap:nowrap;min-width:44px}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions .icon-only,.fh-v7-shell .calendar-page>.page-heading .calendar-add{box-sizing:border-box;display:grid;place-items:center;flex:0 0 44px;padding:0;margin:0;width:44px;height:44px;min-height:44px;min-width:44px;max-width:44px;border-radius:14px;white-space:nowrap}.fh-v7-shell .calendar-page>.page-heading .calendar-add{grid-column:2;margin-top:22px;font-size:0}.fh-v7-shell .calendar-page>.page-heading .calendar-add span{display:none}.fh-v7-shell .nx-heading-actions .icon-only svg,.fh-v7-shell .calendar-add svg{width:20px;height:20px}.fh-v7-shell .next-hub>.nx-heading+*,.fh-v7-shell .calendar-page>.page-heading+*{margin-top:0}.fh-v7-shell .next-hub.page-stack{row-gap:13px}@media(max-width:700px){.fh-v7-shell .mobile-navigation{box-sizing:border-box;width:auto;height:auto;min-height:0;inset:auto 12px calc(10px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 7px;align-items:center;gap:2px}.fh-v7-shell .mobile-navigation .nav-button{box-sizing:border-box;height:52px;min-height:52px;max-height:52px;padding:5px 1px;align-content:center;justify-items:center;gap:2px}.fh-v7-shell .mobile-navigation .nav-button svg{height:20px;width:20px}.fh-v7-shell .mobile-navigation .nav-button span{line-height:1.15;margin:0}.fh-v7-main.workspace.main{padding-bottom:calc(89px + env(safe-area-inset-bottom,0px))}.fh-v7-shell .next-hub>.nx-heading,.fh-v7-shell .calendar-page>.page-heading{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:start;gap:9px;flex-direction:row;margin:7px 0 11px}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions{width:42px;min-width:42px;margin-top:20px}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions .icon-only,.fh-v7-shell .calendar-page>.page-heading .calendar-add{flex-basis:42px;width:42px;height:42px;min-width:42px;max-width:42px;min-height:42px;border-radius:13px}.fh-v7-shell .calendar-page>.page-heading .calendar-add{margin-top:19px}.fh-v7-shell .nx-heading h1{font-size:clamp(27px,8vw,34px)}.fh-v7-shell .calendar-page>.page-heading h1{font-size:clamp(29px,8vw,36px)}}@media(max-width:350px){.fh-v7-shell .nx-heading h1{font-size:26px}.fh-v7-shell .calendar-page>.page-heading h1{font-size:28px}}.fh-v7-shell .nx-alert-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.fh-v7-shell .nx-alert-heading h3{margin:0}.fh-v7-shell .nx-alert.nx-line{border:1px solid var(--line);border-radius:15px;padding:11px 13px;margin:0;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:11px;background:color-mix(in srgb,var(--panel-quiet) 85%,transparent);color:var(--ink);text-align:left;width:100%;min-width:0}.fh-v7-shell .nx-alert.nx-line>div{min-width:0}.fh-v7-shell .nx-alert.nx-line>svg{flex:none}.fh-v7-shell .nx-alert.nx-line:not(:last-child){margin-bottom:8px}.fh-v7-shell .nx-alert.nx-line:hover{border-color:var(--accent)}.fh-cache-hint{display:block;margin:5px 0 10px;color:var(--muted);font-size:10px}.fh-v7-shell .settings-design-v7 .color-picker{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}.fh-v7-shell .settings-design-v7 .swatch{box-sizing:border-box;display:grid;place-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;aspect-ratio:1 / 1;flex:0 0 36px;padding:0;border-radius:50%;outline-offset:2px}.fh-v7-shell .settings-design-v7 .swatch svg{display:block;margin:auto}.fh-v7-shell .weather-v7{padding:20px}.fh-v7-shell .weather-v7 .mini-forecast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:15px;padding-top:12px}.fh-v7-shell .weather-v7 .mini-forecast>div{min-width:0;display:grid;justify-items:center;align-content:start;gap:2px;text-align:center;line-height:1.35}.fh-v7-shell .weather-v7 .mini-forecast svg{margin:3px auto}.fh-v7-shell .weather-v7 .mini-forecast b{white-space:nowrap}.fh-v7-shell .weather-v7+.weather-tip{margin-top:0;padding:18px 20px}.fh-v7-shell .weather-tip h2{line-height:1.2;margin-top:7px}@media(max-width:340px){.fh-v7-shell .weather-v7 .mini-forecast{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}}.fh-v7-shell .schedule-grid.fh-school-board{grid-template-columns:33px repeat(5,minmax(0,1fr));gap:3px;width:100%;min-width:0}.fh-v7-shell .fh-school-board .schedule-head{padding:2px 1px;border-radius:8px}.fh-v7-shell .fh-school-board .schedule-head b{font-size:11px;line-height:1.14}.fh-v7-shell .fh-school-board .schedule-head span{font-size:8px;line-height:1.15}.fh-v7-shell .fh-school-board .schedule-time{gap:1px}.fh-v7-shell .fh-school-board .schedule-time b{font-size:10px}.fh-v7-shell .fh-school-board .schedule-time small{font-size:8px;line-height:1.03}.fh-v7-shell .fh-school-board .lesson{box-sizing:border-box;min-width:0;min-height:0;padding:3px 2px;gap:1px;border-radius:8px;overflow:hidden;justify-content:center;align-items:center;text-align:center}.fh-v7-shell .fh-school-board .lesson .subject-full{display:none}.fh-v7-shell .fh-school-board .lesson .subject-short{display:block;font-size:clamp(8px,2.25vw,10px);line-height:1.1;font-weight:750;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:manual;hyphens:manual;letter-spacing:-.02em;overflow:visible;text-overflow:clip}.fh-v7-shell .fh-school-board .lesson small,.fh-v7-shell .fh-school-board .lesson span{font-size:clamp(7px,1.8vw,8px);line-height:1.1;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.fh-v7-shell .fh-school-board .lesson.lesson-parallel{padding:2px 0;border-radius:5px;gap:1px}.fh-v7-shell .fh-school-board .lesson.lesson-parallel .subject-short{font-size:8px;line-height:1}.fh-v7-shell .fh-school-board .lesson.lesson-parallel small,.fh-v7-shell .fh-school-board .lesson.lesson-parallel span{font-size:7px;line-height:1}.fh-v7-shell .fh-school-board .lesson.empty{font-size:8px}.fh-v7-shell .school-wide{padding:12px 9px}.fh-v7-shell .schedule-toolbar{margin-bottom:9px}@media(min-width:701px){.fh-v7-shell .schedule-grid.fh-school-board{grid-template-columns:44px repeat(5,minmax(0,1fr));gap:5px}.fh-v7-shell .fh-school-board .lesson .subject-short{font-size:12px}}.modal-backdrop,.fh-v7-shell .nx-modal-backdrop{position:fixed;inset:0;z-index:110;background:color-mix(in srgb,var(--bg-deep) 54%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-backdrop{box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px))}.modal-backdrop .modal,.fh-v7-shell .nx-editor{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-width:0;width:min(530px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));height:auto;overflow:hidden;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 90px #0006;background:var(--panel-heavy);color:var(--ink)}.modal-backdrop .modal{padding:0;margin:0}.modal-backdrop .modal-top,.fh-v7-shell .nx-editor .nx-panel-title{box-sizing:border-box;position:relative;top:auto;z-index:2;flex:none;margin:0;padding:19px 20px 15px;border-bottom:1px solid var(--line);background:var(--panel-heavy)}.modal-backdrop .modal-fields,.fh-v7-shell .nx-editor .nx-editor-fields{box-sizing:border-box;display:grid;align-content:start;gap:15px;min-height:0;min-width:0;max-width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 auto;padding:18px 20px}.fh-v7-shell .nx-editor .nx-editor-fields{width:100%}.fh-v7-shell .nx-editor .nx-form-grid{grid-template-columns:minmax(0,1fr);gap:13px}.fh-v7-shell .nx-editor .nx-form-grid,.fh-v7-shell .nx-editor .nx-form-grid>*,.fh-v7-shell .nx-editor .nx-editor-fields>*,.modal-backdrop .modal-fields>*,.modal-backdrop .modal-fields .field-grid,.modal-backdrop .modal-fields .field-grid>*{min-width:0;max-width:100%}.fh-v7-shell .nx-editor .nx-form-actions,.modal-backdrop .modal-foot{box-sizing:border-box;position:relative;bottom:auto;z-index:2;flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding:12px 20px;border-top:1px solid var(--line);background:var(--panel-heavy);flex-wrap:wrap;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-backdrop .modal-foot .flex-spacer{flex:1 1 auto}.fh-v7-shell .nx-editor .nx-form-actions .button,.modal-backdrop .modal-foot .button{min-height:40px}.fh-v7-shell .nx-editor .field,.modal-backdrop .modal-fields .field{display:grid;gap:6px;min-width:0;width:100%;max-width:100%}.fh-v7-shell .nx-editor .field :is(input,select,textarea),.modal-backdrop .modal-fields .field :is(input,select,textarea){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-inline-size:0;margin:0;overflow:hidden;font-size:16px}.fh-v7-shell .nx-editor input[type=date],.fh-v7-shell .nx-editor input[type=datetime-local],.modal-backdrop input[type=date],.modal-backdrop input[type=datetime-local]{-webkit-appearance:auto;appearance:auto;min-width:0;max-width:100%}.fh-v7-shell .nx-editor input::-webkit-date-and-time-value,.modal-backdrop input::-webkit-date-and-time-value{min-width:0;max-width:100%;text-align:left}.fh-v7-shell .nx-editor .nx-panel-title h2{font-size:clamp(24px,5vw,30px)}.fh-v7-shell .nx-editor{position:fixed;z-index:111;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;padding:0;overflow:hidden;scroll-padding-bottom:0;width:min(530px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}@media(max-width:700px){.modal-backdrop .modal,.fh-v7-shell .nx-editor{border-radius:20px}.modal-backdrop .modal-top,.fh-v7-shell .nx-editor .nx-panel-title{padding:14px 16px 12px}.modal-backdrop .modal-fields,.fh-v7-shell .nx-editor .nx-editor-fields{padding:15px 16px;gap:13px}.modal-backdrop .modal-foot,.fh-v7-shell .nx-editor .nx-form-actions{padding:11px 16px}.modal-backdrop .modal-fields .field-grid{grid-template-columns:minmax(0,1fr)}}.fh-v7-shell .photo-card.photo-empty{box-sizing:border-box;width:100%;min-height:230px;grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px 16px;text-align:center;color:var(--muted);background:var(--panel-quiet)}.fh-v7-shell .photo-card.photo-empty:after{display:none}.fh-v7-shell .photo-card.photo-empty strong{font-size:16px;color:var(--ink)}.fh-v7-shell .photo-card.photo-empty span{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:12px}body:has(.modal-backdrop),body:has(.nx-modal-backdrop){overflow:hidden;overscroll-behavior:none}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions .icon-only{display:grid;place-items:center;text-align:center;line-height:1;font-size:0;overflow:hidden}.fh-v7-shell .next-hub>.nx-heading .nx-heading-actions .icon-only svg{display:block;margin:0;width:21px;height:21px;flex:none}.fh-v7-shell .wallet-v7>.page-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:12px;width:100%;min-width:0;margin:8px 0 12px}.fh-v7-shell .wallet-v7>.page-heading>div{min-width:0}.fh-v7-shell .wallet-v7>.page-heading>.icon-only{box-sizing:border-box;display:grid;place-items:center;grid-column:2;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;margin:22px 0 0;padding:0;border-radius:14px;flex:0 0 44px}.fh-v7-shell .wallet-v7>.page-heading>.icon-only svg{display:block;margin:0;width:21px;height:21px}.fh-v7-shell .settings-design-v7 .color-picker{--fh-swatch-size:clamp(27px,7.8vw,36px);display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;gap:clamp(3px,1vw,7px);width:100%;min-width:0;max-width:100%}.fh-v7-shell .settings-design-v7 .color-picker .swatch{box-sizing:border-box;flex:0 0 var(--fh-swatch-size);width:var(--fh-swatch-size);min-width:var(--fh-swatch-size);max-width:var(--fh-swatch-size);height:var(--fh-swatch-size);min-height:var(--fh-swatch-size);max-height:var(--fh-swatch-size);border-radius:50%;aspect-ratio:1;padding:0;place-items:center}.fh-v7-shell .next-hub:has(.nx-alert) .nx-alert.nx-line{border:1px solid var(--line);border-radius:15px;margin:0 0 8px;background:var(--panel-quiet);overflow:hidden}.fh-v7-shell .next-hub:has(.nx-alert) .nx-alert.nx-line:last-child{margin-bottom:0}.fh-v7-shell :is(.nx-editor,.modal-backdrop .modal) :is(input[type=date],input[type=time],input[type=datetime-local]),.modal-backdrop .modal :is(input[type=date],input[type=time],input[type=datetime-local]){display:block;box-sizing:border-box;inline-size:100%;width:100%;max-inline-size:100%;max-width:100%;min-inline-size:0!important;min-width:0!important;margin:0;padding-inline:12px;font-size:16px;overflow:hidden;-webkit-appearance:none;appearance:none}.fh-v7-shell .nx-editor :is(.field,.nx-form-grid),.modal-backdrop .modal :is(.field,.modal-fields,.field-grid){box-sizing:border-box;min-inline-size:0;max-inline-size:100%;width:100%;grid-template-columns:minmax(0,1fr)}.fh-v7-shell :is(.nx-editor,.modal) input::-webkit-date-and-time-value,.modal-backdrop .modal input::-webkit-date-and-time-value{text-align:left;min-inline-size:0;max-inline-size:100%}.fh-v7-shell :is(.nx-editor,.modal) input::-webkit-datetime-edit,.modal-backdrop .modal input::-webkit-datetime-edit{min-inline-size:0;max-inline-size:100%;overflow:hidden}@media(max-width:700px){.fh-v7-shell .wallet-v7>.page-heading{grid-template-columns:minmax(0,1fr) 42px;gap:9px}.fh-v7-shell .wallet-v7>.page-heading>.icon-only{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;margin-top:19px}}.fh-v7-shell .nx-editor{width:min(495px,calc(100vw - 28px));max-height:min(690px,calc(88dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));overflow:hidden;padding:0}.fh-v7-shell .nx-editor .nx-editor-fields{min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.fh-v7-shell .nx-editor .nx-panel-title,.fh-v7-shell .nx-editor .nx-form-actions{flex:0 0 auto}.fh-v7-shell .nx-ride-assignments{display:grid;gap:6px;min-width:0}.fh-v7-shell .nx-ride-assignments span{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}.fh-v7-shell .nx-ride-assignments b{color:var(--text);font-weight:700}.fh-v7-shell .nx-ride-assignments svg{flex:none;color:var(--accent)}@media(max-width:700px){.fh-v7-shell .nx-editor{width:calc(100vw - 32px);max-height:calc(86dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.fh-v7-shell .nx-editor .nx-panel-title{padding:10px 14px 9px;gap:6px}.fh-v7-shell .nx-editor .nx-panel-title h2{font-size:22px;margin:2px 0 0}.fh-v7-shell .nx-editor .nx-panel-title .eyebrow{font-size:9px}.fh-v7-shell .nx-editor .nx-editor-fields{padding:10px 14px;gap:9px}.fh-v7-shell .nx-editor .nx-form-grid{gap:9px}.fh-v7-shell .nx-editor .field{gap:4px}.fh-v7-shell .nx-editor :is(input,select){min-height:41px;padding-block:7px}.fh-v7-shell .nx-editor textarea{padding:9px 11px}.fh-v7-shell .nx-editor .nx-form-actions{padding:9px 14px;gap:7px;flex-wrap:nowrap}.fh-v7-shell .nx-editor .nx-form-actions .button{min-height:38px;padding:8px 10px;font-size:12px}.fh-v7-shell .nx-editor .nx-form-actions .danger{font-size:0;padding-inline:9px}.fh-v7-shell .nx-editor .nx-form-actions .danger svg{width:17px;height:17px}}.fh-v7-shell .garden-next .next-copy small{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;overflow-wrap:anywhere}@media(max-width:700px){.fh-v7-shell .nx-editor{position:fixed;top:calc(88px + env(safe-area-inset-top,0px));bottom:auto;left:50%;right:auto;transform:translate(-50%);width:calc(100vw - 32px);height:min(640px,calc(100dvh - 112px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - 112px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:0;overflow:hidden;display:flex;flex-direction:column;z-index:120}.fh-v7-shell .nx-editor .nx-panel-title,.fh-v7-shell .nx-editor .nx-form-actions{flex:0 0 auto;position:relative;top:auto;bottom:auto;margin:0}.fh-v7-shell .nx-editor .nx-editor-fields{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.fh-v7-shell .nx-modal-backdrop{z-index:119}}.app-root.auth-ui{background:var(--page);color:var(--ink)}.app-root.auth-ui>.ambient{display:none}.app-root.auth-ui>.guest-frame{position:relative;z-index:1;min-height:100dvh;isolation:isolate;color:var(--ink);background:radial-gradient(ellipse at 8% 8%,var(--glow-a),transparent 58%),radial-gradient(ellipse at 100% 80%,var(--glow-b),transparent 64%),var(--page)}.app-root.auth-ui .guest-card{opacity:1;color:var(--ink);background:var(--panel-heavy);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-root.auth-ui :is(.guest-intro,.guest-intro h1,.guest-card h2,.guest-card .field){color:var(--ink)}.app-root.auth-ui :is(.guest-intro p,.guest-card p,.guest-card small,.guest-card .tiny-muted){color:var(--muted)}.app-root.auth-ui .guest-card :is(input,select,textarea){box-sizing:border-box;width:100%;max-width:100%;min-width:0;color:var(--ink);background:var(--form);border-color:var(--line);opacity:1}.app-root.auth-ui .guest-card .button.primary{color:var(--on-accent);background:var(--accent);opacity:1}@media(max-width:730px){.app-root.auth-ui .guest-body{padding-top:16px}.app-root.auth-ui .guest-intro{padding-top:8px}.app-root.auth-ui .guest-card{margin-bottom:max(18px,env(safe-area-inset-bottom,0px))}}.app-root.auth-ui .guest-card .button.primary:disabled{opacity:.56}@media(max-width:730px){.fh-v7-shell .nx-editor{position:fixed;box-sizing:border-box;top:calc(env(safe-area-inset-top,0px) + 45%);bottom:auto;left:50%;width:calc(100vw - 20px);max-width:530px;height:auto;max-height:min(690px,calc(100dvh - 108px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));min-height:0;transform:translate(-50%,-50%);display:flex;flex-direction:column;overflow:hidden;padding:0;margin:0}.fh-v7-shell .nx-editor .nx-panel-title{flex:0 0 auto;position:relative;top:auto;padding:10px 13px 8px;margin:0}.fh-v7-shell .nx-editor .nx-panel-title h2{font-size:20px;line-height:1.15}.fh-v7-shell .nx-editor .nx-editor-fields{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 13px;gap:9px;-webkit-overflow-scrolling:touch}.fh-v7-shell .nx-editor .nx-form-grid{gap:9px}.fh-v7-shell .nx-editor .nx-form-actions{flex:0 0 auto;position:relative;bottom:auto;margin:0;padding:9px 13px;gap:6px;flex-wrap:nowrap;border-top:1px solid var(--line)}.fh-v7-shell .nx-editor .nx-form-actions .button{min-width:0;padding:9px 10px}.fh-v7-shell .nx-editor .field{gap:4px;min-width:0}.fh-v7-shell .nx-editor .field :is(input,select,textarea){min-width:0;max-width:100%}.modal-backdrop{padding:10px 10px calc(82px + env(safe-area-inset-bottom,0px));align-items:center}.modal-backdrop .modal{display:flex;flex-direction:column;height:auto;max-height:calc(100dvh - 110px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden}.modal-backdrop .modal-top{flex:none;padding:10px 13px 8px}.modal-backdrop .modal-fields{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 13px;gap:10px}.modal-backdrop .modal-foot{flex:none;padding:9px 13px;margin:0}.fh-v7-shell .school-tabs{width:100%;overflow:visible}.fh-v7-shell .school-tabs .segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px;padding:3px}.fh-v7-shell .school-tabs .segment button{box-sizing:border-box;min-width:0;width:100%;padding:9px 2px;gap:3px;font-size:clamp(9px,2.6vw,12px);letter-spacing:-.03em;overflow:hidden;text-overflow:clip;white-space:nowrap}.fh-v7-shell .school-tabs .segment button .count{margin-left:0;padding:1px 4px;font-size:9px;flex:none}}@media(max-width:700px){.fh-v7-shell .nx-editor{top:max(112px,calc(env(safe-area-inset-top,0px) + 82px));bottom:calc(94px + env(safe-area-inset-bottom,0px));height:auto;max-height:none;min-height:0;overflow:hidden;transform:translate(-50%);display:flex;flex-direction:column}.fh-v7-shell .nx-editor .nx-panel-title{flex:0 0 auto;position:relative;padding:11px 14px 9px}.fh-v7-shell .nx-editor .nx-editor-fields{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fh-v7-shell .nx-editor .nx-form-actions{flex:0 0 auto;position:relative;padding:9px 14px}}.question-history-panel{min-width:0}.question-history-list{display:grid;gap:11px;margin-top:18px}.question-history-entry{min-width:0;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--panel-quiet)}.question-history-entry h4{font-family:var(--serif);font-weight:500;font-size:clamp(18px,3.5vw,24px);line-height:1.25;overflow-wrap:anywhere;margin:9px 0 12px}.question-history-answers{display:grid;gap:7px}.question-history-entry .answer-line{min-width:0;padding:9px 11px;border-radius:12px;background:var(--panel2);border:1px solid var(--line)}.question-history-entry .answer-line p{white-space:pre-wrap;overflow-wrap:anywhere}.question-history-empty{font-size:12px}@media(max-width:700px){.fh-v7-shell .nx-editor .nx-form-actions .button.danger{font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 9px;line-height:1.1;white-space:nowrap;flex:0 1 auto}.fh-v7-shell .nx-editor .nx-form-actions .button.danger svg{flex:0 0 16px}.fh-v7-shell .nx-editor .nx-form-actions .button{white-space:nowrap}.question-history-entry{padding:12px}}.fh-push-settings{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;display:flex;flex-direction:column;gap:11px;min-width:0}.fh-push-title{display:flex;align-items:center;gap:8px;font-weight:700}.fh-push-toggle{align-self:flex-start;max-width:100%;white-space:normal}.fh-push-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fh-push-hours label{display:flex;align-items:center;gap:8px;min-width:0}.fh-push-hours select{min-width:0;max-width:100%;flex:1;padding:9px 7px;border:1px solid var(--line);border-radius:10px;background:var(--form);color:var(--ink)}
