*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;--bg:#fff7d9;--ink:#203e32;--accent:#e75f90;--card:#fffdf1;--lime:#b9dd63}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;font:700 17px Arial;border:0;background:var(--ink);color:var(--card);padding:17px 24px;border-radius:18px}button:focus-visible,a:focus-visible{outline:4px solid #f49b36;outline-offset:4px}.test{position:relative;z-index:4;padding:14px 20px;background:var(--ink);color:var(--card);display:flex;justify-content:space-between;gap:10px;font-size:13px;flex-wrap:wrap}.test span{opacity:.85}main{max-width:1000px;margin:auto;position:relative;overflow:hidden;padding:32px 26px 0}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:24px 0 30px;min-height:610px}.headline{grid-column:1/-1;background:var(--accent);border:4px solid var(--ink);border-radius:12px;padding:25px;position:relative;z-index:1}.kicker{font-size:14px;font-weight:700;letter-spacing:2px}h1{font-size:clamp(40px,6vw,76px);letter-spacing:-2px;line-height:.98;margin:20px 0}h2{font-size:clamp(28px,4vw,40px);line-height:1.1;margin:15px 0}p{font-size:18px;line-height:1.55}.photo{width:65%;grid-column:1/-1;border:5px solid var(--ink);border-radius:24px;overflow:hidden;z-index:1;background:#eee}.photo img{width:100%;display:block;aspect-ratio:1;object-fit:cover;object-position:50% 35%}.giraffe{position:absolute;width:26%;object-fit:contain;z-index:2;filter:drop-shadow(0 8px 3px #0001);transition:transform .3s}.giraffe:hover{transform:rotate(12deg) scale(1.04)}.g1{right:5%;bottom:35px;transform:rotate(-7deg)}.g2{right:2%;top:10px;width:13%;display:none}.trail{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 30px;position:relative;z-index:2}.trail a{background:var(--lime);color:var(--ink);text-decoration:none;border-radius:16px;padding:24px 15px;font-size:18px;font-weight:800;text-align:center;border:3px solid var(--ink)}.card{border:3px solid var(--ink);background:var(--card);padding:32px;border-radius:22px;margin:26px 0;position:relative;z-index:1}.card small{font-size:12px;letter-spacing:2px;font-weight:800}.hint{font-size:14px;opacity:.75}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:25px}.gallery>img{width:100%;height:260px;object-fit:cover;border-radius:15px}.gallery>div{background:var(--lime);border-radius:15px;text-align:center;padding:14px}.gallery div img{width:100%;height:190px;object-fit:contain}.gallery p{font-size:14px;font-weight:700}.celebration{background:var(--accent)}label{display:block;font-size:14px;font-weight:700;margin:18px 0}input,textarea{display:block;width:100%;background:#ffffffdf;color:#203e32;border:2px solid #203e3260;border-radius:12px;padding:15px;font:16px Arial;margin-top:8px}textarea{min-height:100px;resize:vertical}article{border-radius:15px;background:var(--lime);padding:18px;margin-top:18px}article p{overflow-wrap:anywhere;margin:8px 0}article button{font-size:12px;padding:9px}.quiet{margin-top:20px;background:transparent;color:var(--ink);border:1px solid currentColor;font-size:13px}footer{text-align:center;padding:40px 15px 50px;font-size:13px;line-height:1.8}footer a{color:inherit}.leaf{pointer-events:none;position:absolute;width:180px;height:500px;top:130px;z-index:0;background:repeating-linear-gradient(45deg,transparent 0 28px,#b3cc7960 29px 31px,transparent 32px 50px),#38825d;border-radius:100% 0 100% 0;opacity:.5}.left{left:-110px;transform:rotate(-15deg)}.right{right:-110px;transform:rotate(195deg)}.theme1{background-image:radial-gradient(#d8bd80 1px,transparent 1px);background-size:17px 17px}.theme1 .headline{transform:rotate(-1deg)}.theme1 .photo{transform:rotate(1deg)}.theme2{--bg:#c5eddb;--ink:#184f43;--accent:#98d78f;--card:#fff4ce;--lime:#ffdfad}.theme2 main{background:linear-gradient(166deg,#c5eddb 0 14%,#9bd58b 14% 27%,#76bf86 27% 45%,#a4d4a0 45% 65%,#87bd90 65%)}.theme2 .hero{display:flex;flex-direction:column;align-items:center;min-height:650px}.theme2 .headline{border:0;background:none;text-align:center}.theme2 .photo{width:43%;border-radius:50%;border:10px solid var(--card)}.theme2 .g1{width:23%;right:6%;bottom:20px}.theme2 .g2{display:block;left:7%;top:325px;width:19%;transform:rotate(-10deg)}.theme2 .trail{display:flex;flex-direction:column;padding:40px 30px;background:linear-gradient(145deg,transparent 43%,#f8e3a1 44% 55%,transparent 56%);min-height:430px}.theme2 .trail a{width:65%;border:0;box-shadow:0 6px #184f4330}.theme2 .trail a:nth-child(even){align-self:flex-end}.theme3{--bg:#163f34;--ink:#35533b;--accent:#e7d7a9;--card:#fcf4db;--lime:#d7dfb6}.theme3 main{background:repeating-linear-gradient(65deg,#58845444 0 2px,transparent 2px 30px)}.theme3 .hero{display:flex;flex-direction:column;align-items:center;background:var(--card);border-radius:180px 180px 30px 30px;padding:45px 35px}.theme3 .headline{border:0;background:none;text-align:center;font-family:Georgia,serif}.theme3 .photo{width:90%;border:9px solid #dbb575}.theme3 .g1{right:0;bottom:-15px;width:23%}.theme3 .g2{display:block;left:0;top:230px;width:17%;transform:rotate(-13deg)}.theme3 .trail a{border:0}.theme3 footer{color:var(--card)}.theme4{--bg:#ff9c70;--ink:#633e83;--accent:#6c3f96;--card:#fff1b5;--lime:#9cd7bd}.theme4 .hero{display:flex;align-items:center;flex-direction:column;background:radial-gradient(circle at 50% 50%,#fff0ad 0 32%,#ffce76 33% 44%,#e86f75 45% 60%,transparent 61%);padding-bottom:110px}.theme4 .headline{background:none;border:0;text-align:center}.theme4 .photo{width:48%;border:10px solid #fff1b5;border-radius:50%}.theme4 .g1{left:0;width:23%;bottom:0;transform:rotate(-12deg)}.theme4 .g2{display:block;right:0;top:auto;bottom:5px;width:23%;transform:rotate(12deg)}.theme4 .celebration{color:var(--card)}.theme4 .trail a{border:0}.theme5{--bg:#dcd4f5;--ink:#26352d;--accent:#e6ef7b;--card:#fffce8;--lime:#f48c9a;background-image:conic-gradient(#c9bee8 25%,transparent 0 50%,#c9bee8 0 75%,transparent 0);background-size:70px 70px}.theme5 .headline{background:transparent;border:0;padding-left:0}.theme5 .photo{width:62%;border:14px solid var(--card);transform:rotate(-7deg);border-radius:18px;margin:18px 0 20px 25px}.theme5 .photo:after{content:'';height:35px;width:140px;background:#f48c9a;position:absolute;top:-25px;left:20%}.theme5 .g1{right:0;width:29%}.theme5 .card{border-radius:10px}.theme5 .trail a{background:#e6ef7b;border:0} .confetti{position:fixed;z-index:20;top:-30px;width:10px;height:18px;pointer-events:none;animation:fall 2.4s ease-in forwards}@keyframes fall{to{transform:translateY(110vh) rotate(650deg)}}@media(min-width:1000px){main{padding:40px 60px}.hero{min-height:800px}}@media(max-width:600px){main{padding:20px 17px 0}.hero{gap:14px;min-height:470px;padding-top:10px}.headline{padding:20px 16px}.headline p{font-size:17px;margin-bottom:0}h1{font-size:44px}.photo{width:70%}.g1{right:0;width:31%;bottom:35px}.trail{gap:10px}.trail a{padding:19px 10px;font-size:14px}.card{padding:23px 20px}.gallery{gap:8px;grid-template-columns:1fr 1fr}.gallery>img{grid-column:1/-1;height:260px;object-position:50% 30%}.gallery div img{height:160px}.theme2 .hero{min-height:440px}.theme2 .photo{width:60%}.theme2 .g1{right:0;width:29%}.theme2 .g2{top:230px;left:-10px;width:23%}.theme2 .trail{padding:20px 5px;min-height:390px}.theme2 .trail a{width:73%}.theme3 .hero{padding:40px 17px 30px;border-radius:150px 150px 25px 25px}.theme3 .photo{width:95%}.theme3 .g1{width:28%;right:-15px}.theme3 .g2{top:230px;width:20%;left:-15px}.theme4 .hero{padding-bottom:70px;min-height:480px}.theme4 .photo{width:65%}.theme4 .g1,.theme4 .g2{width:29%}.theme5 .hero{min-height:490px}.theme5 .photo{width:65%;margin-left:10px}.theme5 .g1{width:32%}.test{padding:12px 16px}.test span{font-size:11px}}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.facts>div,.clocks>div,.journey-grid>div{padding:18px;background:#fff8df;border-radius:15px}.facts dt{font-size:12px;opacity:.7}.facts dd{margin:8px 0 0;font-size:18px;font-weight:700;overflow-wrap:anywhere}.clocks,.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.journey-grid{grid-template-columns:repeat(3,1fr)}.actions,.mood{display:flex;gap:12px;flex-wrap:wrap}.actions button,.mood button{font-size:14px}.month-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.days>span{padding:10px 0;text-align:center;font-size:12px}.days button{position:relative;padding:12px 0;border-radius:10px;font-size:14px;min-height:46px}.days button.has-event{background:#2d9c8a}.days button.today{outline:3px solid #e87687;outline-offset:1px}#events p{padding:10px;border-left:4px solid #2d9c8a;background:#fff7dc}.wheel{margin:25px auto;width:150px;height:150px;border:12px dotted #fff1b5;border-radius:50%;display:grid;place-items:center;font-size:65px;background:conic-gradient(#ffce76 0 90deg,#e86f75 90deg 180deg,#84cfb0 180deg 270deg,#b591d2 270deg);transition:transform 1.4s cubic-bezier(.15,.8,.3,1)}#local-media video,#local-media>img{width:100%;height:220px;object-fit:contain;background:#fff7dc;border-radius:15px}dialog{width:min(92vw,600px);border:0;border-radius:26px;padding:22px;background:#ffb47a;color:#633e83;max-height:90vh;overflow:auto}dialog::backdrop{background:#29193bd9}#close-party{position:absolute;right:12px;top:12px;width:44px;height:44px;padding:0;z-index:3}.party-card{text-align:center;background:#ffdf5d;border-radius:24px;padding:32px 20px;position:relative}.party-card>img:first-child{height:200px;width:200px;max-width:80%;object-fit:cover;border-radius:50%;border:8px solid #fff1b5}.party-card h2{font-size:36px}.party-giraffe{width:100px;height:150px;object-fit:contain}.reply{font-size:14px;border-left:3px solid #633e83;padding-left:10px}.reply-form input{margin:12px 0}.reply-form button{margin-right:10px}@media(max-width:600px){.facts,.clocks,.journey-grid{grid-template-columns:1fr}.clocks{grid-template-columns:1fr 1fr}.clocks p{font-size:16px}.facts>div{padding:14px}.days{gap:4px}.days button{min-height:42px}.party-card h2{font-size:29px}}
.inline-giraffe{display:inline-block!important;width:24px!important;height:30px!important;object-fit:contain!important;vertical-align:middle!important;border:0!important;border-radius:0!important}.headline h1 .inline-giraffe{width:36px!important;height:48px!important}.wheel:empty:before{content:'';width:75px;height:105px;background:url('./wave.png') center/contain no-repeat}
