:root{--purple:#623A9A;--ink:#30213e;--muted:#736b7c;--teal:#37C0AE;--line:#e9e1ee;--paper:#fcfafc;--lavender:#f0e8f8}*{box-sizing:border-box}body{margin:0;background:#ece6f2;color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #168877;outline-offset:4px}button{border:0}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-1px}h1{font-size:39px}h2{font-size:30px}h3{font-size:16px;line-height:1.35}em{color:var(--purple);font-weight:400}img{max-width:100%;display:block}.app-shell{max-width:520px;margin:auto;min-height:100vh;background:var(--paper);box-shadow:0 0 80px #37224912}.app-header{position:sticky;top:0;z-index:20;background:#fffdfdfa;border-bottom:1px solid var(--line);height:83px;display:flex;align-items:center;justify-content:space-between;padding:12px 22px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:25px;letter-spacing:1px;color:var(--purple);line-height:1.1}.brand img{width:49px;height:49px;object-fit:contain}.brand small{display:block;font-size:7px;letter-spacing:1.3px;margin-top:7px;color:var(--muted)}.icon-button{background:var(--lavender);color:var(--purple);width:42px;height:42px;border-radius:50%;font-size:25px}.screen{padding:0 22px 110px;animation:appear .2s ease}.intro{padding:30px 0 24px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.7px;color:var(--purple);margin-bottom:14px}.intro p:last-child{color:var(--muted);margin-top:16px;font-size:14px}.hero{border-radius:22px;overflow:hidden;position:relative;background:#31213e}.hero img{width:100%;height:270px;object-fit:cover;object-position:center 50%}.hero:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#251430d9)}.hero figcaption{position:absolute;z-index:1;color:white;bottom:22px;left:22px}.hero figcaption>span{display:block;font-size:8px;letter-spacing:2px;margin-bottom:9px}.hero strong{font:30px/1.05 Georgia,serif;font-weight:400}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px -5px}.quick-actions a{text-align:center;padding:4px}.bubble{display:grid;place-items:center;width:50px;height:50px;border-radius:17px;font-size:26px;margin:0 auto 8px}.teal{background:#ddf5f0;color:#126f62}.purple{background:#eae0f6;color:var(--purple)}.pink{background:#f9e9f3;color:#9d397a}.quick-actions strong{display:block;font-size:12px}.quick-actions small{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 15px}.section-heading h2{font:700 18px Arial;letter-spacing:-.4px}.section-heading>a{font-size:11px;color:var(--purple);font-weight:700}.up-next{display:flex;gap:14px;align-items:center;background:white;border:1px solid var(--line);padding:17px 14px;border-radius:18px}.date-tile{display:grid;place-items:center;min-width:51px;background:var(--lavender);border-radius:12px;padding:8px;color:var(--purple);line-height:1.2}.date-tile small{font-size:9px;font-weight:bold}.date-tile strong{font:28px Georgia}.pill{font-size:7px;font-weight:800;letter-spacing:.7px;color:#138273}.up-next h3{font-size:13px;margin:5px 0}.up-next p{font-size:10px;color:var(--muted)}.up-next b{margin-left:auto;color:var(--purple)}.purple-card{background:var(--purple);color:white;border-radius:22px;padding:27px 24px;margin:25px 0}.purple-card>span{font-size:8px;letter-spacing:2px;color:#d9c7ef}.purple-card h2{font-size:34px;margin:15px 0}.purple-card p{font-size:13px;color:#eee4fa;margin-bottom:20px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 18px;border-radius:11px;background:var(--purple);color:white;font-size:13px;font-weight:700}.button.light{color:var(--purple);background:white}.button.secondary{background:white;color:var(--purple);border:1px solid var(--line)}.full{display:flex;width:100%;margin-top:12px}.install-card{display:flex;align-items:center;gap:12px;padding:15px;background:#f0eaf7;border-radius:16px}.install-card>span{font-size:28px;color:var(--purple)}.install-card h3{font-size:12px}.install-card p{font-size:10px;color:var(--muted)}.install-card button{background:white;border-radius:8px;color:var(--purple);padding:9px;font-size:10px;margin-left:auto;min-height:42px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);max-width:520px;width:100%;background:#fffefa;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:7px 10px max(10px,env(safe-area-inset-bottom))}.bottom-nav a{font-size:9px;text-align:center;color:#80768b;border-radius:13px;min-height:49px;line-height:1.3;padding:4px}.bottom-nav span{display:block;font-size:24px;line-height:1.25}.bottom-nav a[aria-current]{color:var(--purple);background:#f1eaf8;font-weight:700}.segmented{display:flex;background:#ebe5f1;padding:5px;border-radius:13px;margin:4px 0 20px}.segmented button{flex:1;background:none;color:var(--muted);padding:9px;border-radius:9px;font-size:12px}.segmented button[aria-pressed=true]{background:white;color:var(--purple);box-shadow:0 2px 6px #3924520c}.event-card{background:white;border:1px solid var(--line);border-radius:20px;margin:18px 0;padding:21px}.event-card header{display:flex;justify-content:space-between;gap:12px;align-items:center}.event-card .save{background:var(--lavender);color:var(--purple);padding:8px 12px;border-radius:9px;font-size:12px;min-height:44px}.event-card h2{font-size:27px;margin:19px 0 13px}.event-card p{font-size:12px;color:var(--muted);margin:8px 0}.event-card .buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.event-card .buttons a{font-size:11px}.muted{font-size:12px;color:var(--muted)}.wide-link{display:block;border:1px solid var(--line);border-radius:13px;padding:16px;margin:20px 0;color:var(--purple);font-size:12px;background:white}.teal-card{background:#e4f6f1;border-radius:21px;padding:26px;margin:24px 0}.teal-card p:not(.eyebrow){font-size:13px;color:#4f6d66;margin:15px 0 20px}.program-cards details{background:white;border:1px solid var(--line);border-radius:16px;margin:13px 0;overflow:hidden}.program-cards summary{cursor:pointer;padding:18px;display:flex;align-items:center;gap:15px;font-size:14px;font-weight:700;list-style:none;min-height:60px}.program-cards summary:after{content:'+';margin-left:auto;color:var(--purple);font-size:22px}.program-cards details[open] summary:after{content:'−'}.program-cards summary>span{font-size:25px;color:var(--purple)}.program-cards details p,.program-cards details a{font-size:13px;margin:0 20px 20px;color:var(--muted)}.program-cards details a{display:block;color:var(--purple);font-weight:700}.memory-view{background:var(--lavender);border-radius:22px;overflow:hidden}.memory-view img{width:100%;height:330px;object-fit:contain;background:#2d1e3a}.memory-view figcaption{padding:16px;font-size:13px;font-weight:700}.memory-controls{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.memory-controls button{height:44px;width:54px;background:white;border:1px solid var(--line);border-radius:12px;color:var(--purple);font-size:24px}.memory-controls span{font-size:12px;color:var(--muted)}.community-links>a{display:flex;align-items:center;gap:14px;background:white;border:1px solid var(--line);border-radius:17px;padding:16px;margin:13px 0}.community-links .bubble{flex:none;margin:0;width:46px;height:46px;font-size:23px}.community-links h3{font-size:14px}.community-links p{font-size:10px;color:var(--muted);margin-top:5px}.community-links b{color:var(--purple);margin-left:auto}.team{margin:28px 0;background:var(--lavender);border-radius:20px;overflow:hidden}.team img{width:100%;max-height:340px;object-fit:cover;object-position:center 25%}.team figcaption{padding:20px}.team figcaption>span{font-size:8px;letter-spacing:2px;color:var(--purple)}.team h2{font-size:24px;line-height:1.45;margin-top:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-grid a{padding:16px;background:white;border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--purple)}.small-note{font-size:11px;color:var(--muted);text-align:center;margin:24px 0}.skip{position:fixed;top:-100px;background:white;z-index:99;padding:12px}.skip:focus{top:0}dialog{max-width:365px;width:calc(100% - 36px);border:0;border-radius:24px;padding:30px 26px;color:var(--ink);box-shadow:0 20px 70px #28123644}dialog::backdrop{background:#27163780;backdrop-filter:blur(4px)}dialog h2{font-size:32px;margin-bottom:20px}dialog p:not(.eyebrow){font-size:13px;margin:18px 0}.close{position:absolute;right:10px;top:7px;background:none;font-size:27px;color:var(--muted);width:36px;height:36px}.qr{width:230px;height:230px;margin:auto}.connection{position:fixed;left:50%;transform:translateX(-50%);bottom:85px;width:calc(100% - 40px);max-width:460px;background:#30213e;color:white;border-radius:12px;padding:12px;font-size:12px;z-index:40}[hidden]{display:none!important}@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.screen{animation:none}}@media(max-width:360px){.screen{padding-inline:16px}h1{font-size:35px}.app-header{padding-inline:16px}.quick-actions small{font-size:8px}.brand small{font-size:6px}} 
