@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600&family=Nunito:wght@400;600;700;800&display=swap";:root{--bg: #11132b;--tile: #1d2150;--tile-2: #282d63;--line: rgba(255, 255, 255, .08);--cream: #f6efe3;--cream-ink: #1a1c3d;--ink: #f1f2ff;--ink-soft: rgba(241, 242, 255, .6);--accent: #e8738f;--peach: #ffb38a;--lilac: #b9a3f5;--mint: #8fd3c1;--sun: #f5c451;--r-tile: 26px;--r-chip: 14px;--font-ui: "Nunito", system-ui, sans-serif;--font-display: "Fredoka", "Nunito", system-ui, sans-serif;--glass: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05));--glass-line: rgba(255, 255, 255, .18);--ease: cubic-bezier(.2, .8, .2, 1);--t-fast: .18s;--t-med: .4s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.screen{position:relative;min-height:100%;overflow-x:hidden}.screen.center{display:grid;place-items:center;height:100%}.center-stack{position:relative;z-index:2;display:grid;gap:16px;justify-items:center;padding:0 22px;text-align:center}.loading{font:600 18px var(--font-display);color:var(--ink-soft)}.page{position:relative;z-index:2}.sky{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.star{position:absolute;border-radius:50%;background:#fff;animation:tw 4s ease-in-out infinite}.confetti span{position:absolute;top:-30px;width:16px;animation:fall 9s linear infinite}.confetti .c-heart{fill:var(--accent)}.confetti .c-star{width:12px;fill:var(--sun)}@keyframes tw{0%,to{opacity:.2}50%{opacity:.95}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes shake{20%,60%{transform:translate(-9px)}40%,80%{transform:translate(9px)}}@keyframes fall{to{top:105%;rotate:200deg}}@media(prefers-reduced-motion:reduce){.confetti{display:none}}.t-screen{font-family:var(--font-ui);background:var(--bg);color:var(--ink)}.sky--quiet{background:radial-gradient(120% 60% at 80% 0%,#1c2156 0%,transparent 60%),linear-gradient(180deg,#0d1030,var(--bg) 60%)}.sky--quiet .star{opacity:.5}.t-page-wrap{padding-bottom:calc(env(safe-area-inset-bottom) + 118px)}.t-page{max-width:480px;min-width:0;overflow-x:clip;margin:0 auto;padding:calc(env(safe-area-inset-top) + 18px) 18px 0;display:flex;flex-direction:column;gap:16px}.t-page>*{animation:rise var(--t-med) var(--ease) backwards}.t-page>:nth-child(2){animation-delay:40ms}.t-page>:nth-child(3){animation-delay:80ms}.t-page>:nth-child(4){animation-delay:.12s}.t-page>:nth-child(5){animation-delay:.16s}.t-page>:nth-child(n+6){animation-delay:.2s}.t-muted{color:var(--ink-soft);font-size:14px;text-align:center}.t-top{display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:8px;font:600 20px var(--font-display);letter-spacing:.3px}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink);background:var(--tile);border:1px solid var(--line)}.icon-btn:disabled{opacity:.3}.icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}.flip{transform:scaleX(-1)}.t-head{padding-top:22px}.t-head h1{font:600 30px var(--font-display);line-height:1.1}.t-head p{color:var(--ink-soft);font-size:15px;margin-top:2px}.sec{font:600 18px var(--font-display);margin-top:6px}.hello{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 2px}.hello-1{font-size:17px;color:var(--ink-soft);font-weight:600}.hello-2{font:600 36px var(--font-display);line-height:1.05;color:var(--accent);text-transform:capitalize}.hello-3{font-size:15px;color:var(--ink-soft);margin-top:4px}.moonface{flex:none;filter:drop-shadow(0 0 22px rgba(251,236,203,.35))}.hello .moonface{animation:bob 5s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px) rotate(-4deg)}}.tile{position:relative;display:block;width:100%;text-align:left;color:var(--ink);font-family:var(--font-ui);background:var(--tile);border:1px solid var(--line);border-radius:var(--r-tile);padding:18px;overflow:hidden;transition:transform var(--t-fast) var(--ease)}button.tile{cursor:pointer}button.tile:active{transform:scale(.97)}.celebrate{text-align:center;font:600 18px var(--font-display);background:color-mix(in srgb,var(--accent) 22%,var(--tile))}.hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,#fff),color-mix(in srgb,var(--accent) 78%,#6b4bb3));border:0;color:var(--cream-ink);padding:20px 20px 18px;min-height:196px;box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 35%,transparent)}.hero-label{font-size:14px;font-weight:700;opacity:.7}.hero-days{font:500 22px var(--font-display);line-height:1;margin-top:2px}.hero-days b{font-size:64px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.hero-clock{display:flex;gap:6px;margin-top:8px}.hero-clock span{background:#ffffff59;border-radius:10px;padding:3px 9px;font:600 17px var(--font-display);font-variant-numeric:tabular-nums}.hero-clock small{font-size:12px;opacity:.7;margin-left:1px}.hero-btn{margin-top:16px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:10px 16px 10px 18px;background:#fff;color:color-mix(in srgb,var(--accent) 70%,var(--cream-ink));font:800 15px var(--font-ui);cursor:pointer;box-shadow:0 6px 16px #1a1c3d2e}.hero-btn:active{transform:scale(.96)}.hero-art{position:absolute;right:-6px;bottom:6px;animation:bob 6s ease-in-out infinite}.tile-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{display:flex;flex-direction:column;gap:2px;min-height:132px}.stat-label{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--ink-soft)}.stat-n{font:600 40px var(--font-display);line-height:1.05;margin-top:auto}.stat small{font-size:13px;color:var(--ink-soft);line-height:1.3}.stat--cream{background:var(--cream);color:var(--cream-ink);border:0}.stat--cream .stat-label,.stat--cream small{color:#1a1c3d99}.stat--cream .stat-n{color:color-mix(in srgb,var(--accent) 75%,var(--cream-ink))}.stat--accent{background:color-mix(in srgb,var(--accent) 20%,var(--tile));border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.stat--accent .stat-n{color:var(--accent)}.rows{display:grid;gap:10px}.row-tile{display:flex;align-items:center;gap:14px;padding:14px;border-radius:22px}.row-text{flex:1;min-width:0;display:grid}.row-text b{font:600 17px var(--font-display)}.row-text small{font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-chev{color:var(--ink-soft)}.row-thumbs{display:flex;flex:none}.row-thumbs img{width:34px;height:34px;border-radius:10px;object-fit:cover;border:2px solid var(--tile);margin-left:-10px}.chip-ico{width:44px;height:44px;flex:none;border-radius:var(--r-chip);display:grid;place-items:center;color:var(--cream-ink)}.chip-ico--peach{background:var(--peach)}.chip-ico--lilac{background:var(--lilac)}.chip-ico--mint{background:var(--mint)}.chip-ico--sun{background:var(--sun)}.chip-ico--accent{background:var(--accent)}.cal2{padding:16px 14px 14px}.cal2-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal2-top h2{font:600 22px var(--font-display);text-transform:capitalize}.cal2-top h2 span{color:var(--ink-soft);font-weight:500}.cal2-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 4px;justify-items:center}.cal2-w{font-size:12px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;padding-bottom:2px}.cal2-d{position:relative;width:100%;max-width:40px;aspect-ratio:1;padding:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--tile-2);border:1px solid var(--line);color:var(--ink);font:600 15px var(--font-display);transition:transform var(--t-fast) var(--ease),background var(--t-fast)}.cal2-d:active{transform:scale(.9)}.cal2-d:disabled{cursor:default;background:transparent;border-color:transparent;color:#f1f2ff47}.cal2-d.today{background:var(--cream);color:var(--cream-ink);border-color:var(--cream)}.cal2-d.met{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 45%,transparent)}.cal2-d.m22:after{content:"";position:absolute;bottom:-3px;width:5px;height:5px;border-radius:50%;background:var(--sun)}.cal2-legend{display:flex;justify-content:center;gap:14px;margin-top:14px;font-size:12px;color:var(--ink-soft)}.cal2-legend span{display:inline-flex;align-items:center;gap:5px}.lg{width:10px;height:10px;border-radius:50%;display:inline-block}.lg--met{background:var(--accent)}.lg--today{background:var(--cream)}.lg--22{background:var(--sun);width:6px;height:6px}.streak{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--tile)),var(--tile))}.streak b{font:600 34px var(--font-display);color:var(--accent)}.streak div{font:600 16px var(--font-display)}.streak small{display:block;font:600 13px var(--font-ui);color:var(--ink-soft)}.streak-ico{color:var(--peach)}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--glass-line);box-shadow:0 12px 34px #00000073,inset 0 1px #ffffff38}.glassbar{position:fixed;z-index:8;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom) + 12px);max-width:452px;margin:0 auto;height:70px;border-radius:35px;display:flex;align-items:center;justify-content:space-around;padding:0 6px}.gtab{flex:1;height:56px;border-radius:28px;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;background:none;border:0;color:var(--ink-soft);font:700 11px var(--font-ui);transition:background var(--t-fast),color var(--t-fast)}.gtab.on{color:var(--ink);background:#ffffff1a;box-shadow:inset 0 1px #ffffff1f}.gtab.on .icon{color:var(--accent)}.gplus{flex:none;width:56px;height:56px;margin:0 4px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px #ffffff59;transition:transform var(--t-med) var(--ease)}.gplus .icon{stroke-width:2.4}.gplus.open{transform:rotate(45deg)}.plus-scrim{position:fixed;z-index:7;top:0;right:0;bottom:0;left:0;background:#05071673;animation:rise var(--t-fast) var(--ease)}.plus-menu{position:fixed;z-index:9;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + 96px);width:min(320px,calc(100% - 40px));border-radius:26px;padding:8px;display:grid;gap:2px;animation:rise var(--t-fast) var(--ease)}.plus-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:18px;cursor:pointer;text-align:left;background:none;border:0;color:var(--ink);font-family:var(--font-ui)}.plus-item:active{background:#ffffff14}.plus-item b{display:block;font:600 16px var(--font-display)}.plus-item small{font-size:13px;color:var(--ink-soft)}.t-toast{position:fixed;z-index:11;left:50%;bottom:calc(env(safe-area-inset-bottom) + 100px);transform:translate(-50%);background:var(--cream);color:var(--cream-ink);padding:9px 18px;border-radius:999px;font:700 15px var(--font-ui);box-shadow:0 10px 30px #0006;animation:rise var(--t-fast) var(--ease)}.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;cursor:pointer;padding:12px 22px;background:var(--accent);color:#fff;font:800 15px var(--font-ui);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 40%,transparent);transition:transform var(--t-fast) var(--ease)}.t-btn:active{transform:scale(.96)}.t-btn:disabled{opacity:.45;box-shadow:none;cursor:default}.t-btn--small{padding:9px 16px;font-size:14px}.t-link{background:none;border:0;color:var(--ink-soft);font:700 14px var(--font-ui);cursor:pointer;padding:8px 6px}.t-link:disabled{opacity:.4}.t-input{display:block;width:100%;background:var(--tile-2);border:1px solid var(--line);border-radius:16px;padding:13px 15px;color:var(--ink);font:600 16px var(--font-ui);outline:none;color-scheme:dark}.t-input:focus{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.t-input::placeholder{color:#f1f2ff59}textarea.t-input{resize:none;line-height:1.5}.t-label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink-soft)}.t-check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.t-check input{width:20px;height:20px;accent-color:var(--accent)}.t-err{color:#ff9aaa;font-size:14px;font-weight:600}.t-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.t-actions .t-link:first-child{margin-right:auto}.t-pills{display:flex;flex-wrap:wrap;gap:8px}.t-pill{border:1px solid var(--line);background:var(--tile-2);color:var(--ink);border-radius:999px;padding:9px 15px;font:700 14px var(--font-ui);cursor:pointer;transition:background var(--t-fast),transform var(--t-fast) var(--ease)}.t-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.04)}.avatar{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font:600 15px var(--font-display);color:var(--cream-ink);text-transform:uppercase}.avatar--her{background:var(--accent);color:#fff}.avatar--him{background:var(--peach)}.t-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:22px}.t-head-row .t-head{padding-top:0}.empty{text-align:center;display:grid;justify-items:center;gap:8px;padding:26px 18px}.empty b{font:600 20px var(--font-display)}.empty p{color:var(--ink-soft);font-size:14px}.sheet2-scrim{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;background:#05071699;animation:rise var(--t-fast) var(--ease)}.sheet2{position:fixed;z-index:21;left:0;right:0;bottom:0;max-width:520px;margin:0 auto;max-height:92dvh;overflow-y:auto;background:#1a1d47;border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;padding:10px 20px calc(env(safe-area-inset-bottom) + 20px);display:grid;gap:16px;animation:sheetUp var(--t-med) var(--ease);font-family:var(--font-ui);color:var(--ink)}.sheet2:before{content:"";justify-self:center;width:40px;height:5px;border-radius:3px;background:#fff3}.sheet2 h2{font:600 22px var(--font-display)}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}}.lock2-main{position:relative;z-index:2;height:100dvh;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top) + max(36px,6vh)) 24px calc(env(safe-area-inset-bottom) + 26px)}.lock2-top{display:grid;justify-items:center;gap:6px}.lock2-top .moonface{animation:bob 5s ease-in-out infinite}.lock2-top h1{font:600 40px var(--font-display);margin-top:8px;letter-spacing:.5px}.lock2-since{color:var(--ink-soft);font-size:14px;font-weight:600}.lock2-dots{display:flex;gap:16px;margin-top:max(26px,4vh)}.lock2-dots i{width:14px;height:14px;border-radius:50%;background:var(--tile-2);border:1px solid var(--glass-line);transition:.18s}.lock2-dots i.on{background:var(--accent);border-color:var(--accent);transform:scale(1.15);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 70%,transparent)}.lock2.is-bad .lock2-dots{animation:shake .45s}.lock2.is-bad .lock2-dots i.on{background:#ff8a9a;border-color:#ff8a9a;box-shadow:none}.lock2-msg{margin-top:14px;min-height:22px;font-size:15px;font-weight:600;color:var(--ink-soft);text-align:center}.lock2.is-ok .lock2-msg{color:var(--accent);font:600 20px var(--font-display)}.lock2-pad{margin-top:auto;display:grid;grid-template-columns:repeat(3,var(--k));gap:14px 22px;--k: min(74px, 9vh)}.lock2-key{width:var(--k);height:var(--k);border-radius:50%;cursor:pointer;color:var(--ink);font:500 28px var(--font-display);background:var(--tile);border:1px solid var(--line);transition:background .12s,transform .12s}.lock2-key:active{background:color-mix(in srgb,var(--accent) 45%,var(--tile));transform:scale(.92)}.lock2-key--del{background:none;border-color:transparent;display:grid;place-items:center;color:var(--ink-soft)}.q2-main{position:relative;z-index:2;min-height:100dvh;max-width:460px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:calc(env(safe-area-inset-top) + 40px) 18px calc(env(safe-area-inset-bottom) + 40px)}.q2-kicker{text-align:center;color:var(--ink-soft);font-weight:700;font-size:14px}.q2-card{display:grid;gap:18px;padding:22px 20px 16px;animation:rise var(--t-med) var(--ease)}.q2-progress{display:flex;align-items:center;gap:10px}.q2-progress small{font-size:12px;font-weight:800;color:var(--ink-soft)}.q2-track{flex:1;height:8px;border-radius:4px;background:var(--tile-2);overflow:hidden}.q2-track i{display:block;height:100%;border-radius:4px;background:var(--accent);transition:width var(--t-med) var(--ease)}.q2-title{font:600 25px var(--font-display);line-height:1.2}.q2-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:12px}.q2-swatch{aspect-ratio:1;border-radius:14px;border:2px solid transparent;cursor:pointer;transition:transform var(--t-fast) var(--ease)}.q2-swatch.on{transform:scale(1.12);border-color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 50%,transparent)}.q2-swatch--custom{position:relative;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:800;background:conic-gradient(#ff6b6b,#f5c451,#a8d672,#6ec6e8,#9b8cf2,#f49ac1,#ff6b6b)}.q2-swatch--custom input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.q2-hint{color:var(--ink-soft);font-size:13px;font-weight:600;margin-top:-8px}.q2-intro{display:grid;justify-items:center;text-align:center;gap:12px;animation:rise var(--t-med) var(--ease)}.q2-intro h1{font:600 30px var(--font-display);color:var(--accent);line-height:1.15;margin-top:6px}.q2-intro p{font-size:16px;line-height:1.5;max-width:320px}.q2-intro small{color:var(--ink-soft);font-size:13px;font-weight:600;margin-bottom:8px}.q2-intro .moonface,.q2-intro .heartblob{animation:bob 5s ease-in-out infinite}.sealed{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--lilac) 18%,var(--tile)),var(--tile))}.note2{display:grid;gap:10px}.note2--her{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.note2--him{border-color:color-mix(in srgb,var(--peach) 28%,transparent)}.note2-head{display:flex;align-items:center;gap:10px}.note2-head .row-text b{font:600 16px var(--font-display)}.note2-body{font-size:16px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.note2-tag{justify-self:start;font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--tile-2);border-radius:999px;padding:4px 10px}.album2{padding:14px;display:grid;gap:12px}.album2-head{display:flex;align-items:center;gap:10px}.album2-head .row-text b{font:600 17px var(--font-display)}.album2-count{font:600 13px var(--font-display);background:var(--tile-2);border-radius:999px;padding:3px 10px;color:var(--ink-soft)}.album2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ph{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;background:var(--tile-2)}.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-med) var(--ease)}.ph:active img{transform:scale(1.06)}.ph-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.ph-by{position:absolute;right:5px;bottom:5px;width:20px;height:20px;font-size:10px;border:2px solid rgba(17,19,43,.6)}.usage2{display:grid;gap:10px}.usage2 .row-text b{font:600 18px var(--font-display)}.up2-thumbs{display:flex;flex-wrap:wrap;gap:8px;max-height:150px;overflow-y:auto}.up2-thumb{position:relative;width:60px;height:60px;border-radius:12px;overflow:hidden;background:var(--tile-2)}.up2-thumb img{width:100%;height:100%;object-fit:cover}.up2-thumb i{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-style:normal;text-shadow:0 1px 4px #000}.up2-thumb--wait{animation:tw 1.2s ease-in-out infinite}.viewer2{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:calc(env(safe-area-inset-top) + 64px) 14px calc(env(safe-area-inset-bottom) + 20px);background:#060818f0;font-family:var(--font-ui);color:var(--ink);animation:rise var(--t-fast) var(--ease)}.viewer2-x{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:14px}.viewer2-media{display:grid;place-items:center;min-height:0}.viewer2-media img,.viewer2-media video{max-width:100%;max-height:calc(100dvh - 210px);border-radius:20px;display:block;background:#000}.viewer2-info{display:flex;align-items:center;gap:10px;max-width:520px;width:100%;margin:0 auto}.file2{display:grid;gap:14px}.file2-head{display:flex;align-items:center;gap:12px}.file2-head b{font:600 19px var(--font-display)}.file2 dl{display:grid;gap:4px}.file2-row{padding:10px 0;border-top:1px solid var(--line)}.file2-row:first-child{border-top:0;padding-top:0}.file2-row dt{font-size:13px;font-weight:600;color:var(--ink-soft)}.file2-row dd{font:500 18px var(--font-display);color:var(--accent);margin-top:2px;white-space:pre-wrap;word-break:break-word}.file2-colour{display:inline-flex;align-items:center;gap:8px}.file2-colour i{width:22px;height:22px;border-radius:7px;border:2px solid rgba(255,255,255,.7)}.rc-chips{display:flex;gap:8px;overflow-x:auto;margin:0 -18px;padding:2px 18px 4px;scrollbar-width:none}.rc-chips::-webkit-scrollbar{display:none}.rc-chip{flex:none;border:1px solid var(--line);background:var(--tile);color:var(--ink);border-radius:999px;padding:9px 16px;font:600 15px var(--font-display);cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast)}.rc-chip:active{transform:scale(.95)}.rc-chip.on{background:var(--accent);color:var(--cream-ink);border-color:transparent}.rc-chip--year{border-color:color-mix(in srgb,var(--sun) 55%,transparent)}.rc-chip--year.on{background:var(--sun)}.rc-chip--locked{display:inline-flex;align-items:center;gap:5px;color:var(--ink-soft);border-style:dashed;cursor:default}.rc-hero{min-height:0}.rc-hero-sub{margin-top:8px;font-weight:700;font-size:15px;opacity:.8}.rc-hero+.rc-dots,.rc-hero+.rc-bars{margin-top:0}.rc-dots-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;justify-items:center}.rc-w{font-size:12px;font-weight:800;color:var(--ink-soft)}.rc-dot{width:22px;height:22px;border-radius:50%;background:var(--tile-2)}.rc-dot.met{background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent)}.rc-dot.before{opacity:.25}.rc-bars-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;height:130px}.rc-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.rc-bar i{width:100%;min-height:4px;border-radius:8px;background:color-mix(in srgb,var(--accent) 45%,var(--tile-2))}.rc-bar i.best{background:var(--accent)}.rc-bar small,.rc-bar span{font-size:11px;font-weight:800;color:var(--ink-soft)}.rc-duel{display:grid;gap:10px}.rc-lane{display:grid;grid-template-columns:74px 1fr 30px;align-items:center;gap:10px}.rc-name{font:600 15px var(--font-display);white-space:nowrap}.rc-track{height:14px;border-radius:999px;background:var(--tile-2);overflow:hidden}.rc-track i{display:block;height:100%;border-radius:inherit;animation:grow .9s var(--ease) backwards .2s;transform-origin:left}.rc-lane--her .rc-track i{background:var(--accent)}.rc-lane--him .rc-track i{background:var(--peach)}.rc-lane b{font:600 18px var(--font-display);text-align:right}.rc-note{font-size:14px;color:var(--ink-soft);font-weight:600}.rc-note b{color:var(--ink)}.rc-pics{display:grid;gap:12px}.rc-pics .sec{margin:0}.rc-pics .ph{cursor:default}.rc-end,.rc-wait{display:flex;align-items:center;gap:16px;font:600 18px var(--font-display)}.rc-end small,.rc-wait small{font:600 14px var(--font-ui);color:var(--ink-soft)}@keyframes grow{0%{transform:scaleX(0)}}.top-btns{display:inline-flex;gap:8px}.icon-btn.is-off{color:var(--ink-soft)}.t-sub{color:var(--ink-soft);font-size:14px;font-weight:600;margin-top:-4px}.icon-btn--accent{background:color-mix(in srgb,var(--accent) 22%,var(--tile));color:var(--accent)}.hero-month{margin-top:8px;font-size:13px;font-weight:800;opacity:.75}.hug{display:flex;flex-direction:column;gap:2px;min-height:132px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 30%,var(--tile)),var(--tile))}.hug:active{transform:scale(.96)}.hug-emoji{position:relative;font-size:38px;line-height:1;margin-bottom:auto}.hug b{font:600 19px var(--font-display)}.hug small{font-size:13px;color:var(--ink-soft);line-height:1.3}.floaters{position:absolute;left:10px;top:0;pointer-events:none}.floaters i{position:absolute;font-style:normal;animation:floatup 1.4s var(--ease) forwards;opacity:0}@keyframes floatup{0%{opacity:0;transform:translate(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(var(--dx),-150px) scale(1.1)}}.hugburst{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#080a20b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;animation:rise var(--t-med) var(--ease)}.hugburst>i{position:absolute;bottom:-50px;font-style:normal;animation:heartup 4s linear infinite}@keyframes heartup{0%{transform:translateY(0) rotate(-10deg);opacity:1}to{transform:translateY(-115vh) rotate(14deg);opacity:.2}}.hugburst-card{position:relative;display:grid;justify-items:center;gap:10px;text-align:center;max-width:320px;padding:28px 22px;border-radius:var(--r-tile);background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hugburst-card h2{font:600 24px var(--font-display);line-height:1.2}.hugburst-card p{color:var(--ink-soft);font-size:14px;font-weight:600}.mood{display:grid;gap:12px}.mood-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.mood-btn{aspect-ratio:1;border-radius:16px;border:1px solid var(--line);background:var(--tile-2);font-size:24px;cursor:pointer;transition:transform var(--t-fast) var(--ease),background var(--t-fast)}.mood-btn:active{transform:scale(.9)}.mood-btn.on{background:color-mix(in srgb,var(--accent) 35%,var(--tile-2));border-color:var(--accent);transform:scale(1.06)}.mood-theirs{font-size:14px;font-weight:600;color:var(--ink-soft);line-height:1.5}.mood-theirs b{color:var(--ink)}.mood-theirs.needy{background:color-mix(in srgb,var(--accent) 14%,var(--tile-2));border-radius:14px;padding:10px 12px}.mood-nudge{display:block;color:var(--accent);font-weight:800}.plan{display:grid;gap:4px;background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 22%,var(--tile)),var(--tile))}.plan-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.plan-main span{font:600 17px var(--font-display)}.plan .stat-n{color:var(--mint);margin-top:0}.plan small{font-size:13px;color:var(--ink-soft);font-weight:600}.plan--empty{display:flex;align-items:center;gap:14px}.plan--empty .row-text{flex:1}.bday{display:grid;justify-items:center;gap:8px;text-align:center;padding:24px 18px;background:linear-gradient(160deg,color-mix(in srgb,var(--sun) 30%,var(--tile)),color-mix(in srgb,var(--accent) 30%,var(--tile)))}.bday-cake{font-size:56px;animation:bob 3s ease-in-out infinite}.bday h2{font:600 26px var(--font-display);line-height:1.15}.bday p{color:var(--ink-soft);font-weight:600}.bday-letters{display:grid;gap:8px;width:100%;text-align:left;margin-top:8px}.bday .bday-letter{background:var(--cream);color:var(--cream-ink);border-radius:18px;padding:14px 16px;white-space:pre-wrap;line-height:1.55}.vnote{display:grid;gap:8px}.vnote .note2-tag{justify-self:start}.vdel{justify-self:end;margin-top:-30px}.vplayer{display:flex;align-items:center;gap:10px}.vplay{width:44px;height:44px;flex:none;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 40%,transparent)}.vplay:active{transform:scale(.92)}.vbar{flex:1;min-width:0;height:30px;display:flex;align-items:center;gap:2px}.vbar i{flex:1;border-radius:2px;background:color-mix(in srgb,var(--ink) 25%,transparent);transition:background var(--t-fast)}.vbar i.on{background:var(--accent)}.vplayer small{font-size:13px;font-weight:800;color:var(--ink-soft);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.rec{justify-items:center;text-align:center}.rec .vplayer,.rec .t-actions{width:100%}.rec-btn{width:96px;height:96px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;margin:8px 0 0;background:var(--accent);color:#fff;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 45%,transparent)}.rec-btn.on{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 18%,transparent);transform:scale(1.04)}}.rec-time{font:600 16px var(--font-display);color:var(--ink-soft);font-variant-numeric:tabular-nums}.oursky{position:relative;border-radius:var(--r-tile);overflow:hidden;border:1px solid var(--line);background:radial-gradient(80% 40% at 75% 0%,#2a2f72 0%,transparent 70%),linear-gradient(180deg,#151a4a,#0b0e2a)}.oursky-moon{position:absolute;right:16px;top:16px}.oursky-lines{position:absolute;top:0;right:0;bottom:0;left:0}.oursky-lines line{stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-width:1.4;stroke-dasharray:3 5}.oursky-star{position:absolute;transform:translate(-50%,-50%);border:0;padding:0;cursor:pointer;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,color-mix(in srgb,var(--accent) 80%,#fff) 40%,transparent 72%);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent);animation:glow 4s ease-in-out infinite}@keyframes glow{50%{opacity:.6;filter:brightness(1.3)}}.oursky-star:after{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px}.oursky-star.gold{background:radial-gradient(circle,#fff 0 22%,var(--sun) 40%,transparent 72%);box-shadow:0 0 18px color-mix(in srgb,var(--sun) 70%,transparent)}.oursky-star.newest{animation-duration:1.6s}.oursky-month{position:absolute;left:12px;font:600 12px var(--font-display);color:var(--ink-soft);letter-spacing:.5px;opacity:.7}.oursky-start{position:absolute;left:0;right:0;text-align:center;font-size:12px;font-weight:800;color:var(--ink-soft)}
