:root{--plum-900: #2c0a22;--plum-800: #3b0d2e;--plum-700: #5b1440;--burgundy: #7a1533;--wine: #9e2b4e;--rose: #e8788f;--rose-soft: #f2a7b6;--blush: #fbe4e9;--cream: #fbf5ee;--warm-white: #fffdfa;--bg: var(--cream);--surface: var(--warm-white);--surface-2: #fdf0f2;--ink: #271c23;--ink-soft: #6d5c66;--ink-faint: #9b8b93;--line: #efe3e7;--line-strong: #e6d3da;--accent: var(--wine);--accent-ink: #ffffff;--gold: #c68b2f;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-pill: 999px;--shadow-sm: 0 1px 3px rgba(44, 10, 34, .06), 0 1px 2px rgba(44, 10, 34, .04);--shadow-md: 0 6px 20px rgba(44, 10, 34, .1);--shadow-lg: 0 16px 40px rgba(44, 10, 34, .16);--app-max: 480px;--nav-h: 68px;--safe-bottom: env(safe-area-inset-bottom, 0px);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-display: "Georgia", "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--plum-900);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{margin:0;line-height:1.15}p{margin:0;line-height:1.5}:focus-visible{outline:3px solid var(--rose);outline-offset:2px;border-radius:6px}.app-shell{max-width:var(--app-max);min-height:100%;margin:0 auto;background:var(--bg);position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}@media (min-width: 520px){.app-shell{min-height:calc(100vh - 48px);margin:24px auto;border-radius:34px}}.screen{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px)}.screen--flush{padding-bottom:0}.pad{padding:20px}.stack>*+*{margin-top:14px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);font-weight:700}.h1{font-size:26px;font-weight:800;letter-spacing:-.01em}.h2{font-size:20px;font-weight:800;letter-spacing:-.01em}.h3{font-size:16px;font-weight:700}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:13px}.tiny{font-size:11.5px}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--r-pill);padding:14px 22px;font-size:15px;font-weight:700;transition:transform .08s ease,filter .15s ease,background .15s ease}.btn:active{transform:translateY(1px) scale(.995)}.btn--primary{background:linear-gradient(135deg,var(--wine),var(--burgundy));color:#fff;box-shadow:var(--shadow-md)}.btn--primary:hover{filter:brightness(1.06)}.btn--ghost{background:transparent;color:var(--wine);border:1.5px solid var(--line-strong)}.btn--soft{background:var(--blush);color:var(--burgundy)}.btn--block{display:flex;width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.card{display:block;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:1px solid var(--line)}.card--pad{padding:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--burgundy);font-size:12.5px;font-weight:600;border:1px solid var(--line);white-space:nowrap}.chip--active{background:var(--wine);color:#fff;border-color:var(--wine)}.row{display:flex;align-items:center;gap:12px}.row-wrap{display:flex;flex-wrap:wrap;gap:8px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.scroll-x{display:flex;gap:12px;overflow-x:auto;padding:2px 20px 8px;margin:0 -20px;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:16px 20px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-btn{width:40px;height:40px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink)}.input,.textarea,.select{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--r-md);padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px var(--blush)}.textarea{resize:vertical;min-height:90px;line-height:1.5}input[type=checkbox]{width:20px;height:20px;accent-color:var(--wine);flex:0 0 auto}.passport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.passport-stamp{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:var(--r-md);border:1.5px dashed var(--line-strong);color:var(--ink-faint);text-align:center}.passport-stamp[data-visited=true]{border-style:solid;border-color:var(--rose);background:var(--blush);color:var(--burgundy)}.post-action{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-size:13px;font-weight:600;color:var(--ink-soft);padding:2px 0}.post-action[data-active=true]{color:var(--wine)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.answer-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 18px;border-radius:var(--r-md);border:2px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:15.5px;font-weight:600;transition:border-color .12s ease,background .12s ease,transform .08s ease}.answer-card:active{transform:scale(.99)}.answer-card[data-active=true]{border-color:var(--wine);background:var(--surface-2)}.answer-emoji{font-size:24px;line-height:1}.answer-check{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:transparent}.answer-card[data-active=true] .answer-check{background:var(--wine)}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:40}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ink-faint);font-size:10.5px;font-weight:600;position:relative}.nav-item--active{color:var(--wine)}.nav-icon{font-size:20px;line-height:1;filter:grayscale(.5) opacity(.7);transition:transform .15s ease,filter .15s ease}.nav-item--active .nav-icon{filter:none;transform:translateY(-1px) scale(1.08)}.nav-label{letter-spacing:.01em}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:rise .32s ease both}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.badge-dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--wine);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;border:2px solid var(--surface)}
