:root{--paper:#f6f3ec;--white:#fffdf8;--ink:#263c32;--green:#354e43;--muted:#787a6d;--line:#e5e4d8;--accent:#b8a47c}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";z-index:-1;background:radial-gradient(at 15% 30%,#e5e9db80,#0000 45%),radial-gradient(at 90% 70%,#eae1d180,#0000 45%);position:fixed;inset:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1:focus{outline:none}.page-shell{width:min(100% - 40px,1040px);padding-bottom:max(32px, env(safe-area-inset-bottom));margin:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:25px 0;display:flex}.wordmark{align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:23px;display:inline-flex}.brand-icon{border:1px solid #b9c1ae;border-radius:50%;place-items:center;width:35px;height:35px;font:27px Georgia,serif;display:grid}.header-note{color:var(--muted);letter-spacing:.03em;font-size:12px}.intro{text-align:center;margin:42px 0 28px}.eyebrow,.little-label{letter-spacing:.18em;color:var(--muted);font-size:10px;font-weight:600}.intro p{margin:14px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,5vw,40px);line-height:1.22}.intro p span{color:#6d8068;font-style:italic}.quest-card{background:var(--white);text-align:center;border:1px solid #e3e3d6;border-radius:18px;width:min(100%,460px);margin:auto;padding:22px 30px 26px;position:relative;box-shadow:0 16px 55px #33483408}.card-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:17px;display:flex}.little-label{letter-spacing:.14em;font-size:9px}.small-flower{color:var(--accent);font-size:22px}.card-symbol{color:#6d8068;background:#eef0e6;border:1px solid #e3e7d9;border-radius:50%;place-items:center;width:74px;height:74px;margin:25px auto 19px;font:46px Georgia,serif;display:grid}h1{text-wrap:balance;margin:0 0 14px;font:400 29px/1.16 Georgia,Times New Roman,serif}.card-description{color:#6f756b;text-wrap:pretty;margin:0 0 22px;font-size:14px;line-height:1.65}.task-description{color:var(--ink);font-size:16px}.hint{text-align:left;background:#f6f5ee;border-radius:10px;align-items:center;gap:12px;margin:0 0 24px;padding:13px 14px;display:flex}.hint>span{color:var(--accent);font-size:25px}.hint p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.name-form{text-align:left}.name-form label{margin:0 0 10px;font-size:13px;font-weight:500;display:block}.name-form input{width:100%;min-height:52px;color:var(--ink);background:#fffefa;border:1px solid #d8dccf;border-radius:9px;margin:0 0 14px;padding:12px 14px;font-size:16px}.name-form input::placeholder{color:#979b90;font-size:14px}.actions{flex-direction:column;gap:10px;display:flex}.button{border-radius:9px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;padding:13px 14px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.primary{background:var(--green);color:#fffdf8;border:1px solid var(--green)}.primary:hover:not(:disabled){background:#263f33}.primary>span:last-child:not(.spinner){font-size:20px}.secondary{color:var(--green);background:0 0;border:1px solid #dbe0d2}.secondary:hover:not(:disabled){background:#f1f3e9}.text-button{color:#6d786b;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:10px 5px;font-size:12px;text-decoration:underline}.switch-task{margin-top:3px;text-decoration:none}.switch-task span{vertical-align:middle;margin-right:5px;font-size:20px}.fine-print{color:var(--muted);margin:16px 4px 0;font-size:11px;line-height:1.6}.guest-line{width:min(100%,460px);color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:10px auto 0;font-size:12px;display:flex}.guest-line strong{color:var(--ink);font-weight:500}.guest-line .text-button{font-size:11px}.preview-title{margin-top:22px;font-size:28px}.preview-description{color:var(--muted);font-size:13px;line-height:1.6}.photo-frame{border:1px solid var(--line);background:#fff;border-radius:4px;padding:7px}.photo-frame img{object-fit:contain;background:#f1f2e9;width:100%;max-height:380px;display:block}.photo-details{color:var(--muted);text-align:left;justify-content:space-between;gap:14px;margin:12px 0 21px;font-size:11px;display:flex}.photo-details span:first-child{overflow-wrap:anywhere}.muted{color:var(--muted)}.success-symbol{color:var(--green);font-size:34px}.success-note{color:#61725d;background:#f1f3e9;border-radius:10px;margin:0 0 24px;padding:16px 12px;font-size:12px;line-height:1.6}.success-note span{padding-right:5px;font-size:18px}.error-message{color:#874d36;text-align:left;background:#fbede7;border:1px solid #edd1c2;border-radius:9px;margin-top:15px;padding:13px;font-size:13px;line-height:1.6}.status-message{color:var(--muted);font-size:12px;line-height:1.6}.status-message:not(:empty){padding-top:14px}.spinner{border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.how-it-works{justify-content:center;align-items:center;gap:15px;width:min(100%,460px);margin:34px auto 0;display:flex}.how-it-works>div{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex}.step-number{color:#9aab90;font:italic 17px Georgia,serif}.step-line{background:#d8decd;width:40px;height:1px;margin-top:-16px}footer{color:#8d9183;justify-content:center;align-items:center;gap:12px;margin:30px auto 0;display:flex}footer>span{color:#a9b29a;font:29px Georgia,serif}footer p{margin:0;font:italic 12px/1.6 Georgia,Times New Roman,serif}@media (max-width:520px){.page-shell{width:calc(100% - 32px)}.site-header{padding:19px 0}.wordmark{font-size:20px}.header-note{display:none}.intro{margin:30px 0 25px}.quest-card{padding:19px 21px 22px}.card-symbol{margin-top:24px}h1{font-size:28px}.how-it-works{gap:12px;margin-top:28px}.step-line{width:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important}}
