:root{--red:#b3352c;--red-deep:#8e2a23;--red-ink:#7a231d;--red-tint:#f6e2df;--red-ring:#b3352c2e;--ink:#2a1c17;--ink-2:#5c4a3a;--ink-3:#7a6a5c;--ink-4:#9a8a7c;--paper:#f6efe4;--card:#fffcf7;--cream:#fff7ec;--sand:#f1e4cc;--beige:#ede3d3;--line:#e8dccb;--line-2:#e3d6c3;--khaki:#c9b79e;--gold:#e9c46a;--green:#3e7c4f;--whatsapp:#25d366;--scrim:#1c141173;--font-serif:"Noto Serif SC", "Songti SC", "STSong", serif;--font-sans:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--fs-hero:44px;--fs-onboard:40px;--fs-display:28px;--fs-sheet:20px;--fs-h2:20px;--fs-h3:16px;--fs-15:15px;--fs-body:14px;--fs-13:13px;--fs-small:12px;--fs-tiny:11px;--fw-black:900;--lh-tight:1.1;--r-xs:6px;--r-sm:10px;--r-12:12px;--r-md:14px;--r-16:16px;--r-lg:18px;--r-dialog:22px;--r-xl:24px;--r-sheet:26px;--r-pill:999px;--sh-card:0 2px 0 var(--line);--sh-float:0 8px 12px -10px #2a1c172e;--sh-table:inset 0 0 0 6px var(--red-ink), 0 10px 24px #8e2a234d;--sh-focus:0 0 0 4px var(--red-ring);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-base:.22s;--t-sheet:.28s}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-base:0s;--t-sheet:0s}}:root{--white:#fff;--seat-other:#efe6d8;--seat-other-line:var(--line-2);--host-ring:#e7b9b3;--table-closed:#8a7f76;--table-closed-ring:#6f655d;--tab-ink:#8a8580;--sand-line:#e3cfa9;--gold-ring:#e9c46a59}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-15);line-height:1.5}body{min-height:100vh;-webkit-text-size-adjust:100%;min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{font-size:var(--fs-h3)}button{cursor:pointer;transition:transform var(--t-fast) var(--ease-out);background:0 0;border:0}button:active{transform:scale(.96)}button:focus-visible{box-shadow:var(--sh-focus);outline:none}button:disabled{cursor:default}#app{max-width:480px;min-height:100vh;flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.serif{font-family:var(--font-serif);font-weight:var(--fw-black)}.nav{text-align:center;flex:none;grid-template-columns:48px 1fr 48px;align-items:center;height:48px;font-size:17px;font-weight:700;display:grid}.nav .ico{color:var(--ink);font-size:22px}.nav .ico[disabled]{visibility:hidden}.body{padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px));flex:1}.body.has-bar,.body.has-actionbar{padding-bottom:calc(var(--bar-height,0px) + var(--s4) + env(safe-area-inset-bottom,0px))}.body.has-bar{padding-bottom:calc(var(--tabbar-height,76px) + var(--s4) + env(safe-area-inset-bottom,0px))}:root{--bar-height:90px;--toast-lift:20px}.pad{padding:0 18px}.btn{border-radius:var(--r-pill);height:50px;font-weight:700;font-size:var(--fs-h3);justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.btn.primary{background:var(--red);color:var(--cream)}.btn.ghost{background:var(--card);border:1.5px solid var(--line-2);color:var(--ink)}.btn.dark-ghost{background:var(--card);border:1.5px solid var(--ink);color:var(--ink)}.btn.soft{background:var(--beige);color:var(--ink-2)}.btn.danger-ghost{border:1.5px solid var(--red);color:var(--red);background:var(--card)}a.btn{text-decoration:none}.btn.cal-entry{margin-top:var(--s3);height:44px;font-size:var(--fs-body)}.btn.disabled{background:var(--khaki);color:var(--white)}.textlink{color:var(--ink-3);font-size:var(--fs-body);text-align:center;width:100%;padding:var(--s2);display:block}.list .li .textlink{width:auto;color:var(--red);font-size:var(--fs-13);padding:4px 2px;font-weight:700;display:inline-block}.link{color:var(--red);font-size:var(--fs-body);font-weight:700;display:inline}.actionbar{gap:var(--s3);max-width:480px;padding:14px 18px calc(24px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line);z-index:10;flex-wrap:wrap;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.actionbar .btn{border-radius:var(--r-16);flex:40%;height:52px}.when{text-align:center;padding-top:var(--s1)}.when .d{color:var(--red);font-weight:700;font-size:var(--fs-body)}.when .t{font:var(--fw-black) var(--fs-hero) / var(--lh-tight) var(--font-serif);letter-spacing:-1px}.when .s{color:var(--ink-3);font-size:var(--fs-13)}.when.dim .t{color:var(--ink-4);text-decoration:line-through;text-decoration-thickness:3px}.table-wrap{width:270px;height:270px;margin:var(--s1) auto 0;position:relative}.table{border-radius:var(--r-xl);background:var(--red-deep);box-shadow:var(--sh-table);place-items:center;display:grid;position:absolute;top:36px;bottom:36px;left:36px;right:36px}.table.closed{background:var(--table-closed);box-shadow:inset 0 0 0 6px var(--table-closed-ring)}.table .count{text-align:center;color:var(--cream)}.table .count .n{font:900 38px/1 var(--font-serif);display:inline-block}.table .count .l{font-size:var(--fs-tiny);opacity:.75;margin-top:var(--s1)}.seat{width:64px;height:64px;position:absolute;transform:translate(-50%,-50%)}.seat.top{top:36px;left:50%}.seat.right{top:50%;left:234px}.seat.bottom{top:234px;left:50%}.seat.left{top:50%;left:36px}.disc{width:64px;height:64px;font:900 24px/1 var(--font-serif);border:3px solid var(--card);border-radius:50%;place-items:center;display:grid;position:relative}.disc.host{background:var(--red-tint);color:var(--red);border-color:var(--host-ring)}.disc.other{background:var(--seat-other);color:var(--ink);border-color:var(--seat-other-line)}.disc.me{background:var(--gold);color:var(--ink);box-shadow:0 0 0 6px var(--gold-ring)}.disc.empty{border:2.5px dashed var(--khaki);background:0 0;padding:0}.disc .crown{background:var(--red);color:var(--white);font-size:10px;font-family:var(--font-sans);border-radius:6px;padding:1px 5px;font-weight:700;position:absolute;top:-8px;right:-4px}.disc.drop{animation:seatDrop var(--t-base) var(--ease-spring) both}@keyframes seatDrop{0%{opacity:0;transform:translateY(-36px)scale(.6)}to{opacity:1;transform:none}}.names{gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;justify-content:center;display:flex}.chip{font-size:var(--fs-13);border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line-2);color:var(--ink-2);padding:5px 12px}.chip.wait{color:var(--ink-3);border-style:dashed}.info{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);margin:14px 18px 0;padding:2px 18px}.info .r{border-bottom:1px solid var(--line-2);font-size:var(--fs-15);grid-template-columns:64px 1fr;padding:13px 0;font-weight:500;display:grid}.info .r:last-child{border:0}.info .r span{color:var(--ink-3);font-size:var(--fs-13);font-weight:400}.disclaimer{text-align:center;color:var(--ink-4);font-size:var(--fs-tiny);margin-top:var(--s3)}.strip{margin:var(--s3) 18px 0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:var(--s3);padding:12px 16px;display:flex}.strip .dot{background:var(--khaki);border-radius:50%;flex:none;width:9px;height:9px}.strip .dot.on{background:var(--green)}.strip .tx{font-size:var(--fs-body);flex:1;font-weight:700}.strip .tx small{color:var(--ink-3);font-weight:400;font-size:var(--fs-small);margin-top:2px;display:block}.banner{border-radius:var(--r-md);font-size:var(--fs-13);background:var(--sand);border:1px solid var(--sand-line);color:var(--ink);align-items:center;gap:10px;margin:6px 18px 0;padding:11px 14px;display:flex}.banner.red{background:var(--red-tint);border-color:var(--host-ring)}.banner.ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}.banner .x{color:var(--ink-3);font-size:var(--fs-h3);margin-left:auto}.section-head{justify-content:space-between;align-items:baseline;padding:18px 18px 0;display:flex}.section-head h2{font:var(--fw-black) var(--fs-display) / var(--lh-tight) var(--font-serif)}.card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);width:calc(100% - 36px);box-shadow:var(--sh-card);margin:12px 18px 0;padding:14px 16px;display:block}.card .top{align-items:baseline;gap:var(--s3);display:flex}.card .time{font:var(--fw-black) 24px/1 var(--font-serif)}.card .venue{font-weight:700;font-size:var(--fs-h3)}.card .meta{color:var(--ink-3);font-size:var(--fs-13);margin-top:6px}.card .foot{align-items:center;gap:var(--s2);margin-top:10px;display:flex}.tag{font-size:var(--fs-tiny);border-radius:var(--r-pill);background:var(--sand);color:var(--ink-2);padding:3px 9px}.tag.red{background:var(--red-tint);color:var(--red)}.tag.full{background:var(--beige);color:var(--ink-2)}.segmented{gap:var(--s1);background:var(--beige);border-radius:var(--r-16);margin:14px 18px 0;padding:3px;display:flex}.segmented button{height:34px;font-size:var(--fs-13);color:var(--ink-3);border-radius:13px;flex:1;font-weight:700}.segmented button.on{background:var(--card);color:var(--red);box-shadow:var(--sh-float)}.scrim{background:var(--scrim);z-index:20;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--card);border-radius:var(--r-sheet) var(--r-sheet) 0 0;z-index:25;max-width:480px;animation:sheetUp var(--t-sheet) var(--ease-out);margin:0 auto;padding:12px 22px 32px;position:fixed;bottom:0;left:0;right:0}.sheet .grab{background:var(--line-2);width:36px;height:4px;margin:0 auto var(--s4);border-radius:2px}.sheet h3{font:var(--fw-black) var(--fs-sheet) / 1.3 var(--font-serif)}.sheet .sub{color:var(--ink-3);font-size:var(--fs-13);margin-top:var(--s1)}.sheet .stack{margin-top:var(--s4);gap:10px;display:grid}.sheet input{border-radius:var(--r-12);border:1.5px solid var(--line-2);background:var(--paper);width:100%;height:50px;font-size:var(--fs-h3);padding:0 14px;font-weight:500}.sheet input:focus{border-color:var(--red);box-shadow:var(--sh-focus);outline:none}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}.sheet.share{text-align:center;max-height:calc(100dvh - 24px);overflow-y:auto}.poster-frame{margin:var(--s2) auto 0;width:188px}.poster{object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--red-tint);width:188px;height:250px;box-shadow:var(--sh-card);display:block}.poster.placeholder{text-align:center;color:var(--red);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;font-weight:700;display:flex}.poster.placeholder small{color:var(--ink-3);font-weight:400;font-size:var(--fs-small);line-height:1.5}.sheet .hint{color:var(--ink-3);font-size:var(--fs-small);margin-top:10px}.outlets{margin-top:var(--s4);display:flex}.outlet{min-width:0;font-size:var(--fs-small);color:var(--ink-2);flex-direction:column;flex:1;align-items:center;gap:6px;font-weight:400;text-decoration:none;display:flex}.outlet:disabled{opacity:.45}.outlet .ico{background:var(--beige);width:48px;height:48px;color:var(--red);border-radius:50%;place-items:center;display:grid}.outlet .ico.wa{background:var(--whatsapp);color:var(--white)}.script{margin-top:var(--s4);border-radius:var(--r-12);background:var(--paper);text-align:left;align-items:center;gap:10px;padding:12px 14px;display:flex}.sheet.share .cancel{margin-top:var(--s3)}.script p{color:var(--ink-2);font-size:var(--fs-13);word-break:break-all;flex:1;line-height:1.5}.btn.small{width:auto;height:36px;min-height:0;font-size:var(--fs-13);white-space:nowrap;flex:none;padding:0 16px}.field{margin:14px 18px 0}.field label{font-size:var(--fs-13);color:var(--ink-3);margin-bottom:6px;display:block}.field input,.field select,.field textarea{border-radius:var(--r-12);border:1.5px solid var(--line-2);background:var(--card);width:100%;min-height:48px;padding:12px 14px}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:var(--sh-focus);outline:none}.choices{gap:var(--s2);flex-wrap:wrap;display:flex}.choices button{border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--card);font-size:var(--fs-13);color:var(--ink-2);padding:9px 14px;font-weight:700}.choices button.on{border-color:var(--red);color:var(--red);background:var(--red-tint)}.error{color:var(--red);font-size:var(--fs-13);margin:12px 18px 0}.field input.err,.field textarea.err{border-color:var(--red);background:var(--red-tint)}.errmsg{color:var(--red);font-size:var(--fs-small);gap:6px;margin-top:6px;display:flex}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);margin:0 18px;overflow:hidden}.list .li{border-bottom:1px solid var(--line-2);text-align:left;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.list .li:last-child{border-bottom:0}.list .li.tap:active{background:var(--paper)}.list .li .tx{font-size:var(--fs-15);color:var(--ink);flex:1;font-weight:700}.list .li .tx small{color:var(--ink-3);font-weight:400;font-size:var(--fs-small);margin-top:2px;line-height:1.5;display:block}.chev{color:var(--ink-3);font-size:18px}.avatar{background:var(--red-tint);width:44px;height:44px;color:var(--red);border-radius:50%;place-items:center;font-size:18px;font-weight:900;display:grid}.dev-ico{background:var(--paper);border-radius:10px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.here{color:var(--green);font-size:var(--fs-tiny);font-weight:700}.small-title{color:var(--ink-3);font-size:var(--fs-13);padding:18px 18px 8px;font-weight:700}.dialog .two{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.dialog .two .btn{height:46px;font-size:var(--fs-15)}.empty-state{text-align:center;color:var(--ink-3);font-size:var(--fs-body);padding:48px 24px}.toast{left:50%;bottom:calc(var(--toast-lift,20px) + var(--tabbar-height,0px) + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--cream);border-radius:var(--r-pill);font-size:var(--fs-13);z-index:40;text-align:center;max-width:calc(100% - 48px);animation:sheetUp var(--t-base) var(--ease-out);padding:10px 18px;position:fixed;transform:translate(-50%)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-top{z-index:5;background:var(--paper);padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--s3);transition:border-color var(--t-fast) var(--ease-out);border-bottom:1px solid #0000;position:-webkit-sticky;position:sticky;top:0}.home-top.scrolled{border-bottom-color:var(--line)}html.lock-overscroll,html.lock-overscroll body{overscroll-behavior-y:none}.head{padding:8px 18px 0}.head h1{font:var(--fw-black) var(--fs-display) / var(--lh-tight) var(--font-serif);color:var(--red)}.head .sub{color:var(--ink-2);font-size:var(--fs-13);margin-top:6px}.net{color:var(--ink-3);background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.net i{background:var(--khaki);border-radius:50%;width:7px;height:7px}.areachips{gap:var(--s2);scrollbar-width:none;padding:12px 18px 0;display:flex;overflow-x:auto}.areachips::-webkit-scrollbar{display:none}.areachips button{border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--card);height:34px;font-size:var(--fs-13);color:var(--ink-2);flex:none;padding:0 16px;font-weight:700}.areachips button.on{background:var(--red);border-color:var(--red);color:var(--cream)}.listing{justify-content:space-between;align-items:baseline;padding:18px 18px 0;display:flex}.listing h2{font:var(--fw-black) var(--fs-h2) / var(--lh-tight) var(--font-serif)}.listing .count{color:var(--ink-3);font-size:var(--fs-13)}.gamecard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);text-align:left;width:calc(100% - 36px);box-shadow:var(--sh-card);gap:14px;margin:12px 18px 0;padding:12px;display:flex}.when-block{border-radius:var(--r-md);background:var(--beige);text-align:center;flex:none;width:84px;padding:10px 0}.when-block .d{color:var(--red);font-size:var(--fs-small);font-weight:700}.when-block .t{font:var(--fw-black) 22px/1.1 var(--font-serif);margin-top:2px}.when-block .md{color:var(--ink-3);font-size:var(--fs-tiny);margin-top:2px}.gamecard .main{flex:1;min-width:0}.gamecard .tags{align-items:center;gap:var(--s2);font-size:var(--fs-small);color:var(--ink-3);display:flex}.gamecard .venue{font-weight:700;font-size:var(--fs-h3);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;overflow:hidden}.gamecard .row{align-items:center;gap:var(--s2);margin-top:10px;display:flex}.dots{gap:4px;display:flex}.dots i{width:26px;height:26px;font:700 12px/1 var(--font-serif);background:var(--seat-other);color:var(--ink);border:2px solid var(--card);border-radius:50%;place-items:center;font-style:normal;display:grid}.dots i.host{background:var(--red-tint);color:var(--red)}.dots i.blank{border:1.5px dashed var(--khaki);background:0 0}.need{font-size:var(--fs-small);border-radius:var(--r-pill);background:var(--red-tint);color:var(--red);white-space:nowrap;margin-left:auto;padding:3px 10px;font-weight:700}.need.full{background:var(--beige);color:var(--ink-2)}.tabbar{max-width:480px;height:76px;padding-top:8px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--white);border-top:1px solid var(--line);z-index:10;grid-template-columns:repeat(5,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{font-size:var(--fs-tiny);color:var(--ink-4);flex-direction:column;align-items:center;gap:2px;display:flex}.tab .g{color:var(--tab-ink);font-size:22px;line-height:1}.tab.on{color:var(--red);font-weight:700}.tab.on .g{color:var(--red)}.tab.egg{margin-top:-26px}.tab.egg .g{background:var(--red);width:54px;height:54px;color:var(--cream);font:900 22px/50px var(--font-serif);border:4px solid var(--white);box-shadow:var(--sh-float);text-align:center;border-radius:50%}.dialog{background:var(--card);border-radius:var(--r-dialog);z-index:25;max-width:420px;animation:sheetUp var(--t-base) var(--ease-out);margin:0 auto;padding:22px;position:fixed;top:50%;left:24px;right:24px;transform:translateY(-50%)}.dialog h3{font:var(--fw-black) var(--fs-sheet) / 1.3 var(--font-serif)}.dialog .sub{color:var(--ink-3);font-size:var(--fs-13);margin-top:var(--s1)}.diffs{margin-top:var(--s4);gap:10px;display:grid}.diff{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px}.diff .label{font-size:var(--fs-tiny);color:var(--ink-3)}.diff .row{font-size:var(--fs-13);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-weight:700;display:flex}.diff .theirs{color:var(--ink-3);font-weight:400}.body.agent-page{--bar-height:76px;padding-bottom:calc(var(--bar-height) + var(--tabbar-height,0px) + var(--s4) + env(safe-area-inset-bottom,0px))}.agent-head{align-items:center;gap:var(--s3);padding:var(--s2) 18px var(--s3);border-bottom:1px solid var(--line);display:flex}.agent-avatar{background:var(--red);width:48px;height:48px;color:var(--cream);font-size:var(--fs-h2);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.agent-avatar.small{width:28px;height:28px;font-size:var(--fs-small)}.agent-name{font-size:var(--fs-h2)}.agent-sub{font-size:var(--fs-13);color:var(--ink-3)}.chat{gap:var(--s3);padding:var(--s3) 18px 0;flex-direction:column;display:flex}.chat-day{text-align:center;font-size:var(--fs-small);color:var(--ink-3)}.chat-row{align-items:flex-end;gap:var(--s2);display:flex}.bubble{border-radius:var(--r-16);background:var(--card);border:1px solid var(--line);max-width:82%;color:var(--ink);font-size:var(--fs-15);white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 14px;line-height:1.6}.bubble.me{background:var(--ink);border-color:var(--ink);color:var(--cream);align-self:flex-end}.btn.agent-fallback{width:auto;height:44px;padding:0 var(--s5);font-size:var(--fs-15);align-self:flex-start;margin-left:36px}.confirm-card{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--sh-card);gap:var(--s3);flex-direction:column;display:flex}.confirm-tag{color:var(--red);font-size:var(--fs-13);font-weight:700}.confirm-tag:before{content:"● "}.confirm-card h3{font-size:var(--fs-h2)}.confirm-rows{background:var(--cream);border-radius:var(--r-md);padding:var(--s1) var(--s4)}.confirm-rows>div{gap:var(--s4);border-bottom:1px solid var(--line);padding:10px 0;display:flex}.confirm-rows>div:last-child{border-bottom:none}.confirm-rows dt{width:3em;color:var(--ink-3);font-size:var(--fs-13);flex:none}.confirm-rows dd{color:var(--ink);font-weight:600;font-size:var(--fs-15);overflow-wrap:anywhere}.confirm-alt{gap:var(--s3);display:flex}.confirm-foot{font-size:var(--fs-small);color:var(--ink-3)}.confirm-card .error{margin:0}.composer{left:0;right:0;bottom:var(--tabbar-height,0px);gap:var(--s2);max-width:480px;padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line);z-index:10;margin:0 auto;display:flex;position:fixed}.composer input{min-width:0;height:48px;padding:0 var(--s4);border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);font-size:var(--fs-h3);flex:1}.composer input:focus{border-color:var(--red);box-shadow:var(--sh-focus);outline:none}.composer .send{background:var(--red);width:48px;height:48px;color:var(--cream);font-size:var(--fs-h2);border-radius:50%;flex:none;font-weight:700}.composer .send[disabled]{background:var(--khaki)}.prefill-note{margin:0 18px var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--red-tint);font-size:var(--fs-13);color:var(--ink-2)}.prefill-note .problem{color:var(--red);margin-top:var(--s1)}.sheet.joined h3{text-align:center;margin-top:var(--s3)}.sheet.joined .check{background:var(--red);width:64px;height:64px;color:var(--cream);font-size:var(--fs-h2);box-shadow:0 0 0 10px var(--red-tint);border-radius:50%;place-items:center;margin:0 auto;font-weight:700;display:grid}.sheet.joined .mini{align-items:center;gap:var(--s3);margin-top:var(--s4);padding:14px var(--s4);border-radius:var(--r-16);background:var(--cream);border:1px solid var(--line);display:flex}.sheet.joined .mini-text{flex:1;min-width:0}.sheet.joined .mini .w{font-size:var(--fs-h3)}.sheet.joined .mini .v{color:var(--ink-3);font-size:var(--fs-13);overflow-wrap:anywhere;margin-top:2px}.sheet.joined .dots{flex:none;align-items:center}.sheet.joined .dots i.me{background:var(--gold)}.sheet.joined .count{color:var(--red);margin-left:var(--s1);font-size:var(--fs-h3)}.sheet.joined .ask{text-align:center;margin-top:var(--s5);font-weight:700}.sheet.joined .ask-sub{text-align:center;color:var(--ink-3);font-size:var(--fs-13);margin-top:var(--s1)}.wa-current{text-align:center;font-weight:700;font-size:var(--fs-h3);color:var(--ink);padding:var(--s2) 0}.list .li .val{color:var(--ink-3);font-size:var(--fs-13);white-space:nowrap}.claim-warn{margin-top:calc(-1 * var(--s1));text-align:center;color:var(--red);font-size:var(--fs-small);font-weight:700}.home-top+.listing{padding-top:6px}.group-banner{align-items:center;gap:var(--s3);margin:var(--s2) 18px 0;border-radius:var(--r-lg);background:var(--beige);padding:14px;display:flex}.group-banner .gico{border-radius:var(--r-12);background:var(--red);width:40px;height:40px;color:var(--cream);flex:none;place-items:center;font-size:20px;font-weight:900;display:grid}.group-banner .gtx{flex:1;min-width:0}.group-banner .gtx b{font-size:var(--fs-15);color:var(--ink);display:block}.group-banner .gtx small{font-size:var(--fs-small);color:var(--ink-2);margin-top:2px;display:block}.group-banner .gact{flex:none;gap:6px;display:grid}.pill-btn{border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line-2);height:30px;color:var(--red);font-size:var(--fs-small);white-space:nowrap;place-items:center;padding:0 12px;font-weight:700;text-decoration:none;display:grid}.pill-btn.wa{background:var(--whatsapp);border-color:var(--whatsapp);color:var(--white)}.friends{gap:10px;margin:14px 18px 0;display:grid}.friend{align-items:center;gap:var(--s3);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-card);padding:12px 14px;display:flex}.friend .avatar{background:var(--beige);color:var(--ink);font-family:var(--font-serif);flex:none}.friend .avatar.starred{background:var(--red);color:var(--cream)}.friend .tx{flex:1;min-width:0}.friend .tx b{font-size:var(--fs-h3);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.friend .tx small{font-size:var(--fs-small);color:var(--ink-3);margin-top:2px;display:block}.friend .star{border:1px solid var(--line-2);background:var(--card);width:36px;height:36px;color:var(--ink-4);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.friend .star.on{color:var(--red)}.sheet.invite .options{margin-top:var(--s4);gap:10px;display:grid}.option{align-items:center;gap:var(--s3);border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;padding:12px 14px;text-decoration:none;display:flex}.option .ico{background:var(--beige);width:44px;height:44px;color:var(--red);border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:900;display:grid}.option .ico.wa{background:var(--whatsapp);color:var(--white);font-family:var(--font-serif)}.option .tx{min-width:0;font-size:var(--fs-15);flex:1;font-weight:700}.option .tx small{font-size:var(--fs-small);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-weight:400;display:block;overflow:hidden}.option .chev{color:var(--ink-4);flex:none;font-size:18px}.sheet.invite .cancel{margin-top:var(--s4)}.choices.invitees .chip{padding:9px 14px}.choices.invitees button.add{color:var(--red);border-style:dashed}.sheet.picker{max-height:calc(100dvh - 24px);overflow-y:auto}.pick-list{gap:var(--s2);margin-top:var(--s4);display:grid}.pick{align-items:center;gap:var(--s3);border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--card);text-align:left;width:100%;color:var(--ink);padding:10px 12px;display:flex}.pick.on{border-color:var(--red);background:var(--red-tint)}.pick .avatar{width:36px;height:36px;font-size:var(--fs-15);background:var(--beige);color:var(--ink);flex:none}.pick .tx{min-width:0;font-size:var(--fs-15);flex:1;font-weight:700}.pick .tx small{font-size:var(--fs-small);color:var(--ink-3);font-weight:400;display:block}.pick .check{border:1.5px solid var(--line-2);width:24px;height:24px;color:var(--cream);font-size:var(--fs-13);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.pick.in{opacity:.5}.pick.on .check{background:var(--red);border-color:var(--red)}.jumpout{z-index:40;padding:calc(env(safe-area-inset-top) + var(--s8)) var(--s6) calc(env(safe-area-inset-bottom) + var(--s5));background:var(--scrim);box-shadow:inset 0 0 0 100vmax var(--scrim);color:var(--cream);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.jumpout-arrow{width:96px;height:112px;margin-right:var(--s2);fill:none;stroke:var(--cream);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;align-self:flex-end}.jumpout-steps{margin:var(--s4) 0 0;gap:var(--s4);font:var(--fw-black) var(--fs-h2) / 1.3 var(--font-serif);padding:0;list-style:none;display:grid}.jumpout-steps .n{color:var(--gold);margin-right:var(--s2)}.jumpout-steps small{margin:var(--s1) 0 0 calc(var(--fs-h2) + var(--s2));font:400 var(--fs-13) / 1.4 var(--font-sans);color:var(--line);display:block}.jumpout-menu{margin-top:var(--s6);gap:var(--s2);padding:var(--s4) var(--s3);border-radius:var(--r-lg);background:var(--card);color:var(--ink-2);font-size:var(--fs-tiny);text-align:center;box-shadow:var(--sh-float);grid-template-columns:repeat(4,1fr);display:grid;transform:rotate(-2deg)}.jumpout-menu span{align-items:center;gap:var(--s1);flex-direction:column;display:flex}.jumpout-menu i{border-radius:var(--r-12);background:var(--paper);width:44px;height:44px;font-style:normal;font-size:var(--fs-h2);color:var(--ink);place-items:center;display:grid}.jumpout-menu .hit{color:var(--ink);font-weight:700}.jumpout-menu .hit i{border:3px solid var(--gold);box-shadow:0 0 0 4px var(--red-ring)}.jumpout-foot{padding-top:var(--s6);text-align:center;font-size:var(--fs-body);margin-top:auto}.jumpout-alt{width:100%;margin-top:var(--s3);padding:var(--s2);color:var(--gold);font-size:var(--fs-h3);font-weight:700;display:block}.jumpout-close{width:100%;padding:var(--s2);color:var(--line);font-size:var(--fs-13);display:block}.homeguide{z-index:40;background:var(--paper);padding:calc(env(safe-area-inset-top) + var(--s6)) var(--s4) calc(env(safe-area-inset-bottom) + 72px);position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.homeguide h1{font:var(--fw-black) var(--fs-display) / 1.25 var(--font-serif);margin:0 var(--s8) var(--s4) var(--s2)}.homeguide-close{top:calc(env(safe-area-inset-top) + var(--s3));right:var(--s3);border-radius:var(--r-pill);background:var(--beige);width:36px;height:36px;color:var(--ink-2);font-size:var(--fs-h2);position:absolute}.homeguide-step{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:var(--s4);margin-bottom:var(--s3)}.homeguide-step h2{font-size:var(--fs-h3);margin-bottom:var(--s3);font-weight:700}.homeguide-step h2 b{font:var(--fw-black) var(--fs-h2) / 1 var(--font-serif);color:var(--red);margin-right:var(--s2)}.mock-bar{border-radius:var(--r-12);background:var(--beige);height:52px;color:var(--ink-2);font-size:var(--fs-h3);justify-content:space-around;align-items:center;display:flex}.mock-bar .dim{color:var(--ink-4)}.mock-bar .ring{border-radius:var(--r-pill);border:2px solid var(--red);width:44px;height:44px;box-shadow:var(--sh-focus);color:var(--ink);place-items:center;display:grid}.mock-sheet{border-radius:var(--r-12);background:var(--paper);font-size:var(--fs-15);margin:0;padding:0;list-style:none}.mock-sheet li{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line-2);color:var(--ink-2);justify-content:space-between;display:flex}.mock-sheet li:last-child{border-bottom:0}.mock-sheet .hit{color:var(--ink);border:2px solid var(--red);border-radius:var(--r-12);background:var(--card);font-weight:700}.mock-home{padding:var(--s4) var(--s2) var(--s3);border-radius:var(--r-12);background:var(--ink-2);color:var(--cream);font-size:var(--fs-tiny);justify-content:space-around;display:flex}.mock-home span{align-items:center;gap:var(--s1);flex-direction:column;display:flex}.mock-home i{border-radius:var(--r-12);background:var(--line);place-items:center;width:48px;height:48px;font-style:normal;display:grid}.mock-home .me{font-weight:700}.mock-home .me i{background:var(--red);color:var(--cream);font-size:var(--fs-display);box-shadow:0 0 0 3px var(--ink-2), 0 0 0 5px var(--red)}.claimcard{margin:var(--s4) 0 var(--s2);padding:var(--s4);border-radius:var(--r-lg);background:var(--red);color:var(--cream);text-align:center}.claimcard p{font-size:var(--fs-body);font-weight:700}.claimcard .digits{justify-content:center;gap:var(--s2);margin:var(--s3) 0;display:flex}.claimcard .digits span{border-radius:var(--r-sm);background:var(--cream);width:42px;height:56px;color:var(--red);font:var(--fw-black) var(--fs-display) / 1 var(--font-serif);font-variant-numeric:tabular-nums;place-items:center;display:grid}.claimcard small{font-size:var(--fs-small);color:var(--red-tint)}.homeguide-hint{left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--s2));color:var(--red);font:var(--fw-black) var(--fs-display) / 1 var(--font-serif);pointer-events:none;position:fixed;transform:translate(-50%)}.homeguide-hint .bounce{animation:guideBounce .9s var(--ease-out) infinite alternate;display:inline-block}@keyframes guideBounce{0%{transform:translateY(-6px)}to{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.homeguide-hint .bounce{animation:none}}.firstrun{min-height:100vh;width:100%;max-width:480px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 56px) var(--s5) calc(env(safe-area-inset-bottom) + var(--s5));background:var(--paper);text-align:center;flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.firstrun h1{font:var(--fw-black) var(--fs-display) / 1.3 var(--font-serif);margin-top:var(--s4)}.firstrun-icon{border-radius:var(--r-lg);background:var(--red);width:72px;height:72px;color:var(--cream);font-size:var(--fs-onboard);box-shadow:0 10px 24px var(--red-ring);align-self:center;place-items:center;display:grid}.firstrun-card{margin-top:var(--s6);padding:var(--s5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-card);text-align:left}.firstrun-card h2{font:var(--fw-black) var(--fs-h2) / 1.3 var(--font-serif)}.firstrun-card h3{font-size:var(--fs-h3);font-weight:700}.firstrun-card p{margin-top:var(--s1);font-size:var(--fs-13);color:var(--ink-2)}.firstrun-card .row{gap:var(--s3);margin-top:var(--s4);grid-template-columns:1fr 1fr;display:grid}.firstrun+.textlink,.firstrun .textlink{margin-top:var(--s3)}.codecells{gap:var(--s2);margin-top:var(--s4);grid-template-columns:repeat(6,1fr);display:grid;position:relative}.codecells input{opacity:0;width:100%;height:100%;font-size:var(--fs-h3);position:absolute;top:0;bottom:0;left:0;right:0}.codecells span{border-radius:var(--r-12);border:1.5px solid var(--line-2);background:var(--paper);height:56px;font:var(--fw-black) var(--fs-display) / 1 var(--font-serif);color:var(--ink);place-items:center;display:grid}.codecells:focus-within span.cur{border-color:var(--red);box-shadow:var(--sh-focus)}.codecells.error span{border-color:var(--red)}.firstrun-card .codeerror{color:var(--red);margin-top:var(--s2)}.bell{border-radius:var(--r-pill);background:var(--sand);align-self:center;place-items:center;width:144px;height:144px;display:grid}.bell svg{fill:none;width:76px;height:76px;stroke:var(--red);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.bell.solid svg path:first-child{fill:var(--red)}.firstrun-sub{margin:var(--s3) auto 0;max-width:280px;font-size:var(--fs-body);color:var(--ink-2);line-height:1.7}.firstrun-actions{padding-top:var(--s6);gap:var(--s1);margin-top:auto;display:grid}.banner.notice{margin-top:var(--s2);align-items:flex-start;line-height:1.5}.banner.notice .ic{font-size:var(--fs-h3);flex:none;line-height:1.3}.banner.notice.red .ic{color:var(--red)}.banner.notice.ink .ic{color:var(--gold)}.banner.notice .tx{text-align:left;min-width:0;font-size:var(--fs-13);color:inherit;flex:1}.banner.notice.ink .x{color:var(--line)}.sheet.promoted{text-align:center}.sheet.promoted .medal{width:72px;height:72px;margin:0 auto var(--s3);border-radius:var(--r-pill);background:var(--gold);box-shadow:0 0 0 10px var(--sand);color:var(--ink);font-size:var(--fs-display);place-items:center;display:grid}.sheet.promoted .sub{margin-top:var(--s1)}.need.mine{background:var(--card);border:1.5px solid var(--red);color:var(--red)}.need.waiting{background:var(--card);border:1.5px dashed var(--ink-2);color:var(--ink)}.need.full.waiting{background:var(--ink);border-color:var(--ink);color:var(--cream)}.progress-card{margin:var(--s2) 18px 0;padding:var(--s5);border-radius:var(--r-lg);background:var(--sand);position:relative;overflow:hidden}.progress-card:after{content:"♣";color:var(--beige);pointer-events:none;font-size:112px;line-height:1;position:absolute;bottom:-34px;right:-10px}.progress-card .row{z-index:1;justify-content:space-between;align-items:baseline;display:flex;position:relative}.progress-card h2{font:var(--fw-black) var(--fs-h3) / 1.3 var(--font-serif)}.progress-card .count{font-size:var(--fs-13);color:var(--ink-2)}.progress-card .count b{font:var(--fw-black) var(--fs-display) / 1 var(--font-serif);color:var(--red);margin:0 2px}.progress-card .bar{z-index:1;height:6px;margin-top:var(--s3);border-radius:var(--r-pill);background:var(--line);position:relative;overflow:hidden}.progress-card .bar i{background:var(--red);height:100%;transition:width var(--t-base) var(--ease-out);display:block}.progress-card .go{z-index:1;margin-top:var(--s3);color:var(--red);font-size:var(--fs-body);text-align:left;font-weight:700;position:relative}.learn-head{padding:var(--s5) 18px var(--s3);justify-content:space-between;align-items:baseline;display:flex}.learn-head h3{font:var(--fw-black) var(--fs-h2) / 1.3 var(--font-serif)}.learn-head span{font-size:var(--fs-13);color:var(--ink-3)}.lessons{gap:var(--s3);margin:0;padding:0 18px;list-style:none;display:grid}.lesson{align-items:center;gap:var(--s4);width:100%;padding:var(--s4);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-card);text-align:left;display:flex}.lesson .pip{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--card);width:46px;height:62px;color:var(--ink);font-size:var(--fs-h3);flex:none;align-content:center;place-items:center;line-height:1.1;display:grid}.lesson .pip b{font:var(--fw-black) var(--fs-h2) / 1 var(--font-serif)}.lesson .tx{flex:1;gap:2px;min-width:0;display:grid}.lesson .tx strong{font:var(--fw-black) var(--fs-h3) / 1.3 var(--font-serif)}.lesson .tx span{font-size:var(--fs-13);color:var(--ink-2)}.lesson .tx small{font-size:var(--fs-small);color:var(--ink-4)}.lesson .state{font-size:var(--fs-small);color:var(--ink-3);flex:none;font-weight:700}.lesson .state.done{color:var(--green)}.lesson-head{padding:var(--s2) 18px 0}.lesson-head h1{font:var(--fw-black) var(--fs-display) / 1.25 var(--font-serif)}.lesson-head p{margin-top:var(--s1);font-size:var(--fs-13);color:var(--ink-3)}.felt{margin:var(--s4) 18px 0;padding:var(--s4) var(--s3) var(--s3);border-radius:var(--r-xl);background:var(--red-deep);box-shadow:var(--sh-table);text-align:center}.felt .hand{justify-content:center;display:flex}.pcard{width:44px;height:64px;margin-left:var(--s1);border-radius:var(--r-xs);border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:var(--fs-h3);box-shadow:var(--sh-float);align-content:start;justify-items:start;padding:4px 6px;line-height:1.1;display:grid}.pcard:first-child{margin-left:0}.pcard b{font:var(--fw-black) var(--fs-h3) / 1.1 var(--font-serif)}.pcard.red{color:var(--red)}.pcard.hot{border:2px solid var(--gold);transform:translateY(-6px)}.felt figcaption{margin-top:var(--s3);font-size:var(--fs-small);color:var(--red-tint)}.rule{padding:var(--s5) 18px 0}.rule h2{font:var(--fw-black) var(--fs-h3) / 1.3 var(--font-serif)}.rule h2 b{color:var(--red);margin-right:var(--s2)}.rule p{margin-top:var(--s2);font-size:var(--fs-15);color:var(--ink);line-height:1.8}.tip{gap:var(--s3);margin:var(--s5) 18px 0;padding:var(--s4);border-radius:var(--r-md);background:var(--sand);font-size:var(--fs-body);color:var(--ink-2);line-height:1.7;display:flex}.tip b{color:var(--red);font-family:var(--font-serif);flex:none}.quiz{padding:var(--s6) 18px var(--s4)}.quiz h2{font:var(--fw-black) var(--fs-h3) / 1.3 var(--font-serif)}.quiz>p{margin-top:var(--s2);font-size:var(--fs-15)}.quiz .opts{gap:var(--s2);margin-top:var(--s3);display:grid}.quiz .opts button{width:100%;min-height:48px;padding:var(--s3) var(--s4);border-radius:var(--r-12);border:1.5px solid var(--line-2);background:var(--card);font-size:var(--fs-15);text-align:left;color:var(--ink)}.quiz .opts button.right{border-color:var(--green);color:var(--green);font-weight:700}.quiz .opts button.wrong{border-color:var(--red);color:var(--red)}.quiz .verdict{margin-top:var(--s3);font-size:var(--fs-body);color:var(--red);line-height:1.7}.quiz .verdict.ok{color:var(--ink-2)}
