:root{--bg: #fbf7f2;--surface: #ffffff;--surface-high: #f1e9df;--line: rgba(36, 26, 21, .11);--line-strong: rgba(36, 26, 21, .22);--ink: #241a15;--ink-soft: #6b5c52;--ink-faint: #837366;--terracotta: #c04520;--azulejo: #2c6ea5;--olive: #26794a;--sand: #e7d8b8;--shadow: 0 1px 2px rgba(36, 26, 21, .05), 0 6px 16px -8px rgba(36, 26, 21, .14);--radius: 16px;--gap: 14px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.02em}.app{max-width:560px;margin:0 auto;padding:0 16px calc(104px + var(--safe-bottom))}.masthead{position:sticky;top:0;z-index:20;margin:0 -16px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px;background:var(--bg);border-bottom:1px solid var(--line)}.masthead-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.masthead h1{font-size:19px;font-weight:700;flex:1}.masthead .sub{display:block;font-size:12px;font-weight:500;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.whoami{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.tabs{display:flex;gap:4px;padding:3px;border-radius:12px;background:var(--surface-high)}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 6px;border:0;border-radius:10px;background:transparent;font-size:14px;font-weight:600;color:var(--ink-faint);cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}.tab svg{flex:0 0 auto}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tab[aria-selected=true] svg{color:var(--terracotta)}.tab .badge{min-width:19px;padding:0 5px;border-radius:999px;background:var(--line-strong);font-size:11px;font-weight:700;line-height:19px;color:var(--ink-soft)}.tab[aria-selected=true] .badge{background:var(--terracotta);color:#fff}.fab{position:fixed;right:20px;bottom:calc(22px + var(--safe-bottom));z-index:30;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--terracotta);color:#fff;cursor:pointer;box-shadow:0 4px 14px #c0452061;transition:transform .12s}.fab:active{transform:scale(.92)}@media(min-width:600px){.fab{right:max(20px,calc(50vw - 260px))}}.day{margin-top:26px}.month{margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta)}.day-head{display:flex;align-items:baseline;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--line)}.day-head .num{font-size:26px;font-weight:800;letter-spacing:-.03em}.day-head .name{font-size:14px;font-weight:600;color:var(--ink-soft);text-transform:capitalize}.day-head .today{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--terracotta);text-transform:uppercase}.day.is-today .day-head .num{color:var(--terracotta)}.day-empty{padding:16px 2px;font-size:14px;color:var(--ink-faint)}.card{margin-top:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.mine{border-color:#c0452066}.card.landed{animation:landed 2.2s ease-out}@keyframes landed{0%,55%{box-shadow:0 0 0 3px #c0452059,var(--shadow)}to{box-shadow:0 0 0 3px #c0452000,var(--shadow)}}.card-top{display:flex;gap:10px;align-items:flex-start}.card h3{flex:1;font-size:17px;font-weight:700}.card .hour{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--azulejo);font-variant-numeric:tabular-nums;padding-top:2px}.card .meta{margin-top:5px;font-size:13px;color:var(--ink-soft)}.card .meta .place:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ink-faint);vertical-align:middle;margin-right:7px}.card .note{margin:8px 0 0;font-size:14px;color:var(--ink-soft);white-space:pre-wrap}.card .author{margin-top:7px;font-size:12px;color:var(--ink-faint)}.roster{margin-top:11px;padding-top:11px;border-top:1px solid var(--line);font-size:13px}.roster-line{display:flex;gap:8px;margin-bottom:4px}.roster-line:last-child{margin-bottom:0}.roster-line .tag{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums}.roster-line.yes .tag{color:var(--olive)}.roster-line.maybe .tag,.roster-line .names{color:var(--ink-soft)}.roster-line .names .me{color:var(--ink);font-weight:600}.roster-none{color:var(--ink-faint)}.answers{display:flex;gap:7px;margin-top:12px}.answers button{flex:1;padding:10px 4px;border:1px solid var(--line);border-radius:11px;background:transparent;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.answers button:active{transform:scale(.97)}.answers button[aria-pressed=true]{color:#fff;border-color:transparent}.answers button.yes[aria-pressed=true]{background:var(--olive)}.answers button.maybe[aria-pressed=true]{background:var(--sand);color:var(--ink)}.answers button.no[aria-pressed=true]{background:var(--ink-soft)}.card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.card-actions button{white-space:nowrap;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer}.card-actions .share{color:var(--ink);border-color:var(--line-strong)}.card-actions .danger{margin-left:auto;color:#b04a2e}.wall-intro{margin:18px 0 4px;font-size:14px;color:var(--ink-soft)}.card.idea .heat{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--ink-soft)}.heat-bar{display:inline-block;width:46px;height:4px;border-radius:2px;background:var(--line-strong);overflow:hidden}.heat-bar i{display:block;height:100%;background:var(--terracotta)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#241a1566;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;padding:20px 18px calc(20px + var(--safe-bottom));box-shadow:0 -8px 40px #241a152e}.sheet h2{font-size:20px;font-weight:700;margin-bottom:4px}.sheet .hint{font-size:13px;color:var(--ink-faint);margin:0 0 16px}.field{margin-bottom:13px}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--line-strong);border-radius:11px;background:var(--bg);font-size:16px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--terracotta);outline-offset:1px}.field textarea{min-height:74px;resize:vertical}.field-row{display:flex;gap:10px}.field-row .field{flex:1}.sheet-actions{display:flex;gap:9px;margin-top:18px}.sheet-actions button{flex:1;padding:14px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;font-size:15px;font-weight:700;cursor:pointer}.sheet-actions .primary{border-color:transparent;background:var(--terracotta);color:#fff}.sheet-actions button:disabled{opacity:.45}.gate{position:relative;height:100dvh;overflow:hidden}.gate-skip{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;z-index:3;padding:8px 14px;border:0;border-radius:999px;background:transparent;font-size:14px;font-weight:600;color:var(--ink-faint);cursor:pointer}.deck{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.deck::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;height:100%;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center}.slide-inner{width:100%;max-width:460px;margin:0 auto;padding:72px 24px calc(128px + var(--safe-bottom))}.slide.is-active .slide-inner>*{animation:rise .5s cubic-bezier(.2,.7,.3,1) backwards}.slide.is-active .slide-inner>*:nth-child(1){animation-delay:.04s}.slide.is-active .slide-inner>*:nth-child(2){animation-delay:.1s}.slide.is-active .slide-inner>*:nth-child(3){animation-delay:.16s}.slide.is-active .slide-inner>*:nth-child(4){animation-delay:.22s}.slide.is-active .slide-inner>*:nth-child(5){animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.gate .kicker{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta)}.gate h1{font-size:30px;font-weight:800;margin:10px 0 12px}.gate h1.hero{font-size:40px;line-height:1.05}.gate .pitch{color:var(--ink-soft);margin:0 0 14px;font-size:16px;line-height:1.5}.gate .tail{margin:0 0 14px;font-size:15px;color:var(--ink-faint)}.step-num{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--terracotta);color:#fff;font-size:12px;font-weight:700;line-height:22px;text-align:center}.step-num.big{width:30px;height:30px;font-size:15px;line-height:30px}.mock{margin-top:22px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.mock-row{display:flex;align-items:baseline;gap:10px}.mock-title{flex:1;font-size:16px;font-weight:700}.mock-hour{font-size:13px;font-weight:700;color:var(--azulejo);font-variant-numeric:tabular-nums}.mock-place{display:block;margin-top:5px;font-size:13px;color:var(--ink-soft)}.mock-dim{color:var(--ink-soft)}.mock-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.mock-pill{padding:5px 11px;border-radius:999px;background:#26794a1f;color:var(--olive);font-size:13px;font-weight:600}.slide.is-active .mock-pill{animation:pop .42s cubic-bezier(.2,1.4,.5,1) backwards;animation-delay:calc(.45s + var(--i) * .13s)}@keyframes pop{0%{opacity:0;transform:scale(.6) translateY(6px)}}.mock-buttons{display:flex;gap:7px}.mock-btn{flex:1;padding:9px 4px;border:1px solid var(--line);border-radius:11px;text-align:center;font-size:13px;font-weight:600;color:var(--ink-soft)}.mock-btn.on{background:var(--olive);border-color:transparent;color:#fff}.mock-share{background:transparent;border:0;box-shadow:none;padding:0}.mock-bubble{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#e6f5d8;border:1px solid #cfe6ba;color:#1d2b16;font-size:14px;line-height:1.4}.mock-link{color:#2c6ea5;text-decoration:underline}.mock-wishlist{display:flex;flex-direction:column;gap:12px}.mock-envie{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.mock-envie>span:first-child{flex:1}.mock-bar{flex:0 0 62px;height:5px;border-radius:3px;background:var(--line-strong);overflow:hidden}.mock-bar i{display:block;height:100%;width:var(--heat);background:var(--terracotta)}.slide.is-active .mock-bar i{animation:fill .85s cubic-bezier(.2,.7,.3,1) backwards;animation-delay:calc(.5s + var(--i) * .16s)}@keyframes fill{0%{width:0}}.deck-nav{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:14px;max-width:460px;margin:0 auto;padding:16px 24px calc(20px + var(--safe-bottom));background:linear-gradient(transparent,var(--bg) 34%)}.dots{flex:1;display:flex;gap:7px}.dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line-strong);cursor:pointer;transition:width .25s,background .25s}.dots button.on{width:20px;border-radius:4px;background:var(--terracotta)}.deck-next{padding:12px 22px;border:0;border-radius:999px;background:var(--terracotta);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:9px;margin-top:6px}.people button{padding:15px 8px;border:1px solid var(--line-strong);border-radius:13px;background:var(--surface);box-shadow:var(--shadow);font-size:15px;font-weight:600;cursor:pointer}.people button:active{background:var(--terracotta);border-color:transparent;color:#fff}@media(prefers-reduced-motion:reduce){.slide.is-active .slide-inner>*,.slide.is-active .mock-pill,.slide.is-active .mock-bar i{animation:none}}.empty{margin-top:40px;text-align:center;color:var(--ink-faint);font-size:14px;line-height:1.7}.banner{margin-top:12px;padding:11px 13px;border-radius:11px;background:#fdeeea;border:1px solid #f0b9ab;font-size:14px;color:#9c3418}
