:root{font-family:system-ui,sans-serif;color:#17365d;background:#edf7ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #31b7e9;outline-offset:3px}.app-shell{min-height:100dvh;max-width:540px;margin:auto;padding:0 24px 110px;background:radial-gradient(circle at 82% 0,#d9efff 0,transparent 42%),#edf7ff;position:relative;box-shadow:0 0 80px #c4def04d}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between}.wordmark{border:0;background:none;font-family:ui-rounded,system-ui,sans-serif;font-weight:900;font-size:34px;letter-spacing:-2px;color:#20467c;padding:0}.wordmark-star{font-size:17px;color:#51c9f3;vertical-align:top;margin-left:3px}.theme-button{width:43px;height:43px;border-radius:50%;border:1px solid #d4e9f8;background:#ffffffa8;color:#25507f;font-size:24px;box-shadow:0 5px 18px #bcdcf76b}.eyebrow,.card-kicker,.example-label{font-size:10px;font-weight:800;letter-spacing:2px;color:#5792bf}.eyebrow{margin-top:17px}.eyebrow span{color:#53c8ef;margin-left:5px}h1,h2,p{margin-top:0}h1,h2{font-family:ui-rounded,system-ui,sans-serif}h1{font-size:clamp(34px,8vw,47px);line-height:1.13;letter-spacing:-1.8px;color:#193e70;margin:13px 0 8px;font-weight:900}.title-dot{color:#61c9f0}.date-line{font-size:14px;color:#6282a1;margin-bottom:20px}.mascot-card{height:340px;border-radius:32px;background:linear-gradient(150deg,#d9efff,#c4e6fa 70%,#b8dcf4);position:relative;overflow:hidden;box-shadow:0 14px 35px #b3d5ee70}.mascot-glow{position:absolute;width:280px;height:230px;border-radius:50%;background:#e9f9ffb0;filter:blur(20px);left:50%;top:25px;transform:translate(-50%)}.mascot{position:absolute;width:284px;height:284px;object-fit:contain;left:50%;top:4px;transform:translate(-50%);filter:drop-shadow(0 14px 12px #5689b555);animation:float 4s ease-in-out infinite}.sparkle{position:absolute;color:#fff;font-size:29px;z-index:1}.sparkle-one{left:31px;top:48px}.sparkle-two{right:36px;top:91px;font-size:15px}.speech{position:absolute;bottom:15px;left:16px;right:16px;background:#fffc;border:1px solid #fff;border-radius:21px;padding:12px 17px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px #6095bc30}.speech span{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;font-weight:800;color:#4aa3cb}.speech p{font-size:13px;line-height:1.4;color:#325a7a;font-weight:600;margin:3px 0 0}.next-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dceefa;border-radius:24px;margin-top:20px;padding:18px 19px;box-shadow:0 8px 28px #c5dded66}.card-kicker{font-size:9px;letter-spacing:1.4px}.next-card h2{font-size:19px;margin:6px 0 1px;color:#1c4675}.next-card p{font-size:12px;color:#7b96ae;margin:0}.countdown{background:#e9f7ff;border-radius:17px;min-width:60px;padding:8px 10px;text-align:center;color:#2775a8}.countdown strong{display:block;font:900 25px/1 ui-rounded,system-ui,sans-serif}.countdown span{font-size:10px}.text-link{border:0;background:transparent;color:#2b83b3;padding:19px 4px;font-size:13px;font-weight:700}.text-link span{font-size:17px;margin-left:5px}.bottom-nav{position:fixed;z-index:4;bottom:0;left:50%;transform:translate(-50%);width:min(540px,100%);display:flex;justify-content:space-around;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid #deedf8;box-shadow:0 -10px 25px #c8deed44}.bottom-nav button{border:0;background:none;color:#8aa7bf;min-width:85px;display:grid;justify-items:center;gap:1px;font-size:10px;font-weight:700;padding:3px 9px;border-radius:13px}.bottom-nav button span{font-size:24px;line-height:1.25}.bottom-nav button.active{color:#2787bd;background:#e6f6ff}.intro{color:#6988a4;line-height:1.6;font-size:14px;margin:15px 0 25px}.example-label{letter-spacing:1px;margin:0 0 11px}.event-list{display:grid;gap:10px}.event-row{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #deedf8;border-radius:20px;padding:14px 15px;box-shadow:0 4px 16px #d2e6f255}.event-emoji{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#e8f6ff;font-size:24px}.event-info{flex:1}.event-info h2{font-size:16px;margin:0 0 2px;color:#244c7a}.event-info p{font-size:11px;color:#8aa0b5;margin:0}.event-days{font-size:12px;font-weight:800;color:#3d92bd}.calendar-note{font-size:12px;color:#88a1b6;line-height:1.6;margin:18px 5px}.setup-card,.about-card{background:#fff;border:1px solid #deedf8;border-radius:27px;padding:23px;box-shadow:0 8px 30px #c7e0ee66}.section-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#dff5ff;color:#2b9dcf;margin-bottom:12px;font-size:21px}.setup-card h2,.about-card h2{color:#244c7a;font-size:21px;margin:0 0 8px}.setup-card p,.about-card p{font-size:13px;color:#708ea8;line-height:1.55;margin-bottom:15px}.install-steps{display:grid;gap:5px;background:#eaf7ff;padding:13px;border-radius:14px;font-size:12px;line-height:1.5;color:#456b88}.activation{display:grid;gap:9px}.activation label{font-size:12px;font-weight:700;color:#3c6382}.activation input{height:43px;border:1px solid #cfe4f3;border-radius:12px;padding:0 12px;color:#234b74;background:#f8fcff}.activation button{border:0;background:#2f8ec0;border-radius:12px;color:#fff;font-weight:700;padding:12px}.activation button:disabled{opacity:.6}.setup-card .notice{color:#2c789f;margin:13px 0 0}.about-card{margin-top:14px;min-height:145px;position:relative;overflow:hidden}.about-card p{max-width:72%;margin:0}.about-card img{position:absolute;width:120px;right:-6px;bottom:-37px}.theme-button,.bottom-nav button,.text-link{transition:transform .2s,background .2s}.theme-button:active,.bottom-nav button:active,.text-link:active{transform:scale(.96)}@keyframes float{50%{transform:translate(-50%,-7px)}}@media(prefers-reduced-motion:reduce){.mascot{animation:none}*{scroll-behavior:auto!important}}@media(min-width:541px){body{background:#dbe9f4}.app-shell{min-height:100vh}}[data-theme=dark]{color-scheme:dark;background:#102034;color:#dcecff}[data-theme=dark] .app-shell{background:radial-gradient(circle at 80% 0,#1c3c5b,transparent 45%),#102034}[data-theme=dark] h1,[data-theme=dark] .wordmark,[data-theme=dark] .next-card h2,[data-theme=dark] .event-info h2,[data-theme=dark] .setup-card h2,[data-theme=dark] .about-card h2{color:#e3f3ff}[data-theme=dark] .next-card,[data-theme=dark] .event-row,[data-theme=dark] .setup-card,[data-theme=dark] .about-card{background:#1b314b;border-color:#294a69;box-shadow:none}[data-theme=dark] .mascot-card{background:linear-gradient(150deg,#1c466e,#12314e)}[data-theme=dark] .speech{background:#203e59e8;border-color:#41617b}[data-theme=dark] .speech p{color:#d5ecfa}[data-theme=dark] .countdown,[data-theme=dark] .event-emoji,[data-theme=dark] .install-steps,[data-theme=dark] .section-icon{background:#254c6a}[data-theme=dark] .bottom-nav{background:#182b40ee;border-color:#2d4760}[data-theme=dark] .bottom-nav button.active{background:#254a66;color:#85d7ff}[data-theme=dark] .theme-button{background:#25435e;border-color:#3d6682;color:#d9f3ff}[data-theme=dark] .activation input{background:#152e46;border-color:#3c607d;color:#e5f5ff}
