:root{color:#3f3a36;background:#f9f5ef;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}main{min-height:100vh;padding:28px clamp(20px,7vw,110px) 34px;position:relative;overflow:hidden}.grain{opacity:.32;pointer-events:none;background-image:radial-gradient(#b7a79c .6px,#0000 .7px);background-size:7px 7px;position:absolute;inset:0}nav,footer,section{position:relative}nav{color:#746b63;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;display:flex}.brand{letter-spacing:0;color:#9b6f61;font-family:Playfair Display;font-size:27px;font-weight:600;text-decoration:none}footer{text-align:center;color:#9b928a;margin-top:52px;font-size:12px}.hero,.invite{text-align:center;max-width:790px;margin:clamp(75px,15vh,150px) auto 0}.eyebrow{color:#a27668;letter-spacing:.2em;text-transform:uppercase;margin:0 0 19px;font-size:10px;font-weight:700}h1,h2{color:#453d38;margin:0;font-family:Playfair Display,serif;font-weight:500;line-height:.98}h1{font-size:clamp(62px,12vw,128px)}h2{font-size:clamp(47px,8vw,78px)}i{color:#a76f61;font-weight:500}.flower{color:#bc9385;margin:29px;font-size:42px}.lead{color:#5b514b;max-width:560px;margin:0 auto;font-family:Playfair Display;font-size:clamp(21px,3vw,28px);line-height:1.45}.muted{color:#8c837c;max-width:420px;margin:22px auto;font-size:14px;line-height:1.65}.compact{margin-top:12vh}.invite{margin-top:75px}.invite .lead{margin:25px auto 40px;font-size:21px}.details{border-top:1px solid #dfd3c9;border-bottom:1px solid #dfd3c9;grid-template-columns:repeat(3,1fr);max-width:620px;margin:0 auto 35px;padding:22px 0;display:grid}.details div{border-right:1px solid #e7ded6;padding:0 10px}.details div:last-child{border:0}.details b{font-family:Playfair Display;font-size:18px;font-weight:500;display:block}.details span{color:#93877f;text-transform:uppercase;letter-spacing:.14em;margin-top:7px;font-size:10px;display:block}.button{color:#fff;cursor:pointer;background:#a97869;border:0;border-radius:99px;padding:15px 27px;font:600 13px Manrope;transition:all .2s}.button:hover{background:#916253}.button:disabled{opacity:.65;cursor:not-allowed}.confirmed{background:#748b78}.card{text-align:left;background:#fffaf5;border:1px solid #e7d9cf;border-radius:5px;max-width:555px;margin:40px auto 24px;padding:23px}.card label{margin-bottom:12px;font-family:Playfair Display;font-size:20px;display:block}.card textarea{resize:vertical;color:#4a403b;background:#fffdf9;border:1px solid #ded2c9;border-radius:3px;width:100%;min-height:110px;padding:12px;font:14px Manrope}.text-button{color:#9b6f61;cursor:pointer;background:0 0;border:0;padding:14px 0;font:600 13px Manrope;text-decoration:none;display:inline-block}.game{color:#80685e;border-bottom:1px solid #d7c5bb;padding-bottom:3px;font-size:13px;text-decoration:none;display:inline-block}.notice{color:#637768;font-size:13px}.error{color:#a34e45;text-align:center;font-size:13px}.loading{text-align:center;color:#84796f;margin:20vh 0}.admin-card{background:#fffaf5;border:1px solid #e7d9cf;border-radius:6px;max-width:410px;margin:13vh auto;padding:38px}.admin-card h2,.dashboard h2{margin-bottom:25px;font-size:42px}.admin-card form{gap:12px;display:grid}.admin-card input,.create input,.create select{background:#fff;border:1px solid #ded2c9;border-radius:3px;min-width:0;padding:13px;font:14px Manrope}.dashboard{max-width:1100px;margin:65px auto}.dashboard header{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.create{background:#fffaf5;border:1px solid #e7d9cf;border-radius:5px;padding:22px}.create h3{margin:0 0 16px;font-family:Playfair Display;font-size:24px;font-weight:500}.create form{grid-template-columns:1fr 1fr 145px auto;gap:10px;display:grid}.created{color:#667a68;word-break:break-all;margin-bottom:0;font-size:12px}.created a{color:#8e5f52}.created button,.copy{color:#765f55;cursor:pointer;background:#eee4dc;border:0;border-radius:20px;padding:7px 10px;font:11px Manrope}.table-wrap{background:#fffaf5;border:1px solid #e7d9cf;border-radius:5px;margin-top:24px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{letter-spacing:.12em;text-transform:uppercase;color:#93877f;padding:15px;font-size:10px}td{vertical-align:top;border-top:1px solid #eee4dc;max-width:260px;padding:15px}td small{color:#91877f;margin-top:4px;display:block}.pill{color:#83766d;white-space:nowrap;background:#eee7e0;border-radius:20px;padding:5px 8px;font-size:11px}.pill.yes{color:#4f7454;background:#dce9dc}.empty{text-align:center;color:#8c837c;padding:15px}@media (width<=720px){main{padding:20px}.hero,.invite{margin-top:75px}.details{grid-template-columns:1fr;gap:16px}.details div{border:0}.create form{grid-template-columns:1fr}.dashboard{margin-top:45px}.dashboard header{align-items:start}table{min-width:680px}.game span{display:none}}.stats{gap:16px;margin:20px 0;display:flex}.stats div{background:#fffaf5;border:1px solid #e7d9cf;min-width:160px;padding:16px 24px}.stats b{font:32px Playfair Display;display:block}.stats span{color:#84796f;font-size:11px}.plus{gap:8px;margin:8px 0;display:flex}.plus input,.plus select{border:1px solid #ded2c9;padding:9px}@media (width<=720px){.stats{flex-direction:column}}.confirmed+.text-button{margin-left:18px}select{background-position:right 14px center;padding-right:36px!important}@media (width<=720px){.confirmed+.text-button{margin:12px auto 0;display:block}}select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#8c756a 50%),linear-gradient(135deg,#8c756a 50%,#0000 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238c756a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:12px 8px!important;padding:13px 42px 13px 13px!important}.polaroid{isolation:isolate;background:#fffdf9;width:min(260px,72vw);margin:32px auto 30px;padding:11px 11px 36px;position:relative;transform:rotate(-3deg);box-shadow:0 20px 42px #533a2f30,0 4px 10px #533a2f1a}.polaroid:before{content:"";filter:blur(16px);z-index:-1;background:radial-gradient(circle,#bc938552,#0000 66%);position:absolute;inset:-16px}.polaroid img{aspect-ratio:1;object-fit:cover;filter:saturate(.92)contrast(.96)sepia(.08);width:100%;display:block}.polaroid figcaption{color:#8e6254;letter-spacing:.03em;margin-top:10px;font:italic 19px Playfair Display,serif}.invite-photo{width:min(220px,64vw);margin:25px auto}.invite-photo img{aspect-ratio:4/5}@media (width<=720px){.polaroid{margin:25px auto 26px}}.invitation-badge{color:#9b6254;letter-spacing:.14em;text-transform:uppercase;background:#fffaf5bd;border:1px solid #a76f6173;border-radius:999px;align-items:center;gap:9px;margin:0 0 20px;padding:9px 17px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #97695a21}.invitation-badge.small{margin-bottom:16px;font-size:10px}nav{justify-content:center}.add-plus{color:#754f43;cursor:pointer;background:#ead6cd;border:0;border-radius:999px;padding:11px 17px;font:600 13px Manrope;box-shadow:0 5px 14px #97695a24}.toast{z-index:20;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#435647db;border-radius:999px;padding:12px 18px;font-size:13px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@media (width<=720px){.plus{grid-template-columns:minmax(0,1fr) 115px;align-items:center;display:grid}.plus .copy{grid-column:1/-1;justify-self:start}.plus input,.plus select{width:100%;min-width:0}}.companions-title{margin-top:30px!important}.create input,.create select{height:48px}.plus input,.plus select{box-sizing:border-box;height:42px}.plus select{height:44px!important;padding:0 42px 0 13px!important;line-height:44px!important}.edit-actions{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.comment-link{color:#9b6f61;cursor:pointer;background:0 0;border:0;font:600 12px Manrope;text-decoration:underline}.modal-backdrop{z-index:30;background:#3a2d2861;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.comment-modal{background:#fffaf5;border-radius:8px;width:min(560px,100%);max-height:70vh;padding:28px;position:relative}.comment-body{white-space:pre-wrap;max-height:48vh;line-height:1.65;overflow-y:auto}.modal-close{cursor:pointer;background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:16px}.celebration{text-align:center}.celebration p{color:#62554e;line-height:1.55}.modal-actions{justify-content:center;align-items:center;gap:18px;margin-top:22px;display:flex}body:has(.modal-backdrop){overflow:hidden}
