@import url('/static/fonts/fonts.css');
:root{--ink:#233b34;--green:#173e35;--green-light:#eaf0e9;--pink:#f3abcd;--pink-light:#fbe7ee;--paper:#faf9f5;--line:#e5e6de;--muted:#7c857d;--gold:#bd9d66;--white:#fff;--radius:18px;--sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--serif:'Lora',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18;letter-spacing:-.045em;font-weight:500}h1{font-size:42px}h2{font-size:28px}h3{font-size:19px}em{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ce638e;outline-offset:4px}button{color:inherit}img{max-width:100%}p{line-height:1.75}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;letter-spacing:.01em;margin-bottom:17px}label small{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;background:#fff;border:1px solid #dce0d6;border-radius:9px;padding:12px 13px;color:var(--ink);min-width:0;font-size:14px}textarea{resize:vertical;min-height:95px}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:18px;height:18px}input[type=file]{font-size:11px;padding:8px}form{margin:0}fieldset{border:0;margin:0;padding:0}details>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600;padding:12px 0}details>summary::-webkit-details-marker{display:none}details>summary:after{content:'＋';font-size:17px;font-weight:400}details[open]>summary:after{content:'−'}details[open]>summary{margin-bottom:12px}details form+form{margin-top:14px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:17px 12px;border-bottom:1px solid var(--line)}td{padding:18px 12px;border-bottom:1px solid var(--line);font-size:13px}td details{min-width:90px}td details[open]{min-width:240px}td small{display:block;color:var(--muted)}time{font-size:11px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;border-radius:8px;padding:13px 19px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s;min-height:46px}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.primary:hover{background:#245548}.secondary{background:transparent;border-color:#cdd6c8}.secondary:hover{background:var(--green-light)}.text-button{padding:5px 0;background:none;border:0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.small{font-size:11px}.danger{color:#a5434e}.eyebrow{font-size:9px;font-weight:650;letter-spacing:.17em;display:flex;align-items:center;gap:8px;line-height:1.8}.dot{display:inline-block;width:6px;height:6px;background:#809e7c;border-radius:50%;flex:none}.lead{font-size:16px;line-height:1.9;color:#627066}.fine{font-size:11px;line-height:1.8;color:var(--muted)}.muted{color:var(--muted);margin:12px 0 25px}.badge{font-size:9px;font-weight:600;letter-spacing:.04em;line-height:1.5;padding:6px 10px;border-radius:5px;background:#f0f0e9;display:inline-block}.badge.complete{background:#e6efdf;color:#476044}.notice{border:1px solid #e5d8b8;background:#faf5e9;border-radius:10px;padding:17px 20px;font-size:13px;margin-bottom:24px}.notice.success{background:var(--green-light);border-color:#cad8c7}.notice.warning{background:#fff0e8;border-color:#edbda9}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin-bottom:24px}.card h2+form,.card p+form{margin-top:24px}.card-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:25px;font-size:12px}.empty{padding:55px 30px;text-align:center}.empty h2,.empty h3{margin:14px 0}.empty p{color:var(--muted)}.empty .button{margin-top:24px}.empty-symbol{font-size:46px;color:#aa8b64;line-height:1.4;display:block}.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}.form-grid .button{justify-self:start}.inline-form{display:flex;gap:12px;align-items:end}.inline-form label{flex:1;margin:0}.inline-form select{flex:1}.two-column{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.two-column>.card{min-width:0}.pink-card{background:var(--pink-light);border-color:transparent}.pink-card h2{font-size:36px;margin:18px 0}.pink-card p{margin-bottom:20px}.green-card{background:var(--green);color:white}.green-card h2{font-size:44px;margin:20px 0}.green-card p{color:#ced8cf}.green-card .fine{margin-top:30px;color:#a7b6aa}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:var(--pink);z-index:100}.skip:focus{top:10px}.wordmark{font-weight:650;font-size:38px;letter-spacing:-2.8px;line-height:1;display:block}.wordmark>span{color:var(--pink);font-size:34px;display:inline-block;margin-left:3px;vertical-align:top}.wordmark>small{display:block;font-size:8px;letter-spacing:.27em;font-weight:400;margin:13px 0 0 2px}.landing{max-width:1600px;margin:auto;padding:0 6vw}.landing-header{height:130px;display:flex;align-items:center;justify-content:space-between}.landing-header>.eyebrow{color:var(--muted)}.landing-grid{display:grid;grid-template-columns:1fr 1fr;min-height:680px;align-items:center;gap:30px}.landing-grid h1{font-size:clamp(50px,5.7vw,84px);line-height:1.05;letter-spacing:-.065em;margin:30px 0}.landing-grid h1 em{color:#a25774}.landing-grid .lead{margin-bottom:30px}.landing-grid .fine{margin-top:18px}.google-g{font-weight:700;font-size:18px;background:white;border-radius:50%;color:var(--green);width:26px;height:26px;display:inline-flex;justify-content:center;align-items:center}.landing-art{position:relative;min-height:640px;background:#f4e7df;border-radius:48% 48% 8px 8px;overflow:hidden;isolation:isolate}.gift-scene{position:absolute;width:280px;height:280px;top:190px;left:calc(50% - 140px);transform:rotate(-9deg)}.gift-box{position:absolute;bottom:0;width:280px;height:230px;background:#dd8cab;box-shadow:20px 26px 0 #debda83b,10px 10px 40px #a0556f26;border-radius:3px}.gift-lid{height:48px;width:300px;position:absolute;top:-12px;left:-10px;background:#ed9fc0;box-shadow:0 5px 5px #ad547128}.gift-ribbon{position:absolute;width:46px;height:100%;left:117px;background:#284e41;z-index:2}.gift-lid:after{content:'';width:46px;height:48px;background:#284e41;left:127px;position:absolute}.gift-bow{position:absolute;width:95px;height:62px;border:15px solid #284e41;border-radius:50% 50% 10% 50%;top:-9px;left:49px;transform:rotate(22deg);z-index:3}.gift-bow.right{left:132px;transform:rotate(150deg)}.gift-tag{position:absolute;right:-25px;top:95px;padding:18px 25px;background:#faf8ee;border-radius:2px;transform:rotate(20deg);z-index:4;font-size:19px;line-height:1.3;box-shadow:0 5px 20px #6b41351c}.gift-tag:before{content:'';position:absolute;width:1px;height:110px;background:#ae8b5e;top:-107px;left:14px;transform:rotate(-20deg)}.gift-tag span{display:block;font-size:6px;letter-spacing:1.2px;margin-top:20px}.orbit{border:1px solid #d8cbb8;border-radius:50%;position:absolute}.orbit-one{width:600px;height:600px;left:-50px;top:90px}.orbit-two{width:420px;height:420px;left:40px;top:180px}.hanging-ornament{position:absolute;right:55px;top:90px;width:65px;height:65px;background:repeating-linear-gradient(90deg,#244a3d 0 8px,#365d4c 8px 12px);border-radius:50%;transform:rotate(-20deg);box-shadow:5px 8px 15px #152e2420}.hanging-ornament:before{content:'';width:1px;height:150px;background:#9f8059;position:absolute;left:31px;bottom:65px}.spark{position:absolute;font-size:55px;color:#9c8055;z-index:3}.spark-one{top:130px;left:60px}.spark-two{bottom:120px;right:50px;font-size:70px}.art-caption{position:absolute;bottom:30px;left:32px}.art-caption>span{font-size:8px;letter-spacing:2px}.art-caption p{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:10px;line-height:1.3}.landing-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:28px 0;margin-top:60px}.demo-login{max-width:360px;margin-top:25px}.demo-login>summary{font-size:12px}.demo-login form{margin-top:20px}.events-shell{max-width:1200px;margin:auto;padding:0 40px}.events-shell main{padding-top:50px}.events-shell h1{font-size:64px;margin:18px 0}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:40px 0}.event-card{background:var(--pink-light);padding:32px;border-radius:var(--radius);transition:transform .3s}.event-card:hover{transform:translateY(-5px)}.event-card h2{font-size:35px}.event-card p{margin-top:12px;color:#7e6a72}.event-star{font-size:68px;color:#ae5e7e;margin:12px 0}.event-card .card-footer{border-color:#e7ccd7}.round-arrow{width:36px;height:36px;background:var(--green);color:white;border-radius:50%;display:grid;place-items:center;font-size:18px}.create-event{max-width:720px}.app-shell{display:flex;min-height:100vh}.sidebar{width:228px;flex:none;background:var(--green);color:#d6dfd4;padding:35px 23px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;overflow-y:auto;z-index:30;scrollbar-width:thin}.sidebar .wordmark{margin:0 15px 35px;color:white;font-size:35px}.season-label{font-size:8px;letter-spacing:.16em;display:flex;align-items:center;gap:8px;padding:0 15px;margin-bottom:17px;color:#97b19d}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{padding:11px 13px;display:flex;gap:11px;align-items:center;border-radius:7px;color:#c4d0c4;font-size:11px;transition:background .2s}.sidebar nav a>span{font-size:18px;width:21px;line-height:1;text-align:center;font-family:Georgia,serif}.sidebar nav a:hover{background:#274e42}.sidebar nav a.active{color:var(--green);background:var(--pink)}.nav-label{font-size:8px;letter-spacing:.17em;color:#8aa390;margin:30px 15px 13px}.sidebar-bottom{margin-top:auto;padding-top:35px}.sidebar-note{border:1px solid #416052;border-radius:10px;padding:18px 15px;font-size:15px;position:relative;line-height:1.4}.sidebar-note em{color:var(--pink)}.sidebar-note>span{position:absolute;right:15px;top:14px;color:var(--pink);font-size:32px}.switch-event{display:block;font-size:10px;color:#a4b7a7;margin:22px 15px 0}.workspace{margin-left:228px;width:calc(100% - 228px);min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 43px;font-size:11px;background:var(--paper)}.topbar>span{color:#7a857a}.topbar-right{display:flex;align-items:center;gap:20px}.event-status{display:flex;align-items:center;gap:7px;font-size:10px}.notification-link{border-left:1px solid var(--line);padding-left:20px;font-size:21px;position:relative;line-height:1}.notification-link b{position:absolute;font-size:8px;right:-10px;top:-9px;background:var(--pink);border-radius:20px;padding:4px;min-width:16px;text-align:center}.user-name{font-size:11px}.main-content{max-width:1500px;padding:43px 43px 0;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.page-heading h1{font-size:36px;margin:12px 0 8px;max-width:800px}.page-heading p{font-size:12px;color:var(--muted)}.heading-star{display:inline-block;font-size:37px;color:#b28294;margin-left:12px;vertical-align:middle}.date-stamp{font-family:var(--serif);font-size:35px;line-height:1;text-align:center;border-left:1px solid var(--line);padding-left:25px;color:#788475;white-space:nowrap}.date-stamp small{display:block;font:8px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-top:8px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:23px}.hero-card{background:#f8e2e8;border-radius:var(--radius);padding:32px;position:relative;overflow:hidden;min-height:332px}.hero-card .eyebrow{color:#947681}.hero-card h2{font-size:39px;line-height:1.1;margin:20px 0 15px;position:relative;z-index:2}.hero-card p{font-size:11px;max-width:55%;color:#7c6d70;margin-bottom:23px;position:relative;z-index:2}.hero-card .button{position:relative;z-index:3}.hero-footnote{font-size:8px;color:#917b80;margin-top:24px}.mini-present{position:absolute;right:28px;top:78px;width:150px;height:170px;transform:rotate(10deg)}.mini-box{width:140px;height:130px;position:absolute;bottom:0;background:#b35c7c;box-shadow:8px 12px 0 #c998aa33;border-radius:2px}.mini-box:before{content:'';width:154px;height:29px;position:absolute;left:-7px;top:-7px;background:#cc7899;box-shadow:0 5px 0 #8a445622}.mini-box:after{content:'';position:absolute;left:58px;top:-7px;width:25px;height:137px;background:#f6ce9c}.mini-box span{position:absolute;right:-17px;top:50px;background:#fff7e8;z-index:2;padding:12px 8px;font-family:var(--serif);font-style:italic;font-size:18px;transform:rotate(-17deg)}.mini-bow{position:absolute;top:-18px;left:29px;font-size:90px;line-height:1;color:#c0a66e;font-family:Georgia,serif;transform:rotate(-8deg)}.mini-present>i{position:absolute;font-style:normal;top:-21px;right:-20px;color:#a27d4c;font-size:30px}.countdown-card{background:var(--green);color:#e9eedd;border-radius:var(--radius);padding:30px;position:relative;overflow:hidden;min-height:332px}.countdown-card:after{content:'';position:absolute;border:1px solid #365648;border-radius:50%;width:250px;height:250px;right:-130px;top:55px;pointer-events:none}.countdown-card .eyebrow{font-size:8px;color:#a5baa5}.countdown-number{font-family:var(--serif);font-size:110px;line-height:1.2;font-weight:400;margin-top:28px;letter-spacing:-8px;font-variant-numeric:tabular-nums}.countdown-label{font-size:11px;color:#acbdac;margin-top:1px}.countdown-star{position:absolute;right:24px;top:70px;font-size:70px;color:#dcafcb;line-height:1}.countdown-bottom{display:flex;justify-content:space-between;border-top:1px solid #40604c;padding-top:17px;margin-top:30px;font-size:10px;color:#d1ddc8}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 20px}.section-heading h2{font-size:18px;font-weight:500;letter-spacing:-.025em}.section-heading>.eyebrow{font-size:8px;color:var(--muted)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-card{border:1px solid var(--line);border-radius:13px;background:white;padding:24px;position:relative;display:block;transition:transform .25s,border-color .25s}.step-card:hover{transform:translateY(-4px);border-color:#bec8b8}.step-number{font-size:9px;letter-spacing:.12em;color:#8c958a}.step-icon{position:absolute;right:25px;top:17px;width:37px;height:37px;background:#f3f2e9;border-radius:50%;display:grid;place-items:center;font-size:25px;color:#8b957f;font-family:Georgia,serif}.step-card h3{margin:27px 0 10px;font-size:20px}.step-card p{font-size:11px;color:var(--muted);max-width:210px;min-height:38px}.step-card .card-footer{margin-top:22px;padding-top:17px;border-color:#eeeee8}.step-card>.step-number+h3{margin-top:35px}.step-card>span:last-child{display:block;margin-top:20px;font-size:11px}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-top:23px}.season-details{padding:27px;margin:0}.season-details .eyebrow{font-size:8px;color:var(--muted)}.season-details h3{margin-top:12px;font-size:18px}.detail-stats{display:flex;justify-content:space-between;margin-top:25px;gap:20px}.detail-stats>div{display:flex;flex-direction:column}.detail-stats strong{font-size:22px;font-weight:500;letter-spacing:-.03em}.detail-stats strong small{font-size:10px}.detail-stats span{font-size:9px;color:var(--muted);margin-top:3px}.secret-note{border:1px solid #e8dfc9;background:#f4f0e4;border-radius:var(--radius);display:flex;align-items:center;gap:17px;padding:27px;position:relative}.secret-note .eyebrow{font-size:8px;color:#93866d}.secret-note h3{font-size:17px;margin:8px 0}.secret-note p{font-size:10px;color:#8c8875}.note-mark{font-size:38px;color:#9e916d;transform:rotate(-15deg);font-family:Georgia,serif}.secret-note>span:last-child{position:absolute;right:20px;bottom:20px}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:32px 0;border-top:1px solid var(--line);margin-top:37px;font-size:9px;color:#8c9589}.avatar{height:76px;width:76px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:0 0 0 1px #e3e8dd;flex:none}.avatar.xl{width:130px;height:130px;border-width:6px}.avatar.tiny{width:38px;height:38px;border-width:2px}.profile-layout{display:grid;grid-template-columns:310px 1fr;gap:24px}.profile-preview{text-align:center;align-self:start}.profile-preview h2{margin:20px 0 13px;font-size:25px}.profile-preview>p{font-size:12px;color:var(--muted);margin:25px 0}.profile-preview form{border-top:1px solid var(--line);padding-top:25px}.profile-preview .fine{margin-top:15px}.profile-layout>.card>h2{font-size:26px}.wish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.wish-card{padding:27px;background:#f7efdc;border-radius:12px;border:1px solid #e8e0cf;position:relative;display:flex;flex-direction:column;min-width:0}.wish-card:nth-child(3n+2){background:#f8e8ed;border-color:#eed7e0}.wish-card:nth-child(3n){background:#eaf0e5;border-color:#dce4d5}.wish-top{display:flex;justify-content:space-between;align-items:center}.wish-doodle{font-size:40px;font-family:Georgia,serif;line-height:1;color:#b19763}.wish-card h2{font-size:26px;margin:27px 0 17px;overflow-wrap:anywhere}.wish-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#7a7c6d}.wish-card .card-footer{border-color:#dad8c7;margin-top:auto;padding-top:22px;padding-bottom:12px}.wish-card details{font-size:11px}.wish-card details>summary{color:#68765f}.wish-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.wish-actions form:first-child{display:flex;gap:8px}.wish-actions button{background:transparent;border:0;font-size:12px}.wish-actions form:first-child button{width:30px;height:30px;border:1px solid #c5ccb9;border-radius:50%;font-size:15px}.add-wish{background:white!important;border-style:dashed;grid-row:span 2}.add-wish h2{display:flex;justify-content:space-between;margin-top:20px}.add-wish label{font-size:10px}.add-wish input,.add-wish textarea,.add-wish select{font-size:12px}.add-wish .form-grid{gap:12px}.recipient-result{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.recipient-intro{text-align:center;background:var(--pink-light);border-radius:var(--radius);padding:45px 35px}.recipient-intro>.eyebrow{justify-content:center;font-size:8px}.recipient-intro .avatar{margin-top:30px}.recipient-intro h2{font-size:36px;margin:25px 0 18px}.recipient-intro p{font-size:13px;color:#85707a;margin-bottom:25px}.profile-facts{margin:0}.profile-facts dl{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;font-size:12px;margin:25px 0}.profile-facts dt{color:var(--muted);font-size:10px}.profile-facts dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.envelope-stage{text-align:center;background:#f3ede2;border-radius:var(--radius);padding:42px 20px;overflow:hidden;perspective:1000px;min-height:650px}.envelope-stage>.eyebrow{justify-content:center;color:#9b8973}.envelope-stage h2{font-size:39px;margin:16px 0}.envelope-stage .fine{margin-top:18px}.envelope{position:relative;width:340px;height:220px;margin:90px auto 45px;filter:drop-shadow(0 20px 15px #70554025);perspective:1000px;transform:rotate(-5deg)}.envelope-back{position:absolute;inset:0;background:#e5a7bc;border-radius:5px}.envelope-front{position:absolute;inset:0;background:#efbbcc;clip-path:polygon(0 0,50% 51%,100% 0,100% 100%,0 100%);z-index:4;border-radius:4px}.envelope-front:after{content:'';position:absolute;inset:0;background:#f6cedb;clip-path:polygon(50% 46%,100% 100%,0 100%)}.envelope-flap{position:absolute;inset:0;background:#f7c9d9;clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0;z-index:5}.envelope-seal{position:absolute;top:96px;left:143px;width:54px;height:54px;background:var(--green);color:#e4cf9e;border:4px double #648068;border-radius:50%;z-index:6;font-family:var(--serif);font-size:27px;line-height:42px;font-style:italic;box-shadow:0 2px 5px #60354d33}.envelope-seal span{font-size:12px;position:absolute;top:3px;right:6px}.envelope-letter{position:absolute;inset:12px 17px 8px;background:#fffdf5;border-radius:4px;z-index:2;padding:20px;color:var(--green)}.envelope-letter>span{font-size:7px;letter-spacing:2px}.envelope-letter strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;margin-top:18px}.envelope-letter i{position:absolute;bottom:8px;left:calc(50% - 14px);font-size:25px;color:#af8b59;font-style:normal}.chat-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.chat-sidebar{padding:25px;align-self:start}.chat-sidebar h2{font-size:25px;margin-bottom:25px}.thread-link{display:flex;gap:12px;padding:16px 10px;border-radius:9px;margin:8px -7px;align-items:center}.thread-link.selected{background:var(--pink-light)}.thread-link>span{font-size:28px;color:#91747b}.thread-link strong{font-size:11px}.thread-link small{display:block;font-size:9px;color:var(--muted)}.privacy-note{margin-top:35px;border-top:1px solid var(--line);padding-top:25px;font-size:30px;color:#798777}.privacy-note h3{font-size:14px;margin:10px 0}.privacy-note p{font-size:11px;line-height:1.8;margin-top:12px}.chat-panel{padding:0;overflow:hidden}.chat-header{padding:22px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-header .eyebrow{font-size:7px;color:var(--muted)}.chat-header h2{font-size:22px;margin-top:6px}.chat-header>span{font-size:40px;color:#b79563}.chat-history{height:420px;overflow-y:auto;padding:25px;display:flex;flex-direction:column;gap:18px;scroll-behavior:smooth}.bubble{background:#f2f3ed;padding:14px 18px;border-radius:14px 14px 14px 3px;max-width:85%;align-self:start}.bubble.mine{background:var(--pink-light);align-self:end;border-radius:14px 14px 3px 14px}.bubble-label{font-size:9px;font-weight:600;color:#7b8774}.bubble p{font-size:13px;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble time{font-size:8px;color:#8d9385}.chat-composer{display:flex;align-items:end;gap:12px;padding:22px 25px;border-top:1px solid var(--line)}.chat-composer textarea{min-height:70px;max-height:180px;font-size:12px}.chat-composer button{flex:none}.nudge-bar{padding:0 25px 22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.nudge-bar form{display:flex;flex-wrap:wrap;gap:15px}.nudge-bar button{font-size:9px;color:#8a7963}.guess-banner{background:var(--pink-light);padding:35px 40px;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.guess-banner h2{font-size:38px;margin:17px 0}.guess-banner p{font-size:12px;color:#866f78}.mystery-mark{font-family:var(--serif);font-size:170px;line-height:1;color:#c4829d;transform:rotate(12deg);padding-right:40px}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.person-card{position:relative;background:white;border:1px solid var(--line);border-radius:12px;align-items:center;padding:24px 12px;margin:0;cursor:pointer;transition:transform .2s,border-color .2s}.person-card:hover{transform:translateY(-3px)}.person-card:has(input:checked){background:var(--pink-light);border-color:#bb688d}.person-card>input{position:absolute;right:12px;top:12px;margin:0}.person-card strong{font-size:12px;margin-top:8px;text-align:center}.person-pick{font-size:9px;color:var(--muted);font-weight:400}.sticky-action{position:sticky;bottom:15px;z-index:10;background:var(--green);color:white;border-radius:12px;padding:18px 23px;margin-top:30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 30px #203a2722}.sticky-action>span{font-size:12px}.sticky-action .primary{background:var(--pink);color:var(--green)}.finale{text-align:center;background:var(--green);border-radius:var(--radius);color:#f7f2df;padding:45px 25px;min-height:650px;overflow:hidden;perspective:1000px}.finale>.eyebrow{justify-content:center;color:#a9bca5;font-size:8px}.finale h2{font-size:43px;margin:20px 0 30px}.finale h2 em{color:var(--pink)}.finale>.button{background:var(--pink);color:var(--green);margin-top:30px}.finale>p{font-size:13px;color:#b9c9b5;margin-top:30px}.mystery-card{position:relative;width:250px;height:280px;margin:0 auto;transform-style:preserve-3d}.mystery-cover,.mystery-answer{position:absolute;inset:0;border-radius:13px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}.mystery-cover,.mystery-card.waiting{background:#f4dce4;color:var(--green);border:8px double #d59aae}.mystery-cover>span,.mystery-card.waiting>span{font-family:var(--serif);font-size:140px;line-height:1.2}.mystery-cover small,.mystery-card.waiting small{font-size:7px;letter-spacing:2px}.mystery-answer{transform:rotateY(180deg);background:#f7f2df;color:var(--green)}.mystery-answer h3{font-size:23px;margin:20px 10px 10px}.mystery-answer>span{font-size:8px;letter-spacing:2px}.mystery-card.waiting{display:flex;flex-direction:column;justify-content:center;border-radius:13px}.reveal-result{font-family:var(--serif);font-size:22px!important;color:var(--pink)!important;max-width:450px;margin:30px auto!important}.notification-list{max-width:900px}.notification{display:flex;gap:24px;align-items:center;padding:24px;margin-bottom:13px}.notification.unread{background:#fbf0f3;border-color:#efd6df}.notification-icon{font-size:28px;color:#a9808f}.notification>div{flex:1}.notification p{font-size:13px}.notification time{display:block;margin-top:7px}.admin-hero{background:var(--green);color:white;border-radius:var(--radius);padding:35px 40px;display:flex;justify-content:space-between;align-items:center}.admin-hero .eyebrow{color:#9db69e;font-size:8px}.admin-hero h2{font-size:40px;margin:20px 0}.admin-hero h2 em{color:var(--pink)}.admin-hero p{font-size:12px;color:#a9bda7}.admin-spark{color:var(--pink);font-size:135px;line-height:1;padding-right:35px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:24px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:24px 20px}.metric strong{display:block;font-size:39px;font-weight:500;letter-spacing:-2px;line-height:1.2}.metric strong small{font-size:14px;font-weight:400;color:#a8afa0;letter-spacing:0}.metric>span{font-size:10px;color:var(--muted);display:block;margin-top:10px}.audit{margin-top:24px}.audit>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.audit small{display:block;color:var(--muted);font-size:10px}.audit>h3{margin-bottom:12px}.table-card{padding:15px 25px 25px}.table-card .section-heading{margin-top:15px}.table-scroll{overflow-x:auto}.person-cell{display:flex;gap:13px;align-items:center}.person-cell strong{font-size:12px;font-weight:500}.person-cell small{font-size:10px}.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.group-card{margin:0 0 24px}.group-header{display:flex;align-items:center;gap:12px}.group-header>span:first-child{font-size:29px;color:#a88494}.group-header h2{font-size:22px;flex:1}.member-chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.member-chip{display:flex;gap:8px;align-items:center;border-radius:5px;background:#f2f0e7;padding:5px 9px;font-size:10px}.member-chip button{background:none;border:0;font-size:18px}.group-card .inline-form{margin-bottom:20px}.add-group{border-style:dashed;text-align:center}.add-group h2{font-size:27px;margin-bottom:25px}.add-group form{text-align:left}.draw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.draw-steps .card{padding:26px;min-width:0}.draw-steps h2{font-size:26px;margin:25px 0 15px}.draw-steps p{font-size:12px;color:var(--muted);min-height:85px}.draw-steps label{margin-top:20px}.draw-steps .notice{font-size:11px;margin:20px 0}.draw-steps .button{gap:8px;width:100%;padding-left:8px;padding-right:8px}.spoiler{margin-top:25px}.spoiler summary>span{font-size:8px;letter-spacing:.1em;color:#aa716a}.check-label{flex-direction:row;align-items:center;gap:12px;margin:25px 0}.settings-card{max-width:850px}.settings-card form{margin-top:25px}.settings-card .inline-form .button{flex:none}.mobile-menu{display:none}.confetti-piece{position:fixed;pointer-events:none;z-index:100;width:7px;height:11px;background:var(--pink);top:50%;left:50%}#toast{position:fixed;right:25px;bottom:25px;z-index:100;max-width:420px;padding:18px 22px;background:var(--green);color:white;box-shadow:0 8px 35px #1a352d30;border-radius:10px;font-size:13px;display:none}#toast.visible{display:block}#toast.error{background:#7c3547}.htmx-indicator{opacity:0;transition:opacity .2s}#request-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--pink);z-index:101}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{opacity:1}#validation-result{font-size:12px;color:#526b49;margin-top:18px}.file-label{text-align:left}.wish-card>.card-footer{margin-top:25px}.wish-card>p{flex:1}.button:active{transform:translateY(1px)}
@media(min-width:1500px){.main-content{padding:52px 60px 0}.hero-card{min-height:365px;padding:38px}.hero-card h2{font-size:48px}.hero-card p{font-size:13px}.mini-present{right:55px;top:100px;transform:scale(1.2) rotate(10deg)}.countdown-card{padding:38px}.countdown-number{font-size:120px}}
@media(max-width:1150px){.sidebar{width:200px;padding:30px 15px}.workspace{margin-left:200px;width:calc(100% - 200px)}.main-content{padding:30px 26px 0}.topbar{padding:0 26px}.hero-card{padding:25px}.hero-card h2{font-size:34px}.mini-present{right:5px;top:120px;transform:scale(.8) rotate(10deg)}.hero-card p{max-width:62%}.hero-card .eyebrow{font-size:7px}.countdown-card{padding:25px}.countdown-card .eyebrow{font-size:7px}.countdown-number{font-size:100px}.countdown-star{font-size:50px;right:18px}.steps-grid{gap:14px}.step-card{padding:20px}.step-card h3{font-size:18px}.step-card .badge{font-size:8px}.bottom-grid{grid-template-columns:1fr}.secret-note{min-height:150px}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-layout{grid-template-columns:240px 1fr}.chat-layout{grid-template-columns:220px 1fr;gap:16px}.chat-sidebar{padding:20px}.chat-composer{flex-direction:column;align-items:stretch}.people-grid{grid-template-columns:repeat(3,1fr)}.metrics{gap:10px}.metric{padding:20px 13px}.metric strong{font-size:33px}.metric>span{font-size:8px}.draw-steps{grid-template-columns:1fr}.draw-steps p{min-height:0}.draw-steps .button{width:auto}.draw-steps form{max-width:450px}.draw-steps .card{margin-bottom:0}.group-grid{gap:16px}.group-card{padding:22px}.group-header{flex-wrap:wrap}.group-header h2{font-size:20px}.topbar-right{gap:15px}.user-name{display:none}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .25s;width:230px;box-shadow:10px 0 40px #11271a20}.nav-open .sidebar{transform:translateX(0)}.workspace{margin-left:0;width:100%}.mobile-menu{display:block;background:none;border:0;font-size:21px;padding:0;margin-right:15px}.topbar{height:65px;justify-content:start;padding:0 22px}.topbar>span{flex:1;font-size:10px}.topbar-right{gap:15px}.main-content{padding:30px 22px 0}.page-heading h1{font-size:31px}.page-heading>.date-stamp{font-size:28px}.page-heading .eyebrow{font-size:8px}.landing{padding:0 25px}.landing-header{height:110px}.landing-header>.eyebrow{display:none}.landing-grid{grid-template-columns:1fr;gap:45px}.landing-grid h1{font-size:65px}.landing-grid>section:first-child{padding-top:20px}.landing-art{min-height:550px}.gift-scene{top:150px}.landing-footer{margin-top:40px}.events-shell{padding:0 25px}.events-shell main{padding-top:25px}.events-shell h1{font-size:52px}.event-grid{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.recipient-result{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.profile-preview{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;text-align:left}.profile-preview>.avatar{grid-row:span 3;margin:auto}.profile-preview h2{margin-top:0}.profile-preview>p{margin:15px 0}.profile-preview form{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:15px}.profile-preview form label{margin:0;flex:1}.profile-preview form .fine{flex-basis:100%;margin:0}.chat-layout{grid-template-columns:1fr}.chat-sidebar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}.chat-sidebar h2,.privacy-note{display:none}.thread-link{flex:1;margin:0;min-width:180px}.chat-composer{flex-direction:row}.metrics{grid-template-columns:repeat(3,1fr)}.metric>span{font-size:10px}.group-grid{grid-template-columns:1fr 1fr}.group-header>.badge{display:none}.group-card .inline-form{flex-wrap:wrap}.admin-hero h2{font-size:34px}.admin-spark{font-size:100px;padding:0}.audit>div{font-size:11px}.audit time{font-size:9px}.landing-header .wordmark{font-size:37px}}
@media(max-width:540px){.main-content{padding:25px 18px 0}.topbar{padding:0 18px}.topbar>span{max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-status{display:none}.topbar-right{margin-left:auto}.topbar .text-button{font-size:9px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:28px;letter-spacing:-.045em}.page-heading>.date-stamp{display:none}.page-heading p{font-size:11px}.dashboard-grid{grid-template-columns:1fr;gap:17px}.hero-card{min-height:318px;padding:27px}.hero-card h2{font-size:37px}.mini-present{right:14px;top:104px;transform:scale(.85) rotate(10deg)}.hero-card p{max-width:60%}.hero-card .eyebrow{font-size:8px}.hero-footnote{font-size:7px}.countdown-card{min-height:200px;padding:25px}.countdown-number{font-size:80px;margin-top:12px;letter-spacing:-5px;line-height:1.1}.countdown-label{font-size:10px;position:absolute;left:125px;top:88px;max-width:120px;line-height:1.6}.countdown-star{top:50px;right:25px;font-size:55px}.countdown-bottom{margin-top:20px;font-size:9px}.countdown-card:after{height:180px;width:180px;right:-100px;top:10px}.section-heading{align-items:start;margin-top:29px}.section-heading h2{font-size:17px;max-width:260px;line-height:1.4}.section-heading>.eyebrow{display:none}.steps-grid{grid-template-columns:1fr;gap:13px}.step-card{padding:22px}.step-card h3{margin-top:15px;font-size:21px}.step-card p{max-width:90%;min-height:0}.step-card .card-footer{margin-top:18px;padding-top:14px}.step-icon{right:22px;top:20px}.step-card .badge{font-size:9px}.bottom-grid{gap:16px;margin-top:17px}.season-details{padding:24px}.detail-stats{gap:13px}.detail-stats strong{font-size:21px}.detail-stats span{font-size:8px}.page-footer{font-size:8px;flex-direction:column;gap:5px;margin-top:30px;padding:25px 0}.card{padding:24px}.form-grid{grid-template-columns:1fr;gap:0}.wish-grid{grid-template-columns:1fr}.wish-card{padding:26px}.wish-card h2{margin-top:20px}.add-wish{grid-row:auto}.add-wish .form-grid{grid-template-columns:1fr 1fr}.profile-preview{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-preview h2{margin-top:20px}.profile-preview form{display:block;width:100%}.profile-preview .button{margin:15px 0}.profile-preview input[type=file]{max-width:100%}.two-column{gap:0}.envelope-stage{padding:35px 15px;min-height:610px}.envelope-stage h2{font-size:32px}.envelope{width:280px;height:185px;margin:85px auto 45px}.envelope-seal{top:78px;left:115px;width:50px;height:50px;line-height:38px}.envelope-letter strong{font-size:22px}.envelope-stage .button{font-size:10px;gap:7px;padding:13px}.envelope-stage .fine{font-size:9px}.recipient-intro{padding:35px 25px}.recipient-intro h2{font-size:32px}.profile-facts dl{grid-template-columns:1fr;gap:5px}.profile-facts dt{margin-top:12px}.chat-sidebar{padding:12px}.thread-link{min-width:0;padding:12px 8px;gap:6px}.thread-link>span{font-size:23px}.thread-link strong{font-size:10px}.thread-link small{font-size:7px}.chat-panel{padding:0}.chat-header{padding:20px}.chat-history{padding:20px;height:380px}.chat-composer{padding:15px;gap:8px;flex-direction:column}.chat-composer .button{font-size:10px;align-self:end}.nudge-bar{padding:5px 20px 20px}.bubble{max-width:95%}.guess-banner{padding:27px}.guess-banner h2{font-size:31px}.guess-banner .eyebrow{font-size:7px}.mystery-mark{font-size:100px;padding:0;margin-left:10px}.guess-banner p{font-size:11px}.people-grid{grid-template-columns:repeat(2,1fr);gap:12px}.person-card{padding:23px 10px}.person-card strong{font-size:11px}.person-card .avatar{width:65px;height:65px}.sticky-action{padding:14px;gap:12px}.sticky-action>span{font-size:9px;max-width:90px}.sticky-action .button{font-size:10px}.finale{padding:40px 20px;min-height:620px}.finale h2{font-size:37px}.notification{gap:15px;padding:20px}.notification p{font-size:12px}.notification time{font-size:9px}.admin-hero{padding:30px}.admin-hero h2{font-size:31px}.admin-spark{display:none}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.metric{padding:20px}.metric:last-child{grid-column:1/-1;display:flex;gap:25px;align-items:center}.metric:last-child span{margin:0}.group-grid{grid-template-columns:1fr;gap:0}.group-header>.badge{display:block}.group-card .inline-form{flex-wrap:nowrap}.group-header h2{font-size:21px}.table-card{padding:15px}.table-card th,.table-card td{padding:14px 10px}.audit>div{flex-direction:column;gap:4px}.pink-card h2{font-size:32px}.settings-card .inline-form{flex-direction:column;align-items:stretch}.settings-card .inline-form label{width:100%}.spoiler summary{font-size:12px}.spoiler summary>span{font-size:7px}.landing-grid h1{font-size:55px}.landing-grid .lead{font-size:14px}.landing-art{min-height:480px}.gift-scene{transform:scale(.8) rotate(-9deg);top:115px}.spark-one{left:25px;top:95px;font-size:40px}.spark-two{right:25px;bottom:80px;font-size:45px}.hanging-ornament{right:40px;top:70px;width:50px;height:50px}.art-caption{left:25px;bottom:20px}.art-caption p{font-size:19px}.art-caption>span{font-size:6px}.landing-footer{font-size:9px;gap:30px}.events-shell h1{font-size:46px}.events-shell .lead{font-size:14px}.event-card h2{font-size:30px}#toast{left:18px;right:18px;bottom:18px;max-width:none;font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:hover,.step-card:hover,.person-card:hover{transform:none}}

/* Content remains accessible if JavaScript or animation libraries cannot load. */
[hidden]{display:none!important}body:not(.js) .mystery-cover{display:none}body:not(.js) .mystery-answer{transform:none}body:not(.js) [data-reveal]{display:none}

.language-switch{display:flex;flex:none;align-items:center;gap:5px;padding:0;font-size:11px}.language-switch button{border:0;background:transparent;padding:4px 8px;color:var(--muted);font-size:11px}.language-switch button[aria-pressed=true]{color:var(--green);font-weight:700;background:var(--pink-light);border-radius:5px}.language-switch>span{color:#b6bdb2}.language-short{display:none}.account-actions{display:flex;align-items:center;gap:20px}.account-actions>form{flex:none}.topbar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{flex:none}.language-switch button{min-height:36px;white-space:nowrap}html[lang=uk] .sidebar nav a{font-size:10px}html[lang=uk] .hero-card h2{font-size:34px}html[lang=uk] .hero-card .button{max-width:70%;gap:8px}html[lang=uk] .hero-card .eyebrow{max-width:75%}html[lang=uk] .button{white-space:normal}html[lang=uk] .step-card .badge{font-size:8px}@media(max-width:540px){html[lang=uk] .hero-card .button{max-width:75%;font-size:10px}html[lang=uk] .hero-card h2{font-size:32px}.language-switch{padding:0;gap:2px}.language-full{display:none}.language-short{display:inline}.account-actions{gap:12px}.topbar-right{gap:10px}}

@media(max-width:1000px){.landing-tagline{display:none}}
