@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/assets/caveat-latin-600-normal-DUjB8dgm.woff) format("woff")}.marketing{min-height:100dvh;background:var(--bg);color:var(--text);padding:0 max(24px,calc((100vw - 1200px)/2));font-family:var(--font)}.marketing *{min-width:0}.marketing a{color:var(--accent)}.marketing .website-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 0;border-bottom:1px solid var(--line)}.marketing .website-brand,.marketing .website-footer a{text-decoration:none}.marketing .brand{font-size:22px}.marketing .brand small{font-size:9px}.marketing .website-header nav{display:flex;align-items:center;gap:25px;font-size:14px}.marketing .website-header nav>a:not(.button){padding:12px 0;text-decoration:none;color:var(--muted);white-space:nowrap}.marketing .website-header nav>a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}.marketing .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 24px;width:auto;max-width:100%;border:1px solid transparent;border-radius:999px;background:#a65338;color:#fffcf6;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4;text-align:center}.marketing .button:hover{background:#8e422d}.marketing .button.secondary{background:transparent;border-color:var(--accent);color:var(--accent)}.marketing .button.secondary:hover{background:var(--accent-soft)}.marketing .button svg,.marketing .text-link svg,.marketing .hero-secondary svg{width:17px;height:17px}.marketing .website-menu-toggle{display:none}.marketing .website-skip{position:absolute;top:10px;left:24px;padding:12px 20px;background:var(--accent);color:var(--card);z-index:10;transform:translateY(-160%);border-radius:8px}.marketing .website-skip:focus{transform:translateY(0)}.marketing main:focus{outline:none}.marketing h1,.marketing h2{color:var(--accent)}.marketing h1{font-family:var(--serif);font-size:clamp(44px,5.2vw,74px);line-height:1.06;letter-spacing:-.035em;font-weight:400;margin:22px 0}.marketing h2{font-family:var(--serif);font-size:clamp(30px,3.2vw,43px);line-height:1.16;letter-spacing:-.02em;font-weight:400;margin:14px 0 20px}.marketing p{line-height:1.75;color:var(--muted)}.marketing .eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;line-height:1.5;color:var(--accent)}.marketing .landing-hero{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:50px;padding:65px 0 60px}.marketing .hero-copy{padding-bottom:20px}.marketing .hero-description{font-size:18px;max-width:37ch}.marketing .landing-hero .button{margin-top:28px}.marketing .hero-secondary{display:flex;align-items:center;gap:10px;width:fit-content;margin-top:19px;font-size:14px;text-decoration:none}.marketing .hero-secondary:hover,.marketing .text-link:hover{text-decoration:underline;text-underline-offset:4px}.marketing .device-scene{margin:0;position:relative;padding:65px 34px 90px 0;isolation:isolate}.marketing .scene-arch{position:absolute;inset:0 0 40px 35px;background:linear-gradient(140deg,#dce4d5,#e9e7d6 80%);border-radius:48% 48% 35% 35%;z-index:-1}.marketing .scene-dot{position:absolute;width:65px;height:65px;border-radius:50%;background:#c87558;opacity:.7;top:15px;right:35px;z-index:-1}.marketing .monitor{position:relative;border:9px solid #263332;border-radius:13px;background:#263332;box-shadow:0 25px 45px #26333220;transform:rotate(-1deg)}.marketing .device-scene .monitor:before{content:"";position:absolute;bottom:-27px;left:44%;width:12%;height:20px;background:#263332}.marketing .device-scene .monitor:after{content:"";position:absolute;bottom:-32px;left:33%;width:34%;height:6px;border-radius:4px;background:#263332}.marketing .monitor img{display:block;width:100%;height:auto;border-radius:4px}.marketing .small-phone{position:absolute;width:25%;right:0;bottom:54px;border:6px solid #263332;border-radius:24px;overflow:hidden;background:#263332;box-shadow:0 15px 35px #26333230;transform:rotate(3deg)}.marketing .small-phone img{width:100%;height:auto;display:block}.marketing figcaption{font-size:11px;line-height:1.5;color:var(--muted)}.marketing .device-scene figcaption{position:absolute;bottom:10px;left:0}.marketing .website-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:20px;font-size:14px;color:var(--accent)}.marketing .website-benefits span{display:flex;align-items:center;justify-content:center;gap:12px}.marketing .website-benefits span+span{border-left:1px solid var(--line)}.marketing .website-benefits svg{width:21px;height:21px;stroke-width:1.5}.marketing .product-tour{padding:90px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.marketing .tour-copy>p:not(.eyebrow){max-width:33ch}.marketing .tour-tabs{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:26px 0}.marketing .tour-tabs button{display:flex;align-items:center;gap:12px;width:240px;min-height:48px;padding:12px 18px;border:1px solid transparent;background:transparent;border-radius:12px;color:var(--muted);text-align:left}.marketing .tour-tabs button[aria-selected=true]{background:var(--accent-soft);border-color:var(--line);color:var(--accent);font-weight:600}.marketing .tour-tabs svg{width:20px;height:20px;stroke-width:1.5}.marketing .text-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;text-decoration:none;line-height:1.5}.marketing .tour-panel{padding:36px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 40px #214c4907}.marketing .sample-label{font-size:9px;letter-spacing:.14em;color:var(--muted)}.marketing .tour-panel h3{font-size:24px;line-height:1.3;color:var(--accent);margin:18px 0 12px;font-weight:500}.marketing .tour-panel>p{font-size:14px}.marketing .example-list{margin:24px 0;border-top:1px solid var(--line)}.marketing .example-row{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.marketing .example-day{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:9px}.marketing .example-row strong{font-size:15px;line-height:1.5;color:var(--text)}.marketing .example-row small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}.marketing .example-checked strong{text-decoration:line-through;color:var(--muted)}.marketing .sample-footnote{display:block;color:var(--muted);font-size:11px;line-height:1.6}.marketing .together-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center;padding:65px 0 90px;border-top:1px solid var(--line)}.marketing .together-mark{display:grid;place-items:center;width:min(100%,340px);aspect-ratio:1;background:var(--accent-soft);border-radius:48% 48% 20px 20px}.marketing .together-mark img{width:45%;height:auto}.marketing .together-section ul{padding:0;margin:25px 0;list-style:none}.marketing .together-section li{display:flex;align-items:flex-start;gap:12px;margin:13px 0;font-size:14px;line-height:1.6;color:var(--muted)}.marketing .together-section li svg{width:18px;height:18px;margin-top:2px;color:var(--accent)}.marketing .join-callout{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--accent-soft);border-radius:22px;padding:42px;margin-bottom:65px}.marketing .join-callout h2{font-size:35px;margin-top:10px;margin-bottom:10px}.marketing .join-callout p:not(.eyebrow){font-size:14px}.marketing .join-callout>.button{flex-shrink:0}.marketing .website-footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding:35px 0 24px}.marketing .website-footer .brand{font-size:20px}.marketing .website-footer>div>p{font-size:12px;margin-top:16px}.marketing .website-footer nav{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;align-content:start;font-size:13px}.marketing .website-footer nav a{padding:8px 0}.marketing .website-footer>small{grid-column:1/-1;color:var(--muted);font-size:11px}.marketing .website-page-intro{padding:65px 0 50px}.marketing .website-page-intro h1{font-size:clamp(40px,4.7vw,64px)}.marketing .website-page-intro>p:not(.eyebrow){font-size:18px;max-width:57ch}.marketing .board-showcase{margin:10px 0 60px;padding:28px 44px 22px;border-radius:22px;background:var(--accent-soft)}.marketing .board-showcase .monitor{max-width:1000px;margin:auto;transform:none}.marketing .board-showcase figcaption{text-align:center;margin-top:18px}.marketing .feature-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 65px;padding-bottom:55px}.marketing .feature-directory article{display:flex;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.marketing .feature-directory article>svg{width:24px;height:24px;color:var(--accent);margin-top:3px;stroke-width:1.5}.marketing .feature-directory article>div{flex:1}.marketing .feature-title{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.marketing .feature-title h2{font:500 20px/1.3 var(--font);margin:0;letter-spacing:0}.marketing .feature-title>span{color:var(--muted);font-size:9px;letter-spacing:.1em}.marketing .feature-directory p{font-size:14px}.marketing .website-note{display:flex;gap:22px;padding:32px;border:1px solid var(--line);border-radius:18px;margin-bottom:65px}.marketing .website-note>svg{color:var(--accent);width:28px;height:28px}.marketing .website-note h2{font:500 21px/1.4 var(--font);margin:0 0 10px}.marketing .website-note p{font-size:14px}.marketing .how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:70px}.marketing .how-grid article{display:grid;grid-template-columns:1fr auto;align-content:start;gap:16px;padding:28px;border:1px solid var(--line);background:var(--card);border-radius:18px}.marketing .how-grid article>span{font:400 38px/1 var(--serif);color:var(--accent)}.marketing .how-grid article>svg{width:25px;height:25px;color:var(--accent);margin-top:5px;stroke-width:1.5}.marketing .how-grid h2{grid-column:1/-1;font:500 21px/1.4 var(--font);letter-spacing:0;margin:8px 0 0}.marketing .how-grid p,.marketing .how-grid a{grid-column:1/-1;font-size:14px}.marketing .day-to-day{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;padding:30px 0 70px}.marketing .day-to-day p+p{margin-top:18px}.marketing .day-to-day .text-link{margin-top:24px}.marketing .invitation-link{text-align:center;margin:-35px 0 60px;font-size:14px}.marketing .faq-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:75px;padding:10px 0 55px}.marketing .faq-topics{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:24px}.marketing .faq-topics a{padding:13px 16px;font-size:14px;text-decoration:none;border-left:2px solid var(--line)}.marketing .faq-topics a:hover{background:var(--accent-soft);border-color:var(--accent)}.marketing .faq-group{scroll-margin-top:25px;margin-bottom:45px}.marketing .faq-group h2{font-size:28px;margin:0 0 22px}.marketing .faq-group details{border-top:1px solid var(--line)}.marketing .faq-group details:last-child{border-bottom:1px solid var(--line)}.marketing .faq-group summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;min-height:72px;padding:20px 0;font-size:16px;line-height:1.6;color:var(--accent)}.marketing .faq-group summary::-webkit-details-marker{display:none}.marketing .faq-group details>p{font-size:14px;margin:0 35px 24px 0}.marketing .faq-plus{flex-shrink:0;font-size:24px;font-weight:300;transition:transform .15s}.marketing .faq-group details[open] .faq-plus{transform:rotate(45deg)}.marketing .help-routes{display:flex;align-items:center;gap:24px;padding:32px 0 60px;border-top:1px solid var(--line)}.marketing .help-routes>div{flex:1}.marketing .help-routes h2{font-size:28px;margin:0 0 10px}.marketing .help-routes p{font-size:14px}@media(max-width:1100px){.marketing .website-header{gap:20px}.marketing .website-header nav{gap:17px;font-size:13px}.marketing .brand{font-size:20px}.marketing .product-tour,.marketing .together-section,.marketing .day-to-day{gap:45px}.marketing .landing-hero{gap:30px}}@media(max-width:900px){.marketing .website-header{flex-wrap:wrap;padding:20px 0;gap:15px}.marketing .website-menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--card);color:var(--accent);border-radius:10px}.marketing .website-header nav{display:none;flex-basis:100%;padding:10px 0 0;gap:6px}.marketing .website-header nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.marketing .website-header nav>a:not(.button){padding:14px 12px}.marketing .website-header nav .button{grid-column:1/-1;margin-top:8px}.marketing .landing-hero{grid-template-columns:1fr;padding:42px 0;gap:22px}.marketing .hero-copy{max-width:600px}.marketing .hero-description{max-width:45ch}.marketing .device-scene{max-width:650px;width:100%;margin:auto}.marketing .website-benefits{font-size:12px;gap:12px}.marketing .website-benefits span{align-items:flex-start;gap:8px}.marketing .join-callout{align-items:flex-start;flex-direction:column;padding:32px}.marketing .how-grid{gap:15px}.marketing .how-grid article{padding:22px}.marketing .faq-layout{gap:35px;grid-template-columns:175px minmax(0,1fr)}.marketing .help-routes{flex-wrap:wrap}.marketing .help-routes>div{flex-basis:100%}}@media(max-width:650px){.marketing{padding:0 22px}.marketing .brand{font-size:19px}.marketing .brand-mark,.marketing .brand-mark svg{width:34px;height:37px}.marketing .brand small{font-size:8px}.marketing h1{font-size:clamp(43px,10vw,60px);margin:18px 0}.marketing .hero-description{font-size:17px}.marketing .landing-hero .button{width:100%}.marketing .hero-secondary{margin-left:auto;margin-right:auto}.marketing .device-scene{padding:45px 20px 70px 0}.marketing .monitor{border-width:5px;border-radius:9px}.marketing .small-phone{border-width:4px;border-radius:14px;bottom:40px}.marketing .scene-dot{width:42px;height:42px}.marketing .device-scene figcaption{font-size:10px;bottom:0}.marketing .website-benefits{grid-template-columns:1fr;padding:20px 0;gap:15px;font-size:13px}.marketing .website-benefits span{justify-content:flex-start;align-items:center;gap:12px}.marketing .website-benefits span+span{border-left:0}.marketing .product-tour,.marketing .together-section,.marketing .day-to-day{grid-template-columns:1fr;gap:28px;padding:55px 0}.marketing .tour-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:25px 0}.marketing .tour-tabs button{width:auto;min-height:65px;flex-direction:column;padding:10px 5px;font-size:12px;gap:5px;text-align:center}.marketing .tour-panel{padding:24px}.marketing .tour-panel h3{font-size:22px}.marketing .example-row{gap:12px}.marketing .together-mark{width:180px;height:180px;border-radius:50%}.marketing .join-callout{padding:27px;gap:25px;margin-bottom:45px}.marketing .join-callout h2{font-size:30px}.marketing .join-callout>.button{width:100%}.marketing .website-footer{grid-template-columns:1fr;gap:25px}.marketing .website-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:5px 20px}.marketing .website-page-intro{padding:42px 0 35px}.marketing .website-page-intro h1{font-size:clamp(37px,9vw,52px)}.marketing .website-page-intro>p:not(.eyebrow){font-size:17px}.marketing .board-showcase{padding:18px 12px;margin:5px 0 30px}.marketing .feature-directory{grid-template-columns:1fr;padding-bottom:35px}.marketing .feature-directory article{gap:15px}.marketing .feature-title{align-items:flex-start;flex-direction:column}.marketing .website-note{padding:23px;gap:15px;flex-direction:column;margin-bottom:40px}.marketing .how-grid{grid-template-columns:1fr;gap:18px;margin-bottom:10px}.marketing .how-grid article{padding:26px}.marketing .invitation-link{margin:-20px 0 40px}.marketing .faq-layout{grid-template-columns:1fr;gap:28px;padding:0 0 20px}.marketing .faq-topics{position:static;flex-direction:row;flex-wrap:wrap;gap:5px}.marketing .faq-topics a{border-left:0;border-bottom:1px solid var(--line);padding:10px 8px;font-size:12px}.marketing .faq-group summary{font-size:15px;gap:16px}.marketing .help-routes{padding:25px 0 45px;gap:20px}}@media(prefers-reduced-motion:reduce){.marketing .faq-plus{transition:none}}[data-theme=home-all-around]{--bg: #f7f2e8;--card: #fffcf6;--text: #263332;--muted: #54675d;--line: #d6dcca;--accent: #214c49;--accent-soft: #e5eadc;--warm: #ece5d3;--warm-text: #515b39;--family: #e2e9d8;--family-text: #38583c;--work: #dbe8e4;--work-text: #25574e;--school: #f0ded4;--school-text: #814b35;--radius: 18px;--shadow: 0 5px 22px #214c4908;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=light]{--bg: #f1f4f8;--card: #fff;--text: #243b50;--muted: #576c7c;--line: #dce5ec;--accent: #285f9a;--accent-soft: #e9f1fb;--warm: #f8f0d9;--warm-text: #685525;--family: #e6f2eb;--family-text: #285e47;--work: #e6effb;--work-text: #2c5287;--school: #f2eafb;--school-text: #6a4286;--radius: 18px;--shadow: 0 5px 20px #23385105;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=dark]{--bg: #101b29;--card: #1a293b;--text: #eff3f8;--muted: #b1c1d1;--line: #34485d;--accent: #9ac7f3;--accent-soft: #273f58;--warm: #3f382c;--warm-text: #efdbb3;--family: #254537;--family-text: #b7e4c6;--work: #283f5d;--work-text: #b5d7ff;--school: #41334f;--school-text: #dfc6f5;--radius: 14px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=warm]{--bg: #f3efe5;--card: #fffdf6;--text: #304b40;--muted: #606c5d;--line: #e0e1d2;--accent: #30654f;--accent-soft: #e5eddf;--warm: #f2e3c2;--warm-text: #705329;--family: #e8edd9;--family-text: #4b6133;--work: #e1ece9;--work-text: #315f56;--school: #f4e3d8;--school-text: #87523b;--radius: 24px;--shadow: 0 5px 22px #5a543206;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=ocean]{--bg: #eaf5f5;--card: #ffffff;--text: #183e47;--muted: #46676f;--line: #cadfe2;--accent: #146473;--accent-soft: #d9eef0;--warm: #f7ecd7;--warm-text: #6b5126;--family: #deefe8;--family-text: #245c48;--work: #dfedf7;--work-text: #285a7c;--school: #eee7f5;--school-text: #65477e;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=forest]{--bg: #12291f;--card: #1d382c;--text: #edf6ef;--muted: #b1ccba;--line: #3b5948;--accent: #a3d7b1;--accent-soft: #2d503b;--warm: #403c27;--warm-text: #e9dcaf;--family: #2c4c37;--family-text: #bce5c2;--work: #293f47;--work-text: #b8dce5;--school: #42394b;--school-text: #e2c7ec;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=lavender]{--bg: #f1edf7;--card: #fffcff;--text: #3d3051;--muted: #6a5b7c;--line: #ded3eb;--accent: #714b99;--accent-soft: #e9dff3;--warm: #f5ebdb;--warm-text: #6c522b;--family: #e4eee6;--family-text: #345d41;--work: #e4ebf7;--work-text: #365c88;--school: #ede1f5;--school-text: #70458e;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=rose]{--bg: #f9eef1;--card: #fffafb;--text: #4e2d3b;--muted: #795b68;--line: #ead5df;--accent: #954362;--accent-soft: #f3dfe7;--warm: #f7ecd9;--warm-text: #71552c;--family: #e3eee5;--family-text: #355d43;--work: #e7edf7;--work-text: #3b5c86;--school: #f0e3f4;--school-text: #754d88;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=sunset]{--bg: #fbf0e7;--card: #fffaf5;--text: #51382a;--muted: #775e4b;--line: #ecd9c9;--accent: #985027;--accent-soft: #f6e3d3;--warm: #f5e6c9;--warm-text: #705021;--family: #e4eddd;--family-text: #445f34;--work: #e4edf4;--work-text: #365d7c;--school: #f0e4ee;--school-text: #7b4b73;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=slate]{--bg: #1d242b;--card: #2b353f;--text: #f0f4f8;--muted: #bac8d5;--line: #495967;--accent: #b7d1e7;--accent-soft: #3c5163;--warm: #494133;--warm-text: #efdfbd;--family: #314a3f;--family-text: #c4e2cf;--work: #354c63;--work-text: #c5dff6;--school: #4d4059;--school-text: #e5cfee;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}[data-theme=plum]{--bg: #291c31;--card: #3a2b44;--text: #f8effb;--muted: #d1badc;--line: #604c6a;--accent: #e0b5ef;--accent-soft: #563c63;--warm: #4d3d33;--warm-text: #f2dabd;--family: #344d40;--family-text: #c3e5ce;--work: #35475d;--work-text: #c4dcf6;--school: #533c63;--school-text: #edd0fa;--radius: 18px;--shadow: none;--font: "Segoe UI", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif}.app-recovery{min-height:100dvh;padding:max(40px,8vh) 24px;background:var(--bg);color:var(--text);display:flex;align-items:center;flex-direction:column;gap:32px}.app-recovery .settings-card{max-width:520px;padding:28px}.app-recovery h1{font-size:28px;line-height:1.2}.app-recovery .settings-card p{font-size:15px}.app-recovery .button{margin:4px 8px 0 0}.password-settings{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.password-settings summary{cursor:pointer;font-weight:600;min-height:28px}.password-form{margin-top:16px}.password-form input,.password-access input{font-size:16px}.password-access h1{font-size:30px;line-height:1.2}.password-access{max-width:520px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}button{color:inherit}svg{flex-shrink:0}small{font-size:.8em}strong{font-weight:600}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;line-height:1.5}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:700;font-size:21px;letter-spacing:-.7px;line-height:1}.brand-mark{display:grid;place-items:center;color:var(--accent);width:39px;height:42px;border-radius:13px}.brand-mark svg{width:39px;height:42px}.brand-soft{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:0;margin-top:7px;font-weight:600}.connection{display:inline-flex;gap:7px;align-items:center;font-size:11px;font-weight:600;color:var(--accent)}.connection i{height:6px;width:6px;border-radius:50%;background:currentColor}.connection.offline{color:var(--warm-text)}.empty{font-size:14px;line-height:1.7;color:var(--muted);padding:22px 16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tv{--unit: min(1vw, 1.7777vh);font-size:calc(var(--unit) * 1.04);height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:1.8em 2.1em 1em;background:var(--bg);color:var(--text);font-family:var(--font)}.tv-header{display:flex;align-items:center;justify-content:space-between;gap:2em;padding:0 .2em 1.6em;flex-shrink:0}.tv .brand{font-size:2em;gap:.5em}.tv .brand-mark{width:1.55em;height:1.6em;border-radius:.4em}.tv .brand-mark svg{width:1.45em;height:1.45em}.tv .brand small{font-size:.28em;margin-top:.55em;letter-spacing:0}.tv-greeting{display:flex;flex-direction:column;gap:.3em;flex:1;border-left:1px solid var(--line);padding-left:2em}.tv-greeting span{font-size:.8em;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.tv-greeting strong{font-size:2.4em;font-family:Caveat,Segoe Print,cursive;font-weight:600;line-height:1.05;display:flex;align-items:center;gap:.3em;transform:rotate(-1deg)}.tv-greeting strong svg{width:.65em;height:.65em;stroke-width:1.3;color:var(--accent)}.tv-clock{display:flex;align-items:flex-end;flex-direction:column}.tv-clock strong{font-size:2.25em;letter-spacing:-.05em;line-height:1}.tv-clock strong span{font-size:.35em;letter-spacing:0;margin-left:.45em}.tv-clock>span{font-size:.9em;margin-top:.4em}.tv-body{min-height:0;flex:1;display:grid;grid-template-columns:15.5em minmax(0,1fr) 17em;gap:1em}.tv-side{display:flex;flex-direction:column;gap:1em;min-height:0}.tv-weather-work{display:grid;grid-template-rows:16.5em minmax(0,1fr)}.tv-panel{background:var(--card);border:1px solid var(--line);border-radius:1em;padding:1.15em;box-shadow:var(--shadow);min-height:0;overflow:hidden}.tv-panel h2{display:flex;align-items:center;gap:.55em;font-size:1.05em;font-weight:600}.tv-panel h2>svg{width:1.15em;height:1.15em;color:var(--accent)}.tv .eyebrow{font-size:.6em;letter-spacing:.12em}.tv .weather{display:flex;flex-direction:column;background:var(--warm);border-color:transparent;padding:.9em 1.05em;color:var(--warm-text)}.weather .eyebrow{display:flex;justify-content:space-between;align-items:center}.weather .eyebrow span{font-size:.8em;padding:.15em .5em;border:1px solid currentColor;border-radius:.4em;letter-spacing:.06em}.weather-current{display:flex;align-items:center;justify-content:center;gap:.7em;margin:.7em 0 .6em}.weather-current>svg{width:3.5em;height:3.5em;stroke-width:1.2}.weather-current strong{font-size:3.6em;font-weight:400;line-height:1;letter-spacing:-.08em}.weather-unit{font-size:.3em;letter-spacing:0;vertical-align:top}.weather .weather-location{font-size:.7em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;margin:.35em 0 0}.weather .weather-credit{display:block;font-size:.55em;margin-top:auto;padding-top:.4em;color:inherit}.weather .weather-status{font-size:.65em;line-height:1.3;margin:.4em 0 0}.tv .weather-current{margin:.2em 0;flex-shrink:0}.tv .weather-current>svg{width:3em;height:3em}.tv .weather-current strong{font-size:3em}.tv .weather h2{font-size:1em;line-height:1.2}.tv .weather>p:not(.weather-location):not(.weather-status){margin:.35em 0 .6em;line-height:1.3}.tv .weather .forecast{padding-top:.5em;flex-shrink:0}.tv .weather .forecast div{gap:.15em}.tv .weather .forecast strong{white-space:nowrap}.forecast small{font-size:.65em}.home-weather{border-top:1px solid var(--line);margin-top:1em}.home-weather .welcome-weather{border:0;margin-top:0}.welcome-weather small{display:block;font-size:.8em;margin-top:.35em;overflow-wrap:anywhere}.home-weather .weather-credit{display:block;font-size:.7em;color:var(--muted);margin:.3em 0 .5em}.weather-status{line-height:1.4}.weather-settings form{display:grid;gap:.65rem}.weather-settings>label{display:block;margin-top:1rem}.weather-settings>button{margin-top:.75rem}.weather-results{margin:1rem 0;padding:.75rem;border:1px solid var(--line);border-radius:10px;min-width:0}.weather-results label{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;min-height:44px}.weather-results input[type=radio]{width:20px;height:20px;flex-shrink:0;margin:0}.weather-results span{overflow-wrap:anywhere}.weather h2{font-family:var(--serif);font-size:1.1em;font-weight:400}.weather p{font-size:.65em;margin:.5em 0 1em}.forecast{display:flex;border-top:1px solid #9f8d5f40;padding-top:.7em}.forecast div{display:flex;flex:1;align-items:center;gap:.4em;flex-direction:column;border-right:1px solid #9f8d5f40}.forecast div:last-child{border:0}.forecast span{font-size:.6em;letter-spacing:.06em}.forecast svg{width:1.3em;height:1.3em;stroke-width:1.4}.forecast strong{font-size:.9em}.shift-panel{flex:1;display:flex;flex-direction:column}.panel-subtitle{color:var(--muted);font-size:.7em;line-height:1.6;margin:.6em 0}.shift-list{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));flex:1;min-height:0}.shift-day{display:grid;grid-template-columns:3.8em minmax(0,1fr);align-items:center;gap:.5em;padding:.18em 0;border-bottom:1px solid var(--line);min-height:0}.shift-day:last-child{border-bottom:0}.shift-day h3{font-size:.72em;font-weight:600;line-height:1.35}.shift-day h3 span,.shift-day h3 small{display:block}.shift-day h3 small{color:var(--muted);font-size:.8em;font-weight:400;margin-top:.2em}.shift-day.current-workday h3 span{color:var(--accent)}.shift-day-people{display:flex;flex-direction:column;gap:.1em;min-width:0}.shift-person{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .4em;font-size:.8em;line-height:1.2}.shift-person strong{font-size:1em}.shift-person>span{font-size:.9em;color:var(--muted)}.shift-empty{font-size:.65em;color:var(--muted);line-height:1.5}.shift-day-pager{font-size:.4em;color:var(--muted);line-height:1.3}.tv-center{display:grid;grid-template-rows:minmax(0,.4fr) minmax(0,.6fr);gap:1em;min-height:0;min-width:0}.calendar-panel{display:flex;flex-direction:column;padding:1.2em 1em 0}.calendar-panel h2{font-family:var(--serif);font-size:1.45em;font-weight:400}.calendar-heading{display:flex;justify-content:space-between;align-items:center;margin:.8em 0 1em;gap:.5em;flex-wrap:wrap}.calendar-heading>span{font-size:.85em;color:var(--muted)}.legend{display:flex;gap:.8em;font-size:.65em;font-weight:500}.legend .family{color:var(--family-text)}.legend .shift{color:var(--work-text)}.legend .school{color:var(--school-text)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-height:0;gap:.3em}.day-column{display:flex;flex-direction:column;border-left:1px solid var(--line);padding:0 .3em .5em;min-width:0;min-height:0}.day-column:first-child{border-left:0}.day-heading{display:flex;align-items:center;flex-direction:column;gap:.15em;padding:.3em 0 .65em}.day-heading>span{font-size:.8em;color:var(--muted)}.day-heading strong{font-size:1.65em;font-weight:400;width:1.7em;height:1.7em;display:grid;place-items:center;border-radius:50%;line-height:1}.day-heading small{font-size:.5em;letter-spacing:.1em}.today .day-heading strong{color:var(--card);background:var(--accent)}.today .day-heading small{color:var(--accent);font-weight:700}.day-events{display:flex;flex-direction:column;gap:.55em;flex:1;min-height:0}.event-tile{border-radius:.45em;padding:.65em .5em;display:flex;flex-direction:column;gap:.3em;border-top:.2em solid currentColor;overflow-wrap:anywhere}.event-tile.event{background:var(--family);color:var(--family-text)}.event-tile.shift{background:var(--work);color:var(--work-text)}.event-tile.school{background:var(--school);color:var(--school-text)}.event-category{font-size:.48em;letter-spacing:.08em;font-weight:700}.event-tile strong{font-size:.95em;line-height:1.35}.event-tile>span:not(.event-category){font-size:.8em}.event-tile small{font-size:.72em;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.free-day{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.8em;line-height:1.6;padding:.8em .4em}.tv .pager{font-size:.55em;color:var(--muted);display:block;margin-top:.4em;min-height:.5em}.tv-bottom{min-height:0;display:grid;grid-template-columns:.85fr 1.3fr;gap:1em}.tv-menu{display:flex;flex-direction:column}.tv-menu-days{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));flex:1;min-height:0}.tv-menu-day{display:grid;grid-template-columns:5.8em minmax(0,1fr);align-items:center;gap:.6em;border-bottom:1px solid var(--line);padding:.5em 0;min-height:0}.tv-menu-day:last-child{border-bottom:0}.tv-menu-day>strong{font-size:.9em;color:var(--muted)}.tv-menu-day>span{font-size:1.05em;line-height:1.3;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.today-menu>strong{color:var(--accent)}.menu-part{display:block;font-size:.7em;margin-top:.3em;font-weight:400}.moment-card .photo-noticeboard{flex:1;min-height:0;border-radius:0;padding:1.1em 1.2em;display:flex;flex-direction:column}.photo-noticeboard p.tv-note{font-size:1.35em;line-height:1.2;-webkit-line-clamp:2;flex-shrink:0;margin-top:.4em;padding-bottom:0;margin-bottom:0}.photo-noticeboard .pager{margin-top:auto}.photo-noticeboard .tv-note-entry{display:contents}.note-author{display:block;margin-top:.4em;font-size:.9em;overflow-wrap:anywhere}.photo-noticeboard .note-author{font-family:Caveat,Segoe Print,cursive;font-size:1.15em;font-weight:600;flex-shrink:0;line-height:1.2;margin-top:.25em}.menu-editor{display:flex;flex-direction:column;gap:16px;margin-top:18px}.menu-editor fieldset{padding:0;border:0;min-width:0}.menu-day-field{display:block;margin-bottom:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.menu-day-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.menu-day-field small{color:var(--muted)}.menu-day-field textarea{resize:vertical;line-height:1.5}.menu-week-hint{margin-top:12px}.menu-save-status{color:var(--accent)}.home-menu{padding:20px}.heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.home-menu .section-heading,.home-photos .section-heading{margin:0}.notice-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin:-8px 0 14px;color:var(--muted);font-size:12px}.menu-dialog .section-heading{margin:0 0 12px}.menu-dialog h2{font-size:25px}.menu-dialog .menu-editor{margin-top:20px}@media(max-width:380px){.controller .section-heading{flex-wrap:wrap}.controller .heading-actions{margin-left:auto}.app-header .brand{font-size:18px}.app-header .brand small{font-size:8px}}.home-menu h2{font-family:var(--serif);font-size:24px}.menu-home-plan{line-height:1.6;overflow-wrap:anywhere;margin-top:14px}.menu-home-week{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.menu-home-week small{display:block;font-size:inherit}.grocery-section h2{font-family:var(--serif);font-size:25px;margin-bottom:18px}.grocery-add{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.grocery-add label{display:flex;flex-direction:column;gap:8px;font-size:14px}.grocery-list{list-style:none;padding:0;margin:14px 0 20px}.grocery-list li{display:flex;align-items:center;padding:10px 14px;gap:8px;border-bottom:1px solid var(--line)}.grocery-list li:last-child{border-bottom:0}.grocery-list label{flex:1;display:flex;align-items:center;gap:12px;min-width:0;min-height:44px;cursor:pointer}.grocery-list input{width:24px;height:24px;min-height:24px;flex-shrink:0;accent-color:var(--accent)}.grocery-list span{overflow-wrap:anywhere;min-width:0;line-height:1.5}.grocery-checked span{text-decoration:line-through;color:var(--muted)}.grocery-count{margin-top:18px}.grocery-finish{margin-bottom:12px}.menu-home-plan strong{display:block;font-size:12px;color:var(--muted)}.noticeboard{background:var(--warm);color:var(--warm-text);border-color:transparent}.noticeboard h2>svg{color:inherit}.noticeboard p{font-family:Caveat,Segoe Print,cursive;font-weight:600;font-size:1.65em;line-height:1.45;margin-top:.7em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;overflow-wrap:anywhere}.moment-card{display:flex;flex-direction:column;min-height:0;border-radius:1em;overflow:hidden;background:var(--card);border:1px solid var(--line)}.landscape{position:relative;overflow:hidden;isolation:isolate;min-height:190px;background:#e7d9bd}.landscape .sun{position:absolute;background:#fbf1d4;border-radius:50%;width:24%;aspect-ratio:1;left:52%;top:15%}.hill{position:absolute;width:170%;height:100%;border-radius:45% 60% 0 0;transform:rotate(-15deg);bottom:-65%;left:-20%;background:#749183}.hill.back{bottom:-44%;left:5%;background:#aab8a0;transform:rotate(20deg)}.hill.front{z-index:1}.landscape-label{z-index:2;position:absolute;bottom:17%;left:13%;right:8%;color:#fff9e9;font-size:9px;line-height:1.8;letter-spacing:1px;font-weight:600}.landscape-label small{letter-spacing:0;font-size:9px;font-weight:400}.tv .landscape{min-height:0}.tv .landscape-label{font-size:.5em;letter-spacing:.09em;bottom:12%}.tv .landscape-label small{font-size:.8em}.message{padding:1em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.4em}.message>svg{width:1em;height:1em;color:var(--accent)}.message .eyebrow{font-size:.45em}.message p{font-family:var(--serif);font-size:1.15em;line-height:1.4}.message>small{font-size:.6em;color:var(--muted)}.task-panel{flex:1.4}.task-progress{margin:1em 0}.task-progress>span{color:var(--muted);font-size:.7em}.task-progress>div{height:.25em;background:var(--line);border-radius:1em;margin-top:.6em;overflow:hidden}.task-progress i{height:100%;background:var(--accent);display:block}.tv-task{display:flex;gap:.7em;padding:.9em 0;border-bottom:1px solid var(--line);align-items:flex-start}.tv-task:last-child{border:0}.check-circle{width:1.1em;height:1.1em;border:1.5px solid var(--muted);border-radius:50%;flex-shrink:0;display:grid;place-items:center;margin-top:.15em}.check-circle svg{width:.8em;height:.8em}.complete .check-circle{background:var(--accent);color:var(--card);border-color:var(--accent)}.tv-task strong{font-size:1em;line-height:1.4;display:block;overflow-wrap:anywhere}.tv-task div>span{font-size:.7em;display:block;color:var(--muted);margin-top:.35em}.complete .row-content strong,.tv-task.complete strong{text-decoration:line-through;color:var(--muted)}.upcoming-panel{flex:1;display:flex;flex-direction:column}.school-row{display:flex;gap:.7em;align-items:center;margin:1em 0 .2em}.date-badge{display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;background:var(--school);color:var(--school-text);width:2.5em;height:2.7em;border-radius:.4em}.date-badge small{font-size:.5em;text-transform:uppercase;letter-spacing:.06em}.date-badge strong{font-size:1.25em;line-height:1.3}.school-row>div{min-width:0}.school-row div>strong{font-size:.95em;line-height:1.4;overflow-wrap:anywhere;display:block}.school-row div>span{display:block;font-size:.7em;color:var(--muted);margin-top:.3em}.school-row div>.upcoming-details{overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.school-footer{margin-top:auto;padding-top:1em;color:var(--muted);font-size:.65em;line-height:1.5;display:flex;gap:.5em;align-items:center}.connection-help{padding-left:1.4em;line-height:1.7;overflow-wrap:anywhere}.connection-help li+li{margin-top:.8em}.connection-help strong{white-space:nowrap}.school-footer svg{width:1.4em;height:1.4em}.tv-footer{display:flex;justify-content:space-between;gap:1em;margin-top:1em;font-size:.6em;color:var(--muted);align-items:center;min-height:1.5em}.tv-footer .connection{font-size:1em}.tv-display-status{display:flex;flex-direction:column;gap:.2em;flex-shrink:0}.wake-status{white-space:nowrap}.wake-status[data-wake-lock=active]{color:var(--accent)}.tv-footer .connection i{height:.5em;width:.5em}.tv .empty{font-size:.85em;padding:.8em 0}.tv-footer .connection svg{height:1em;width:1em}.controller{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);padding-bottom:calc(80px + env(safe-area-inset-bottom))}.app-header{height:84px;max-width:620px;margin:auto;padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.display-link{display:flex;align-items:center;gap:5px;text-decoration:none;font-size:11px;font-weight:600;min-height:44px}.display-link>svg:first-child{width:17px}.app-main{max-width:580px;margin:auto;padding:18px 20px 0}.app-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.demo-notice{font-size:10px;line-height:1.65;color:var(--muted);margin:12px 0 20px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:9px}.welcome{position:relative;overflow:hidden;border-radius:var(--radius);padding:25px 23px 0;background:var(--accent-soft);border:1px solid var(--line)}.welcome h1{font-family:Caveat,Segoe Print,cursive;font-size:clamp(34px,5vw,42px);line-height:1.2;letter-spacing:normal;font-weight:600;margin:0;overflow-wrap:anywhere}.household-members{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.member-chip{display:flex;align-items:center;gap:4px;font-size:10px}.member-chip i{display:grid;place-items:center;border-radius:50%;width:22px;height:22px;background:var(--card);font-style:normal;font-size:8px;font-weight:700;color:var(--accent)}.welcome-weather{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.welcome-weather svg{color:var(--accent);width:22px;height:22px;stroke-width:1.5}.welcome-weather strong{font-size:18px;color:var(--text);margin-right:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:27px 0 13px}.section-heading h2{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.5px}.section-heading .eyebrow{font-size:8px;color:var(--muted);letter-spacing:1px;display:block;margin-bottom:6px}.section-heading a{font-size:12px}.count-label{font-size:11px;color:var(--muted)}.app-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:10px;width:44px;height:44px;min-width:44px;padding:10px;color:var(--muted)}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.icon-button svg{width:17px;height:17px;stroke-width:1.7}.add-button{background:var(--accent);color:var(--bg);border-radius:50%;width:36px;height:44px}.event-row{display:flex;gap:10px;padding:17px 12px 17px 15px;border-bottom:1px solid var(--line);align-items:flex-start;position:relative}.event-row:before{content:"";width:3px;position:absolute;left:0;top:18px;bottom:18px;border-radius:0 4px 4px 0;background:var(--family-text)}.event-row.shift:before{background:var(--work-text)}.event-row.school:before{background:var(--school-text)}.event-time{font-size:11px;white-space:nowrap;min-width:55px;font-weight:600;padding-top:3px}.event-time small{display:block;font-size:9px;color:var(--muted);margin-top:5px;font-weight:400}.row-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.row-content .eyebrow{font-size:8px;letter-spacing:.9px;color:var(--muted)}.row-content strong{font-size:13px;line-height:1.5}.row-content>small{font-size:10px;color:var(--muted);line-height:1.5}.row-content>p{font-size:11px;line-height:1.6}.row-actions{display:flex;flex-direction:column;margin:-7px -8px -8px 0}.row-actions .icon-button{width:44px;height:44px}.card-link{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:12px 16px;font-size:11px;font-weight:600;text-decoration:none}.controller-task{display:flex;align-items:center;gap:11px;padding:14px 13px;border-bottom:1px solid var(--line)}.controller-task:last-child{border:0}.task-toggle{width:44px;min-width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;position:relative;padding:0;color:var(--card)}.task-toggle:before{content:"";position:absolute;inset:10px;border:1px solid var(--muted);border-radius:50%}.task-toggle[aria-pressed=true]:before{background:var(--accent);border-color:var(--accent)}.task-toggle svg{position:relative;width:14px;z-index:1}.note-card{background:var(--warm);color:var(--warm-text);border-radius:var(--radius);padding:12px 17px 23px;margin-bottom:14px}.note-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.note-top>.eyebrow{font-size:8px;display:flex;align-items:center;gap:6px;letter-spacing:1px}.note-top>div{display:flex;margin-right:-10px}.note-top .icon-button{color:inherit}.note-card p{font-family:var(--serif);font-size:21px;line-height:1.55;margin-top:7px;overflow-wrap:anywhere}.home-message{background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin:25px 0}.home-message>div:last-child{padding:20px}.home-message h2{font-family:var(--serif);font-size:22px;font-weight:400;margin:10px 0}.home-message p{font-size:13px;line-height:1.7}.home-message small{display:block;font-size:10px;margin-top:15px;color:var(--muted)}.app-footer{text-align:center;color:var(--muted);font-size:10px;line-height:1.8;margin:32px 0 16px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:620px;background:var(--card);border-top:1px solid var(--line);display:flex;padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 -4px 24px #102b4106}.bottom-nav a{flex:1;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:9px;color:var(--muted);text-decoration:none;border-radius:12px}.bottom-nav svg{width:20px;height:20px;stroke-width:1.6}.bottom-nav a>span{min-height:2.3em;max-width:100%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}.bottom-nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:700}.page-title{margin:26px 0}.page-title>.eyebrow{color:var(--muted);font-size:9px}.page-title h1{font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-1px;margin:8px 0 10px}.page-title p{font-size:13px;line-height:1.7;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border:1px solid var(--accent);border-radius:12px;color:var(--bg);background:var(--accent);font-size:13px;font-weight:600;text-decoration:none;line-height:1.5}.button.secondary{background:transparent;color:var(--accent)}.button.full{width:100%;margin:4px 0 20px}.button.danger{color:var(--text);border-color:var(--line)}.week-control{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px}.week-control strong{font-size:13px}.calendar-tools{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.text-button{background:none;color:var(--accent);border:0;min-height:44px;font-size:12px}.filter-label{display:flex;align-items:center;gap:8px;font-size:12px}.filter-label select{width:auto;padding:8px;min-height:44px;font-size:12px}.day-section{margin:7px 0 24px}.day-section h2{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}.today-pill{background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:600;border-radius:20px;padding:4px 9px}.task-list,.notes-list{margin-top:0}.settings-card{background:var(--card);border:1px solid var(--line);padding:21px 18px;border-radius:var(--radius);margin-bottom:18px}.settings-card h2{font-size:17px;display:flex;align-items:center;gap:8px;margin-bottom:10px}.settings-card h3{font-size:14px;margin-top:18px}.settings-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 16px}.theme-choices{border:0;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.theme-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;position:relative;min-height:75px}.theme-option.selected{border-color:var(--accent);background:var(--accent-soft)}.theme-option>input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent);padding:0}.theme-option>span:not(.skin-preview){display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.theme-option strong{font-size:12px}.theme-option small{font-size:9px;color:var(--muted)}.skin-preview{display:flex;gap:3px;align-items:center;padding:7px;border-radius:7px;width:44px;height:36px;background:var(--bg);flex-shrink:0}.skin-preview i{display:block;height:19px;width:9px;background:var(--accent);border-radius:2px}.theme-option>svg{color:var(--accent)}.toast{position:fixed;bottom:95px;left:50%;transform:translate(-50%);padding:12px 20px;background:var(--text);color:var(--card);border-radius:12px;font-size:12px;box-shadow:0 3px 15px #0002;z-index:20;max-width:calc(100vw - 30px);width:max-content;animation:toast 4s forwards;pointer-events:none}@keyframes toast{0%,85%{opacity:1}to{opacity:0}}.editor{border:1px solid var(--line);border-radius:24px;padding:22px;max-height:90dvh;width:calc(100% - 24px);max-width:480px;background:var(--card);color:var(--text);box-shadow:0 20px 70px #0003}.editor::backdrop{background:#142b3a80;backdrop-filter:blur(3px)}.editor>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.editor h2{font-family:var(--serif);font-size:30px;font-weight:400;margin-top:5px}.editor .eyebrow{font-size:8px;color:var(--muted)}.editor form{display:flex;flex-direction:column;gap:17px}.editor-fields{display:flex;flex-direction:column;gap:17px;min-width:0;margin:0;padding:0;border:0}.weekday-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.editor .weekday-options .checkbox-label{padding:6px;border:1px solid var(--line);border-radius:8px;gap:6px}.weekday-options input{flex-shrink:0}.weekday-options label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.editor label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:8px}input,textarea,select{width:100%;min-height:46px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px 12px;font-size:16px;max-width:100%;min-width:0}.editor input[type=datetime-local]{font-size:14px}.editor textarea{resize:vertical;line-height:1.6}.editor .checkbox-label{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px}.checkbox-label input{width:20px;height:20px;min-height:20px;accent-color:var(--accent)}.member-picker{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.member-picker legend{font-size:12px;font-weight:600;padding:0 5px}.member-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.editor .member-options .checkbox-label{padding:8px;border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere;font-size:14px;font-weight:400}.member-options input{flex-shrink:0}.member-options>label:first-child{grid-column:1 / -1}.member-options label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.form-hint,.settings-card .form-hint{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.form-actions{display:flex;gap:10px;margin-top:4px}.form-actions button{flex:1}.form-error{color:#a33731;background:#fcebe8;padding:12px;border-radius:8px;font-size:12px;line-height:1.6}.event-tile strong,.tv-task strong,.school-row div>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.event-tile strong{-webkit-line-clamp:3}.storage-notice{font-size:12px;padding:12px;border-radius:10px;background:var(--warm);color:var(--warm-text);margin-bottom:15px}.calendar-panel{padding-top:.85em}.calendar-heading{margin:.5em 0 .6em}.day-heading{flex-direction:row;justify-content:center;gap:.35em;padding:.2em 0 .6em;position:relative}.day-heading strong{font-size:1.3em;width:1.55em;height:1.55em}.day-heading small{position:absolute;bottom:0;font-size:.4em}.calendar-panel .event-tile{padding:.5em}.calendar-panel .event-tile strong{-webkit-line-clamp:3}.day-column>.pager{margin-top:auto;padding-top:.3em}.noticeboard .tv-note{padding-bottom:.6em;margin-bottom:.6em;border-bottom:1px dashed color-mix(in srgb,var(--warm-text) 25%,transparent)}.noticeboard .tv-note:last-of-type{border:0;margin-bottom:0}.photo-frame{position:relative;width:100%;aspect-ratio:16 / 9;max-height:60%;flex-shrink:0;min-height:0;overflow:hidden}.photo-frame .landscape{height:100%}.private-photo{position:relative;isolation:isolate;width:100%;aspect-ratio:16 / 9;background:var(--surface);min-width:0;min-height:0;overflow:hidden}.tv-privacy-status{display:block;font:500 .85em/1.3 Segoe UI,sans-serif;color:var(--text)}.private-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;z-index:1}.photo-blur-backdrop{position:absolute;inset:-12%;z-index:0;background-position:center;background-size:cover;filter:blur(18px) brightness(.78) saturate(.85);pointer-events:none}.private-photo>.landscape{position:absolute;inset:0;width:100%;height:100%;min-height:0}.photo-frame .private-photo{height:100%}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.home-photos{padding:20px;margin-top:24px;overflow:hidden}.home-photos .photo-frame{max-height:none;border-radius:10px}.photo-tile{overflow:hidden;min-width:0}.photo-tile>p{padding:16px}.photo-tile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px}.photo-tile-actions small{flex:1 1 100%}.photo-tile-actions .button{min-width:0}.photo-editor{margin-top:20px}.photo-editor input[type=file]{max-width:100%;min-width:0}.crop-preview{display:block;width:100%;aspect-ratio:16 / 9;touch-action:none;cursor:grab;border-radius:8px}.photo-editor fieldset{min-width:0;border:0;padding:0;margin:18px 0}.photo-editor input[type=range]{padding:0;accent-color:var(--accent);min-height:44px}.photo-editor-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:420px){.photo-gallery{grid-template-columns:1fr}}.photo-frame .landscape-label{display:none}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:2em 1.2em 1.1em;color:#fff9e9;background:linear-gradient(transparent,#172f29a6)}.photo-caption span{display:block;font-family:Caveat,Segoe Print,cursive;font-weight:600;font-size:2em}.photo-caption small{display:block;font-size:.65em;margin-top:.3em}.moment-card .message{flex:1;min-height:0;padding:1.1em 1.2em;gap:.55em;justify-content:flex-start}.message-title{display:flex;align-items:center;gap:.5em;width:100%}.message-title svg{width:1em;height:1em;color:var(--accent)}.message-title h2{font-size:1em;font-weight:600}.message-title>small{margin-left:auto;font-size:.6em;color:var(--muted)}.announcement-card{width:100%;min-width:0;padding:16px;border-radius:12px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:14px}.announcement-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}.announcement-avatar{display:grid;place-items:center;height:30px;width:30px;border-radius:50%;background:var(--card);color:var(--accent);font-size:10px;font-weight:700;flex-shrink:0}.announcement-meta>div{display:flex;flex-direction:column;gap:3px}.announcement-meta strong{font-size:13px}.announcement-meta div>span{color:var(--muted);font-size:11px}.announcement-meta time{margin-left:auto;align-self:flex-start;color:var(--muted);font-size:10px;white-space:nowrap}.announcement-text{font-family:var(--font);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.tv .announcement-card{font-size:inherit;padding:.55em .65em;border-radius:.5em}.tv .announcement-meta{gap:.4em;margin-bottom:.35em}.tv .announcement-avatar{height:2.7em;width:2.7em;font-size:.55em;min-width:2.7em}.tv .announcement-meta strong{font-size:.7em}.tv .announcement-meta div>span{font-size:.6em}.tv .announcement-meta time{font-size:.55em}.tv .message .announcement-text{font-family:var(--font);font-size:1.15em;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.controller-announcement{margin-bottom:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 0}.announcement-actions{display:flex;justify-content:flex-end;gap:14px}.announcement-actions button{display:flex;align-items:center;gap:6px;padding:8px}.message-privacy-note{margin-bottom:20px}.home-message .announcement-text{font-size:13px}.moment-card .message p{font-size:1.45em;line-height:1.3;overflow-wrap:anywhere}.moment-card .message>small{font-size:.75em}@media(min-width:700px){.controller{padding-top:10px}.app-main,.app-header{padding:20px 30px}.home-message{display:grid;grid-template-columns:1fr 1fr}.home-message .landscape{min-height:250px}}@media(max-width:350px){.app-main,.app-header{padding-left:14px;padding-right:14px}.brand{font-size:22px}.brand-mark{width:33px;height:37px}.display-link span{display:none}.welcome{padding:22px 18px 0}.household-members{gap:7px}.member-chip{font-size:9px}.member-chip i{width:19px;height:19px;font-size:7px}.theme-option{padding:10px 8px;gap:7px}.theme-option>svg{width:14px}.skin-preview{width:36px}.event-row{gap:7px;padding-left:12px}.event-time{font-size:10px;min-width:48px}.row-content strong{font-size:12px}.controller-task{padding:12px 6px;gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.toast{animation:none}}.cloud-access{min-height:100svh;padding:28px;background:var(--bg);color:var(--text)}.cloud-access>.brand{margin-bottom:32px}.setup-sign-out{margin-top:18px}.setup-scan{margin-top:12px}.onboarding-choices,.invite-actions{display:grid;gap:14px}.profile-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px}.member-access-list{list-style:none;padding:0;margin:20px 0}.member-access-list li{display:grid;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.member-access-list small{display:block;color:var(--muted);margin-top:4px}.member-access-list .button{justify-self:start;max-width:100%;white-space:normal;overflow-wrap:anywhere}.management-actions{display:flex;flex-wrap:wrap;gap:12px}.management-actions .button{flex:1}.pending-invitation{border:1px solid var(--line);border-radius:12px;padding:14px;margin:20px 0}.pending-invitation p{overflow-wrap:anywhere}.cloud-access select,.invitation-card textarea{width:100%;max-width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);padding:12px;font:inherit}.invitation-card textarea{min-height:160px}.connection-placeholder{padding:16px;margin-block:16px;border:1px solid var(--line);border-radius:16px}#connect-tv{scroll-margin-top:20px}.cloud-access>.settings-card{max-width:640px;margin:0 auto}.cloud-access form,.settings-card form{display:grid;gap:16px}.cloud-access label,.settings-card form label{display:grid;gap:8px}.cloud-access input,.settings-card form input{min-height:48px;width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:inherit;font:inherit}.pair-code{display:block;font-size:clamp(32px,6vw,80px);letter-spacing:.1em;text-align:center;margin:28px 0}.cloud-tv>.settings-card{max-width:1000px;font-size:clamp(22px,2vw,36px)}.cloud-tv .settings-card p{font-size:clamp(20px,1.6vw,32px);line-height:1.5}.cloud-tv .text-button{font-size:clamp(20px,1.4vw,28px)}.cloud-tv .connection-help{font-size:clamp(18px,1.25vw,24px);line-height:1.45;margin:16px 0;padding-left:28px}.cloud-tv .connection-help li{margin:8px 0}.screen-row{display:grid;gap:14px;margin:20px 0;border-top:1px solid var(--line);padding-top:16px}.screen-name-heading{display:flex;align-items:center;gap:8px}.screen-name-heading strong{min-width:0;overflow-wrap:anywhere}.screen-name-heading .icon-button{flex-shrink:0}.screen-name-form{display:grid;gap:12px}.screen-name-actions{display:flex;flex-wrap:wrap;gap:10px}.tv-pairing-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:28px;align-items:center;margin:18px 0}.cloud-tv h1{font-size:clamp(30px,3vw,48px)}.cloud-tv .settings-card p{font-size:clamp(18px,1.25vw,24px)}.pairing-qr h2{justify-content:center}.tv-pairing-options>div{min-width:0}.tv-pairing-options h2{font-size:clamp(20px,1.6vw,30px)}.tv-pairing-options .pair-code{font-size:clamp(28px,4vw,52px);letter-spacing:.04em;overflow-wrap:anywhere}.pairing-qr{text-align:center;border-left:1px solid var(--line);padding-left:28px}.pairing-qr svg{width:min(100%,280px);height:auto;background:#fff;border-radius:12px}.cloud-tv .tv-pairing-options p{font-size:clamp(18px,1.25vw,24px)}.pairing-scanner{width:min(460px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--text)}.pairing-scanner::backdrop{background:#000a}.pairing-scanner video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#000;border-radius:12px;margin:18px 0}.pairing-scanner p{line-height:1.5}.pairing-scanner .button{width:100%}@media(max-width:650px){.tv-pairing-options{grid-template-columns:1fr}.pairing-qr{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}}@media(min-width:651px)and (max-height:800px){.cloud-tv{padding:16px}.cloud-tv>.brand{margin-bottom:12px}.cloud-tv>.settings-card{padding:15px 18px}.cloud-tv h1{font-size:32px}.cloud-tv .connection-help{font-size:18px;line-height:1.35;margin:10px 0}.cloud-tv .connection-help li{margin:6px 0}.cloud-tv .settings-card p{font-size:18px;line-height:1.35;margin:8px 0}.tv-pairing-options{margin:12px 0;gap:20px}.tv-pairing-options h2{font-size:20px;margin-bottom:8px}.pairing-qr svg{width:180px}.tv-pairing-options .pair-code{font-size:38px;margin:18px 0}.cloud-tv .tv-pairing-options p{font-size:16px}.cloud-tv .text-button{font-size:18px;min-height:36px}}
