:root{--pg-wood-950: #1a0f08;--pg-wood-900: #2b1a0f;--pg-wood-700: #4b2e1b;--pg-wood-500: #6d4528;--pg-parch: #f1e3c3;--pg-parch-2: #e6d4ad;--pg-parch-3: #d9c395;--pg-parch-edge: #b89a66;--pg-paper: #fbf4e3;--pg-ink: #2a1c10;--pg-ink-2: #4e3a26;--pg-ink-muted: #6b5236;--pg-brass: #c9962b;--pg-brass-hi: #efcc63;--pg-brass-lo: #8a6418;--pg-brass-ink: #2b1d05;--pg-wax: #a3262b;--pg-wax-lo: #6f1418;--pg-moss: #3f6b2a;--pg-font-display: "Cinzel", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--pg-font-body: "Alegreya", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--pg-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.22 0 0 0 0 0.08 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");--pg-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.32' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.75 0 0 0 0 0.45 0 0 0 0.26 0'/%3E%3C/filter%3E%3Crect width='420' height='260' filter='url(%23g)'/%3E%3C/svg%3E")}.screen{max-width:none;padding-left:max(16px,calc((100% - 560px)/2));padding-right:max(16px,calc((100% - 560px)/2));gap:14px;color:var(--pg-parch);font-family:var(--pg-font-body);background-color:var(--pg-wood-900);background-image:var(--pg-grain),radial-gradient(140% 60% at 50% 0%,#784e288c,#784e2800 70%),linear-gradient(180deg,#2f1c0e,#241508 55%,#1c1007);background-blend-mode:soft-light,normal,normal;box-shadow:inset 0 0 120px #0000008c}.screen>*{animation:pg-rise .42s cubic-bezier(.2,.8,.2,1) both}.screen>:nth-child(2){animation-delay:50ms}.screen>:nth-child(3){animation-delay:.1s}.screen>:nth-child(4){animation-delay:.15s}.screen>:nth-child(5){animation-delay:.2s}@keyframes pg-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen .title,.modal.pair .title{font-family:var(--pg-font-display);font-weight:700;letter-spacing:.04em}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:6px 0 2px}.hero .crest{filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));margin-bottom:4px}.hero .title{margin:0;font-size:28px;line-height:1.1;color:var(--pg-brass-hi);background:linear-gradient(180deg,#f6dd8a,#d9ad48 55%,#b98c2c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.7))}.hero-sub{font-style:italic;font-size:16px;color:var(--pg-parch-3)}.hero-rule{display:flex;align-items:center;gap:10px;width:70%;margin-top:6px;color:var(--pg-brass);font-size:12px}.hero-rule:before,.hero-rule:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(201,150,43,0),var(--pg-brass) 50%,rgba(201,150,43,0))}.hero-rule:before{background:linear-gradient(90deg,rgba(201,150,43,0),var(--pg-brass))}.hero-rule:after{background:linear-gradient(90deg,var(--pg-brass),rgba(201,150,43,0))}.plank{margin:0;display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px;font-size:21px;line-height:1.15;color:var(--pg-brass-hi);text-shadow:0 1px 0 rgba(0,0,0,.75);background-color:var(--pg-wood-700);background-image:var(--pg-grain),linear-gradient(180deg,#5f3b22,#46291a 60%,#3a2114);background-blend-mode:soft-light,normal;border:1px solid var(--pg-wood-950);border-radius:6px;box-shadow:inset 0 1px #ffdca038,inset 0 -2px #0006,0 6px 14px #00000080}.plank .crest{flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.plank-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plank-kicker{display:block;font-family:var(--pg-font-body);font-style:italic;font-weight:400;font-size:13px;letter-spacing:0;color:var(--pg-parch-3);text-shadow:none}.screen>.row.spread>.title.small{font-size:20px;margin:0;color:var(--pg-brass-hi);text-shadow:0 1px 0 rgba(0,0,0,.7)}.modal.pair .title.small{font-size:19px;margin:0;color:var(--pg-ink)}.screen .card,.modal-backdrop .modal.pair{position:relative;color:var(--pg-ink);font-family:var(--pg-font-body);background-color:var(--pg-parch);background-image:var(--pg-noise),radial-gradient(120% 80% at 50% 0%,#fffaecbf,#fffaec00 65%),linear-gradient(180deg,#f3e6c8,#ecdbb6 70%,#e4d1a8);border:1px solid #9c7d4b;border-radius:8px;box-shadow:inset 0 0 0 1px #fff8e6b3,inset 0 0 36px #78552829,0 1px #ffe6b414,0 6px 14px #00000080}.screen .card{padding:14px;gap:10px}.screen .card>.label:first-child,.screen .card>.row.spread:first-child{padding-bottom:8px;border-bottom:1px solid rgba(138,100,24,.35)}.screen .card>.row.spread:first-child{min-height:44px}.screen .label,.modal.pair .label{font-family:var(--pg-font-display);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--pg-ink-2)}.screen .hint,.modal.pair .hint{font-family:var(--pg-font-body);font-size:15px;line-height:1.4;color:var(--pg-ink-muted)}.screen .hint.warn,.modal.pair .hint.warn{color:var(--pg-wax-lo);font-weight:700}.screen>.hint,.screen>.row>.hint,.screen>.row.spread>.hint{color:var(--pg-parch-3)}.screen .list-title{font-family:var(--pg-font-body);font-weight:700;font-size:17px;color:var(--pg-ink)}.screen .status-waiting{color:var(--pg-moss);font-weight:700}.screen .status-playing{color:var(--pg-brass-lo);font-weight:700}.screen .status-ended{color:var(--pg-ink-muted)}.screen .input,.modal.pair .input{min-height:46px;font-family:var(--pg-font-body);font-size:17px;color:var(--pg-ink);background:var(--pg-paper);border:1px solid var(--pg-parch-edge);border-radius:6px;box-shadow:inset 0 2px 4px #5a3c142e}.screen .input::placeholder,.modal.pair .input::placeholder{color:#9a845f;font-style:italic}.screen .input:focus,.modal.pair .input:focus{outline:2px solid var(--pg-brass);outline-offset:-1px}.modal.pair .paste textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:8px 12px}.screen .btn,.modal.pair .btn{font-family:var(--pg-font-display);font-weight:700;font-size:14px;letter-spacing:.04em;border-radius:6px;color:var(--pg-parch);background-color:var(--pg-wood-700);background-image:var(--pg-grain),linear-gradient(180deg,#7b4f2e,#5b3720 55%,#4a2b18);background-blend-mode:soft-light,normal;border:1px solid #28150a;text-shadow:0 1px 0 rgba(0,0,0,.55);box-shadow:inset 0 1px #ffdcaa4d,inset 0 -2px #00000059,0 2px #1a0d05,0 4px 8px #0006;transition:transform 70ms ease,box-shadow 70ms ease,filter .12s ease}.screen .btn:active:not(:disabled),.modal.pair .btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 5px #00000073,0 0 #1a0d05,0 1px 2px #0000004d}.screen .btn:disabled,.modal.pair .btn:disabled{opacity:.5;filter:saturate(.6)}.screen .btn.primary,.modal.pair .btn.primary{color:var(--pg-brass-ink);text-shadow:0 1px 0 rgba(255,240,200,.55);background-image:linear-gradient(180deg,#f3d678,#d8ab3f 42%,#bf8e2c 58%,#cc9a2f);border-color:#6e4d10;box-shadow:inset 0 1px #fffadcbf,inset 0 -2px #5a3c0a73,0 2px #5a3f0c,0 4px 8px #0006}.screen .btn.primary:active:not(:disabled),.modal.pair .btn.primary:active:not(:disabled){box-shadow:inset 0 2px 5px #5a3c0a80,0 0 #5a3f0c,0 1px 2px #0000004d}.screen .btn.ghost,.modal.pair .btn.ghost{background:transparent;color:var(--pg-ink-2);border:1px solid var(--pg-parch-edge);text-shadow:none;box-shadow:none}.screen .btn.ghost:active:not(:disabled),.modal.pair .btn.ghost:active:not(:disabled){transform:none;background:#6e55381f;box-shadow:none}.screen>.btn.ghost,.screen>.row>.btn.ghost,.screen>.row.spread>.btn.ghost{color:var(--pg-parch);border-color:#e6d4ad80;text-shadow:0 1px 0 rgba(0,0,0,.6)}.screen>.btn.ghost:active:not(:disabled),.screen>.row>.btn.ghost:active:not(:disabled){background:#e6d4ad1f}.screen .btn.small,.modal.pair .btn.small{font-size:12px;min-height:40px;padding:4px 12px}.screen .btn.big,.modal.pair .btn.big{min-height:54px;font-size:16px}.screen .btn.block,.modal.pair .btn.block{margin:4px 0;white-space:normal;line-height:1.2}.screen .bottom-actions{gap:10px;padding-top:10px}.screen .bottom-actions .btn{min-height:54px;font-size:15px}.screen .bottom-actions .btn.ghost{padding:8px 18px}.screen .bottom-actions .hint{font-style:italic;font-size:16px}.screen .list{gap:0}.screen .list-item{background:transparent;border-radius:0;border-bottom:1px solid rgba(110,85,56,.3);padding:9px 0 9px 2px;min-height:56px;gap:12px}.screen .list-item:last-child{border-bottom:none;padding-bottom:4px}.screen .list-item .hint{font-size:14px;margin-top:1px}.banner{--banner: #9a9a9a;position:relative;width:18px;height:32px;flex-shrink:0;background:linear-gradient(90deg,color-mix(in srgb,var(--banner) 80%,#000) 0%,var(--banner) 35%,color-mix(in srgb,var(--banner) 88%,#fff) 60%,color-mix(in srgb,var(--banner) 80%,#000) 100%);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.banner:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(180deg,#e8c45a,#8a6418)}.banner.off{filter:grayscale(.9) drop-shadow(0 1px 1px rgba(0,0,0,.45));opacity:.45}.screen .list-item .dot{width:12px;height:12px;border:1px solid rgba(0,0,0,.35)}.screen .list-item .dot.on{background:var(--pg-moss)}.screen .badge,.modal.pair .badge{font-family:var(--pg-font-display);font-weight:700;font-size:10px;letter-spacing:.08em;padding:3px 7px 2px;border-radius:3px;background:var(--pg-parch-3);color:var(--pg-ink-2);border:1px solid var(--pg-parch-edge);margin-left:6px;vertical-align:2px}.screen .badge.host{border-radius:999px;padding:3px 9px 2px;color:#fff2ee;border-color:var(--pg-wax-lo);background:radial-gradient(circle at 35% 30%,#d0444a,#a3262b 55%,#7b181d);box-shadow:inset 0 1px #ffc8c859,0 1px 2px #0006;text-shadow:0 1px 0 rgba(0,0,0,.5)}.screen .badge.me{color:var(--pg-brass-ink);border-color:var(--pg-brass-lo);background:linear-gradient(180deg,#f3d678,#c9962b);box-shadow:inset 0 1px #fffadcbf}.screen .badge.warn{color:#ffe6c9;border-color:#5a2a0c;background:linear-gradient(180deg,#8a4a1c,#6a3410)}.screen .seg{background:linear-gradient(180deg,#d4bd8d,#e3d1a9);border:1px solid var(--pg-parch-edge);border-radius:6px;padding:3px;gap:3px;box-shadow:inset 0 2px 4px #5a3c1447}.screen .seg button{font-family:var(--pg-font-display);font-weight:700;font-size:13px;letter-spacing:.03em;color:var(--pg-ink-2);border-radius:4px}.screen .seg button small{font-family:var(--pg-font-body);font-size:11px;font-weight:700;opacity:.85}.screen .seg button.on{color:var(--pg-brass-ink);background:linear-gradient(180deg,#f3d678,#d8ab3f 45%,#c3912c);box-shadow:inset 0 1px #fffadcbf,0 1px 3px #00000059}.screen .seg.readonly button.on{color:var(--pg-brass-ink);background:linear-gradient(180deg,#d8b865,#bf9b46)}.screen .seg.readonly button:not(.on){opacity:.55}.screen .url{font-size:17px;color:var(--pg-ink);background:var(--pg-paper);border:1px dashed var(--pg-brass-lo);border-radius:6px;box-shadow:inset 0 2px 4px #5a3c1426}.screen .steps,.modal.pair .steps{margin:6px 0 10px}.screen .steps span,.modal.pair .steps span{font-family:var(--pg-font-display);font-weight:700;font-size:12px;letter-spacing:.06em;padding:8px;border-radius:4px;background:#6e55381f;color:var(--pg-ink-muted);border:1px solid rgba(184,154,102,.6)}.screen .steps span.on,.modal.pair .steps span.on{color:var(--pg-brass-ink);background:linear-gradient(180deg,#f3d678,#c9962b);border-color:var(--pg-brass-lo)}.screen .qr-wrap,.modal.pair .qr-wrap{background:#fff;padding:14px;border-radius:8px;border:1px solid var(--pg-parch-edge);box-shadow:inset 0 0 0 3px #fff,0 2px 6px #0003;margin:0 auto}.screen .scan-wrap,.modal.pair .scan-wrap{border-radius:8px;border:1px solid var(--pg-wood-950);box-shadow:0 4px 10px #00000059}.screen .scan-frame,.modal.pair .scan-frame{border-color:var(--pg-brass-hi);border-radius:10px}.app .modal-backdrop{background:#100904bd}.modal-backdrop .modal.pair{border-radius:14px 14px 0 0;border-bottom:none}.modal.pair>.row.spread:first-child{padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--pg-parch-edge);box-shadow:0 2px #b89a6659}.modal.pair .pair-step{gap:12px}@media(prefers-reduced-motion:reduce){.screen>*{animation:none}}.room .join-code{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:4px 0 10px}.room .join-code-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.room .join-code-value{font-size:30px;font-weight:800;letter-spacing:.14em;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}.bd-hint{cursor:pointer}.bd-hint-ring{transform-box:fill-box;transform-origin:center;animation:bd-pulse 1.1s ease-in-out infinite;pointer-events:none}.bd-hint-dot,.bd-hint-bar{pointer-events:none;animation:bd-pulse-opacity 1.1s ease-in-out infinite}.bd-hint-hex{animation:bd-pulse-hex 1.3s ease-in-out infinite}@keyframes bd-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes bd-pulse-opacity{0%,to{opacity:.5}50%{opacity:1}}@keyframes bd-pulse-hex{0%,to{fill-opacity:.12;stroke-opacity:.55}50%{fill-opacity:.3;stroke-opacity:1}}.bd-piece-body{transform-box:fill-box;transform-origin:50% 70%}.bd-piece-enter .bd-piece-body{animation:bd-pop .48s cubic-bezier(.22,1.5,.36,1) both}.bd-city-enter .bd-piece-body{animation:bd-grow .56s cubic-bezier(.22,1.4,.36,1) both}.highlight-recent{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,255,255,.75));animation:bd-glow 1s ease-in-out infinite}@keyframes bd-pop{0%{transform:scale(0);opacity:0}60%{opacity:1}to{transform:scale(1);opacity:1}}@keyframes bd-grow{0%{transform:scale(.7,.35);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes bd-glow{0%,to{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(255,255,255,.6))}50%{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 9px rgba(255,255,255,.95))}}.bd-robber{transition:transform .6s cubic-bezier(.3,.9,.3,1.15)}@media(prefers-reduced-motion:reduce){.bd-hint-ring,.bd-hint-dot,.bd-hint-bar,.bd-hint-hex,.bd-piece-enter .bd-piece-body,.bd-city-enter .bd-piece-body,.highlight-recent{animation:none}.bd-robber{transition:none}}:root{--sea: #1c4e78;--glass: rgba(13, 21, 31, .72);--glass-solid: rgba(13, 21, 31, .94);--glass-line: rgba(255, 255, 255, .1);--lastlog-reserve: 26px}.game{position:relative;isolation:isolate;background:transparent}.game:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--sea);background-image:radial-gradient(ellipse at 50% 45%,#0000 42%,#0310228c),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='32' viewBox='0 0 64 32'%3E%3Cpath d='M4,10 q8,-6 16,0 t16,0 t16,0 t16,0' stroke='%236fb0dc' stroke-opacity='.38' stroke-width='1.3' fill='none' stroke-linecap='round'/%3E%3Cpath d='M-12,25 q8,-6 16,0 t16,0 t16,0 t16,0 t16,0' stroke='%236fb0dc' stroke-opacity='.26' stroke-width='1.1' fill='none' stroke-linecap='round'/%3E%3Cpath d='M40,2 q5,-3 10,0' stroke='%239fd0f0' stroke-opacity='.3' stroke-width='1' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-size:auto,52px 26px;background-position:center,0 0}.app>.hostbar,.app>.connbar{position:relative;z-index:1}.game .statusbar,.game .game-side,.game .lastlog,.game .trade-sheet,.game .prompt{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.game .statusbar,.game .game-side,.game .lastlog,.game .trade-sheet,.game .prompt{background:var(--glass-solid)}}.game .statusbar{padding:4px 8px 4px 12px;padding-top:calc(4px + var(--top-inset));border-bottom-width:2px}.game .board-wrap{position:relative;display:block;flex:1 1 auto;min-height:0;width:100%;padding:0;overflow:hidden}.game .board{position:absolute;top:0;left:3px;width:calc(100% - 6px);height:calc(100% - var(--lastlog-reserve));max-height:none;touch-action:none;transform-origin:0 0;will-change:transform}.game .lastlog{position:absolute;left:6px;bottom:3px;z-index:4;width:auto;max-width:calc(100% - 12px);min-height:22px;padding:2px 10px;border-radius:999px;color:#d5e4f1;font-size:12px;line-height:1.3}.game .lastlog-turn{opacity:.7}.game .trade-sheet{position:absolute;top:6px;left:6px;right:6px;z-index:7;max-height:calc(100% - 12px);overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(240,180,41,.28);border-left:4px solid #8a7d1e;border-radius:12px;background:#242210d6;box-shadow:0 10px 30px #00000073}.game .board-wrap:has(.trade-sheet) .feed{display:none}.game .prompt{position:absolute;left:6px;right:6px;bottom:6px;z-index:7;border:1px solid rgba(240,180,41,.28);border-radius:12px;background:#242210e0;box-shadow:0 10px 30px #00000073}.game .prompt.away-banner{top:6px;bottom:auto;z-index:8}.game .game-side{border-top:1px solid var(--glass-line)}.game .players{padding:4px 6px 2px}.game .player{padding:2px 5px 2px 6px;background:#ffffff0f;border-color:#ffffff1f}.game .hand{padding:3px 8px;border-top:1px solid var(--glass-line)}.game .hand-meta{margin-top:2px}.game .actionbar{padding:4px 8px calc(6px + var(--sab));border-top:1px solid var(--glass-line);min-height:calc(2 * var(--tap) + 6px + 4px + 6px + 1px + var(--sab));justify-content:flex-end}.game .actionbar.idle{justify-content:center}.game .actionbar .btn{background:#ffffff12;border-color:#ffffff1f}.game .actionbar .btn.primary{background:var(--accent);border-color:var(--accent)}.game .actionbar .btn:disabled{background:#ffffff08}@media(orientation:landscape)and (min-width:640px){.game .game-side{border-top:none;border-left:1px solid var(--glass-line)}.game .board{left:6px;width:calc(100% - 12px);height:calc(100% - var(--lastlog-reserve) - var(--sab))}.game .lastlog{bottom:calc(3px + var(--sab))}}.shell{--grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .28  0 0 0 0 .2  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--display: "Bricolage Grotesque", "Avenir Next", "Helvetica Neue", system-ui, sans-serif;--body: "Instrument Sans", "Avenir Next", "Helvetica Neue", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--table: #3a2e24;--table-2: #2a211a;--paper: #f3ead8;--paper-2: #e9dcc2;--paper-hi: #fffcf4;--ink: #2a241c;--ink-soft: #77695a;--ink-faint: #a8998a;--rule: rgb(120 96 64 / .28);--tape: rgb(244 226 160 / .78);--marker: #ff8a5c;--wait: #b8741a;--live: #2f8a55;--old: #8b8378;--shade: 60 40 10;--soon-a: #e8dcc4;--soon-b: #e0d1b3;--soon-ink: #9a8b73;--solo-a: #ffd866;--solo-b: #f1b92c;--solo-ink: #3a2a05;--room-a: #5f9dff;--room-b: #3a72d6;--room-ink: #ffffff;--contact: 0 1px 1px rgb(var(--shade) / .18);--lift: 0 1px 1px rgb(var(--shade) / .18), 0 4px 8px -2px rgb(var(--shade) / .22), 0 14px 18px -12px rgb(var(--shade) / .35);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.35;color-scheme:light}@media(prefers-color-scheme:dark){.shell{--table: #17120e;--table-2: #0f0c09;--paper: #2f2922;--paper-2: #27221c;--paper-hi: #3a332b;--ink: #f1e8d6;--ink-soft: #b9a990;--ink-faint: #85776a;--rule: rgb(241 232 214 / .16);--tape: rgb(214 196 130 / .42);--marker: #e8744a;--wait: #f0b45a;--live: #6fd39b;--old: #8d857a;--shade: 0 0 0;--soon-a: #332c24;--soon-b: #2c261f;--soon-ink: #8f8170;--lift: 0 1px 1px rgb(0 0 0 / .4), 0 4px 8px -2px rgb(0 0 0 / .4), 0 14px 18px -12px rgb(0 0 0 / .6);color-scheme:dark}}.shell.home,.shell.wait{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--grain),radial-gradient(ellipse at 50% 0%,var(--table),var(--table-2));padding-top:var(--top-inset, var(--sat));display:flex;flex-direction:column}.shell .sheet-page{position:relative;flex:1 0 auto;width:100%;max-width:560px;margin:0 auto;padding:22px 16px calc(28px + var(--sab));background:var(--grain),radial-gradient(ellipse at 30% 0%,var(--paper-hi),var(--paper) 62%,var(--paper-2));border-radius:16px 16px 0 0;box-shadow:0 -1px #ffffff59 inset,0 -2px 3px #00000040,0 -12px 30px -10px #00000080;display:flex;flex-direction:column;gap:26px}@media(min-width:600px){.shell .sheet-page{margin-top:18px;border-radius:16px 16px 0 0}}.shell .home-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand name" "tag tag";align-items:center;column-gap:10px;row-gap:6px}.shell .brand{grid-area:brand;margin:0;position:relative;justify-self:start;font:800 clamp(1.45rem,6.6vw,1.85rem) / 1.02 var(--display);letter-spacing:-.025em;text-wrap:balance;padding-bottom:6px}.shell .brand-text{position:relative;z-index:1}.shell .squiggle{position:absolute;left:-2px;right:8%;bottom:-2px;width:calc(92% + 2px);height:12px;color:var(--marker);opacity:.85;z-index:0}.shell .tagline{grid-area:tag;margin:2px 0 0;color:var(--ink-soft);font-size:14px}.shell .name-tag{grid-area:name;display:grid;grid-template-columns:auto auto auto;grid-template-areas:"av hello hello" "av value pen";align-items:center;column-gap:6px;min-height:44px;max-width:44vw;padding:5px 10px 6px;border:0;border-radius:4px;background:var(--grain),var(--paper-hi);color:var(--ink);text-align:left;rotate:1.4deg;box-shadow:var(--lift);cursor:pointer}.shell .name-tag:active{translate:0 1px;box-shadow:var(--contact)}.shell .name-hello{grid-area:hello;font:600 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.shell .name-value{grid-area:value;font:700 16px/1.15 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .name-tag .avatar{grid-area:av;margin-right:2px}.shell .name-tag.account{cursor:default}.shell .pencil{grid-area:pen;color:var(--ink)}.shell .name-tag.editing{grid-template-columns:1fr;grid-template-areas:"hello" "value";width:46vw;max-width:200px;rotate:0deg;cursor:auto}.shell .name-tag.nudge{animation:nudge .42s ease-in-out}@keyframes nudge{20%,60%{translate:-4px 0}40%,80%{translate:4px 0}}.shell .name-input{grid-area:value;width:100%;min-width:0;min-height:28px;margin-top:3px;padding:0 0 2px;border:0;border-bottom:1.5px dashed var(--ink-faint);border-radius:0;background:transparent;color:var(--ink);font:700 17px/1.2 var(--display);outline:none;-webkit-user-select:text;user-select:text}.shell .name-input:focus{border-bottom-color:var(--marker)}.shell .name-input::placeholder{color:var(--ink-faint);font-weight:500}.shell .home-sec{display:flex;flex-direction:column;gap:12px}.shell .sec-head{display:flex;align-items:center;gap:10px}.shell .sec-label{margin:0;font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.shell .sec-head:after{content:"";flex:1;order:1;height:0;border-top:1.5px dashed var(--rule)}.shell .scan{order:2;display:inline-flex;align-items:center;gap:7px;font:500 12px/1 var(--body);color:var(--ink-soft)}.shell .scan i,.shell .slip-empty i{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 var(--live);animation:ping 1.8s infinite;flex-shrink:0}@keyframes ping{0%{box-shadow:0 0 color-mix(in srgb,var(--live) 60%,transparent)}70%,to{box-shadow:0 0 0 8px transparent}}.shell .slips,.shell .shelf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.shell .slips{gap:16px;padding-top:6px}.shell .shelf{gap:12px}.shell .slips>li,.shell .shelf>li{animation:place .42s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i, 0) * 60ms + 80ms)}@keyframes place{0%{opacity:0;translate:0 -8px;scale:1.02}to{opacity:1;translate:0 0;scale:1}}.shell .slip{position:relative;width:100%;min-height:60px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:3px;background:var(--grain),var(--paper-hi);color:var(--ink);text-align:left;box-shadow:var(--lift);rotate:-.6deg;cursor:pointer;transition:translate .12s,box-shadow .12s,rotate .2s}.shell .slips>li:nth-child(2n) .slip{rotate:.5deg}.shell .slips>li:nth-child(3n) .slip{rotate:-.25deg}.shell .slip:before{content:"";position:absolute;top:-7px;left:50%;width:52px;height:15px;translate:-50% 0;rotate:-3deg;background:var(--tape);box-shadow:0 1px 2px #0000001f;-webkit-mask:linear-gradient(90deg,transparent 0 1px,#000 1px calc(100% - 1px),transparent 0);mask:linear-gradient(90deg,transparent 0 1px,#000 1px calc(100% - 1px),transparent 0)}.shell .slips>li:nth-child(2n) .slip:before{left:30%;rotate:4deg}.shell .slip:active:not(:disabled){translate:0 1px;rotate:0deg;box-shadow:var(--contact),0 3px 6px -3px rgb(var(--shade) / .3)}.shell .slip-ico{width:38px;height:38px;border-radius:5px;display:grid;place-items:center;color:#fff8ea;font:800 17px/1 var(--display);text-shadow:0 1px 1px rgb(0 0 0 / .3);box-shadow:inset 0 1px #ffffff59,inset 0 -2px #00000038,0 1px 2px rgb(var(--shade) / .3)}.shell .slip-text{display:flex;flex-direction:column;gap:2px;min-width:0}.shell .slip-text b{font:700 16px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .slip-text span{color:var(--ink-soft);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .stamp{font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 7px 4px;border:1.8px solid currentColor;border-radius:3px;rotate:-7deg;opacity:.88;-webkit-mask:linear-gradient(#000,#000),var(--grain);-webkit-mask-composite:source-out;mask:linear-gradient(#000,#000),var(--grain);mask-composite:subtract;white-space:nowrap}.shell .stamp.wait{color:var(--wait)}.shell .stamp.live{color:var(--live);rotate:5deg}.shell .stamp.done{color:var(--ink-faint)}.shell .stamp.old{color:var(--old);font-size:9px;rotate:-3deg;border-style:dashed}.shell .slip.greyed{cursor:default;background:var(--grain),color-mix(in srgb,var(--paper-hi) 55%,var(--paper-2));box-shadow:var(--contact),0 3px 6px -3px rgb(var(--shade) / .2)}.shell .slip.greyed .slip-ico{filter:grayscale(1);opacity:.55}.shell .slip.greyed .slip-text{opacity:.6}.shell .slip.greyed:before{opacity:.55}.shell .slip-empty{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1.5px dashed var(--rule);border-radius:4px;color:var(--ink-soft);font-size:14px}.shell .web-note{display:flex;flex-direction:column;gap:2px;padding:12px 14px 4px;border-left:3px solid var(--marker);background:linear-gradient(90deg,color-mix(in srgb,var(--marker) 9%,transparent),transparent);border-radius:0 4px 4px 0}.shell .web-note p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.45}.shell .linkish{align-self:flex-start;min-height:44px;padding:0;border:0;background:none;color:var(--ink);font:600 14px/1 var(--body);text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}.shell .game-row{position:relative;width:100%;height:3rem;display:flex;align-items:center;gap:10px;padding:0 16px;overflow:hidden;border:0;border-radius:7px;background:var(--art);color:#fffaf0;text-align:left;cursor:pointer;box-shadow:0 1px #ffffff73 inset,0 -2px #0003 inset,0 2px 3px rgb(var(--shade) / .25),0 10px 16px -8px rgb(var(--shade) / .45);transition:translate .12s,box-shadow .12s}.shell .game-row:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--grain);mix-blend-mode:multiply;opacity:.9;pointer-events:none}.shell .game-row:active:not(:disabled){translate:0 2px;box-shadow:0 1px #ffffff59 inset,0 -1px #0003 inset,0 1px 1px rgb(var(--shade) / .3)}.shell .game-title,.shell .game-blurb{position:relative;z-index:1}.shell .game-title{font:800 18px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 0 rgb(0 0 0 / .35),0 0 10px rgb(0 0 0 / .25)}.shell .game-blurb{margin-left:auto;padding:4px 7px;border-radius:999px;background:#1e0e048c;font:600 11px/1 var(--body);font-style:normal;letter-spacing:.02em;white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff2e}.shell .game-row.soon{cursor:default;color:var(--soon-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--soon-ink) 45%,transparent)}.shell .game-row.soon .game-title{font-size:14px;letter-spacing:.04em;text-transform:none;text-shadow:none}.shell .game-row.soon .game-blurb{background:none;box-shadow:none;font-weight:500;font-style:italic}.shell.sheet-host{display:contents}.gsheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center;padding:calc(var(--sat) + 24px) var(--sar) 0 var(--sal);background:#1e140a6b;animation:fade-in .2s ease-out both}.gsheet-backdrop.closing{animation:fade-out .18s ease-in both}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.shell .gsheet{position:relative;width:100%;max-width:560px;max-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:10px 16px calc(18px + var(--sab));background:var(--grain),radial-gradient(ellipse at 20% 0%,var(--paper-hi),var(--paper) 75%);border-radius:18px 18px 0 0;box-shadow:0 -1px #ffffffb3 inset,0 -2px 3px rgb(var(--shade) / .15),0 -10px 28px -6px rgb(var(--shade) / .45);animation:sheet-up .32s cubic-bezier(.2,.9,.25,1.06) both}.gsheet-backdrop>.gsheet,.gsheet-backdrop>.chat-sheet{transform:translate3d(0,calc(-1 * var(--kb-lift)),0);transition:transform var(--kb-dur) var(--kb-ease)}.kb-open .gsheet-backdrop>.gsheet,.kb-open .gsheet-backdrop>.chat-sheet{max-height:calc(100% - var(--kb-lift))}.gsheet-backdrop.closing .gsheet{animation:sheet-down .18s ease-in both}@keyframes sheet-up{0%{translate:0 100%}}@keyframes sheet-down{to{translate:0 100%}}.shell .gsheet-grip{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--rule)}.shell .gsheet-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.shell .gsheet-art{position:relative;height:3rem;display:flex;align-items:center;padding:0 16px;border-radius:7px;background:var(--art);overflow:hidden;rotate:-.8deg;box-shadow:0 1px #ffffff73 inset,0 -2px #0003 inset,0 2px 3px rgb(var(--shade) / .25),0 10px 16px -8px rgb(var(--shade) / .45)}.shell .gsheet-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--grain);mix-blend-mode:multiply;pointer-events:none}.shell .gsheet-art h2{position:relative;z-index:1;margin:0;color:#fffaf0;font:800 20px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 0 rgb(0 0 0 / .35),0 0 10px rgb(0 0 0 / .25)}.shell .gsheet-sub{margin:-4px 2px 0;color:var(--ink-soft);font-size:14px}.shell .gsheet-x{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink-soft);cursor:pointer}.shell .gsheet-x:active{background:var(--rule)}.shell .solo-card{display:flex;flex-direction:column;gap:10px;padding:10px 10px 12px;border-radius:8px;background:color-mix(in srgb,var(--paper-2) 70%,transparent);box-shadow:inset 0 1px 2px rgb(var(--shade) / .18),inset 0 -1px #ffffff59}.shell .bots-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-left:4px}.shell .bots-label{display:inline-flex;align-items:center;gap:10px;font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.shell .pawns{display:inline-flex;gap:3px}.shell .pawn{fill:transparent;stroke:var(--ink-faint);stroke-width:1.2;stroke-dasharray:2 1.6;transition:fill .15s}.shell .pawn.on{fill:var(--ink);stroke:var(--ink);stroke-dasharray:none}.shell .stepper{display:flex;align-items:center;border-radius:8px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift)}.shell .stepper button{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font:700 22px/1 var(--display);cursor:pointer}.shell .stepper button:disabled{color:var(--ink-faint);cursor:default}.shell .stepper button:active:not(:disabled){background:var(--rule)}.shell .stepper button:first-child{border-radius:8px 0 0 8px}.shell .stepper button:last-child{border-radius:0 8px 8px 0}.shell .stepper output{min-width:26px;text-align:center;font:800 18px/1 var(--display);font-variant-numeric:tabular-nums}.shell .stock{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border:0;border-radius:9px;text-align:left;cursor:pointer;box-shadow:0 1px #fff9 inset,0 -3px #0000002e inset,0 1px 1px rgb(var(--shade) / .25),0 6px 10px -3px rgb(var(--shade) / .38);transition:translate .1s,box-shadow .1s}.shell .stock b{font:800 18px/1 var(--display);letter-spacing:-.01em}.shell .stock span{font:500 13px/1.2 var(--body);opacity:.8;text-align:right}.shell .stock:active:not(:disabled){translate:0 2px;box-shadow:0 1px #ffffff80 inset,0 -1px #0000002e inset,0 1px 1px rgb(var(--shade) / .3)}.shell .stock:disabled{opacity:.6;cursor:default}.shell .stock.solo{background:var(--grain),linear-gradient(var(--solo-a),var(--solo-b));color:var(--solo-ink)}.shell .stock.room{background:var(--grain),linear-gradient(var(--room-a),var(--room-b));color:var(--room-ink)}.shell .stock.room b{text-shadow:0 1px 0 rgb(0 0 0 / .2)}.shell .or{display:flex;align-items:center;gap:10px;margin:-2px 0;color:var(--ink-faint);font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}.shell .or:before,.shell .or:after{content:"";flex:1;border-top:1.5px dashed var(--rule)}.shell .gsheet-fine{margin:-4px 2px 0;color:var(--ink-soft);font-size:13px;line-height:1.4}.shell.wait .sheet-page{justify-content:center;align-items:center}.shell .wait-card{position:relative;width:min(100%,340px);display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 20px 18px;border-radius:4px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift);rotate:-.6deg;text-align:center}.shell .wait-card:before{content:"";position:absolute;top:-8px;left:50%;width:64px;height:16px;translate:-50% 0;rotate:-3deg;background:var(--tape)}.shell .wait-card h2{margin:0;font:800 22px/1.1 var(--display)}.shell .wait-card p{margin:0;color:var(--ink-soft);font-size:14px}.shell .wait-dots{display:flex;gap:8px}.shell .wait-dots i{width:10px;height:10px;border-radius:50%;background:var(--marker);animation:hop 1s ease-in-out infinite}.shell .wait-dots i:nth-child(2){animation-delay:.15s;background:var(--wait)}.shell .wait-dots i:nth-child(3){animation-delay:.3s;background:var(--live)}@keyframes hop{0%,to{translate:0 0}40%{translate:0 -7px}}.shell .wait-card .linkish{align-self:center}@media(prefers-reduced-motion:reduce){.shell *,.gsheet-backdrop,.gsheet-backdrop *{animation:none!important;transition:none!important}}.toast.paper{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .28  0 0 0 0 .2  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),#fffcf4;color:#2a241c;border:0;border-left:5px solid #ff8a5c;border-radius:3px;font-family:Instrument Sans,Avenir Next,system-ui,sans-serif;font-size:15px;font-weight:600;rotate:-.5deg;box-shadow:0 1px 1px #3c280a33,0 8px 18px -6px #3c280a73}.shell .code-open{margin-top:4px}.shell .code-join{display:flex;flex-direction:column;gap:6px;margin-top:10px}.shell .code-label{color:var(--ink);font:600 14px/1.3 var(--body)}.shell .code-label span{color:var(--ink-soft);font-weight:400}.shell .code-row{display:flex;gap:8px;min-width:0}.shell .code-input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1.5px solid var(--rule);border-radius:4px;background:var(--paper-hi);color:var(--ink);font:700 20px/1 var(--display);letter-spacing:.18em;text-transform:uppercase}.shell .code-input:focus{outline:2px solid var(--marker);outline-offset:1px}.shell .code-go{min-width:76px;min-height:44px;padding:0 16px;border:0;border-radius:4px;background:var(--ink);color:var(--paper-hi);font:700 15px/1 var(--display);cursor:pointer}.shell .code-go:disabled{opacity:.45;cursor:default}.shell .slip-invite .slip-ico{background:var(--ink-soft)}.shell .slip-invite .slip-dismiss{display:block;margin:6px 4px 0 auto;font-size:13px}.kb-open .shell.home .sheet-page{padding-bottom:calc(28px + var(--kb))}.shell.chat .sheet-page{gap:14px}.shell .chat-head{display:flex;align-items:center;gap:8px}.shell .chat-title{flex:1;margin:0;font-family:var(--display);font-size:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .chat-sec{display:flex;flex-direction:column;gap:8px}.shell .chat-row{display:flex;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--rule);text-align:left;background:none;color:inherit;font:inherit;width:100%}.shell .chat-row.link{border:0;border-bottom:1px solid var(--rule);cursor:pointer}.shell .chat-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.shell .chat-row-text span{color:var(--ink-soft);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .chat-badge{min-width:22px;padding:2px 7px;border-radius:11px;background:var(--marker);color:#fff;font-size:13px;text-align:center}.shell .chat-note{color:var(--ink-soft);font-size:14px;margin:0}.shell .chat-warn{color:var(--wait);font-size:14px;margin:0}.shell .chat-error{color:#c0392b;font-size:14px;margin:0}.shell .chat-inline{display:flex;gap:6px;flex-wrap:wrap}.shell .chat-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-hi);color:var(--ink);font:inherit;font-size:16px}.shell .mono{font-family:var(--mono);font-size:13px}.shell .chat-code{word-break:break-all;margin:0}.shell .chat-qr{width:240px;max-width:100%;height:auto;background:#fff;border-radius:8px}.shell .chat-scan{display:flex;flex-direction:column;gap:6px}.shell.chat-sheet{position:relative;width:100%;max-width:560px;max-height:85vh;overflow:auto;padding:14px 16px calc(14px + var(--sab));border-radius:16px 16px 0 0;background:var(--paper);display:flex;flex-direction:column;gap:10px}.chat-btn-badge{position:absolute;top:-4px;right:-4px;min-width:16px;padding:0 4px;border-radius:8px;background:#ff8a5c;color:#fff;font-size:11px;line-height:16px;text-align:center}.btn-chat{position:relative}.shell{--mine-bg: color-mix(in srgb, var(--marker) 24%, var(--paper-hi));--mine-edge: color-mix(in srgb, var(--marker) 45%, transparent);--theirs-bg: var(--paper-hi);--danger-ink: #b4432c}@media(prefers-color-scheme:dark){.shell{--mine-bg: color-mix(in srgb, var(--marker) 34%, var(--paper-hi));--mine-edge: color-mix(in srgb, var(--marker) 55%, transparent);--danger-ink: #f08a6e}}.tabs-host{flex:1;min-height:0;display:flex;flex-direction:column}.tabs-host>.shell.home .sheet-page{padding-bottom:28px}.shell.tabbar{flex:none;position:relative;z-index:var(--z-tabbar);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 8px calc(2px + var(--sab));background:var(--grain),linear-gradient(180deg,var(--paper-hi),var(--paper) 70%);box-shadow:0 -1px 0 var(--rule),0 -1px #ffffff73 inset,0 -8px 18px -10px rgb(var(--shade) / .45)}.shell .tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;padding:4px 0 2px;border:0;background:none;color:var(--ink-faint);font:600 11px/1 var(--body);letter-spacing:.02em;cursor:pointer;transition:color .15s}.shell .tab .tab-ico{position:relative;display:grid;place-items:center;transition:translate .18s cubic-bezier(.2,.9,.3,1.4)}.shell .tab.on{color:var(--ink);--tab-fill: color-mix(in srgb, var(--marker) 38%, transparent)}.shell .tab.on .tab-ico{translate:0 -1px}.shell .tab.on .tab-label{text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:2px;text-underline-offset:3px}.shell .tab:active .tab-ico{translate:0 1px}.shell .tab-badge{position:absolute;top:-5px;left:15px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--marker);color:#fff;font:700 11px/18px var(--body);text-align:center;box-shadow:0 0 0 2px var(--paper-hi),0 1px 2px rgb(var(--shade) / .35)}.shell .avatar{position:relative;flex:none;width:var(--av-size);height:var(--av-size);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 32% 26%,hsl(var(--av-h) 62% 74%),hsl(var(--av-h) 44% 50%) 78%);color:#fff;font:700 calc(var(--av-size) * .37) / 1 var(--display);letter-spacing:.01em;text-shadow:0 1px 0 rgb(0 0 0 / .22);box-shadow:inset 0 1px #fff6,inset 0 -2px #0000001f,0 1px 2px rgb(var(--shade) / .35),0 3px 6px -3px rgb(var(--shade) / .35)}.shell .avatar.group{border-radius:30%;rotate:-2deg}.shell .avatar.photo{overflow:hidden}.shell .avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.shell .handle{margin-left:6px;font:500 12.5px/1.2 var(--mono);color:var(--ink-soft)}.shell .profile-handle{font:500 13px/1.2 var(--mono);color:var(--ink-soft)}.shell .profile-name-static{font:700 22px/1.15 var(--display)}.shell .choice-row{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}.shell .choice-row .pill-btn[aria-pressed=true]{background:var(--ink);color:var(--paper-hi)}.shell .link-card{display:flex;flex-direction:column;align-items:center;gap:10px}.shell .link-url{font-size:12.5px;word-break:break-all;text-align:center;margin:0}.shell .center{text-align:center;justify-content:center}.shell .join-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px}.shell .join-name{margin:0;font:700 22px/1.2 var(--display);text-align:center}.shell .app-hint{margin-top:14px;opacity:.85}.shell .link-glyph{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--paper-hi);flex:none}.shell .nearby-open{margin:8px 0;padding:12px;border-radius:10px;background:var(--paper-hi);box-shadow:var(--contact);display:flex;flex-direction:column;gap:10px}.shell .nearby-open-head{display:flex;align-items:center;gap:10px}.shell .nearby-open-head>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.shell .nearby-open .pulse{width:10px;height:10px;border-radius:50%;background:#3f9b5a;box-shadow:0 0 #3f9b5a99;animation:nearby-pulse 1.6s ease-out infinite;flex:none}@keyframes nearby-pulse{to{box-shadow:0 0 0 10px #3f9b5a00}}@media(prefers-reduced-motion:reduce){.shell .nearby-open .pulse{animation:none}}.shell .avatar-glyph{position:absolute;right:-4px;bottom:-4px;width:44%;height:44%;min-width:14px;min-height:14px;padding:2px;border-radius:50%;background:var(--paper-hi);color:hsl(var(--av-h) 45% 42%);box-shadow:0 1px 2px rgb(var(--shade) / .35);rotate:2deg}.shell .pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;min-width:44px;padding:0 14px;border:1.5px solid var(--rule);border-radius:999px;background:var(--paper-hi);color:var(--ink);font:600 14px/1 var(--body);white-space:nowrap;cursor:pointer;box-shadow:var(--contact)}.shell .pill-btn.ink{background:var(--ink);color:var(--paper-hi);border-color:transparent}.shell .pill-btn.warn{color:var(--danger-ink)}.shell .pill-btn.wide{width:100%;min-height:48px;font-size:16px}.shell .pill-btn:disabled{opacity:.45;cursor:default}.shell .pill-btn:active:not(:disabled){translate:0 1px;box-shadow:none}.shell .round-btn,.shell .icon-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;color:var(--ink);background:transparent;cursor:pointer}.shell .round-btn{background:var(--grain),var(--paper-hi);box-shadow:var(--lift)}.shell .round-btn:active,.shell .icon-btn:active:not(:disabled){background:var(--rule)}.shell .icon-btn.play{color:var(--marker)}.shell .icon-btn:disabled{opacity:.4}.shell .icon-btn.small{width:32px;height:32px;font-size:13px}.shell .list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.shell .list-title{position:relative;isolation:isolate;margin:0;font:800 clamp(1.7rem,7.4vw,2.1rem) / 1 var(--display);letter-spacing:-.025em}.shell .list-title:after{content:"";position:absolute;left:-2px;right:-6px;bottom:-5px;height:7px;border-radius:4px;background:var(--marker);opacity:.75;rotate:-1.2deg;z-index:-1}.shell .tag{margin-left:6px;padding:2px 6px;border-radius:4px;background:var(--paper-2);color:var(--ink-soft);font:600 10px/1.2 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px}.shell .tag.warn,.shell .set-link.warn{color:var(--danger-ink)}.shell .set-link>span{display:inline-flex;align-items:center;gap:8px}.shell .list-page{gap:18px}.shell .convs{list-style:none;margin:0 -6px;padding:0;display:flex;flex-direction:column}.shell .convs>li{animation:place .38s cubic-bezier(.2,.9,.3,1.15) both;animation-delay:calc(min(var(--i, 0),8)*35ms)}.shell .conv{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:10px 6px;border:0;border-bottom:1px dashed var(--rule);border-radius:6px;background:none;color:var(--ink);text-align:left;cursor:pointer}.shell .convs>li:last-child .conv{border-bottom:0}.shell .conv:active{background:color-mix(in srgb,var(--paper-2) 70%,transparent)}.shell .conv-main{min-width:0;display:flex;flex-direction:column;gap:3px}.shell .conv-top,.shell .conv-bottom{display:flex;align-items:center;gap:6px;min-width:0}.shell .conv-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 16.5px/1.2 var(--display)}.shell .conv-muted{flex:none;display:inline-grid;color:var(--ink-faint)}.shell .conv-time{flex:none;margin-left:auto;color:var(--ink-faint);font-size:12.5px;font-variant-numeric:tabular-nums}.shell .conv.unread .conv-time{color:var(--marker);font-weight:700}.shell .conv-line{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:14.5px}.shell .conv.unread .conv-line{color:var(--ink)}.shell .conv-badge{flex:none;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--marker);color:#fff;font:700 12.5px/22px var(--body);text-align:center;box-shadow:0 1px 1px rgb(var(--shade) / .3)}.shell .conv-badge.muted{background:var(--ink-faint)}.shell .chat-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 16px;border:1.5px dashed var(--rule);border-radius:6px;color:var(--ink-soft)}.shell .chat-empty p{margin:0;line-height:1.45}.shell .chat-empty b{color:var(--ink)}.shell .chat-empty.small{padding:12px 14px}.shell .notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.shell .note{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px;padding:12px;border-radius:3px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift);rotate:-.4deg}.shell .note:nth-child(2n){rotate:.4deg}.shell .note:before{content:"";position:absolute;top:-8px;left:40%;width:54px;height:16px;background:var(--tape);rotate:-3deg;box-shadow:0 1px 1px rgb(var(--shade) / .12)}.shell .note-text{min-width:0;display:flex;flex-direction:column;gap:2px}.shell .note-text b{font:700 16px/1.2 var(--display)}.shell .note-text span{color:var(--ink-soft);font-size:13.5px;overflow-wrap:anywhere}.shell .note-acts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.shell.psheet{gap:12px;z-index:1}.shell .psheet-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px}.shell.psheet>.sec-label{margin:8px 0 0}.shell .sheet-actions,.shell .info-actions{display:flex;flex-wrap:wrap;gap:10px}.shell .act-tile{flex:1 1 0;min-width:84px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border:0;border-radius:10px;background:var(--grain),var(--paper-hi);color:var(--ink);font:600 13px/1.1 var(--body);box-shadow:var(--lift);cursor:pointer}.shell .act-tile svg{color:var(--marker)}.shell .act-tile[aria-pressed=true]{background:var(--grain),var(--paper-2);box-shadow:var(--contact)}.shell .act-tile:active:not(:disabled){translate:0 1px;box-shadow:var(--contact)}.shell .act-tile:disabled{opacity:.5}.shell .sheet-form{display:flex;flex-direction:column;gap:10px}.shell .sheet-row{display:flex;gap:8px;flex-wrap:wrap}.shell .chat-input.big{min-height:48px;padding:10px 12px;border-radius:8px}.shell .people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.shell .person{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:8px 2px;border:0;border-bottom:1px dashed var(--rule);background:none;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.shell .person.static{cursor:default}.shell .person:disabled{cursor:default;opacity:1}.shell .person>svg{color:var(--ink-faint)}.shell .person-text{min-width:0;display:flex;flex-direction:column;gap:2px}.shell .person-text b{font:700 15.5px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .person-text>span{color:var(--ink-soft);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .person-acts{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 12px 54px;border-bottom:1px dashed var(--rule)}.shell .qr-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.shell .qr-card.center{align-items:center;text-align:center}.shell .qr-card .chat-qr{padding:8px;border-radius:6px;box-shadow:var(--lift);rotate:-.8deg}.shell .scan-video{width:100%;max-width:320px;aspect-ratio:1;object-fit:cover;background:#111}.shell.convo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-convo);overflow:hidden;display:flex;flex-direction:column;padding:0 var(--sar) 0 var(--sal);background:var(--grain),radial-gradient(ellipse at 30% 0%,var(--paper-hi),var(--paper) 55%,var(--paper-2))}.shell .convo-head{flex:none;position:relative;z-index:2;display:flex;align-items:center;gap:2px;padding:calc(var(--sat) + 4px) 6px 6px;background:var(--grain),linear-gradient(180deg,var(--paper-2),var(--paper));box-shadow:0 1px 0 var(--rule),0 6px 14px -10px rgb(var(--shade) / .5)}.shell .convo .convo-head{translate:0 var(--vv-top)}.shell .convo-who{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 4px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.shell .convo-who-text{min-width:0;display:flex;flex-direction:column}.shell .convo-who-text b{font:700 17px/1.2 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .convo-who-text span{color:var(--ink-soft);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .thread{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:720px;margin:0 auto}.shell .thread-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;padding:10px 10px 12px}.shell .thread.compact .thread-scroll{max-height:50vh;min-height:30vh}.shell.convo .thread{transform:translate3d(0,calc(-1 * var(--kb-lift)),0);transition:transform var(--kb-dur) var(--kb-ease)}.shell.convo .thread-scroll{padding-top:calc(10px + var(--kb-lift) + var(--vv-top))}.shell .thread-empty{align-self:center;max-width:280px;margin:auto 0;padding:14px 16px;border:1.5px dashed var(--rule);border-radius:8px;color:var(--ink-soft);font-size:14px;text-align:center}.shell .thread-removed{margin:0;padding:12px 16px calc(12px + var(--sab));color:var(--ink-soft);text-align:center;border-top:1px solid var(--rule)}.shell .day-sep{align-self:center;margin:14px 0 6px}.shell .day-sep span{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 1px 2px rgb(var(--shade) / .14)}.shell .sys-line{align-self:center;max-width:86%;margin:6px 0;color:var(--ink-faint);font-size:12.5px;font-style:italic;text-align:center}.shell .msg{display:flex;flex-direction:column;align-items:flex-start}.shell .msg.mine{align-items:flex-end}.shell .msg.first{margin-top:8px}.shell .msg-name{margin:0 0 3px 46px;color:var(--ink-soft);font:700 12px/1 var(--body)}.shell .card-msg .msg-name{margin-left:4px}.shell .card-msg.indent .msg-name{margin-left:38px}.shell .card-msg.indent .gcard,.shell .card-msg.indent .msg-meta.solo{margin-left:34px}.shell .msg-row{display:flex;align-items:flex-end;gap:6px;max-width:min(84%,520px)}.shell .msg-av,.shell .msg-av-gap{flex:none;width:28px}.shell .msg-av{margin-bottom:1px}.shell .bubble{min-width:0;padding:7px 10px 6px 12px;border-radius:18px;background:var(--grain),var(--theirs-bg);color:var(--ink);font-size:16px;line-height:1.32;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;box-shadow:0 1px 1px rgb(var(--shade) / .16),0 3px 6px -4px rgb(var(--shade) / .35);cursor:pointer}.shell .msg:not(.mine):not(.first) .bubble{border-top-left-radius:6px}.shell .msg:not(.mine):not(.last) .bubble{border-bottom-left-radius:6px}.shell .msg:not(.mine).last .bubble{border-bottom-left-radius:4px}.shell .msg.mine .bubble{background:var(--grain),var(--mine-bg);box-shadow:0 0 0 .5px var(--mine-edge) inset,0 1px 1px rgb(var(--shade) / .16),0 3px 6px -4px rgb(var(--shade) / .35)}.shell .msg.mine:not(.first) .bubble{border-top-right-radius:6px}.shell .msg.mine:not(.last) .bubble{border-bottom-right-radius:6px}.shell .msg.mine.last .bubble{border-bottom-right-radius:4px}.shell .msg.picked .bubble{box-shadow:0 0 0 2px var(--marker)}.shell .bubble-quote{display:flex;flex-direction:column;margin:1px 0 5px -4px;padding:4px 8px;border-left:3px solid var(--marker);border-radius:4px;background:rgb(var(--shade) / .07);font-size:13px;white-space:nowrap;overflow:hidden}.shell .bubble-quote b{font-size:12px}.shell .bubble-quote span{overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft)}.shell .msg-meta{float:right;display:inline-flex;align-items:center;gap:3px;margin:8px 0 -4px 10px;color:var(--ink-faint);font-size:11px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.shell .msg.mine .msg-meta{color:var(--ink-soft)}.shell .msg-meta.solo{float:none;margin:4px 6px 0}.shell .tick{letter-spacing:-.2em;padding-right:.2em;font-weight:700}.shell .tick.delivered{color:var(--live)}.shell .msg-acts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px 34px}.shell .msg.mine .msg-acts{margin-left:0}.shell .gcard{position:relative;width:min(290px,78vw);display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:14px 12px 12px;border-radius:3px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift);rotate:-.7deg}.shell .gcard.mine{rotate:.6deg}.shell .gcard:before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:18px;translate:-50% 0;background:var(--tape);rotate:2.5deg;box-shadow:0 1px 1px rgb(var(--shade) / .12)}.shell .gcard-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}.shell .gcard .slip-ico{width:38px;height:38px}.shell .gcard-text{min-width:0;display:flex;flex-direction:column;gap:2px}.shell .gcard-text b{font:800 17px/1.1 var(--display)}.shell .gcard-text span{color:var(--ink-soft);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .gcard .stamp{font-size:10px;padding:3px 6px}.shell .gcard.done .gcard-text span{color:var(--ink);font-weight:600}.shell .seats{display:flex;gap:5px;padding-left:48px}.shell .seats i{width:12px;height:12px;border-radius:50%;border:1.5px dashed var(--ink-faint)}.shell .seats i.on{border:0;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--marker) 70%,#fff),var(--marker));box-shadow:0 1px 1px rgb(var(--shade) / .35)}.shell .gcard.done .seats i.on{background:var(--ink-faint)}.shell .gcard-btn{min-height:44px;border:0;border-radius:4px;background:var(--ink);color:var(--paper-hi);font:700 15px/1 var(--display);letter-spacing:.02em;cursor:pointer;box-shadow:0 1px #ffffff26 inset,0 2px 3px rgb(var(--shade) / .3)}.shell .gcard-btn:active:not(:disabled){translate:0 1px}.shell .gcard-btn:disabled{opacity:.5}.shell .composer{flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 10px calc(8px + var(--sab));background:var(--grain),linear-gradient(180deg,var(--paper),var(--paper-2));box-shadow:0 -1px 0 var(--rule),0 -6px 14px -12px rgb(var(--shade) / .5)}.shell.convo.kb .composer{padding-bottom:8px}.shell .thread.compact .composer{padding-bottom:8px;background:none}.shell .composer-reply{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 10px;border-left:3px solid var(--marker);border-radius:4px;background:rgb(var(--shade) / .06);font-size:13px;color:var(--ink-soft)}.shell .composer-reply span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .composer-row{display:flex;align-items:flex-end;gap:8px}.shell .composer-input{flex:1;min-width:0;min-height:44px;max-height:132px;padding:11px 14px;border:1.5px solid var(--rule);border-radius:22px;background:var(--paper-hi);color:var(--ink);font:16px/1.3 var(--body);resize:none;-webkit-user-select:text;user-select:text;box-shadow:inset 0 1px 2px rgb(var(--shade) / .12)}.shell .composer-input:focus{outline:none;border-color:var(--marker)}.shell .send-btn{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--marker);color:#fff;cursor:pointer;box-shadow:0 1px #ffffff59 inset,0 2px 4px rgb(var(--shade) / .35);transition:scale .12s,opacity .12s}.shell .send-btn:disabled{opacity:.35;box-shadow:none}.shell .composer-plus{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--rule);border-radius:50%;background:var(--paper-hi);color:var(--ink-soft);cursor:pointer;box-shadow:0 1px 2px rgb(var(--shade) / .15);transition:scale .12s}.shell .composer-plus:active{scale:.94}.shell .composer-plus svg{color:var(--marker)}.shell .send-btn:active:not(:disabled){scale:.94}.shell .info-head{display:flex;align-items:center;gap:6px;margin:-6px 0 0 -10px}.shell .info-title{margin:0;font:700 18px/1 var(--display)}.shell .info-hero{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.shell .info-hero h2{margin:8px 0 0;font:800 24px/1.1 var(--display);overflow-wrap:anywhere}.shell .info-hero p{margin:0;color:var(--ink-soft)}.shell .danger-zone{gap:0}.shell .profile-card{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border-radius:4px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift);rotate:-.5deg}.shell .profile-text{min-width:0;display:flex;flex-direction:column;gap:4px}.shell .profile-label{display:block;font:600 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.shell .profile-name{width:100%;min-height:40px;padding:2px 0;border:0;border-bottom:1.5px dashed var(--rule);background:transparent;color:var(--ink);font:800 22px/1.2 var(--display);-webkit-user-select:text;user-select:text}.shell .profile-name:focus{outline:none;border-bottom-color:var(--marker)}.shell .profile-fp{color:var(--ink-soft);font-size:12.5px}@media(prefers-reduced-motion:reduce){.shell .convs>li{animation:none}}.shell .profile-card .profile-share{align-self:flex-start;padding:2px 0;border:0;background:none;text-align:left;font:500 12.5px/1.35 var(--body, inherit);color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--rule);cursor:pointer}.shell .empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:340px;margin:auto;padding:24px 16px;text-align:center}.shell .empty-state.compact{max-width:none;padding:16px;border:1.5px dashed var(--rule);border-radius:8px}.shell .empty-state.compact .empty-art{width:84px;height:67px}.shell .empty-art{flex:none;margin-bottom:4px;overflow:visible}.shell .empty-art .ea-paper{fill:var(--paper-hi);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.shell .empty-art .ea-paper.dashed{stroke:var(--ink-soft);stroke-dasharray:4 3}.shell .empty-art .ea-mark{fill:var(--marker);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.shell .empty-art .ea-shadow{fill:rgb(var(--shade) / .16)}.shell .empty-art .ea-ink{fill:var(--ink)}.shell .empty-art .ea-line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.shell .empty-art .ea-line.light{stroke:var(--paper-hi);stroke-width:3}.shell .empty-art .ea-line.faint{stroke:var(--ink-faint);stroke-dasharray:4 3}.shell .empty-title{margin:0;font:800 20px/1.2 var(--display);color:var(--ink);text-wrap:balance}.shell .empty-text{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.45;text-wrap:pretty}.shell .empty-acts{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.shell .empty-acts .pill-btn{min-height:48px;justify-content:center}.shell .img-msg .msg-row{max-width:none}.shell .img-msg .msg-name{margin-left:46px}.shell .ph-wrap{position:relative;width:fit-content;display:flex;flex-direction:column;align-items:stretch;gap:0;border-radius:16px;background:var(--grain),var(--paper-hi);box-shadow:0 0 0 .5px rgb(var(--shade) / .18) inset,0 1px 1px rgb(var(--shade) / .16),0 3px 6px -4px rgb(var(--shade) / .35);padding:3px}.shell .msg.mine .ph-wrap{background:var(--grain),var(--mine-bg)}.shell .msg.picked .ph-wrap{box-shadow:0 0 0 2px var(--marker)}.shell .ph{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:13px;background:rgb(var(--shade) / .12);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.shell .ph img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.shell .ph-thumb{filter:blur(10px) saturate(1.15);transform:scale(1.15)}.shell .ph-mid,.shell .ph-full{opacity:0;transition:opacity .26s ease}.shell .ph-mid{filter:blur(.6px)}.shell .ph-mid.on,.shell .ph-full.on{opacity:1}.shell .ph-status{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:4px 9px 4px 5px;border-radius:999px;background:#00000080;color:#fff;font:600 12px/1.1 var(--body);font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shell .ph-status.tap{padding-left:8px}.shell .ph-ring{flex:none}.shell .ph-caption{width:0;min-width:100%;box-sizing:border-box;padding:6px 9px 0;font-size:15px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.shell .ph-meta{float:none;align-self:flex-end;margin:4px 7px 2px}.shell .ph-more{position:absolute;top:3px;right:3px;width:44px;height:44px;padding:5px 0 0;border:0;background:none;color:#fff;font:700 14px/22px var(--body);opacity:0;cursor:pointer;isolation:isolate}.shell .ph-more:before{content:"";position:absolute;top:8px;right:6px;bottom:14px;left:6px;border-radius:999px;background:#00000059;z-index:-1}.shell .ph-wrap:hover .ph-more,.shell .msg.picked .ph-more{opacity:1}@media(hover:none){.shell .ph-more{opacity:.85}}.shell .img-msg .msg-acts{margin-left:34px}.shell .ph-pending{width:200px;height:150px;display:grid;place-items:center;border-radius:16px;cursor:default}.shell .ph-pending .ph-status{position:static}.shell .ph-spin{width:16px;height:16px;border-radius:50%;border:2.5px solid rgb(255 255 255 / .35);border-top-color:#fff;animation:ph-spin .9s linear infinite}@keyframes ph-spin{to{transform:rotate(360deg)}}.shell .ph-pending.failed{width:240px;height:auto;padding:12px;background:var(--grain),var(--paper-hi);box-shadow:0 0 0 1.5px var(--warn, #b5543c) inset;color:var(--ink);font-size:14px;text-align:left}.shell .ph-failed{display:flex;flex-direction:column;gap:8px}.shell .ph-failed-acts{display:flex;gap:6px}.shell .thread{position:relative}.shell .thread-drop{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:grid;place-items:center;border:2px dashed var(--marker);border-radius:14px;background:rgb(var(--shade) / .08);color:var(--ink);font:700 16px/1 var(--body);pointer-events:none}@media(prefers-reduced-motion:reduce){.shell .ph-mid,.shell .ph-full{transition:none}}.pv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;flex-direction:column;color:#fff;touch-action:none;-webkit-user-select:none;user-select:none}.pv-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:calc(6px + var(--sat, env(safe-area-inset-top))) 12px 6px}.pv-btn{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font:600 18px/1 system-ui,sans-serif;cursor:pointer}.pv-who{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;font:14px/1.2 system-ui,sans-serif}.pv-who b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-who span{opacity:.7;font-size:12px}.pv-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none}.pv-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;will-change:transform;-webkit-touch-callout:default}.pv-img.anim{transition:transform .22s cubic-bezier(.2,.8,.2,1)}.pv-img.blur{filter:blur(14px);width:min(100%,90vh)}.pv-img.soft{filter:blur(.4px)}.pv-foot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 16px calc(14px + var(--sab, env(safe-area-inset-bottom)));min-height:44px}.pv-caption{margin:0;max-width:560px;font:15px/1.4 system-ui,sans-serif;text-align:center}.pv-note{margin:0;padding:4px 10px;border-radius:999px;background:#ffffff1f;font:600 12px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.pv-img.anim{transition:none}}.shell.settings .sheet-page{gap:18px}.shell .set-sec{display:flex;flex-direction:column;gap:8px}.shell .set-sub{margin:6px 0 0;font:700 15px/1.2 var(--display)}.shell .set-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule)}.shell .set-dim{color:var(--ink-soft);font-weight:400}.shell .set-link{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--rule);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.shell .set-link i{font-style:normal;color:var(--ink-faint);font-size:20px}.shell .set-sec.danger{margin-top:10px;padding-top:14px;border-top:1.5px dashed var(--rule)}.shell .danger-btn{align-self:flex-start;color:#fff;background:#b4432c;border-color:transparent}.shell .lic{display:flex;flex-direction:column}.shell .lic-text{margin:4px 0 8px;padding:10px;max-height:40vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font:12px/1.4 var(--mono);background:var(--paper-2);border-radius:8px}.shell .legal{display:flex;flex-direction:column;gap:10px;line-height:1.5;overflow-wrap:anywhere}.shell .legal h1{margin:0;font:800 24px/1.15 var(--display)}.shell .legal h2{margin:10px 0 0;font:700 18px/1.2 var(--display)}.shell .legal h3{margin:6px 0 0;font:700 16px/1.2 var(--display)}.shell .legal p,.shell .legal ul,.shell .legal ol{margin:0}.shell .legal ul,.shell .legal ol{padding-left:22px;display:flex;flex-direction:column;gap:6px}.shell .legal a{color:inherit;text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:2px;text-underline-offset:3px}.shell .legal code{font:13px var(--mono)}.shell .doc-bar{display:flex}.shell .sheet-title{margin:0;font:800 22px/1.15 var(--display)}.shell .welcome{gap:12px;padding-top:18px}.welcome-backdrop{z-index:var(--z-notice)}.shell .welcome-title{padding-right:8px}.shell .welcome-points{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;line-height:1.4}.shell .welcome-points b{display:block}.shell .inline-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-decoration-color:var(--marker);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}.shell .welcome-ok{justify-content:center;text-align:center}.shell .report-sheet .gsheet-head{grid-template-columns:minmax(0,1fr) 44px}.shell .report-msgs{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:4px;max-height:32vh;overflow-y:auto;min-width:0}.shell .report-msg{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border-radius:8px;background:var(--paper-2);font-size:14px;overflow-wrap:anywhere}.shell .report-msg.on{background:var(--paper-hi);box-shadow:inset 0 0 0 1.5px var(--marker)}.shell .report-msg input,.shell .report-check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--marker)}.shell .report-check{display:flex;gap:8px;align-items:flex-start;font-size:15px}.shell .report-actions{display:flex;flex-wrap:wrap;gap:8px}.invite-backdrop{z-index:calc(var(--z-sheet) + 50)}.shell .invite-open{gap:16px;padding-bottom:calc(24px + var(--sab))}.shell .io-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.shell .io-eyebrow{font:700 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.shell .io-title{margin:0;font:800 24px/1.15 var(--display);text-wrap:balance}.shell .io-sub,.shell .io-msg p{margin:0;color:var(--ink-soft);line-height:1.45}.shell .io-fine{margin:0;font-size:13.5px;line-height:1.4;color:var(--ink-soft)}.shell .io-fine.center{text-align:center}.shell .io-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0 24px}.shell .io-status p{margin:0;font:600 17px/1.3 var(--body)}.shell .io-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--rule);border-top-color:var(--ink);animation:io-spin .9s linear infinite}@keyframes io-spin{to{rotate:1turn}}@media(prefers-reduced-motion:reduce){.shell .io-spinner{animation-duration:3s}}.shell .io-card{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:14px;background:var(--paper-hi);box-shadow:var(--lift)}.shell .io-from{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--rule)}.shell .io-from-text{display:flex;flex-direction:column;gap:2px;min-width:0}.shell .io-from-text b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .io-from-text span{font-size:14px;color:var(--ink-soft)}.shell .io-group{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.shell .io-group .avatar{margin-bottom:8px}.shell .io-lede{font-size:14px;color:var(--ink-soft)}.shell .io-name{margin:0;font:800 26px/1.15 var(--display);text-wrap:balance;overflow-wrap:anywhere}.shell .io-facts{margin:4px 0 0;font-size:14px;color:var(--ink-soft)}.shell .io-fp{margin:4px 0 0}.shell .io-actions{display:flex;flex-direction:column;gap:8px}.shell .io-actions .pill-btn.wide{min-height:50px}.shell .io-msg{display:flex;flex-direction:column;gap:12px;padding-top:4px}.shell .io-glyph{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--paper-hi);box-shadow:var(--contact);font:800 22px/1 var(--display);color:var(--danger-ink, #a3402a)}.shell .io-glyph.offline,.shell .io-glyph.expired{color:var(--ink-soft)}.shell .io-name-step{display:flex;flex-direction:column;gap:12px}.shell .io-label{margin-top:4px;font:700 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.shell .io-name-step .chat-input.big{flex:none;width:100%;min-height:50px}.shell .io-or{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:13px}.shell .io-or:before,.shell .io-or:after{content:"";flex:1;border-top:1px solid var(--rule)}.shell .io-google{width:100%;min-height:50px;justify-content:center}.shell .io-app-hint{margin:0;padding-top:12px;border-top:1px dashed var(--rule);font-size:13px;line-height:1.4;color:var(--ink-faint);text-align:center}.shell .invite-sheet{gap:0}.shell .il-intro{margin:4px 0 0;color:var(--ink-soft);line-height:1.45}.shell .il-group{display:flex;flex-direction:column;gap:8px;margin:24px 0 0;min-width:0}.shell .il-group>.sec-label,.shell .il-active>.sec-label{margin:0}.shell .seg{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;border-radius:12px;background:var(--paper-2);box-shadow:inset 0 1px 2px rgb(var(--shade) / .18)}.shell .seg button{min-height:44px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:var(--ink);font:600 15px/1.1 var(--body);cursor:pointer;white-space:nowrap}.shell .seg button[aria-pressed=true]{background:var(--paper-hi);box-shadow:var(--contact),0 1px 3px rgb(var(--shade) / .25);font-weight:700}.shell .seg button:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.shell .il-hint{margin:0;font-size:13.5px;color:var(--ink-soft)}.shell .il-make{margin-top:24px;display:flex;flex-direction:column;gap:8px}.shell .il-make .pill-btn.wide{min-height:50px}.shell .il-card{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px;padding:16px;border-radius:14px;background:var(--paper-hi);box-shadow:var(--lift)}.shell .il-card .chat-qr{width:200px;padding:8px;box-shadow:var(--contact)}.shell .il-code{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.shell .il-code b{font:700 22px/1.1 var(--mono);letter-spacing:.06em}.shell .il-code span{font-size:13.5px;color:var(--ink-soft)}.shell .il-url{margin:0;font-size:12.5px;color:var(--ink-soft);word-break:break-all;text-align:center}.shell .il-btns{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;width:100%}.shell .il-btns .pill-btn{min-height:48px}.shell .il-revoke{width:100%;min-height:44px;margin-top:4px;border:0;background:none;color:var(--danger-ink, #a3402a);font:600 15px/1 var(--body);cursor:pointer}.shell .il-note{margin:12px 0 0;text-align:center;font-size:14px;color:var(--ink-soft)}.shell .il-active{margin-top:24px;display:flex;flex-direction:column;gap:8px}.shell .il-active .person.static{min-height:56px}.shell .acct-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px 16px 16px;border-radius:4px;background:var(--grain),var(--paper-hi);box-shadow:var(--lift);rotate:.4deg}.shell .acct-card.in{rotate:-.3deg}.shell .acct-tape{position:absolute;top:-9px;left:50%;width:92px;height:20px;translate:-50% 0;rotate:-2.5deg;background:var(--tape);box-shadow:0 1px 1px rgb(var(--shade) / .12);pointer-events:none}.shell .acct-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.shell .acct-head h2{margin:0;font:800 20px/1.15 var(--display)}.shell .acct-opt{padding:3px 7px;border:1.5px solid var(--rule);border-radius:999px;color:var(--ink-soft);font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;rotate:3deg}.shell .acct-lede{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.4}.shell .acct-pros{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.shell .acct-pros li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}.shell .acct-pros li>span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}.shell .acct-pros b{font:700 15px/1.25 var(--display)}.shell .acct-pros li>span:last-child>span{color:var(--ink-soft);font-size:13.5px;line-height:1.35}.shell .acct-pro-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--marker) 16%,var(--paper-hi));color:color-mix(in srgb,var(--marker) 70%,var(--ink));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--marker) 35%,transparent)}.shell .acct-btns{display:flex;flex-direction:column;gap:8px;margin-top:2px}.shell .acct-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 16px;border:1.5px solid var(--rule);border-radius:12px;background:var(--paper-hi);color:var(--ink);font:600 16px/1 var(--body);cursor:pointer;box-shadow:var(--contact),inset 0 -2px rgb(var(--shade) / .06)}.shell .acct-btn.google{background:#fff;color:#1f1f1f;border-color:#747775}.shell .acct-btn.apple{background:#000;color:#fff;border-color:#000}.shell .acct-btn:disabled{opacity:.5;cursor:default}.shell .acct-btn:active:not(:disabled){translate:0 1px;box-shadow:none}.shell .acct-fine{margin:0;color:var(--ink-faint);font-size:12.5px;line-height:1.4}.shell .acct-card a{color:inherit;text-decoration-color:var(--marker);text-underline-offset:3px}.shell .link-btn{align-self:flex-start;padding:4px 0;border:0;background:none;color:var(--ink-soft);font:600 14px/1.2 var(--body);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;cursor:pointer}.shell .acct-handle{display:flex;gap:8px;align-items:center}.shell .acct-at{flex:1;min-width:0;display:flex;align-items:center;gap:2px;min-height:44px;padding:0 12px;border:1.5px solid var(--rule);border-radius:10px;background:var(--paper);box-shadow:inset 0 1px 2px rgb(var(--shade) / .12)}.shell .acct-at:focus-within{border-color:var(--marker)}.shell .acct-at span{color:var(--ink-soft);font:700 16px/1 var(--mono)}.shell .acct-at input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:600 16px/1.2 var(--mono);outline:none;-webkit-user-select:text;user-select:text}.shell .acct-id{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center}.shell .acct-id-text{display:flex;flex-direction:column;gap:3px;min-width:0}.shell .acct-id-text h2{margin:0;font:800 20px/1.15 var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell .acct-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--paper-hi);box-shadow:0 1px 2px rgb(var(--shade) / .35);rotate:-2deg}.shell .acct-handle-tag{font:700 14px/1.2 var(--mono);color:color-mix(in srgb,var(--marker) 75%,var(--ink));overflow:hidden;text-overflow:ellipsis}.shell .acct-state{color:var(--ink-faint);font:600 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.shell .acct-state.ok{color:var(--live)}.shell .acct-row{display:flex;flex-direction:column;gap:8px}.shell .acct-find{font-size:14px}.shell .acct-devs .person{grid-template-columns:34px minmax(0,1fr) auto}.shell .acct-dev-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--paper-2);color:var(--ink-soft)}.shell .acct-actions{display:flex;flex-wrap:wrap;gap:8px}.shell .pill-btn.danger{background:var(--danger-ink);color:#fff}.shell .acct-find-box{display:flex;flex-direction:column;gap:10px}.shell .acct-found{padding:10px;border:1.5px dashed var(--rule);border-radius:8px}.shell .acct-inc-btns{display:flex;gap:6px}@media(prefers-reduced-motion:reduce){.shell .acct-card,.shell .acct-tape{rotate:none}}.shell .acct-card.profile .acct-id{grid-template-columns:64px minmax(0,1fr)}.shell .acct-card.profile .acct-photo{width:64px;height:64px}.shell .acct-card.profile .acct-id-text h2{font-size:22px}.shell .acct-card.profile .acct-change{align-self:flex-start;min-height:32px}.stack{position:relative;flex:1;min-height:0;overflow:hidden;margin-left:calc(-1 * var(--sal));margin-right:calc(-1 * var(--sar))}.stack-page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding-left:var(--sal);padding-right:var(--sar);isolation:isolate;background:var(--bg)}html[data-surface=paper] .stack-page{background:#f3ead8}@media(prefers-color-scheme:dark){html[data-surface=paper] .stack-page{background:#2f2922}}.stack-page.under{visibility:hidden}.stack-page.under.stack-revealed{visibility:visible}.stack-moving,.stack-revealed{will-change:transform}.stack-moving{box-shadow:-2px 0 6px #0000001f,-10px 0 28px #00000038}.stack-body,.stack-snap{flex:1;min-height:0;display:flex;flex-direction:column}.stack-snap:empty{display:none}.stack-snap{pointer-events:none}.stack-dim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2147483000;pointer-events:none;background:#140c0438;opacity:0}.stack-revealed>.stack-dim{opacity:1}:root{--bg: #0f1419;--panel: #1a222c;--panel-2: #222d3a;--border: #2d3a48;--text: #e8edf2;--muted: #94a3b5;--accent: #f0b429;--accent-text: #1a1203;--danger: #e74c3c;--ok: #2ecc71;--radius: 12px;--tap: 44px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--kb: 0px;--vv-top: 0px;--kb-lift: max(0px, calc(var(--kb) - var(--sab)));--kb-dur: .25s;--kb-ease: cubic-bezier(.2, .8, .2, 1);--z-tabbar: 10;--z-convo: 20;--z-overlay: 40;--z-sheet: 100;--z-notice: 200;--z-toast: 300;color-scheme:dark}html[data-surface=paper],html[data-surface=paper] body{background:#f3ead8}@media(prefers-color-scheme:dark){html[data-surface=paper],html[data-surface=paper] body{background:#2f2922}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;font-size:16px;line-height:1.35;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,button{font:inherit;color:inherit}.app{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-left:var(--sal);padding-right:var(--sar)}.app>*{--top-inset: var(--sat)}.hostbar~*,.connbar~*{--top-inset: 0px}.connbar{background:linear-gradient(180deg,#5c3a19,#452a10);color:#f3dba3;border-bottom:1px solid #8a6418;text-align:center;padding:7px 12px;padding-top:calc(7px + var(--top-inset));font-family:Alegreya,Iowan Old Style,Palatino,Georgia,serif;font-size:15px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px}.connbar .btn.small{color:#f3dba3;border-color:#f3dba380}.connbar.reconnect{background:linear-gradient(180deg,#7a4a12,#5a350c)}.connbar .pulse{width:10px;height:10px;border-radius:50%;background:#f3dba3;flex-shrink:0;animation:connpulse 1.2s ease-in-out infinite}@keyframes connpulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.row.center{justify-content:center}.netlog-dialog{max-width:720px}.netlog{margin:0;flex:1;min-height:40vh;max-height:60vh;overflow:auto;-webkit-overflow-scrolling:touch;background:#00000073;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font:11px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text}.toast{position:fixed;left:50%;bottom:calc(var(--sab) + 96px);transform:translate(-50%);background:#f1e3c3;color:#2a1c10;border:1px solid #a3262b;border-left:6px solid #a3262b;padding:10px 16px;border-radius:6px;font-family:Alegreya,Iowan Old Style,Palatino,Georgia,serif;font-size:16px;font-weight:700;z-index:var(--z-toast);max-width:90vw;box-shadow:0 6px 24px #00000080}.screen{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(16px + var(--top-inset)) 16px calc(16px + var(--sab));display:flex;flex-direction:column;gap:14px;max-width:560px;width:100%;margin:0 auto}.title{margin:8px 0 0;font-size:26px;display:flex;align-items:center;gap:10px}.hexlogo{display:inline-block;width:28px;height:28px;background:var(--accent);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.hint{color:var(--muted);font-size:14px}.hint.warn{color:#ffb4a8}.hint.center{text-align:center}.row{display:flex;align-items:center;gap:8px}.row.spread{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.input{min-height:var(--tap);padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);width:100%;font-size:16px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{min-height:var(--tap);min-width:var(--tap);padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:transform 80ms ease,background .12s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn.ghost{background:transparent}.btn.small{min-height:36px;padding:4px 10px;font-size:14px}.btn.big{min-height:52px;font-size:17px;width:100%}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.list-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-2);border-radius:10px;min-height:var(--tap)}.list-title{font-weight:600}.badge{display:inline-block;font-size:11px;padding:2px 7px;border-radius:999px;background:#33414f;color:#cfd8e2;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.badge.me{background:var(--accent);color:var(--accent-text)}.badge.warn{background:#5a3a00;color:#ffe2a8}.badge.gold{background:#4b3a08;color:#ffd86b;margin-left:0}.dot{width:10px;height:10px;border-radius:50%;background:#555;flex-shrink:0}.dot.on{background:var(--ok)}.dot.off{background:var(--danger)}.status-waiting{color:var(--ok)}.status-playing{color:var(--accent)}.status-ended{color:var(--muted)}.url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;background:#0b1016;border:1px dashed var(--accent);color:var(--accent);padding:12px;border-radius:10px;text-align:center;word-break:break-all;cursor:pointer}.bottom-actions{margin-top:auto;padding-top:6px;flex-shrink:0}.game{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.game-main{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1 1 auto}.game-side{display:flex;flex-direction:column;flex:0 0 auto;background:var(--panel);border-top:1px solid var(--border)}.board-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px 4px 0}.lastlog{flex-shrink:0;display:flex;align-items:center;gap:6px;min-height:24px;margin:0;padding:2px 12px 4px;border:none;background:transparent;color:var(--muted);font-size:12px;text-align:left;cursor:pointer;width:100%}.lastlog-turn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;flex-shrink:0;opacity:.8}.lastlog-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.icon-svg{width:22px;height:22px;display:block}.board{width:100%;height:100%;max-height:100%;display:block;touch-action:manipulation}@media(orientation:landscape)and (min-width:640px){.game{flex-direction:row}.game-main{flex:1 1 auto}.game-side{width:min(360px,44vw);flex-shrink:0;border-top:none;border-left:1px solid var(--border);overflow-y:auto;-webkit-overflow-scrolling:touch}.lastlog{padding-bottom:calc(4px + var(--sab))}.game-side>:first-child{padding-top:calc(6px + var(--top-inset))}}.statusbar{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;padding-top:calc(6px + var(--top-inset));background:var(--panel);border-bottom:3px solid var(--border);flex-shrink:0}.status-left{flex:1;min-width:0}.status-turn{display:flex;align-items:center;gap:8px;font-size:15px}.status-phase{font-size:13px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-phase.urgent{color:var(--accent);font-weight:600}.pcolor{display:inline-block;width:14px;height:14px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.5)}.dice{display:flex;align-items:center;gap:6px}.die{width:34px;height:34px;flex-shrink:0}.die.blank{border:2px dashed var(--border);border-radius:8px}.dice-sum{font-weight:700;font-size:18px;min-width:24px;text-align:center}.players{display:flex;gap:4px;padding:6px 8px 4px;flex-shrink:0}.player{flex:1 1 0;min-width:0;background:var(--panel-2);border:1px solid var(--border);border-left-width:4px;border-radius:8px;padding:3px 5px 3px 6px;font-size:12px;opacity:.8;display:flex;flex-direction:column;gap:1px}.player.current{opacity:1;box-shadow:0 0 0 2px var(--accent)}.player.me .pname{text-decoration:underline;text-decoration-color:var(--accent)}.player-head{display:flex;align-items:center;gap:4px;min-height:20px}.player-head .pcolor{width:10px;height:10px;border-radius:3px}.pname{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.player-head .badge{margin-left:0;padding:1px 5px;font-size:9px}.player-stats{display:flex;flex-wrap:nowrap;gap:5px;color:var(--text);font-size:11px;white-space:nowrap;overflow:hidden;line-height:1.3}.pstat.gold{color:#ffd86b}.player-thinking{flex-shrink:0}@media(orientation:landscape)and (min-width:640px){.players{flex-wrap:wrap;padding:8px 8px 4px}.player{flex:1 1 45%;font-size:13px}.player-stats{font-size:12px;gap:8px}}.prompt{padding:8px 12px;background:#2b2a12;border-top:1px solid #5a5410;display:flex;flex-direction:column;gap:6px}.hand{padding:4px 8px;border-top:1px solid var(--border);flex-shrink:0}.hand-cards{display:flex;gap:6px;justify-content:space-between}.hand-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}.hand-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.actionbar{display:flex;flex-direction:column;gap:6px;padding:6px 8px calc(8px + var(--sab));border-top:1px solid var(--border);flex-shrink:0}.act-row{display:flex;gap:6px;align-items:stretch}.act-row .btn{flex:1 1 0;min-width:0;padding:6px 8px;font-size:14px}.act-row .btn.grow{flex:1.4 1 0}.act-row .btn.roll{flex:2 1 0;font-size:17px}.btn.act{flex-direction:column;gap:0;padding:3px 2px;font-size:11px;line-height:1.15;font-weight:600}.btn.act>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.act-ico{font-size:17px;line-height:1.1}.actionbar.idle .act-row{min-height:var(--tap)}.idle-text{display:flex;align-items:center;gap:8px;min-height:var(--tap);width:100%;padding:0 6px;color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.idle-text.mine{color:var(--accent);font-weight:600}.idle-text .grow{overflow:hidden;text-overflow:ellipsis}.mode-hint{display:flex;align-items:center;color:var(--accent);font-weight:600;padding:0 6px;font-size:14px;min-height:var(--tap)}.legal-vertex,.legal-edge,.legal-hex{cursor:pointer;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.75}50%{opacity:1}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-overlay);padding:calc(var(--sat) + 12px) var(--sar) 0 var(--sal)}.dialog{background:var(--panel);border:1px solid var(--border);border-radius:16px 16px 0 0;width:100%;max-width:560px;max-height:calc(100vh - var(--sat) - var(--sab) - 24px);max-height:calc(100dvh - var(--sat) - var(--sab) - 24px);display:flex;flex-direction:column;padding-bottom:calc(8px + var(--sab));box-shadow:0 -10px 40px #00000080}.sheet-grip{width:36px;height:4px;border-radius:2px;background:var(--border);margin:8px auto 0;flex-shrink:0}.dialog-head,.dialog .tabs{flex-shrink:0}@media(min-width:640px)and (orientation:portrait),(min-width:900px){.overlay{align-items:center;padding-bottom:calc(var(--sab) + 12px)}.dialog{border-radius:16px}.sheet-grip{display:none}}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-head h2{margin:0;font-size:18px}.dialog-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.gameover .dialog{border-radius:16px;margin:0 16px;padding-bottom:8px}.gameover{align-items:center;padding-bottom:calc(var(--sab) + 12px)}.rank{font-weight:800;width:20px;text-align:center;color:var(--accent)}.tabs{display:flex;gap:4px;background:var(--panel-2);border-radius:10px;padding:3px}.tab{min-height:38px;padding:0 14px;border:none;border-radius:8px;background:transparent;font-weight:600;color:var(--muted)}.tab.active{background:var(--accent);color:var(--accent-text)}.res-grid{display:flex;flex-direction:column;gap:4px}.res-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--tap)}.res-name small{color:var(--muted)}.counter{display:flex;align-items:center;gap:4px}.counter-val{min-width:28px;text-align:center;font-weight:700;font-size:17px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{flex:1 1 calc(33% - 6px);min-height:56px;border-radius:10px;border:2px solid var(--border);background:var(--panel-2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:18px;font-weight:700;gap:2px}.chip small{font-size:11px;color:var(--muted);font-weight:500}.chip.active{border-color:var(--accent);background:#3a3010}.chip:disabled{opacity:.4}.devcard{display:flex;align-items:center;gap:10px;padding:10px;background:var(--panel-2);border-radius:10px}.devcard.dim{opacity:.6}.devcard-icon{font-size:28px}.log-body{gap:4px;font-size:14px}.log-entry{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid var(--border)}.log-turn{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;min-width:34px;padding-top:2px}.btn.block{display:block;width:100%;margin:10px 0}.title.small{font-size:20px;margin:0}.pair-step{display:flex;flex-direction:column;gap:12px;align-items:stretch}.qr-wrap{background:#fff;border-radius:12px;padding:12px;display:flex;justify-content:center}.qr-wrap canvas{display:block;max-width:100%;height:auto}.scan-wrap{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:3 / 4;max-height:60vh}.scan-wrap video{width:100%;height:100%;object-fit:cover;display:block}.scan-frame{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:3px solid rgba(255,255,255,.8);border-radius:16px;pointer-events:none}.paste{display:flex;flex-direction:column;gap:8px}.paste textarea{font-family:ui-monospace,monospace;font-size:12px}.steps{display:flex;gap:8px;margin:8px 0 12px}.steps span{flex:1;text-align:center;padding:6px;border-radius:8px;background:#ffffff0f;color:#9aa4b2;font-size:13px}.steps span.on{background:#e0a04033;color:#e0a040;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-sheet);padding:calc(var(--sat) + 12px) var(--sar) 0 var(--sal)}.modal.pair{background:#161c24;width:100%;max-width:520px;max-height:calc(100vh - var(--sat) - var(--sab) - 24px);max-height:calc(100dvh - var(--sat) - var(--sab) - 24px);overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;padding:16px;padding-bottom:calc(16px + var(--sab))}.hostbar{background:linear-gradient(180deg,#2b1a0f,#1a0f08);color:#efcc63;border-bottom:1px solid #8a6418;font-family:Cinzel,Iowan Old Style,Palatino,Georgia,serif;font-weight:700;font-size:12px;letter-spacing:.06em;text-align:center;padding:5px 8px;padding-top:calc(5px + var(--top-inset));flex-shrink:0}.btn.icon{min-width:var(--tap);min-height:var(--tap);padding:0;font-size:20px;flex-shrink:0;border-color:transparent}.btn.danger{background:#4a1d1d;border-color:var(--danger);color:#ffd6d6}.hand-meta .warn{color:#ffb4a8;font-weight:600}.status-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn-no{white-space:nowrap}.rc{--rc: #888;position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;flex-shrink:0;border-radius:10px;border:2px solid var(--rc);background:linear-gradient(180deg,color-mix(in srgb,var(--rc) 58%,#0f1419),color-mix(in srgb,var(--rc) 28%,#0f1419));color:var(--text);box-shadow:inset 0 1px #ffffff1f,0 2px 6px #00000059;transition:transform 90ms ease,opacity .12s ease,box-shadow .12s ease;font:inherit}.rc.lg{width:60px;height:84px}.rc.sm{width:40px;height:56px;border-radius:8px}.rc.mini{width:24px;height:34px;border-radius:6px;border-width:1.5px;box-shadow:0 1px 3px #0006}.rc-glyph{width:34px;height:34px;display:block}.rc.sm .rc-glyph{width:24px;height:24px}.rc.mini .rc-glyph{width:18px;height:18px}.rc-name{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#ffffffd9;line-height:1}.rc.sm .rc-name{font-size:8px}.rc-count{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#fff;color:#111;font-weight:800;font-size:13px;line-height:22px;text-align:center;box-shadow:0 1px 4px #00000080}.rc.sm .rc-count{min-width:18px;height:18px;font-size:11px;line-height:18px;top:-6px;right:-6px}.rc.mini .rc-count{min-width:15px;height:15px;font-size:10px;line-height:15px;top:-5px;right:-6px;padding:0 3px}.rc.dim{opacity:.4;filter:saturate(.6)}.rc.dim .rc-count{background:#cfd8e2}.rc.selected{outline:3px solid var(--accent);outline-offset:1px}.rc.tappable{cursor:pointer}.rc.tappable:active:not(:disabled){transform:scale(.93)}.rc:disabled{cursor:default}.rc.dev{--rc: #8e7cc3}.dev-glyph{font-size:26px;line-height:34px}.rc-new{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;text-transform:uppercase;background:var(--accent);color:var(--accent-text);border-radius:999px;padding:1px 6px}.hand .hand-card{flex:1 1 0;width:auto;min-width:0;height:54px;margin-top:7px}.hand .rc.sm .rc-glyph{width:26px;height:26px}.hand .rc.sm .rc-name{font-size:8px}.hand .rc.sm.dev .dev-glyph{font-size:20px;line-height:26px}.card-row{display:flex;gap:10px;justify-content:space-between;padding:8px 2px 2px}.card-row .rc.lg{flex:1 1 0;width:auto;max-width:76px}.tray-wrap{display:flex;align-items:center;gap:10px;min-height:72px;padding:8px 10px;border-radius:10px;background:var(--panel-2);border:1px dashed var(--border)}.tray-wrap.offer{border-color:#5a3a00}.tray-wrap.request{border-color:#1f4d6b}.tray-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;width:64px;flex-shrink:0}.tray-empty{color:var(--muted);font-size:13px}.tray{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tray.mini{gap:8px}.stack-btn{background:none;border:none;padding:4px 6px 2px 0;cursor:pointer}.stack-btn.static{cursor:default}.stack-btn:active:not(.static){transform:scale(.93)}.stack{position:relative;display:flex;align-items:flex-end}.tray.sm .stack-card+.stack-card{margin-left:-28px}.tray.mini .stack-card+.stack-card{margin-left:-16px}.tray.lg .stack-card+.stack-card{margin-left:-40px}.stack-count{position:absolute;right:-8px;bottom:-6px;min-width:18px;height:18px;border-radius:999px;background:#fff;color:#111;font-size:11px;font-weight:800;line-height:18px;text-align:center;padding:0 4px;box-shadow:0 1px 4px #00000080}.tray.mini .stack-count{min-width:15px;height:15px;font-size:10px;line-height:15px;right:-7px;bottom:-5px}.trade-body{gap:14px}.trade-section{display:flex;flex-direction:column;gap:8px}.tabs.grow .tab.grow{flex:1}.btn.propose{position:sticky;bottom:0;box-shadow:0 -10px 14px var(--panel),0 10px 0 var(--panel)}.btn.propose:disabled{opacity:1;background:#4a3e1c;color:#ffecbe8c}.trade-sheet{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#2b2a12;border-bottom:1px solid #5a5410;border-left:4px solid #5a5410;font-size:14px}.trade-sheet.mine{border-left-color:var(--accent)}.trade-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:6px}.trade-for{color:var(--muted)}.resp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.resp-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:2px 8px;border-radius:8px;background:#0003}.resp-row.accepted{background:#2ecc711f}.resp-row.rejected{opacity:.6}.resp-name{font-weight:600}.feed{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:5;padding:0 12px}.feed-toast{pointer-events:auto;cursor:pointer;color:var(--text);display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 14px 7px 10px;border-radius:999px;background:#141c24f0;border:1px solid var(--border);box-shadow:0 6px 20px #00000073;font-size:14px;animation:feed-in .18s ease-out}.feed-toast.leave{animation:feed-out .18s ease-in forwards}.feed-toast.mine{border-color:var(--accent)}.feed-toast.dice{border-color:#cfd8e2}.feed-toast.robber{border-color:var(--danger)}.feed-toast.award{border-color:#ffd86b}.feed-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0006}.feed-icon{font-size:16px;flex-shrink:0}.feed-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes feed-in{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes feed-out{to{opacity:0;transform:translateY(-8px) scale(.97)}}.die.tumble{animation:tumble .36s linear infinite}.die.tumble.b{animation-duration:.43s;animation-direction:reverse}.die.settle{animation:settle .26s ease-out}@keyframes tumble{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(90deg) translateY(-4px)}50%{transform:rotate(180deg) translateY(0)}75%{transform:rotate(270deg) translateY(-4px)}to{transform:rotate(360deg) translateY(0)}}@keyframes settle{0%{transform:scale(1.18) rotate(-6deg)}60%{transform:scale(.96) rotate(2deg)}to{transform:scale(1) rotate(0)}}.dice-sum.hidden{opacity:0}.dice-sum.pop{animation:pop .26s ease-out}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.tt{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.tt svg{position:absolute;top:0;right:0;bottom:0;left:0}.tt-track{fill:none;stroke:#ffffff1f;stroke-width:3.5}.tt-prog{fill:none;stroke:var(--ok);stroke-width:3.5;stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .3s ease}.tt-num{position:relative;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.tt.amber .tt-prog{stroke:var(--accent)}.tt.amber .tt-num{color:var(--accent)}.tt.red .tt-prog{stroke:var(--danger)}.tt.red .tt-num{color:#ff8a80}.tt.red{animation:tt-pulse .8s ease-in-out infinite}@keyframes tt-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}.player-timer{margin-left:auto}.player.waiting{border-style:solid}.player.current .pname{color:#fff}.player-roll{margin-left:auto;font-weight:700;font-size:12px;white-space:nowrap;color:var(--muted)}.player-timer+.player-roll{margin-left:4px}.player-roll.fresh{color:var(--text)}.pstat{white-space:nowrap}.pstat.vp b{font-size:14px;color:var(--accent)}.thinking{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);white-space:nowrap}.thinking-dots{display:inline-flex;gap:3px}.thinking-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;display:inline-block;animation:blink 1.2s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.settings{display:flex;flex-direction:column;gap:12px}.setting{display:flex;flex-direction:column;gap:6px}.seg{display:flex;gap:3px;background:var(--panel-2);border-radius:10px;padding:3px}.seg button{flex:1 1 0;min-width:0;min-height:var(--tap);padding:4px 6px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-weight:600;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;gap:1px;cursor:pointer;transition:background .12s ease,color .12s ease}.seg button small{font-size:10px;font-weight:500;opacity:.8}.seg button.on{background:var(--accent);color:var(--accent-text)}.seg button:disabled{cursor:default}.seg.readonly button.on{background:#3a3010;color:var(--accent)}.seg.readonly button:not(.on){opacity:.5}@media(prefers-reduced-motion:reduce){.die.tumble,.tt.red,.thinking-dots i,.legal-vertex,.legal-edge,.legal-hex{animation:none}}.chat-invites .list{margin-top:6px}.dialog-body .chat-invites{margin:4px 0 12px}
