@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/barlow-semi-condensed-vietnamese-400-normal.9eeb8dc9.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-vietnamese-400-normal.99d96c0f.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/barlow-semi-condensed-latin-ext-400-normal.9f9477dd.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-latin-ext-400-normal.f9ec0b53.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/barlow-semi-condensed-latin-400-normal.08358283.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-latin-400-normal.b3a61411.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-semi-condensed-vietnamese-500-normal.70f9a378.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-vietnamese-500-normal.be7c1ed5.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-semi-condensed-latin-ext-500-normal.5d10ca1e.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-latin-ext-500-normal.5c8e3bc5.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-semi-condensed-latin-500-normal.dfa5745c.woff2) format("woff2"),url(/_next/static/media/barlow-semi-condensed-latin-500-normal.3219cc52.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-condensed-vietnamese-500-normal.70f04bd5.woff2) format("woff2"),url(/_next/static/media/barlow-condensed-vietnamese-500-normal.7dec19f5.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-condensed-latin-ext-500-normal.dfe6e0fb.woff2) format("woff2"),url(/_next/static/media/barlow-condensed-latin-ext-500-normal.e6bbc82d.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/barlow-condensed-latin-500-normal.6440fe73.woff2) format("woff2"),url(/_next/static/media/barlow-condensed-latin-500-normal.48e4fdf4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-arabic-wght-normal.45d0bffd.woff2) format("woff2-variations");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-armenian-wght-normal.ac99f3c2.woff2) format("woff2-variations");unicode-range:u+0308,u+0530-058f,u+2010,u+2024,u+25cc,u+fb13-fb17}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-cyrillic-ext-wght-normal.69eaf08b.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-cyrillic-wght-normal.ead05444.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-greek-wght-normal.05d55621.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-hebrew-wght-normal.30e669e4.woff2) format("woff2-variations");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-vietnamese-wght-normal.7a50a38d.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-latin-ext-wght-normal.c8075b21.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Handjet Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/handjet-latin-wght-normal.735ab25b.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--ink:#0d0620;--night-1:#1a0b2e;--night-2:#2d1450;--night-3:#4b1f6f;--panel:#2a1650;--panel-2:#38206a;--cream:#fff4d6;--muted:#c9b8ee;--gold:#ffd45c;--pink:#ff8fb1;--teal:#7fe3d4;--orange:#f2994a;--green:#8be28b;--red:#ff6b6b;--px:4px;--font-body:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;--font-head:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--font-pixel:"Handjet Variable","VT323",monospace;--font-display:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{font-synthesis:none;font-family:var(--font-body);font-size:21px;line-height:1.15;color:var(--cream);background:linear-gradient(180deg,var(--night-1) 0,var(--night-2) 55%,var(--night-3) 100%) fixed;-webkit-font-smoothing:antialiased;overflow-x:hidden}b,strong{font-weight:400}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.2;letter-spacing:.01em;margin:0 0 12px;color:var(--cream)}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}h4{font-size:13px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.badge,.brand,.btn,.cal .dow,.loading,.tab,.table th,.timeline .when,label{text-transform:uppercase;letter-spacing:.06em;font-weight:400}p,ul{margin:0 0 12px}ul{padding-left:20px}li{margin-bottom:4px}.sky{position:fixed;inset:0;z-index:-2;pointer-events:none}.sky .stars,.sky .stars-twinkle{opacity:.75;position:absolute;top:0;left:0;width:4px;height:4px}.sky .stars-twinkle{animation:twinkle 3s steps(2) infinite}@keyframes twinkle{0%{opacity:1}50%{opacity:.2}to{opacity:1}}.moon-ground{position:fixed;left:-10vw;right:-10vw;bottom:-110px;height:180px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60px 12px at 18% 30%,#4a4468 0,#4a4468 60%,transparent 62%),radial-gradient(ellipse 90px 16px at 62% 40%,#4a4468 0,#4a4468 60%,transparent 62%),radial-gradient(ellipse 40px 9px at 85% 24%,#4a4468 0,#4a4468 60%,transparent 62%),#6d6790;border-radius:50% 50% 0 0/40px 40px 0 0;box-shadow:0 -6px 0 0 #9a94bd}.moon-family{position:absolute;left:auto;right:max(48px,14vw);bottom:118px;transform:none;width:min(280px,52vw);height:auto;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 2px 0 rgba(20,12,40,.35));opacity:.96;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:520px){.moon-family{width:min(227px,59vw);right:max(28px,8vw);bottom:122px}}.container{width:100%;padding:12px 16px 220px}.container,.site-header{max-width:940px;margin:0 auto}.site-header{justify-content:space-between;gap:12px;padding:10px 16px 8px}.brand,.site-header{display:flex;align-items:center}.brand{gap:10px;font-family:var(--font-display);font-size:13px;color:var(--gold)}.brand:hover{text-decoration:none}.brand img{width:36px;height:36px;object-fit:contain}.brand .brand-moon,.brand .cookie-icon{flex-shrink:0;image-rendering:pixelated}.box{position:relative;background:var(--panel);padding:16px;margin:0 4px 24px;box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),8px 8px 0 0 rgba(0,0,0,.35)}.box.light{background:var(--cream)}.box.light,.box.light h1,.box.light h2,.box.light h3{color:var(--ink)}.box.accent{background:var(--panel-2)}.box.gold{background:#4a3a14;box-shadow:0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold),8px 8px 0 0 rgba(0,0,0,.35)}.box.tight{padding:12px;margin-bottom:16px}.box.year-theme p{margin-bottom:22px}.box.year-theme p:last-child{margin-bottom:0}.theme-card{overflow:hidden}.theme-card-avatar{float:left;width:72px;height:72px;object-fit:contain;margin:0 14px 4px 0}.theme-card-title{margin:0 0 6px}.theme-card-who{margin:0 0 8px}.theme-card-body{clear:left}.btn{display:inline-block;font-family:var(--font-display);font-size:13px;line-height:1.4;padding:12px 16px;margin:4px;cursor:pointer;border:0;color:var(--ink);background:var(--gold);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset -4px -4px 0 0 #c9972d}.btn:hover{text-decoration:none;background:#ffe28a}.btn:active{transform:translateY(2px)}.btn.secondary{background:var(--teal);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset -4px -4px 0 0 #4cb3a5}.btn.ghost{background:var(--panel-2);color:var(--cream);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset -4px -4px 0 0 #24124a}.btn.danger{box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink),inset -4px -4px 0 0 #b84444}.btn.small{font-size:13px;padding:8px 10px}.btn[disabled]{opacity:.5;cursor:not-allowed}label{display:block;font-family:var(--font-display);font-size:13px;color:var(--gold);margin:14px 0 6px}input,select,textarea{width:100%;font-family:var(--font-body);font-size:17px;color:var(--ink);background:var(--cream);border:0;padding:10px 12px;box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink);margin:4px 0;border-radius:0;outline:none}input:focus,select:focus{background:#fffbe9;box-shadow:0 -4px 0 0 var(--gold),0 4px 0 0 var(--gold),-4px 0 0 0 var(--gold),4px 0 0 0 var(--gold)}input[type=checkbox]{width:auto;box-shadow:none;margin-right:8px}.check{display:flex;align-items:center;gap:4px;margin:10px 0;font-size:16px}.hint{font-size:15px;color:var(--muted)}.error{color:var(--red)}.suggestions{list-style:none;margin:10px 0 0;padding:0}.suggestions li{margin:0}.suggestions button{width:100%;text-align:left;font-family:var(--font-body);font-size:16px;background:var(--panel-2);color:var(--cream);border:0;padding:10px 12px;cursor:pointer;border-bottom:4px solid var(--ink)}.suggestions button:hover{background:var(--night-3)}.section-tabs-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 4px 24px}.section-tabs-row .tabs{margin:0;flex:1 1 auto}.section-tabs-trailing{flex:0 0 auto;display:flex;align-items:center}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 4px 24px}.tab{font-family:var(--font-display);font-size:13px;padding:10px 12px;background:var(--panel);color:var(--cream);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink)}.tab:hover{text-decoration:none;background:var(--panel-2)}.tab.active{background:var(--gold);color:var(--ink)}.badge{display:inline-block;font-family:var(--font-display);font-size:13px;padding:5px 8px;margin:2px 4px 2px 0;background:var(--night-3);color:var(--cream);box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.badge.gold{background:var(--gold);color:var(--ink)}.badge.pink{background:var(--pink);color:var(--ink)}.badge.teal{background:var(--teal);color:var(--ink)}.badge.green{background:var(--green);color:var(--ink)}.badge.red{background:var(--red);color:var(--ink)}.meter{display:flex;gap:4px}.meter .seg{width:16px;height:14px;background:#1c0f38}.meter .seg.on{background:var(--gold)}.meter.s-strong .seg.on{background:var(--green)}.meter.s-steady .seg.on{background:var(--gold)}.meter.s-mixed .seg.on{background:var(--orange)}.meter.s-tender .seg.on{background:var(--pink)}.score-row{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:16px}.score-row .name{width:190px;flex-shrink:0}.score-row .num{font-family:var(--font-display);font-size:13px;width:36px;text-align:right}.reading-row{position:relative;display:flex;align-items:center;gap:16px;color:var(--cream);margin-bottom:24px;padding:16px 20px}.reading-row:hover{text-decoration:none;background:var(--night-3)}.row-avatar{position:relative;flex:0 0 auto;width:92px;height:92px}.row-avatar img{display:block;width:84px;height:84px;margin:4px;object-fit:contain;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.35))}.row-avatar .deco{position:absolute;pointer-events:none;line-height:0;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.35))}.deco-dog .d1{top:0;left:2px}.deco-dog .d2{top:6px;right:0}.deco-dog .d3{bottom:10px;left:0}.deco-dog .d4{bottom:2px;right:4px}.deco-capybara .d1{top:2px;left:0}.deco-capybara .d2{top:0;right:2px}.deco-capybara .d3{bottom:4px;left:4px}.deco-capybara .d4{bottom:0;right:0}.deco-duck .d1{top:-2px;left:8px}.deco-duck .d2{top:12px;right:-2px}.deco-duck .d3{bottom:8px;left:-2px}.deco-duck .d4{bottom:-2px;right:10px}.deco-cat .d1{top:0;left:0}.deco-cat .d2{top:4px;right:2px}.deco-cat .d3{bottom:12px;left:-2px}.deco-cat .d4{bottom:0;right:0}.menu-byline{margin:0 0 2px;font-family:var(--font-pixel);font-size:15px;line-height:1.15;color:#86c3ff;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reading-row .body{flex:1 1;min-width:0;container-type:inline-size}.reading-row h2{color:var(--gold);font-size:clamp(11px,calc(100cqw / (var(--chars, 28) * .4)),21px);white-space:nowrap;margin-bottom:6px}.reading-row .body>p:not(.menu-byline){margin:0;color:var(--muted)}.reading-row .arrow{font-family:var(--font-display);font-size:23px;color:var(--gold)}.reading-row:hover .arrow{transform:translateX(4px)}.home-top{display:flex;align-items:center;gap:14px;margin:4px 0 20px}.family-scene{flex:0 0 170px;width:170px;margin:0;text-align:center}.outlook{position:relative;flex:1 1;min-width:0;margin:0 4px 0 0;padding:8px 10px 10px;background:#fff3b8;color:#3a2a12;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),6px 6px 0 0 rgba(0,0,0,.35)}.outlook:before{left:-13px;margin-top:-7px;border:7px solid transparent;border-right:7px solid var(--ink);border-left:0}.outlook:after,.outlook:before{content:"";position:absolute;top:50%}.outlook:after{left:-9px;margin-top:-5px;border:5px solid transparent;border-right-color:#fff3b8;border-left:0}.outlook-head{margin:0 0 5px;padding-bottom:4px;border-bottom:2px dotted rgba(58,42,18,.35);font-size:15px;line-height:1.1;letter-spacing:.03em;color:#8a5a12}.outlook-head,.outlook-text{font-family:var(--font-pixel);font-weight:300}.outlook-text{position:relative;margin:0;font-size:18px;line-height:1.12;letter-spacing:.02em}.outlook-text .ghost{visibility:hidden}.outlook-text .typed{position:absolute;inset:0}.outlook-text .caret{background:#3a2a12;display:inline-block;width:.45em;height:.85em;margin-left:1px;vertical-align:-.1em;animation:caret-blink .6s steps(1) infinite}.family-scene .curved-title{display:block;width:100%;height:auto;overflow:visible}.curved-text{font-family:var(--font-pixel);font-weight:300;font-size:36px;fill:var(--gold);letter-spacing:1px}.family-anim{position:relative;width:124px;margin:-12px auto 0;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.4))}.family-anim .fam-base{display:block;width:100%;height:auto;image-rendering:pixelated}.fam-layer{position:absolute;inset:0;background:url(/art/family-crew.png) 50%/100% 100% no-repeat;image-rendering:pixelated;animation-timing-function:step-end;animation-iteration-count:infinite;will-change:transform}.fam-duck{-webkit-clip-path:polygon(31.9% 59.6%,63.8% 59.6%,63.8% 87%,31.9% 87%);clip-path:polygon(31.9% 59.6%,63.8% 59.6%,63.8% 87%,31.9% 87%);animation-name:fam-hop;animation-duration:1.3s}.fam-cat{-webkit-clip-path:polygon(75.9% 24.2%,100% 24.2%,100% 84.7%,60.3% 84.7%,60.3% 30.2%,75.9% 30.2%);clip-path:polygon(75.9% 24.2%,100% 24.2%,100% 84.7%,60.3% 84.7%,60.3% 30.2%,75.9% 30.2%);animation-duration:2.2s;animation-delay:.5s}.fam-cat,.fam-dog{animation-name:fam-sway}.fam-dog{-webkit-clip-path:polygon(0 30.2%,30.9% 30.2%,30.9% 84.7%,0 84.7%);clip-path:polygon(0 30.2%,30.9% 30.2%,30.9% 84.7%,0 84.7%);animation-duration:2.6s;animation-delay:1.1s}@keyframes fam-hop{0%,to{transform:translateY(0)}25%{transform:translateY(-1.8%)}50%{transform:translateY(-3.2%)}75%{transform:translateY(-1.2%)}88%{transform:translateY(0)}}@keyframes fam-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-1.6%)}}.fam-glow{position:absolute;left:8.3%;top:62%;width:18.2%;height:20.7%;border-radius:50%;background:radial-gradient(circle,rgba(215,190,255,.95) 0,rgba(150,120,255,.45) 45%,rgba(150,120,255,0) 72%);mix-blend-mode:screen;animation:fam-glow 1.8s steps(4) infinite;pointer-events:none}@keyframes fam-glow{0%,to{opacity:.15}50%{opacity:.85}}.spark{position:absolute;width:2px;height:2px;background:var(--gold);box-shadow:2px 0 0 var(--gold),-2px 0 0 var(--gold),0 2px 0 var(--gold),0 -2px 0 var(--gold);opacity:0;animation:spark 2.4s step-end infinite;pointer-events:none}.sp1{left:6%;top:14%;animation-delay:0s}.sp2{left:96%;top:22%;animation-delay:.7s}.sp3{left:60.5%;top:66%;animation-duration:1.2s;animation-delay:.2s}.sp4{left:48%;top:2%;animation-delay:1.5s}.sp5{left:100%;top:70%;animation-delay:1.9s}@keyframes spark{0%,to{opacity:0}30%{opacity:1;transform:scale(.6)}50%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(.6)}85%{opacity:0}}.title-heart{transform-box:fill-box;transform-origin:center;animation:heart-beat 1.6s step-end infinite}@keyframes heart-beat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}48%{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fam-glow,.fam-layer,.say-heart,.spark,.title-heart{animation:none}.fam-layer{display:none}}.picker{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:4px 0 14px}.picker label{margin:0 2px 0 0;flex:0 0 auto}.picker select{flex:1 1 120px;width:auto;min-width:0;max-width:286px;margin:0;padding:3px 8px;font-size:17px;line-height:1.3}.picker .btn{flex:0 0 auto;margin:0;padding:6px 9px;font-size:14px;white-space:nowrap}.share-wrap{position:relative;flex:0 0 auto}.share-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:168px;padding:6px;background:var(--panel-2);box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),6px 6px 0 0 rgba(0,0,0,.35)}.share-menu a,.share-menu button{display:block;width:100%;box-sizing:border-box;margin:0;padding:8px 10px;border:0;background:transparent;color:var(--cream);font-family:var(--font-display);font-size:13px;letter-spacing:.04em;text-align:left;text-decoration:none;text-transform:uppercase;cursor:pointer}.share-menu a:hover,.share-menu button:hover{background:rgba(255,212,92,.14);color:var(--gold)}.share-menu-privacy{margin:4px 6px 8px;font-size:12px;line-height:1.3;text-transform:none;letter-spacing:0;color:var(--muted,#b8a8d4)}.share-menu-label{margin:8px 6px 2px;font-family:var(--font-display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#b8a8d4);opacity:.85}.share-menu-note{margin:6px 6px 2px;font-size:12px;line-height:1.3;color:var(--gold)}.share-gift-note{margin:0 4px 14px;padding:8px 10px;background:rgba(155,127,212,.2);color:#e8d9ff}.account-page-section h2{margin:0 0 10px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.account-email{margin:0;word-break:break-word;font-family:var(--font-display);font-size:16px;color:var(--cream)}.account-payments,.account-profiles{list-style:none;margin:0 0 12px;padding:0}.account-payments li,.account-profiles li{margin:0 0 10px}.account-profiles a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--cream)}.account-profiles a:hover b{color:var(--gold)}.account-other-profiles{display:block;margin:0 0 12px}.account-other-profiles>span{display:block;margin:0 0 4px;font-size:13px}.account-other-profiles select{width:100%;margin:0;font-size:15px;padding:8px 10px}.account-add{margin-top:4px}.account-cookies{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--font-display);font-size:16px}.account-payments li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.account-payments li>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.account-pay-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;font-family:var(--font-display);font-size:13px}.account-logout{width:100%;margin:8px 4px 24px}.account-profile-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.account-profile-row a{flex:1 1 auto;min-width:0}.account-danger{margin-bottom:32px}.link-danger{flex:0 0 auto;margin:4px 0 0;padding:0;border:0;background:none;color:var(--red);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}.link-danger:hover{color:var(--pink)}.btn.danger{background:var(--red);color:var(--cream)}.confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.confirm-actions .btn{flex:1 1 120px}.date-scroll{display:flex;gap:8px;margin-bottom:4px}.date-scroll select{flex:1 1;min-width:0;margin:0}.date-scroll select#date-year{flex:0.9 1}.date-scroll select#date-month{flex:1.35 1}.big3-row{margin:0 0 24px}.big3-row,.big3-row>div{display:flex;flex-wrap:nowrap;gap:6px}.big3-row .chip{margin:0;padding:2px 7px;gap:4px;font-size:15px;white-space:nowrap;box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.big3-row .chip .glyph{font-size:14px}.splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#070514;overflow:hidden;animation:splash-in .4s ease-out both;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.splash:focus,.splash:focus-visible{outline:none}.splash-bg{position:absolute;inset:-30px;background-size:cover;background-position:50%;filter:blur(22px) brightness(.55)}.splash-frame{position:relative;flex:none;width:max(100vw,calc(100dvh * 585 / 1024));height:max(100dvh,calc(100vw * 1024 / 585))}@media (min-aspect-ratio:4/5){.splash-frame{width:auto;height:min(100dvh,calc(100vw * 1024 / 585));aspect-ratio:585/1024}}.splash-img{display:block;width:100%;height:100%;image-rendering:pixelated}.splash-text{position:absolute;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-height:1.4em;margin:0;padding:3px 4px;text-align:center;font-family:var(--font-pixel);font-weight:300;font-size:21px;letter-spacing:.04em;color:var(--gold);background:none;text-shadow:2px 2px 0 rgba(8,4,24,.9)}.splash-sparkles{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.splash-sparkles .spark{animation:pass-sparkle 1.4s ease-in-out infinite;filter:drop-shadow(0 0 3px #fffef5) drop-shadow(0 0 6px rgba(255,212,92,.9))}.splash-sparkles .spark.s1{animation-delay:0s}.splash-sparkles .spark.s2{animation-delay:.2s}.splash-sparkles .spark.s3{animation-delay:.35s}.splash-sparkles .spark.s4{animation-delay:.15s}.splash-sparkles .spark.s5{animation-delay:.45s}.splash-sparkles .spark.s6{animation-delay:.05s}.splash-text .caret{display:inline-block;width:.5em;height:.9em;margin-left:2px;vertical-align:-.1em;background:var(--gold);animation:caret-blink .6s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}@keyframes splash-in{0%{opacity:0}to{opacity:1}}.say{display:flex;gap:18px;align-items:center;margin:4px 4px 24px}.say-avatar-wrap{position:relative;flex:0 0 auto;line-height:0}.say .avatar{display:block;width:96px;height:96px;object-fit:contain;object-position:bottom;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.35))}.say-heart{position:absolute;pointer-events:none;line-height:0;filter:drop-shadow(1px 1px 0 rgba(40,8,24,.45));animation:say-heart-pop 1.8s steps(2) infinite}.say-heart.h1{top:-6px;left:2px;animation-delay:0s}.say-heart.h2{top:10px;right:-8px;animation-delay:.35s}.say-heart.h3{bottom:22px;left:-10px;animation-delay:.7s}.say-heart.h4{bottom:0;right:4px;animation-delay:1.05s}.say-heart.h5{top:42%;right:-4px;animation-delay:.2s}@keyframes say-heart-pop{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-3px) scale(1.12);opacity:.85}}.container>.say .avatar,.say .avatar.big{width:140px;height:140px}.bubble{position:relative;flex:1 1;min-width:0;padding:8px 12px 10px;background:#fff3b8;color:#3a2a12;font-family:var(--font-pixel);font-weight:300;font-size:18px;line-height:1.12;letter-spacing:.02em;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),6px 6px 0 0 rgba(0,0,0,.35)}.bubble:before{left:-13px;margin-top:-7px;border:7px solid transparent;border-right:7px solid var(--ink);border-left:0}.bubble:after,.bubble:before{content:"";position:absolute;top:50%}.bubble:after{left:-9px;margin-top:-5px;border:5px solid transparent;border-right-color:#fff3b8;border-left:0}.bubble p{max-width:none;margin:0 0 8px}.bubble .who{margin:0 0 5px;padding-bottom:4px;border-bottom:2px dotted rgba(58,42,18,.35);font-family:var(--font-pixel);font-weight:300;font-size:15px;line-height:1.1;letter-spacing:.03em;color:#8a5a12}.bubble p:last-child,.bubble ul:last-child{margin-bottom:0}.bubble ul{margin:0 0 8px;padding-left:18px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:20px}.grid-2,.grid-3{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:20px}.hero{text-align:center;padding-top:16px}.hero h1{font-size:36px;color:var(--gold);line-height:1.5}.hero .lead{max-width:560px;margin:0 auto 20px;font-size:19px;color:var(--muted)}.crew{display:flex;justify-content:center;align-items:flex-end;gap:8px;margin:24px 0 8px;flex-wrap:wrap}.crew img{height:130px;width:auto;object-fit:contain;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.4));animation:bob 2.4s steps(3) infinite}.crew img:nth-child(2){animation-delay:.3s}.crew img:nth-child(3){animation-delay:.6s}.crew img:nth-child(4){animation-delay:.9s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin:3px 6px 3px 0;background:var(--night-3);box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink);font-size:16px}.chip .glyph{font-family:Apple Symbols,Segoe UI Symbol,Noto Sans Symbols,DejaVu Sans,sans-serif;font-size:16px;color:var(--gold)}.table{width:100%;border-collapse:collapse;font-size:16px}.table th{font-family:var(--font-display);font-size:13px;text-align:left;color:var(--gold);padding:6px 8px;border-bottom:4px solid var(--ink)}.table td{padding:6px 8px;border-bottom:2px solid rgba(13,6,32,.6)}.heat{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px}.heat a{display:block;text-align:center;padding:10px 4px;color:var(--ink);font-family:var(--font-display);font-size:13px;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.heat a:hover{text-decoration:none;filter:brightness(1.15)}.heat a b{display:block;font-size:14px;margin-top:4px}.c-strong{background:var(--green)}.c-steady{background:var(--gold)}.c-mixed{background:var(--orange)}.c-tender{background:var(--pink)}.cal{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal .dow{color:var(--muted)}.cal .day,.cal .dow{font-family:var(--font-display);font-size:13px;text-align:center}.cal .day{padding:8px 0;color:var(--ink)}.cal .day.best{outline:4px solid var(--cream)}.cal .day.worst{outline:4px dashed var(--cream)}.cal .day.empty{background:transparent}.timeline{border-left:4px solid var(--ink);padding-left:16px;margin-left:6px}.timeline .item{position:relative;margin-bottom:18px}.timeline .item:before{content:"";position:absolute;left:-24px;top:6px;width:12px;height:12px;background:var(--gold);box-shadow:0 0 0 4px var(--ink)}.timeline .when{font-family:var(--font-display);font-size:13px;color:var(--gold)}.timeline .item.moon:before{background:var(--cream)}.timeline .item.eclipse:before{background:var(--pink)}.timeline .item.retrograde:before{background:var(--orange)}.timeline .item.ingress:before{background:var(--teal)}.row,.spread{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.loading{text-align:center;padding:40px 0;font-family:var(--font-display);font-size:13px;color:var(--gold)}.loading img{width:90px;height:90px;object-fit:contain;display:block;margin:0 auto 14px;animation:bob 1s steps(2) infinite}.disclaimer{font-size:14px;color:var(--muted);text-align:center;max-width:640px;margin:24px auto}.year-card{display:block;color:var(--cream)}.year-card:hover{text-decoration:none;filter:brightness(1.08)}.year-card .year{font-family:var(--font-display);font-size:16px;color:var(--gold)}.year-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:0 0 8px}.year-grid .year-card,.year-grid .year-card .box{height:100%}.year-grid .year-card .box{margin-bottom:0}.year-grid h3{line-height:1.25}.year-grid .year-card p,.year-grid h3{font-size:15px}.profile-bar{margin:0 0 12px}.wheel{display:block;width:100%;max-width:520px;margin:0 auto}.chart-tools{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}.chart-tool-toggles{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 8px;gap:6px 8px}.chart-tool-toggle{display:block;width:100%;box-sizing:border-box;cursor:pointer;border:0;text-align:left;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:12px;line-height:1.2;color:var(--cream);background:var(--panel-2);padding:7px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.chart-tool-toggle:before{content:"+ "}.chart-tool-toggle.open:before{content:"– "}.chart-tool-toggle.disabled,.chart-tool-toggle:disabled{opacity:.45;cursor:not-allowed}.chart-panel-body,.chart-planets-box,.chart-wheel-box{margin-bottom:0}.chart-planets-box,.chart-wheel-box{padding-top:12px;padding-bottom:14px}.chart-panel-body .box.tight{margin-bottom:12px}.chart-panel-body .grid-2{margin-top:0}.why-fold summary{cursor:pointer;color:#8a5a12;font-family:var(--font-pixel);letter-spacing:.04em;font-size:16px;list-style:none}.why-fold summary::-webkit-details-marker{display:none}.why-fold summary:before{content:"+ "}.why-fold[open] summary:before{content:"– "}.why-fold .why{margin-top:8px}.bubble .why{color:#5a4320;font-size:18px;margin-bottom:0}.id-box{padding:8px 12px;margin-bottom:12px}.id-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.id-row h2{margin:0;font-size:18px;line-height:1.15}.id-row .badge{font-size:11px;padding:2px 7px}.id-meta{color:var(--muted);font-size:13px;line-height:1.2}.caveat{color:var(--gold);margin:4px 0 0;font-size:12px}.chart-row{align-items:start;margin-bottom:8px}.legend{text-align:center;color:var(--muted);font-size:15px;margin:8px 0 0}.placements{display:flex;flex-direction:column}.pl-row{display:grid;grid-template-columns:26px 96px 1fr 34px;align-items:baseline;grid-gap:4px;gap:4px;padding:6px 2px;border-bottom:1px solid rgba(255,244,214,.1);font-size:19px}.pl-row:last-child{border-bottom:0}.pl-glyph{color:var(--gold);font-family:Apple Symbols,Segoe UI Symbol,Noto Sans Symbols,DejaVu Sans,sans-serif;font-size:18px}.pl-name{color:var(--muted)}.pl-row.key .pl-name{color:var(--gold)}.pl-sg{font-family:Apple Symbols,Segoe UI Symbol,Noto Sans Symbols,DejaVu Sans,sans-serif;font-size:17px}.pl-deg,.pl-house,.pl-sg{color:var(--muted)}.pl-house{text-align:right;font-size:16px}.portrait{padding:22px 22px 10px}.portrait-section{margin-bottom:26px}.portrait-section h3{color:var(--gold);font-size:22px;margin-bottom:10px}.portrait-section p{max-width:62ch;line-height:1.4}.mix{display:flex;gap:2px;margin:12px 0 0;max-width:460px}.mix span{flex-basis:0;min-width:0;color:var(--ink);font-size:14px;line-height:1;padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:clip}.fold{margin:0 4px 20px}.fold summary{cursor:pointer;list-style:none;display:inline-block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:15px;color:var(--cream);background:var(--panel-2);padding:8px 14px;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.fold summary::-webkit-details-marker{display:none}.fold summary:before{content:"+ "}.fold[open] summary:before{content:"– "}.year-fold-body{margin-top:14px}.month-archive-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.month-archive-title{font-family:var(--font-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.month-archive-note{margin:10px 0 0}@media (max-width:720px){body{font-size:17px}.grid-2,.grid-3{grid-template-columns:1fr}.chart-tool-toggles{gap:4px 6px}.chart-tool-toggle{font-size:10px;padding:5px 7px}.picker select{min-width:0;max-width:156px}.reading-row{gap:12px;padding:12px}.row-avatar{width:72px;height:72px}.row-avatar img{width:64px;height:64px;margin:4px}.menu-byline{font-size:13px}.score-row .name{width:130px}.say .avatar{width:72px;height:72px}.say .avatar.big{width:100px;height:100px}.hero h1{font-size:27px}.crew img{height:90px}.heat{grid-template-columns:repeat(4,1fr)}.meter .seg{width:14px}}@media (prefers-reduced-motion:reduce){.crew img,.loading img,.sky .stars-twinkle{animation:none}}@media (max-width:480px){.home-top{gap:12px}.family-scene{flex-basis:138px;width:138px}.family-anim{width:102px}.outlook{padding:7px 8px 9px}.outlook-head{font-size:13px}.bubble,.outlook-text{font-size:16.5px}.bubble{padding:7px 10px 9px}.bubble .who{font-size:13px}}.header-right{display:flex;align-items:center;gap:10px}.header-right .btn{margin:4px 0}.cookie-count-box{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin:4px 0;color:var(--gold);background:var(--panel-2);box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.cookie-count{font-family:var(--font-pixel);font-weight:300;font-size:22px;line-height:1;min-width:1ch;letter-spacing:.03em}.bake-btn{margin:4px 0;padding:8px 10px;cursor:pointer;border:0;color:var(--ink);background:var(--gold);font-family:var(--font-display);font-size:13px;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),inset -3px -3px 0 0 #d9a82a}.bake-btn span{display:inline}.bake-btn:hover{background:#ffe07f}.bake-btn:active{transform:translateY(2px)}@media (max-width:440px){.header-right{gap:8px}.bake-btn{padding:5px 9px;font-size:11px;line-height:1.15;white-space:normal}.bake-btn span{display:block}.brand{font-size:12px;gap:8px}}.sheet-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(8,4,24,.7);animation:splash-in .2s ease-out both}.cookie-shop-backdrop{z-index:120}.unlock-popup-backdrop{z-index:90}@media (min-height:700px){.sheet-backdrop{align-items:center}}.sheet.box{width:100%;max-width:400px;max-height:calc(100dvh - 32px);overflow-y:auto;margin:0;padding:14px 16px;text-align:center;background:#fff3b8;color:#3a2a12}.sheet.box h2{margin:0 0 4px;font-family:var(--font-pixel);font-weight:300;font-size:30px;letter-spacing:.03em;color:#8a5a12}.sheet-crew{display:block;width:96px;height:auto;margin:0 auto 2px;image-rendering:pixelated}.sheet-sub{margin:0 0 12px;font-size:18px;line-height:1.2}.sheet-bal{font-family:var(--font-pixel);font-weight:300;font-size:24px;color:#8a5a12}.sheet-close{position:absolute;top:6px;right:8px;width:30px;height:30px;border:0;background:transparent;color:#3a2a12;font-size:28px;line-height:1;cursor:pointer}.packs{display:grid;grid-gap:8px;gap:8px;margin:0 0 10px;padding:0;list-style:none}.pack{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;text-align:left;cursor:pointer;border:0;color:#3a2a12;background:#fffaf0;font-family:var(--font-body);box-shadow:0 -3px 0 0 #3a2a12,0 3px 0 0 #3a2a12,-3px 0 0 0 #3a2a12,3px 0 0 0 #3a2a12}.pack:hover{background:#fff}.pack.best{background:#ffe48a}.pack-main{display:flex;align-items:center;gap:8px}.pack-n{min-width:1.6ch;font-family:var(--font-pixel);font-weight:300;font-size:28px;line-height:1}.pack-title{display:flex;flex-direction:column;font-size:18px;line-height:1.05}.pack-title small{font-size:14px;color:#8a5a12}.pack-price{flex:none;padding:3px 9px;color:var(--ink);background:var(--gold);font-family:var(--font-display);font-size:15px}.pass{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:10px 10px 11px;text-align:center;cursor:pointer;border:0;color:var(--cream);background:linear-gradient(180deg,#5a3a9a,#2a1858 48%,#1a0e3a);font-family:var(--font-body);box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),inset 0 2px 0 rgba(255,244,214,.22),inset 0 -3px 0 rgba(0,0,0,.28),0 0 18px rgba(255,212,92,.28)}.pass:hover{background:linear-gradient(180deg,#6a48b0,#352068 48%,#22124a);box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),inset 0 2px 0 rgba(255,244,214,.3),inset 0 -3px 0 rgba(0,0,0,.28),0 0 22px rgba(255,212,92,.42)}.pass-line{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0}.pass-deco{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.pass-star.spark{animation:pass-sparkle 1.4s ease-in-out infinite;filter:drop-shadow(0 0 3px #fffef5) drop-shadow(0 0 6px rgba(255,212,92,.9))}.pass-star.spark.s1{animation-delay:0s}.pass-star.spark.s2{animation-delay:.2s}.pass-star.spark.s3{animation-delay:.35s}.pass-star.spark.s4{animation-delay:.15s}.pass-star.spark.s5{animation-delay:.45s}.pass-star.spark.s6{animation-delay:.05s}@keyframes pass-sparkle{0%,to{opacity:.35;transform:scale(.75)}40%{opacity:1;transform:scale(1.15)}55%{opacity:1;transform:scale(1)}70%{opacity:.55;transform:scale(.9)}}.pass-title{display:inline-flex;align-items:baseline;gap:8px;flex:0 1 auto;min-width:0;white-space:nowrap}.pass-gloss{flex:0 0 auto;font-size:22px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(180deg,#fffef5,#ffe083 38%,#ffd45c 62%,#c98a10);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px rgba(255,212,92,.55)) drop-shadow(0 1px 0 rgba(255,248,220,.85))}.pass-gloss,.pass-price{font-family:var(--font-display)}.pass-price{font-size:15px;letter-spacing:.04em;color:#fff6c8;text-shadow:0 0 10px rgba(255,212,92,.65),0 1px 0 rgba(255,248,220,.4)}.pass-billing,.pass-price{display:block;text-transform:uppercase}.pass-billing{font-family:var(--font-display);font-size:13px;letter-spacing:.05em;color:#ffe9a0;text-shadow:0 0 8px rgba(255,212,92,.4)}.pass small{display:block;margin-top:0;font-size:14px;line-height:1.15;color:#cbb8f0}@media (max-width:440px){.pass-gloss{font-size:18px;letter-spacing:.05em}.pass-price{font-size:15px}.pass-billing{font-size:11px}.pass-line,.pass-title{gap:6px}}.sheet-thanks{padding:6px 8px;background:#fff;border:2px dashed #8a5a12;font-size:16px}.sheet-fine,.sheet-thanks{margin:10px 0 0;line-height:1.15}.sheet-fine{font-size:14px;color:#7a6430}.year-jump{display:flex;align-items:center;gap:10px;padding:5px 12px;margin:4px 4px 10px;min-height:42px;box-sizing:border-box}.year-jump label{margin:0;font-size:13px;white-space:nowrap}.year-jump select{flex:1 1 90px;max-width:190px;margin:0;padding:3px 10px;font-size:16px;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.year-jump .btn{margin:0;padding:6px 10px;flex:0 0 auto;white-space:nowrap}.year-section-title{margin:10px 4px 8px;font-size:18px}.year-rows{display:flex;flex-direction:column;gap:0;margin:0 0 8px}.year-row{margin-bottom:8px}.year-row-num{flex:0 0 auto;font-family:var(--font-display);font-size:16px;letter-spacing:.04em;color:var(--gold);min-width:3.2ch}.year-row-spacer{flex:1 1 auto;min-width:4px}.year-row .badge{flex:0 0 auto}.year-row .unlock-btn.compact{margin:0;padding:5px 9px;font-size:12px;gap:6px}.year-row .unlock-btn.compact .unlock-cost{gap:3px;font-size:12px}.year-hero{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px 12px!important;margin:4px 4px 18px;min-height:0;background:#3d2a68;box-shadow:0 -3px 0 0 #9b7fd4,0 3px 0 0 #9b7fd4,-3px 0 0 0 #9b7fd4,3px 0 0 0 #9b7fd4,6px 6px 0 0 rgba(0,0,0,.3)}.year-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.year-hero-num{font-family:var(--font-display);font-size:22px;letter-spacing:.04em;line-height:1;color:#e8d9ff}.year-hero .year-tagline{margin:0;font-family:var(--font-pixel);font-weight:300;font-size:18px;letter-spacing:.02em;line-height:1.35;color:#ffe9a0;text-wrap:pretty}.year-hero .year-summary{margin:0;max-width:none;font-size:inherit;line-height:inherit;color:#f3ebff}.year-hero .year-summary+.year-summary{margin-top:8px}.theme-line{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px;margin:0 0 4px}.tcell.badge{display:flex;flex-direction:column;align-items:center;margin:2px 0;padding:4px 2px 3px;text-align:center;line-height:1.1;white-space:nowrap}.tcell .tc-top{font-size:14px;letter-spacing:.02em}.tcell .tc-name{font-size:10px;letter-spacing:.04em}.tcell.dim{background:#24124a;color:var(--muted)}.locked-card .locked-line{margin:10px 0}.unlock{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:10px}.unlock-btn{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border:0;color:var(--ink);background:var(--gold);font-family:var(--font-display);font-size:13px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink),inset -3px -3px 0 0 #d9a82a}.unlock-btn:hover{background:#ffe07f}.unlock-btn.compact{flex:0 0 auto;white-space:nowrap}.unlock-cost{display:inline-flex;align-items:center;gap:4px;padding-left:10px;border-left:2px solid rgba(13,6,32,.35);font-family:var(--font-pixel);font-size:20px;line-height:1}.reading-row.launching{background:var(--night-3);animation:row-flash .75s steps(5)}.reading-row.launching .row-avatar img{animation:avatar-hop .75s steps(4)}.reading-row.launching .arrow{transform:translateX(8px)}@keyframes row-flash{0%,to{filter:brightness(1)}25%{filter:brightness(1.35)}60%{filter:brightness(1.15)}}@keyframes avatar-hop{0%,to{transform:translateY(0)}30%{transform:translateY(-10px)}60%{transform:translateY(-4px)}}.burst{inset:0;pointer-events:none;z-index:3}.bp,.burst{position:absolute}.bp{width:0;height:0;opacity:0;animation:bp-fly .7s steps(7) forwards}.bp-dot:before,.bp-star:before{content:"";position:absolute;left:-1px;top:-1px;width:calc(2px * var(--s));height:calc(2px * var(--s));background:var(--c);box-shadow:calc(2px * var(--s)) 0 0 var(--c),calc(-2px * var(--s)) 0 0 var(--c),0 calc(2px * var(--s)) 0 var(--c),0 calc(-2px * var(--s)) 0 var(--c)}.bp-dot:before{box-shadow:none}.bp-moon svg{position:absolute;left:-7px;top:-7px;transform:rotate(-35deg)}@keyframes bp-fly{0%{opacity:1;transform:translate(0) scale(.3)}55%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1.2)}80%{opacity:1;transform:translate(calc(var(--dx) * 1.15),calc(var(--dy) * 1.15 + 8px)) scale(.8)}to{opacity:0;transform:translate(calc(var(--dx) * 1.2),calc(var(--dy) * 1.2 + 16px)) scale(.4)}}@media (prefers-reduced-motion:reduce){.bp,.reading-row.launching,.reading-row.launching .row-avatar img{animation:none}}.cookie-burst-host{position:fixed;inset:0;pointer-events:none;z-index:80;overflow:hidden}.cookie-burst,.cookie-burst-p{position:absolute;width:0;height:0}.cookie-burst-p{left:0;top:0;opacity:0;animation:cookie-burst-fly .85s steps(8) forwards}.cookie-burst-p svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-28deg);filter:drop-shadow(0 0 4px rgba(255,212,92,.7))}.cookie-burst-crumb{position:absolute;left:-3px;top:-3px;width:6px;height:6px;background:var(--c);box-shadow:0 -2px 0 var(--c),0 2px 0 var(--c),-2px 0 0 var(--c),2px 0 0 var(--c)}@keyframes cookie-burst-fly{0%{opacity:1;transform:translate(0) scale(.25) rotate(0deg)}45%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1.25) rotate(var(--spin))}75%{opacity:1;transform:translate(calc(var(--dx) * 1.12),calc(var(--dy) * 1.12 + 10px)) scale(.9) rotate(calc(var(--spin) * 1.4))}to{opacity:0;transform:translate(calc(var(--dx) * 1.2),calc(var(--dy) * 1.25 + 22px)) scale(.35) rotate(calc(var(--spin) * 1.7))}}@media (prefers-reduced-motion:reduce){.cookie-burst-p{animation:none;opacity:0}}.placements-table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.1}.placements-table th{padding:2px 4px 5px;text-align:left;font-family:var(--font-display);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid rgba(255,244,214,.22)}.placements-table td{padding:4px;border-bottom:1px solid rgba(255,244,214,.08);white-space:nowrap}.placements-table tr:last-child td{border-bottom:0}.placements-table td.pl-house,.placements-table th:last-child{text-align:right;width:56px;padding-right:8px}.placements-table td.pl-deg{text-align:right;width:52px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.placements-table tr.key td:first-child{color:var(--gold)}.placements-table .pl-glyph{display:inline-block;width:22px;text-align:center;font-size:16px}.placements-table .pl-house{color:var(--cream)}.pl-note{margin:6px 4px 0;font-size:13px}.time-note{margin:4px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.time-note-text{margin:0;font-size:12px;line-height:1.25;color:var(--muted);max-width:42ch}.portrait-fold{margin:0 0 12px;padding:0}.portrait-fold>summary{list-style:none;cursor:pointer;padding:12px 36px 12px 16px;font-family:var(--font-display);font-size:18px;color:var(--gold);letter-spacing:.04em}.core-fold>summary{font-size:16px;line-height:1.25;white-space:normal;letter-spacing:.02em}.portrait-fold>summary::-webkit-details-marker{display:none}.portrait-fold>summary:after{content:"+";float:right;color:var(--muted);font-size:20px;line-height:1}.portrait-fold[open]>summary:after{content:"–"}.portrait-fold-body{padding:0 16px 14px}.portrait-fold-body p{max-width:62ch;line-height:1.4;margin:0 0 10px}.portrait-fold-body p:last-of-type{margin-bottom:0}.portrait-fold-body .mix{margin-top:12px}.portrait-fold-locked{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;margin:0 0 12px;padding:12px 16px;border:0;text-align:left;cursor:pointer;opacity:.92;font:inherit;color:inherit;background:var(--panel)}.portrait-fold-locked:hover .portrait-fold-hook{color:#ffe9a0}.portrait-fold-hook{font-family:var(--font-display);font-size:16px;line-height:1.25;letter-spacing:.02em;color:var(--gold);flex:1 1;min-width:0}.portrait-fold-plus,.year-locked-plus{flex-shrink:0;font-family:var(--font-display);font-size:20px;line-height:1;color:var(--muted)}.year-locked-hooks{margin:0 0 16px}.year-locked-hook{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 8px;padding:10px 14px;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.year-locked-hook:hover h3{color:#ffe9a0}.year-locked-hook h3{margin:0;font-size:15px}.year-locked-hook .hint{margin:4px 0 0}.unlock-popup{text-align:center}.unlock-popup .unlock{align-items:center;margin-top:12px}.unlock-popup .unlock-btn{justify-content:center}.unlock-pitch{margin:0 0 12px;font-family:var(--font-pixel);font-weight:300;font-size:18px;line-height:1.35;color:#5a4018;text-wrap:pretty}.unlock-popup .hint{color:#5a4018;text-align:center}.lock-box{margin:8px 0 24px}.lock-box h2{margin:0 0 6px}.lock-box .hint{margin:0 0 12px}.reading-row.soon{opacity:.8;cursor:default;padding-top:28px}.reading-row.soon:hover{background:inherit}.reading-row.soon .row-avatar img{filter:grayscale(.4) drop-shadow(4px 4px 0 rgba(0,0,0,.35))}.soon-tag{position:absolute;top:0;right:0;left:auto;z-index:2;font-family:var(--font-pixel,inherit);font-size:14px;color:var(--ink);background:var(--gold);padding:2px 8px;text-transform:uppercase;letter-spacing:.06em;box-shadow:3px 3px 0 0 rgba(0,0,0,.35);white-space:nowrap}@media (max-width:440px){.soon-tag{font-size:12px;padding:2px 6px}}.coming-soon{padding-bottom:48px}.coming-soon-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 10px;font-family:var(--font-head);font-size:clamp(22px,6vw,30px);color:var(--cream);text-shadow:3px 3px 0 var(--ink)}.coming-soon-box{text-align:center}.coming-soon-note{margin:0;color:var(--cream);line-height:1.35}.auth{max-width:460px;padding-top:28px}.auth-crew{display:flex;justify-content:center;align-items:flex-end;gap:4px;margin-bottom:12px}.auth-crew img{height:min(22vw,92px);width:auto;object-fit:contain;filter:drop-shadow(3px 3px 0 rgba(0,0,0,.35))}.auth-title{text-align:center;color:var(--gold);font-family:var(--font-pixel);font-weight:300;font-size:clamp(22px,5.6vw,32px);line-height:1.12;letter-spacing:.02em;margin:0 0 18px;text-shadow:3px 3px 0 var(--ink)}.auth-title-line{display:block;margin-top:8px;color:var(--cream);font-size:.72em;text-shadow:2px 2px 0 var(--ink)}.auth-heart{display:inline-block;vertical-align:-.15em;margin-left:6px;filter:drop-shadow(2px 2px 0 var(--ink))}.auth-lead{text-align:center;color:var(--muted);margin:0 0 18px}.auth-google{display:inline-flex;align-items:center;justify-content:center;gap:10px}.auth-google svg{flex-shrink:0}.auth-box input{margin-bottom:12px}.auth-tabs{display:flex;gap:8px;margin-bottom:14px}.auth-tabs button{flex:1 1;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;color:var(--cream);background:var(--night-2,#2b1650);border:0;cursor:pointer;box-shadow:0 -3px 0 0 var(--ink),0 3px 0 0 var(--ink),-3px 0 0 0 var(--ink),3px 0 0 0 var(--ink)}.auth-tabs button.on{background:var(--gold);color:var(--ink)}.auth-guest,.auth-submit{width:100%;margin:4px 0 0}.auth-error{color:#ff8a8a;margin:0 0 10px}.auth-or{text-align:center;color:var(--muted);margin:14px 0 10px}.auth-note{margin:14px 0 0;text-align:center}.account-line{text-align:center;color:var(--muted);font-size:15px;margin:0 0 8px}.account-line button{font:inherit;color:var(--gold);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.match-pick-row{display:grid;grid-template-columns:1fr 1fr minmax(140px,.85fr);grid-gap:8px;gap:8px;margin-bottom:8px;align-items:stretch}.match-pick-box{padding:8px 10px;background:var(--pink);color:var(--ink);box-shadow:0 -4px 0 0 var(--ink),0 4px 0 0 var(--ink),-4px 0 0 0 var(--ink),4px 0 0 0 var(--ink);min-width:0}.match-pick-box label{display:block;margin:0 0 6px;font-family:var(--font-display);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:.8}.match-pick-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.match-pick-box select{flex:1 1 auto;min-width:0;width:auto;max-width:120px;margin:0;padding:3px 6px;font-size:13px;line-height:1.3;background:#fff;color:var(--ink);box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.match-add-btn{flex:0 0 auto;padding:4px 7px!important;font-size:12px!important;text-decoration:none}.match-form{max-width:none;margin-bottom:0}.match-form select{width:100%;max-width:none;margin:0;padding:3px 6px;font-size:13px;line-height:1.3;background:#fff;color:var(--ink);box-shadow:0 -2px 0 0 var(--ink),0 2px 0 0 var(--ink),-2px 0 0 0 var(--ink),2px 0 0 0 var(--ink)}.match-pair{font-size:clamp(1.1rem,4vw,1.6rem)!important;letter-spacing:.02em}.match-persona-line{margin:4px 0 8px;font-size:14px;line-height:1.3}@media (max-width:640px){.match-pick-row{grid-template-columns:1fr}}.match-donuts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;text-align:center;margin-bottom:8px;padding:14px 10px 12px}.match-donut{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.match-donut-svg{width:72px;height:72px;transform:rotate(-90deg)}.match-donut-fill,.match-donut-track{fill:none;stroke-width:8}.match-donut-track{stroke:rgba(255,244,214,.14)}.match-donut-fill{stroke-linecap:butt;transition:stroke-dashoffset .4s ease}.match-donut-value{position:absolute;top:22px;left:0;right:0;font-family:var(--font-pixel);font-size:20px;line-height:1;color:var(--cream);pointer-events:none}.match-donut-label{font-family:var(--font-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media (max-width:440px){.match-donuts{grid-template-columns:repeat(2,1fr)}}