:root{--bg: #0c0d10;--surface: #14161b;--card: #1a1d23;--line: #262a33;--fg: #eceae4;--muted: #8b8f98;--accent: #d4ff3a;--accent-ink: #11140a;--hot: #ff5c39;--x: #7cc4ff;--o: #ff7a59;--soft: #c9c7c1;--line-hi: #3a404c;--glass: #0c0d10e6;--veil: #0c0d10d9;--radius: 14px;--font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}:root[data-theme=light]{--bg: #f6f5f1;--surface: #ffffff;--card: #eeede8;--line: #dddbd3;--fg: #16181d;--muted: #6a6e76;--accent: #5d7a00;--accent-ink: #ffffff;--hot: #e0431f;--x: #1d6fd1;--o: #d9481f;--soft: #3d4047;--line-hi: #b9b6ab;--glass: #f6f5f1e6;--veil: #f6f5f1e0;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.02em;line-height:1.15}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.app{min-height:100dvh;display:flex;flex-direction:column}.page{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:24px 20px 48px}.topbar{position:sticky;top:0;z-index:5;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1320px;margin:0 auto;height:64px;padding:0 20px;display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-mark{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:26px;height:26px}.logo-mark i{border-radius:3px;background:var(--fg)}.logo-mark i:nth-child(1){background:var(--accent)}.logo-mark i:nth-child(4){background:var(--hot);border-radius:50%}.logo-word{font-size:1.2rem;font-weight:500;letter-spacing:-.03em}.logo-word b{font-weight:800}.nav{display:flex;gap:4px}.nav a,.nav-soon{padding:8px 12px;border-radius:8px;color:var(--muted);font-weight:500}.nav a:hover{color:var(--fg)}.nav a.active{color:var(--fg);background:var(--card)}.nav-soon{opacity:.55;cursor:default}.search{flex:1;min-width:0;max-width:420px;margin-left:auto;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.search:focus-within{border-color:var(--line-hi);color:var(--fg)}.search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;color:var(--fg);font:inherit;font-size:16px}.guest-chip{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:99px;background:var(--card);font-weight:600;font-size:.9rem;white-space:nowrap;max-width:180px}.guest-chip span{overflow:hidden;text-overflow:ellipsis}.footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{max-width:1320px;margin:0 auto;padding:32px 20px;display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}.footer-inner p{max-width:320px;margin:10px 0 0}.footer-cols{display:flex;gap:56px;flex-wrap:wrap}.footer-cols div{display:flex;flex-direction:column;gap:8px;max-width:240px}.footer-cols h4{margin:0 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-cols a:hover{color:var(--accent)}.footer-bottom{max-width:1320px;margin:0 auto;padding:16px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.home{display:grid;grid-template-columns:210px minmax(0,1fr) 280px;gap:28px;align-items:start}.side-left,.side-right{position:sticky;top:88px}.side-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.cat{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--muted);font-size:.95rem;font-weight:500;cursor:pointer;text-align:left}.cat:hover{color:var(--fg);background:var(--surface)}.cat.active{color:var(--fg);background:var(--card);box-shadow:inset 3px 0 0 var(--accent)}.cat span{flex:1}.cat em{font-style:normal;font-size:.8rem;color:var(--muted)}.hero{position:relative;min-height:300px;border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;margin-bottom:32px}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0c0d10f2 0%,#0c0d10b3 45%,transparent 80%)}.hero-body{position:relative;z-index:1;padding:32px;max-width:460px}.eyebrow{display:inline-block;padding:4px 10px;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{margin:14px 0 8px;font-size:clamp(2rem,4vw,3rem);font-weight:800}.hero p{margin:0 0 14px;color:#c9c7c1}.hero-meta{display:flex;gap:16px;margin-bottom:20px;color:var(--muted);font-size:.88rem}.hero-meta span+span:before{content:"·";margin-right:16px}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.section-head h2{margin:0;font-size:1.35rem}.empty{padding:48px 0;text-align:center;color:var(--muted)}.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.tile{display:flex;flex-direction:column;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);color:var(--fg);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.tile:not(:disabled):hover{transform:translateY(-3px);border-color:var(--line-hi)}.tile:disabled{cursor:default}.tile:disabled .tile-art{filter:saturate(.35) brightness(.6)}.tile-art{position:relative;display:block;aspect-ratio:16 / 10}.tile-info{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}.tile-name{font-weight:700;font-size:1.02rem}.tile-sub{color:var(--muted);font-size:.85rem}.badge{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:6px;background:#0c0d10cc;color:var(--fg);font-size:.72rem;font-weight:600}.widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.mini{width:100%;display:flex;align-items:center;gap:12px;padding:8px;margin:0 -8px;width:calc(100% + 16px);border:0;border-radius:10px;background:none;color:var(--fg);text-align:left;cursor:pointer}.mini:not(:disabled):hover{background:var(--card)}.mini:disabled{cursor:default;opacity:.6}.mini-art{width:52px;height:40px;border-radius:8px;flex-shrink:0}.mini-text{display:flex;flex-direction:column;min-width:0}.mini-text span{color:var(--muted);font-size:.82rem}.tips{margin:0;padding-left:18px;color:var(--soft);font-size:.9rem;display:flex;flex-direction:column;gap:8px}.tips li::marker{color:var(--accent)}.art-caro{background:radial-gradient(circle at 70% 38%,transparent 9%,var(--o) 9.5%,var(--o) 13%,transparent 13.5%),linear-gradient(45deg,transparent 45%,var(--x) 45%,var(--x) 55%,transparent 55%) 38% 62% / 18% 28% no-repeat,linear-gradient(-45deg,transparent 45%,var(--x) 45%,var(--x) 55%,transparent 55%) 38% 62% / 18% 28% no-repeat,repeating-linear-gradient(0deg,#ffffff12 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 26px),radial-gradient(ellipse at 70% 30%,#2b3a55,#12151c 70%)}.art-racing{background:repeating-linear-gradient(0deg,var(--accent) 0 18px,transparent 18px 40px) 50% 0 / 4% 100% no-repeat,linear-gradient(90deg,#1f5b2c 0 16%,var(--hot) 16% 18%,#f1f1f1 18% 20%,#2c2f36 20% 80%,#f1f1f1 80% 82%,var(--hot) 82% 84%,#1f5b2c 84%)}.art-chess{background:repeating-conic-gradient(#d8d2c4 0,#d8d2c4 25%,#3b3f48 0,#3b3f48 50%) 0 0 / 25% 40%}.art-snake{background:radial-gradient(circle at 80% 28%,#ffcf3a 0 4.5%,#ffcf3a55 5% 8%,transparent 8.5%),radial-gradient(circle at 66% 44%,#fff 0 1.6%,transparent 1.8%),radial-gradient(circle at 70% 50%,#fff 0 1.6%,transparent 1.8%),radial-gradient(circle at 67% 48%,#5ee27a 0 7%,transparent 7.3%),radial-gradient(circle at 58% 56%,#2f9e4b 0 6.5%,transparent 6.8%),radial-gradient(circle at 49% 60%,#5ee27a 0 6.5%,transparent 6.8%),radial-gradient(circle at 40% 58%,#2f9e4b 0 6.3%,transparent 6.6%),radial-gradient(circle at 32% 52%,#5ee27a 0 6%,transparent 6.3%),radial-gradient(circle at 26% 44%,#2f9e4b 0 5.6%,transparent 5.9%),radial-gradient(circle at 22% 35%,#5ee27a 0 5%,transparent 5.3%),radial-gradient(circle at 20% 80%,#ff6b6b 0 1.5%,transparent 1.8%),radial-gradient(circle at 44% 20%,#4da3ff 0 1.5%,transparent 1.8%),radial-gradient(circle at 86% 74%,#c77dff 0 1.5%,transparent 1.8%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 22px),#121820}.art-2048{background:linear-gradient(#edc53f,#edc53f) 30% 35% / 26% 34% no-repeat,linear-gradient(#f2b179,#f2b179) 70% 35% / 26% 34% no-repeat,linear-gradient(#eee4da,#eee4da) 30% 80% / 26% 34% no-repeat,linear-gradient(#f65e3b,#f65e3b) 70% 80% / 26% 34% no-repeat,#bbada0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:10px 18px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-weight:600;font-size:.95rem;cursor:pointer;transition:filter .15s,transform .1s}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.ghost{background:transparent}.btn.big{margin:0;padding:14px 18px;font-size:1.02rem;border-radius:12px}.btn small{display:block;font-weight:500;font-size:.75rem;opacity:.7}.modes .btn.big{flex-direction:column;gap:2px;padding:16px}.link{background:none;border:0;color:var(--muted);cursor:pointer;padding:4px 0;text-align:left;font:inherit;font-size:.9rem}.link:hover{color:var(--fg)}.input{flex:1;min-width:0;padding:12px 14px;font:inherit;font-size:16px;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:10px}.input:focus{outline:none;border-color:var(--accent)}.name-form{display:flex;flex-direction:column;gap:8px}.name-form label{font-size:.85rem}.name-row{display:flex;gap:8px}.name-row .btn{margin:0}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#000b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .15s}.modal{width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px #000c;animation:pop .18s}.modal-art{position:relative;aspect-ratio:16 / 9;display:flex;align-items:flex-end}.modal-title{width:100%;padding:48px 20px 16px;background:linear-gradient(transparent,var(--surface))}.modal-title h2{margin:0;font-size:1.9rem;font-weight:800}.modal-title p{margin:6px 0 0;color:var(--soft);font-size:.92rem}.close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:#0c0d10cc;color:var(--fg);cursor:pointer}.modal-body{padding:4px 20px 20px;display:flex;flex-direction:column;gap:12px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.container{max-width:720px;margin:0 auto}.container>a:first-child{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem}.container>a:first-child:hover{color:var(--fg)}.container h1{margin:12px 0 4px;font-size:1.8rem}.status{margin:8px 0 14px;font-size:1.05rem;color:var(--soft)}.players{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 0}.players span{padding:4px 12px;border-radius:99px;background:var(--card);font-weight:600;font-size:.9rem}.players .x{color:var(--x)}.players .o{color:var(--o)}.board-wrap{position:relative;width:min(100%,600px)}.board{display:grid;width:100%;aspect-ratio:1;background:var(--line);gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;touch-action:manipulation}.cell{min-width:0;min-height:0;overflow:hidden;line-height:1;display:grid;place-items:center;background:var(--surface);border:0;color:var(--fg);font-weight:800;font-size:clamp(10px,3vw,22px);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.cell:not(:disabled):hover{background:var(--card)}.cell:disabled{opacity:1;cursor:default}.cell.x{color:var(--x)}.cell.o{color:var(--o)}.cell.last{box-shadow:inset 0 0 0 2px var(--accent)}.cell.win{background:var(--accent);color:var(--accent-ink)}.result{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border-radius:10px;background:var(--veil);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:pop .2s}.result p{margin:0;font-size:clamp(1.8rem,7vw,3rem);font-weight:800;letter-spacing:-.03em}.result.win p{color:var(--accent)}.result.lose p{color:var(--hot)}.result.draw p,.result.info p{color:var(--fg)}.result .btn{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;margin-top:16px}.queue{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.queue h2{margin:8px 0 0}.queue .input{width:100%}.queue .btn{margin:0}.spinner{width:56px;height:56px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.96);opacity:0}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 1100px){.home{grid-template-columns:190px minmax(0,1fr)}.side-right{grid-column:1 / -1;position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.side-right .widget{margin:0}}@media (max-width: 760px){.page{padding:16px 16px 40px}.topbar-inner{gap:12px;padding:0 16px}.nav,.logo-word{display:none}.search{max-width:none}.guest-chip{padding:0 12px;max-width:120px}.home{grid-template-columns:minmax(0,1fr);gap:20px}.side-left{position:static}.side-left .side-title{display:none}.cats{flex-direction:row;overflow-x:auto;gap:8px;margin:0 -16px;padding:0 16px;scrollbar-width:none}.cat{width:auto;white-space:nowrap;padding:8px 14px;border:1px solid var(--line);border-radius:99px}.cat.active{box-shadow:none;background:var(--fg);color:var(--bg);border-color:var(--fg)}.cat.active em{color:var(--bg)}.hero{min-height:260px}.hero:after{background:linear-gradient(0deg,#0c0d10f2 10%,#0c0d1080 60%,transparent)}.hero-body{padding:22px}.games{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.footer-cols{gap:32px}}.home>*{min-width:0}.hero.art-caro{background:radial-gradient(circle at 84% 40%,transparent 7%,var(--o) 7.4%,var(--o) 10%,transparent 10.4%),linear-gradient(45deg,transparent 45%,var(--x) 45%,var(--x) 55%,transparent 55%) 66% 70% / 13% 30% no-repeat,linear-gradient(-45deg,transparent 45%,var(--x) 45%,var(--x) 55%,transparent 55%) 66% 70% / 13% 30% no-repeat,repeating-linear-gradient(0deg,#ffffff12 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 26px),radial-gradient(ellipse at 75% 40%,#2b3a55,#12151c 70%)}:root{--gutter: clamp(16px, 2.2vw, 56px);--side-l: clamp(190px, 13vw, 300px);--side-r: clamp(260px, 17vw, 380px);--tile-min: clamp(190px, 13vw, 300px)}html{font-size:clamp(14px,.3vw + 10.5px,18px)}body{font-size:1rem}.page,.topbar-inner,.footer-inner,.footer-bottom{max-width:2400px;padding-left:var(--gutter);padding-right:var(--gutter)}.topbar-inner{height:clamp(56px,3.6vw,76px)}.search{max-width:clamp(320px,30vw,640px)}.home{grid-template-columns:var(--side-l) minmax(0,1fr) var(--side-r);gap:clamp(20px,1.8vw,44px)}.side-left,.side-right{top:calc(clamp(56px,3.6vw,76px) + 24px)}.games{grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr));gap:clamp(12px,1.1vw,24px)}.hero{min-height:clamp(260px,22vw,480px)}.hero-body{max-width:clamp(420px,34vw,680px);padding:clamp(22px,2.2vw,48px)}.hero h1{font-size:clamp(2rem,3.4vw,4.2rem)}.logo-mark{width:1.7rem;height:1.7rem}.container{max-width:min(1100px,100%)}.board-wrap{width:min(100%,calc(100dvh - 230px),860px);min-width:min(100%,300px)}.cell{font-size:clamp(10px,2.4vmin,30px)}@media (max-width: 1100px){.home{grid-template-columns:var(--side-l) minmax(0,1fr)}.side-right{grid-column:1 / -1;position:static}}@media (max-width: 760px){.home{grid-template-columns:minmax(0,1fr)}.side-left{position:static}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.board-wrap{width:100%}.cell{font-size:clamp(9px,3.6vw,20px)}}@media (max-width: 380px){.games{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1000px){.container:has(>.board-wrap){max-width:none;display:grid;grid-template-columns:auto minmax(260px,clamp(280px,20vw,420px));justify-content:center;align-content:start;column-gap:clamp(24px,2.5vw,64px)}.container:has(>.board-wrap)>*{grid-column:2}.container:has(>.board-wrap)>.board-wrap{grid-column:1;grid-row:1 / span 20;width:min(calc(100dvh - 130px),calc(100vw - 2 * var(--gutter) - 440px),1100px)}.container:has(>.board-wrap)>.btn{justify-self:start}}.footer .logo-word{display:inline}.menu-btn{display:none;width:40px;height:40px;flex-shrink:0;place-items:center;border:0;border-radius:10px;background:none;color:var(--fg);cursor:pointer}.menu-btn:hover{background:var(--card)}.drawer,.drawer-backdrop{display:none}@media (max-width: 760px){.menu-btn{display:grid}.topbar-inner{gap:8px;padding:0 12px;height:56px}.logo-word{display:none}.search{height:38px}.guest-chip{width:38px;height:38px;padding:0;justify-content:center}.guest-chip span{display:none}.theme-btn{width:38px;height:38px}.search{padding:0 12px}.side-left{display:none}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#000a;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{display:flex;flex-direction:column;position:fixed;z-index:31;top:0;bottom:0;left:0;width:min(80vw,300px);padding:12px 16px 24px;background:var(--surface);border-right:1px solid var(--line);transform:translate(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s;overflow-y:auto}.drawer.open{transform:none;visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:16px}.drawer-head .logo-word{display:inline}.drawer .cats{flex-direction:column;overflow:visible;margin:0;padding:0;gap:2px}.drawer .cat{width:100%;padding:12px;border:0;border-radius:10px;white-space:normal}.drawer .cat.active{background:var(--card);color:var(--fg);box-shadow:inset 3px 0 0 var(--accent)}.drawer .cat.active em{color:var(--muted)}.page{padding:14px 14px 28px}.home{gap:18px}.hero{min-height:0;border-radius:16px;margin-bottom:20px;aspect-ratio:16 / 11}.hero-body{padding:18px;max-width:none}.hero h1{font-size:1.9rem;margin:10px 0 6px}.hero p{font-size:.92rem;margin-bottom:14px}.hero-meta{display:none}.hero .btn.big{width:100%}.section-head{margin-bottom:10px}.section-head h2{font-size:1.15rem}.games{grid-template-columns:minmax(0,1fr);gap:10px}.tile{flex-direction:row;align-items:stretch;border-radius:12px}.tile:not(:disabled):hover{transform:none}.tile-art{width:38%;max-width:160px;aspect-ratio:4 / 3;flex-shrink:0}.tile-info{justify-content:center;padding:10px 14px}.badge{top:6px;left:6px;font-size:.65rem;padding:2px 6px}.side-right{display:flex;flex-direction:column;gap:12px}.widget{padding:14px}.footer-inner{padding:16px 14px 4px;gap:6px}.footer-inner p{font-size:.82rem;margin-top:4px}.footer-cols{display:none}.footer-bottom{border:0;padding:4px 14px 16px;font-size:.78rem}.container h1{font-size:1.4rem;margin:8px 0 2px}.status{margin:4px 0 10px}.modal{border-radius:16px}.modal-title h2{font-size:1.5rem}}.modes .btn.master{grid-column:1 / -1;background:var(--hot);border-color:var(--hot);color:#1a0703}.result p{white-space:pre-line;text-align:center;padding:0 16px}.scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px}.player{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);min-width:0;transition:border-color .15s}.player .mark{font-weight:800;font-size:1.2rem}.player.x .mark{color:var(--x)}.player.o .mark{color:var(--o)}.player .pname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.player .wins{font-size:1.3rem}.player.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.timer{position:relative;height:26px;margin:0 0 12px;border-radius:99px;background:var(--surface);border:1px solid var(--line);overflow:hidden;width:100%;max-width:860px}.timer i{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.85;transition:width .25s linear}.timer.low i{background:var(--hot)}.timer span{position:relative;display:block;text-align:center;font-size:.8rem;font-weight:700;line-height:24px;mix-blend-mode:difference;color:#fff}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 16px;max-width:460px}.result-actions .btn{margin:0}.result-actions .btn.primary{flex-basis:100%}.game-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.game-actions .btn{margin:0}.suggest{margin-top:clamp(28px,3vw,56px);padding-top:20px;border-top:1px solid var(--line)}.suggest-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.suggest-head h2{margin:0;font-size:1.2rem}.suggest-tools{display:flex;align-items:center;gap:10px}.suggest-tools label{display:flex;align-items:center;gap:6px;font-size:.88rem}.suggest-tools select{font:inherit;font-size:16px;padding:4px 8px;border-radius:8px;background:var(--surface);color:var(--fg);border:1px solid var(--line)}.btn.small{margin:0;padding:6px 12px;font-size:.88rem}.suggest-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(var(--tile-min),1fr);gap:clamp(12px,1.1vw,24px);overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}.suggest-row .tile{scroll-snap-align:start}@media (max-width: 760px){.suggest-row{grid-auto-columns:72%}.suggest-row .tile{flex-direction:column}.suggest-row .tile-art{width:100%;max-width:none;aspect-ratio:16 / 9}}.theme-btn{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer}.theme-btn:hover{border-color:var(--line-hi)}.side-pick{display:flex;align-items:center;gap:8px;margin:0 0 14px}.side-pick span{color:var(--muted);font-size:.9rem}.side-pick button{min-width:44px;height:36px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit;font-weight:800;cursor:pointer}.side-pick button.x{color:var(--x)}.side-pick button.o{color:var(--o)}.side-pick button[aria-pressed=true]{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.race-page{min-width:0}.race-help{font-size:.9rem}.race-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#2f6b37;width:min(100%,calc((100dvh - 250px)*1.6));aspect-ratio:16 / 10;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.race-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.race-wrap .result{border-radius:12px}.race-roster{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;padding:0;margin:6px 0 10px}.race-roster li{display:flex;align-items:center;gap:6px;min-width:0;font-weight:600}.race-roster i{width:12px;height:12px;border-radius:3px;flex-shrink:0}.race-roster b{margin-left:4px;color:var(--muted, inherit)}@media (max-width: 760px){.race-wrap{width:100%;aspect-ratio:3 / 4;max-height:calc(100dvh - 190px)}.race-help{font-size:.8rem}}@media (max-width: 760px) and (orientation: landscape){.race-wrap{aspect-ratio:16 / 9;max-height:calc(100dvh - 20px)}}.joy{position:absolute;left:0;top:0;border-radius:50%;background:#ffffff1f;border:2px solid #ffffff66;display:none;place-items:center;pointer-events:none}.joy.on{display:grid}.joy-knob{width:46%;height:46%;border-radius:50%;background:#fffc;box-shadow:0 2px 8px #0006}.joy-hint{display:none;position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:6px 12px;border-radius:99px;background:#0009;color:#fff;font-size:.8rem;font-weight:600;pointer-events:none;white-space:nowrap}@media (pointer: coarse){.joy-hint{display:block}.joy.on~.joy-hint{display:none}}.track-pick{flex-wrap:wrap}.track-pick button{width:auto;padding:0 12px;font-size:.85rem;font-weight:600}.track-pick button[aria-pressed=true]{color:var(--accent)}.modal-art.short{aspect-ratio:auto;min-height:120px}.map-pick .btn.map{flex-direction:column;gap:6px;padding:10px;margin:0;font-size:.85rem;font-weight:700;min-width:0}.map-pick svg{width:100%;height:54px}.map-pick polygon{fill:none;stroke:currentColor;stroke-width:60;stroke-linejoin:round;opacity:.55}.map-pick .btn.map[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.map-pick .btn.map[aria-pressed=true] polygon{opacity:1}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.fs-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.fs-btn:hover{border-color:var(--accent)}main:fullscreen,main.pseudo-fs{background:var(--bg);overflow:auto;padding:10px var(--gutter);max-width:none}main.pseudo-fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}body.no-scroll{overflow:hidden}.race-page:fullscreen .race-wrap,.race-page.pseudo-fs .race-wrap{width:min(100%,calc((100dvh - 120px)*1.6))}.race-page:fullscreen .race-help,.race-page.pseudo-fs .race-help{display:none}@media (max-width: 760px){.fs-btn span{display:none}.fs-btn{width:38px;padding:0;justify-content:center}.race-page:fullscreen .race-wrap,.race-page.pseudo-fs .race-wrap{width:100%;aspect-ratio:auto;height:calc(100dvh - 110px);max-height:none}}.switch{position:relative;display:flex;align-items:center;gap:12px;margin-top:14px;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.switch input{position:absolute;opacity:0;pointer-events:none}.switch i{position:relative;flex-shrink:0;width:44px;height:26px;border-radius:99px;background:var(--card);border:1px solid var(--line);transition:background .15s}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--soft);transition:transform .15s,background .15s}.switch input:checked+i{background:var(--hot);border-color:var(--hot)}.switch input:checked+i:after{transform:translate(18px);background:#fff}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.switch span{display:flex;flex-direction:column;font-weight:700;min-width:0}.switch small{color:var(--muted);font-weight:500;font-size:.8rem}.trash-chat{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;min-width:0}.trash-chat header{display:flex;align-items:baseline;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);min-width:0}.trash-chat header b{color:var(--hot)}.trash-chat header span{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-list{height:180px;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.trash-list p{margin:0}.trash-msg{align-self:flex-start;max-width:92%;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--card);line-height:1.4;font-size:.92rem;animation:pop .18s;overflow-wrap:anywhere}.worm-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#121820;width:100%;height:calc(100dvh - 250px);min-height:320px;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:crosshair}.worm-wrap .result{border-radius:12px}.worm-boost{display:none;position:absolute;right:18px;bottom:18px;width:76px;height:76px;border-radius:50%;border:2px solid #ffffff66;background:#ffd16633;color:#ffd166;place-items:center;padding:0;-webkit-tap-highlight-color:transparent;touch-action:none}.worm-boost.on{background:#ffd166aa;color:#1a1200;transform:scale(.94)}.worm-rot{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:2;padding:7px 14px;border-radius:99px;border:1px solid #ffffff55;background:#000a;color:#fff;font:inherit;font-size:.82rem;font-weight:700}.worm-wrap .joy-hint{bottom:60px}@media (pointer: coarse){.worm-boost{display:grid}.worm-wrap{cursor:default}}@media (max-width: 760px){.worm-wrap{height:calc(100dvh - 160px);min-height:280px}.worm-page .race-help{display:none}.worm-page h1{font-size:1.15rem}}@media (orientation: landscape) and (max-height: 520px){.worm-wrap{height:calc(100dvh - 12px);min-height:0}.worm-page .race-help{display:none}body:has(.worm-page) .topbar{position:static}.worm-boost{right:28px;bottom:50%;transform:translateY(50%);width:84px;height:84px}.worm-boost.on{transform:translateY(50%) scale(.94)}}.worm-page:fullscreen .worm-wrap,.worm-page.pseudo-fs .worm-wrap{height:calc(100dvh - 70px)}.worm-wrap.rot{position:fixed;z-index:60;left:0;top:0;margin:0;border-radius:0;border:0;width:100dvh;height:100vw;min-height:0;transform-origin:0 0;transform:translate(100vw) rotate(90deg)}.worm-wrap.rot .worm-boost{right:28px;bottom:50%;transform:translateY(50%);width:84px;height:84px}.worm-wrap.rot .worm-boost.on{transform:translateY(50%) scale(.94)}.worm-wrap.rot .worm-rot{left:auto;right:12px;top:12px;bottom:auto;transform:none}.snake-pick .btn{flex-direction:column;margin:0;padding:12px;min-width:0;text-align:center}.snake-pick .btn small{display:block;font-weight:500;font-size:.75rem;opacity:.7}.snake-pick .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.bg-layout{display:grid;gap:10px clamp(14px,2vw,28px);align-items:start;grid-template-columns:auto minmax(240px,360px);grid-template-rows:auto auto 1fr auto;grid-template-areas:"board title" "board opp" "board side" "board me";--bg-w: min( calc(100dvh - 150px) , calc(100vw - 2 * var(--gutter, 16px) - 400px))}.bg-layout.xq{--bg-w: min( calc((100dvh - 150px)*.9) , calc(100vw - 2 * var(--gutter, 16px) - 400px))}.container.bg-page{max-width:none}.bg-layout{justify-content:center}.bg-title{grid-area:title;margin:0}.bg-opp{grid-area:opp}.bg-me{grid-area:me}.bg-board{grid-area:board;width:var(--bg-w);min-width:280px}.bg-page .bg-side{grid-area:side}.bg-side{min-width:0;display:flex;flex-direction:column;gap:10px}.bg-side .status{margin:0;font-weight:700}.status.hot{color:var(--hot)}.bg-wrap{width:100%}.bg-player{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-weight:600}.bg-player.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bg-player>i{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid #0006}.dot-w{background:#f7f4ec}.dot-b{background:#2b2d33}.dot-r{background:#c62a22}.bg-pname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-wins{color:var(--muted);font-size:.9rem}.bg-clock{font-variant-numeric:tabular-nums;font-weight:800;padding:3px 10px;border-radius:8px;background:var(--card);min-width:64px;text-align:center}.bg-clock.on{background:var(--accent);color:var(--accent-ink)}.bg-clock.on.low{background:var(--hot);color:#fff}.bg-thinking{display:inline-flex;gap:3px;margin-left:auto}.bg-thinking i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:bgdot 1s infinite}.bg-thinking i:nth-child(2){animation-delay:.15s}.bg-thinking i:nth-child(3){animation-delay:.3s}@keyframes bgdot{0%,to{opacity:.25}50%{opacity:1}}.bg-offer{margin:0;padding:8px 12px;border-radius:10px;background:var(--card);border:1px solid var(--accent);font-size:.9rem}.bg-moves{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}.bg-moves h3{margin:0 0 6px;font-size:.95rem}.bg-moves p{margin:0;font-size:.88rem}.bg-moves ol{list-style:none;margin:0;padding:0;max-height:min(46dvh,420px);overflow-y:auto;font-size:.9rem;font-variant-numeric:tabular-nums}.bg-moves li{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:6px;padding:2px 4px}.bg-moves li:nth-child(odd){background:var(--card);border-radius:6px}.bg-moves li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bg-side .side-pick{margin:0}@media (max-width: 900px){.bg-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"title" "opp" "board" "me" "side";gap:8px}.bg-board{width:min(100%,calc(100dvh - 200px));min-width:0;margin:0 auto}.bg-layout.xq .bg-board{width:min(100%,calc((100dvh - 200px)*.9))}.bg-title{font-size:1.3rem}.bg-side{max-width:none;min-width:0}.bg-moves ol{max-height:160px}}.chess-board{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;width:100%;border-radius:8px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 6px 24px #0005}.csq{position:relative;min-width:0;min-height:0;padding:0;border:0;display:grid;place-items:center;cursor:default;-webkit-tap-highlight-color:transparent}.csq.light{background:#eeeed2}.csq.dark{background:#769656}.csq.own{cursor:grab}.csq.last.light{background:#f6f68a}.csq.last.dark{background:#baca44}.csq.sel{box-shadow:inset 0 0 0 4px #ffd166}.csq.check{background:radial-gradient(circle,#ff3b30 0,#ff3b30 35%,#ff3b3000 75%),#e8bdb4}.csq.dot:after{content:"";width:30%;height:30%;border-radius:50%;background:#0003}.csq.cap:after{content:"";position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;border:5px solid #0003}.csq.dot,.csq.cap{cursor:pointer}.csq:disabled{opacity:1}.cp{width:88%;height:88%;pointer-events:none;filter:drop-shadow(0 2px 1px #0004)}.coord{position:absolute;font-size:clamp(8px,1.3vw,12px);font-weight:700;line-height:1;pointer-events:none}.coord.r{left:3px;top:3px}.coord.f{right:3px;bottom:2px}.csq.light .coord{color:#769656}.csq.dark .coord{color:#eeeed2}.drag-piece{position:absolute;width:12.5%;aspect-ratio:1;transform:translate(-50%,-50%) scale(1.1);pointer-events:none;z-index:3;display:grid;place-items:center}.drag-piece .cp{width:100%;height:100%}.promo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--veil);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:8px}.promo p{margin:0;font-weight:800;font-size:1.2rem}.promo>div{display:flex;gap:8px}.promo>div button{width:clamp(56px,12vw,84px);aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;padding:4px}.promo>div button:hover{border-color:var(--accent)}.xq-board{position:relative;width:100%;aspect-ratio:9 / 10;border-radius:8px;background:linear-gradient(135deg,#f0cf94,#deb06a);box-shadow:0 6px 24px #0005;-webkit-user-select:none;user-select:none;touch-action:manipulation}.xq-grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke:#6b3f12}.xq-river{font-size:5.2px;fill:#6b3f12;stroke:none;text-anchor:middle;opacity:.75;font-family:KaiTi,STKaiti,serif}.xq-pt{position:absolute;width:10.2%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:0;padding:0;background:transparent;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.xq-pt:disabled{opacity:1}.xq-piece{background:radial-gradient(circle at 40% 35%,#fff8e6,#ecd3a0 70%);box-shadow:0 2px 3px #0006,inset 0 0 0 2px #fff8e6,inset 0 0 0 3.5px currentColor;font-family:KaiTi,STKaiti,"Noto Serif SC",SimSun,serif;font-weight:700;font-size:clamp(14px,3.6vw,30px);line-height:1}.xq-piece.red{color:#b3261e}.xq-piece.black{color:#1f2328}.xq-pt.own{cursor:pointer}.xq-pt.sel{box-shadow:0 0 0 3px #ffd166,0 2px 3px #0006,inset 0 0 0 2px #fff8e6,inset 0 0 0 3.5px currentColor;transform:translate(-50%,-54%)}.xq-pt.last:not(.xq-piece):before{content:"";position:absolute;top:30%;right:30%;bottom:30%;left:30%;border-radius:50%;border:2px dashed #2f7d32aa}.xq-piece.last{box-shadow:0 0 0 2px #2f7d32,0 2px 3px #0006,inset 0 0 0 2px #fff8e6,inset 0 0 0 3.5px currentColor}.xq-pt.check{box-shadow:0 0 0 3px #ff3b30,0 0 16px #ff3b30,inset 0 0 0 2px #fff8e6,inset 0 0 0 3.5px currentColor}.xq-pt.dot{cursor:pointer}.xq-pt.dot:after{content:"";width:34%;height:34%;border-radius:50%;background:#2f7d32cc}.xq-pt.cap{cursor:pointer;box-shadow:0 0 0 3px #2f7d32,0 2px 3px #0006,inset 0 0 0 2px #fff8e6,inset 0 0 0 3.5px currentColor}.art-xiangqi{background:radial-gradient(circle at 34% 50%,#f3e2bf 0,#f3e2bf 11%,#b3261e 11.5%,#b3261e 13%,#f3e2bf 13.5%,#f3e2bf 15%,#0000 15.5%),radial-gradient(circle at 66% 50%,#f3e2bf 0,#f3e2bf 11%,#1f2328 11.5%,#1f2328 13%,#f3e2bf 13.5%,#f3e2bf 15%,#0000 15.5%),linear-gradient(#0000 47%,#7a4a1c55 47%,#7a4a1c55 53%,#0000 53%),repeating-linear-gradient(90deg,#7a4a1c 0,#7a4a1c 1px,#0000 1px,#0000 12.5%),repeating-linear-gradient(0deg,#7a4a1c 0,#7a4a1c 1px,#0000 1px,#0000 11.1%),#e6b877}.art-teashop{background:url(/teashop/ui/cover.webp) center / cover no-repeat,radial-gradient(ellipse 14% 8% at 22% 24%,#fffaf0 60%,transparent 62%),radial-gradient(ellipse 10% 7% at 30% 20%,#fffaf0 60%,transparent 62%),radial-gradient(ellipse 12% 7% at 76% 32%,#fffaf0cc 60%,transparent 62%),repeating-linear-gradient(90deg,#c98a8a 0,#c98a8a 9%,#f4ead8 9%,#f4ead8 18%) 0 52% / 100% 9% no-repeat,linear-gradient(#0000 61%,#b08560 61%,#b08560 64%,#efe2c9 64%),linear-gradient(#cfe3e6,#f3e6d0)}.ts-page{grid-template-columns:minmax(0,1fr);--ts-cream: #fbf5ea;--ts-paper: #fffaf1;--ts-ink: #3b3127;--ts-soft: #7d6f60;--ts-rose: #c48a86;--ts-rose-d: #a86c69;--ts-moss: #3d4a3d;--ts-sage: #a3ad9e;--ts-wood: #9a7353;--ts-beige: #e7d6bb;--ts-line: #e6dac6}.ts-scene{position:relative;min-width:0;overflow:hidden;max-width:560px;width:100%;margin:0 auto;border-radius:22px;color:var(--ts-ink);background:linear-gradient(#d9ebee 0,#f2eadb 220px,var(--ts-cream) 380px);box-shadow:0 10px 40px #0003}.ts-sky{position:absolute;inset:0 0 auto;height:420px;pointer-events:none}.ts-cloud{position:absolute;left:0;fill:#fffdf7;opacity:.9;filter:drop-shadow(0 4px 6px #b9c9cc55);animation:ts-drift linear infinite}.ts-cloud.c1{width:130px;top:70px;animation-duration:70s;animation-delay:-10s}.ts-cloud.c2{width:90px;top:150px;opacity:.7;animation-duration:95s;animation-delay:-60s}.ts-cloud.c3{width:170px;top:230px;opacity:.55;animation-duration:120s;animation-delay:-30s}.ts-cloud.c4{width:70px;top:115px;opacity:.8;animation-duration:80s;animation-delay:-45s}@keyframes ts-drift{0%{transform:translate(-200px)}to{transform:translate(760px)}}@media (prefers-reduced-motion: reduce){.ts-cloud{animation:none;transform:translate(120px)}}.ts-head{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:14px 16px 10px;background:var(--ts-cream)}.ts-day,.ts-cash{display:grid;line-height:1.2}.ts-day small,.ts-cash small{color:var(--ts-soft);font-size:.72rem}.ts-cash{text-align:right}.ts-cash small{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.62rem}.ts-cash b{font-size:1.1rem}.ts-title{margin:0;font-family:Lora,Georgia,serif;font-weight:700;font-size:clamp(1.15rem,4.5vw,1.45rem);white-space:nowrap}.ts-awning{position:relative;height:34px;background:radial-gradient(circle at 14px 18px,var(--ts-rose) 13px,transparent 14px) 0 0 / 28px 34px repeat-x,repeating-linear-gradient(90deg,var(--ts-rose) 0 28px,#f4e3d6 28px 56px) 0 0 / 100% 18px no-repeat}.ts-body{position:relative;display:grid;gap:14px;padding:12px 14px 22px}.ts-verse{margin:0;text-align:center;font-family:Lora,Georgia,serif;font-style:italic;font-weight:500;color:var(--ts-soft);font-size:.95rem;line-height:1.5;padding:0 10px}.ts-board{padding:14px 16px 16px;border-radius:12px;background:var(--ts-moss);color:#f3eedd;border:6px solid var(--ts-wood);box-shadow:0 4px #6f5139,inset 0 0 30px #0003}.ts-board h2{margin:0 0 8px;text-align:center;font-family:Lora,Georgia,serif;font-size:1.15rem}.ts-board ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 18px;font-size:.86rem}.ts-board li{display:flex;align-items:baseline;gap:6px;min-width:0}.ts-board li i{flex:1;border-bottom:1px dashed #f3eedd55}.ts-paper{display:grid;gap:0;padding:0 14px 12px;border-radius:16px;background:var(--ts-paper);border:1px solid var(--ts-line);box-shadow:0 2px 10px #7a5a3c14;min-width:0}.ts-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:0 -14px 6px;border-bottom:1px solid var(--ts-line)}.ts-tabs button{padding:12px 6px;border:0;background:#f2e9da;color:var(--ts-soft);font:inherit;font-weight:600;font-size:.86rem;cursor:pointer}.ts-tabs button:first-child{border-top-left-radius:16px}.ts-tabs button:last-child{border-top-right-radius:16px}.ts-tabs button[aria-selected=true]{background:var(--ts-paper);color:var(--ts-ink);box-shadow:inset 0 3px 0 var(--ts-rose)}.ts-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ts-line);min-width:0}.ts-rowtext{flex:1;display:grid;min-width:0}.ts-rowtext small{color:var(--ts-soft);font-size:.76rem}.ts-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#f2e6d3;flex:none}.ts-plus,.ts-pill{flex:none;min-width:44px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--ts-line);background:#fff;color:var(--ts-ink);font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer}.ts-pill{font-size:.85rem}.ts-plus:hover:not(:disabled),.ts-pill:hover:not(:disabled){border-color:var(--ts-rose);background:#fbefe9}.ts-plus:disabled,.ts-pill:disabled{opacity:.45;cursor:default}.ts-lvl{display:flex;gap:3px;flex:none;width:44px;justify-content:center}.ts-lvl i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--ts-rose)}.ts-lvl i.on{background:var(--ts-rose)}.ts-parts{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.ts-note{margin:10px 0 0;color:var(--ts-soft);font-size:.8rem}.ts-cta{justify-self:center;display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:min(280px,100%);padding:14px 20px;border:0;border-radius:14px;background:var(--ts-rose);color:#fffaf3;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 5px 0 var(--ts-rose-d);transition:transform .1s,box-shadow .1s}.ts-cta:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ts-rose-d)}.ts-link{justify-self:center;border:0;background:none;color:var(--ts-soft);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}.ts-link:disabled{opacity:.4;cursor:default}.ts-bar-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:12px;background:var(--ts-paper);border:1px solid var(--ts-line);font-size:.85rem;font-weight:600}.ts-bar-top b{font-size:1.05rem;font-variant-numeric:tabular-nums}.ts-bar-top b.late{color:var(--ts-rose-d)}.ts-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ts-guest{display:grid;gap:6px;align-content:start;padding:10px;min-height:112px;border-radius:12px;border:2px solid var(--ts-moss);background:#e8eedf;color:var(--ts-ink);font:inherit;text-align:left;min-width:0;animation:ts-in .35s ease-out}.ts-guest:disabled{opacity:1;cursor:default}.ts-guest.ready{cursor:pointer;background:#f9e9e2;border-color:var(--ts-rose);box-shadow:0 0 0 3px #c48a8640}.ts-guest.empty{place-content:center;justify-items:center;gap:4px;border:1.5px dashed var(--ts-sage);background:#f6f0e4;color:var(--ts-soft);font-size:.8rem;animation:none}.ts-clover{width:26px;height:26px;fill:none;stroke:var(--ts-sage);stroke-width:1.5}.ts-guest-top{display:flex;gap:8px;align-items:center;min-width:0}.ts-guest-top>span{display:grid;min-width:0;line-height:1.25}.ts-guest-top b{font-size:.86rem}.ts-guest-top small{color:var(--ts-soft);font-size:.74rem}.ts-patience{height:5px;border-radius:3px;background:#0001;overflow:hidden}.ts-patience>span{display:block;height:100%;background:var(--ts-moss);transition:width .1s linear}.ts-patience>span.low{background:var(--ts-rose-d)}@keyframes ts-in{0%{opacity:0;transform:translateY(8px)}}.ts-counter{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:14px;border-radius:14px;background:var(--ts-beige);border-bottom:8px solid var(--ts-wood)}.ts-cupwrap{display:grid;justify-items:center;gap:2px}.ts-cupwrap small{color:var(--ts-soft);font-size:.75rem}.ts-cupart{width:104px;height:auto}.ts-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;min-width:0}.ts-jar{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:1px solid #d6c3a3;background:#fbf4e7;color:var(--ts-ink);font:inherit;cursor:pointer;transition:transform .1s}.ts-jar b{font-size:.8rem}.ts-jar small{color:var(--ts-soft);font-size:.7rem}.ts-jar:hover:not(:disabled){background:#fff}.ts-jar:active:not(:disabled){transform:scale(.95)}.ts-jar:disabled{opacity:.45;cursor:default}.ts-summary{padding-top:14px}.ts-summary h2{margin:0 0 4px;text-align:center;font-family:Lora,Georgia,serif}.ts-summary .ts-cta{margin-top:14px}.ts-summary .ts-verse{margin-top:12px}@media (max-width: 420px){.ts-scene{border-radius:16px}.ts-counter{grid-template-columns:1fr}.ts-shelf{grid-template-columns:repeat(3,1fr)}.ts-queue{grid-template-columns:repeat(2,1fr)}}.ts-scene{background-image:url(/teashop/ui/bg-sky.webp),linear-gradient(#d9ebee 0,#f2eadb 220px,var(--ts-cream) 380px);background-size:100% auto,auto;background-repeat:no-repeat}img.ts-cloud{height:auto}.ts-img{display:block;width:100%;height:100%;object-fit:contain}.ts-ico .ts-img{width:40px;height:40px}.ts-face{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#f4ecdc;flex:none}.ts-titlebox{display:grid;justify-items:center;gap:2px}.ts-rate{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;color:var(--ts-soft)}.ts-stars{display:inline-flex;gap:1px;vertical-align:-2px}.ts-board-note{margin:8px 0 0;text-align:right;font-size:.74rem;opacity:.75}.ts-tabs{grid-template-columns:repeat(4,1fr)}.ts-tabs button{font-size:.8rem;padding:12px 4px}.ts-group{margin:12px 0 0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ts-rose-d)}.ts-stove{display:grid;gap:8px;padding:12px;border-radius:14px;background:#efe3cf;border:1px solid #dcc9a8}.ts-stove h3{margin:0;font-family:Lora,Georgia,serif;font-size:1rem}.ts-stove h3 small{display:block;font-family:var(--font);font-weight:500;font-size:.74rem;color:var(--ts-soft)}.ts-pots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.ts-pot{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;padding:10px 8px;border-radius:12px;background:#fbf4e7;border:1px solid #dcc9a8;min-width:0}.ts-pot.cooking{background:#fff3e4}.ts-pot.q-burnt{background:#f3dcd6;border-color:var(--ts-rose-d)}.ts-potimg{width:84px;height:63px}.ts-potname{font-weight:700;font-size:.8rem;text-align:center}.ts-potmenu{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.ts-mini{padding:5px 9px;border-radius:8px;border:1px solid #d6c3a3;background:#fff;color:var(--ts-ink);font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.ts-mini span{color:var(--ts-soft);font-weight:500}.ts-mini.primary{background:var(--ts-moss);border-color:var(--ts-moss);color:#f3eedd}.ts-mini[aria-pressed=true]{background:var(--ts-rose);border-color:var(--ts-rose);color:#fff}.ts-mini:disabled{opacity:.45;cursor:default}.muted-note{color:var(--ts-soft);font-size:.72rem}.ts-cookbar{position:relative;display:flex;width:100%;height:8px;border-radius:4px;overflow:visible}.ts-cookbar .z{height:100%}.ts-cookbar .z.raw{background:#e7dcc6;border-radius:4px 0 0 4px}.ts-cookbar .z.good{background:#8fb07a}.ts-cookbar .z.over{background:#e2b65a}.ts-cookbar .z.burnt{background:#b5574a;border-radius:0 4px 4px 0}.ts-cookbar i{position:absolute;top:-3px;width:3px;height:14px;margin-left:-1.5px;border-radius:2px;background:var(--ts-ink);transition:left .1s linear}.ts-q{font-size:.72rem;font-weight:700}.ts-q.q-good{color:#4f7a3e}.ts-q.q-raw{color:var(--ts-soft)}.ts-q.q-over{color:#b07d1e}.ts-q.q-burnt{color:#a2392c}.ts-steam{position:absolute;top:4px;left:50%;display:flex;gap:8px;transform:translate(-50%);pointer-events:none}.ts-steam i{width:6px;height:16px;border-radius:50%;background:#fffc;animation:ts-steam 1.6s ease-in infinite}.ts-steam i:nth-child(2){animation-delay:.5s}.ts-steam i:nth-child(3){animation-delay:1s}.ts-pot.q-burnt .ts-steam i,.ts-pot.q-over .ts-steam i{background:#6b5a52aa}@keyframes ts-steam{0%{opacity:0;transform:translateY(14px) scaleY(.6)}40%{opacity:1}to{opacity:0;transform:translateY(-8px) scaleY(1.2)}}@media (prefers-reduced-motion: reduce){.ts-steam i{animation:none;opacity:.6}}.ts-guest{min-height:150px}.ts-guest.can{cursor:pointer}.ts-guest.can:hover{border-color:var(--ts-rose);background:#f9e9e2}.ts-ticket{display:grid;gap:2px;padding:6px 8px;border-radius:8px;background:#fffaf1;border:1px dashed #c9b99f;font-size:.74rem;line-height:1.3}.ts-ticket b{font-size:.8rem}.ts-tag{justify-self:start;padding:0 6px;border-radius:6px;background:var(--ts-rose);color:#fff;font-weight:700}.ts-toast .ts-stars path[fill="#e6dac6"]{fill:#5d6a5d}.ts-toast{padding:10px 14px;border-radius:12px;background:var(--ts-moss);color:#f3eedd;font-size:.86rem;animation:ts-in .3s ease-out}.ts-counter{grid-template-columns:auto minmax(0,1fr);align-items:start}.ts-sizes{display:flex;gap:4px;margin-top:4px}.ts-cupinfo{margin:0;font-size:.76rem;color:var(--ts-soft)}.ts-taps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ts-tools{display:grid;gap:8px;min-width:0}.ts-jar .ts-img{width:34px;height:34px}.ts-review{padding:10px 0;border-bottom:1px solid var(--ts-line)}.ts-review small{color:var(--ts-soft);font-size:.72rem}.ts-review p{margin:4px 0 0;font-size:.86rem}@media (max-width: 420px){.ts-pots{grid-template-columns:repeat(2,1fr)}.ts-queue{grid-template-columns:1fr 1fr}}.ts-layout{display:grid;gap:14px;min-width:0}.ts-col{display:grid;gap:14px;align-content:start;min-width:0}.ts-tabs button{line-height:1.25}.ts-item{border-bottom:1px solid var(--ts-line)}.ts-item .ts-row{border-bottom:0}.ts-row-btn{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.ts-row-btn .ts-pill{display:inline-flex;align-items:center;font-size:.78rem}.ts-item.open .ts-row-btn .ts-pill{background:var(--ts-rose);border-color:var(--ts-rose);color:#fff}.ts-ico.sm{width:32px;height:32px}.ts-ico.sm .ts-img{width:26px;height:26px}.ts-offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;padding:0 0 12px}.ts-offer{display:grid;gap:8px;padding:10px;border-radius:12px;background:#fbf4e7;border:1px solid var(--ts-line);min-width:0}.ts-offer.closed{opacity:.6}.ts-offer-head{display:flex;gap:8px;align-items:flex-start}.ts-offer-head .ts-rowtext b{font-size:.86rem}.ts-sup{width:30px;height:30px;flex:none;display:grid;place-items:center}.ts-sup-dot{width:22px;height:22px;border-radius:50%;background:var(--ts-sage)}.ts-sup-dot.online{background:#a7bcd2}.ts-chan{flex:none;padding:2px 7px;border-radius:6px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#e8eedf;color:var(--ts-moss)}.ts-chan.online{background:#e3ebf3;color:#3d5a78}.ts-attrs{display:grid;gap:4px}.ts-attr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.74rem}.ts-attr-name{color:var(--ts-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-attr-bar{display:flex;gap:3px}.ts-attr-bar i{width:16px;height:7px;border-radius:2px;background:#e6dac6}.ts-attr-bar i.on.l1{background:#b5574a}.ts-attr-bar i.on.l2{background:#d98a5a}.ts-attr-bar i.on.l3{background:#e2b65a}.ts-attr-bar i.on.l4{background:#9fb877}.ts-attr-bar i.on.l5{background:#5f8a4c}.ts-offer-buy{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ts-price{font-weight:700;margin-right:auto}.ts-price small{font-weight:500;color:var(--ts-soft);font-size:.72rem}.ts-ship{padding-bottom:6px;border-bottom:1px solid var(--ts-line)}.ts-ship-row{display:flex;align-items:center;gap:10px;padding:6px 0}.ts-eta{flex:none;padding:2px 8px;border-radius:6px;background:#e3ebf3;color:#3d5a78;font-weight:700;font-size:.72rem}.ts-toast.notice{background:#e3ebf3;color:#2f4a66}.ts-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));column-gap:18px}.ts-recipes .ts-price{margin:0}.ts-quickshop{padding-top:6px;max-height:70vh;overflow:auto}.ts-help{margin:0}.ts-cloud.c5{width:110px;top:40px;opacity:.6;animation-duration:105s;animation-delay:-80s}@media (min-width: 1000px){.ts-scene{max-width:1440px;border-radius:26px}.ts-head{padding:18px 32px 12px}.ts-title{font-size:1.9rem}.ts-cash b{font-size:1.35rem}.ts-day b{font-size:1.1rem}.ts-awning{height:40px;background:radial-gradient(circle at 18px 22px,var(--ts-rose) 17px,transparent 18px) 0 0 / 36px 40px repeat-x,repeating-linear-gradient(90deg,var(--ts-rose) 0 36px,#f4e3d6 36px 72px) 0 0 / 100% 22px no-repeat}.ts-body{padding:16px 28px 32px;gap:18px}.ts-verse{font-size:1.05rem}.ts-sky{height:520px}@keyframes ts-drift{0%{transform:translate(-220px)}to{transform:translate(1500px)}}.ts-cloud.c1{width:180px}.ts-cloud.c3{width:240px}.ts-layout.prep{grid-template-columns:minmax(340px,.85fr) minmax(0,1.4fr);align-items:start}.ts-layout.prep .ts-cta{justify-self:stretch}.ts-layout.prep .ts-paper{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.ts-layout.open{grid-template-columns:minmax(300px,1fr) minmax(400px,1.25fr) minmax(300px,.95fr);align-items:start}.ts-layout.open .ts-queue{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ts-layout.open .ts-counter{grid-template-columns:1fr;justify-items:center;position:sticky;top:12px}.ts-layout.open .ts-tools{width:100%}.ts-layout.open .ts-cupart{width:150px}.ts-layout.open .ts-shelf{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.ts-layout.open .ts-pots{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.ts-help{grid-column:1 / -1;text-align:center}.ts-summary{max-width:760px;width:100%;justify-self:center}}@media (min-width: 1000px) and (max-width: 1250px){.ts-layout.open{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.ts-layout.open .ts-col-side{grid-column:1 / -1}}@media (min-width: 720px) and (max-width: 999px){.ts-scene{max-width:900px}.ts-layout.prep,.ts-layout.open{grid-template-columns:1fr 1fr;align-items:start}.ts-layout.open .ts-counter{grid-template-columns:1fr;justify-items:center}.ts-layout.open .ts-tools{width:100%}.ts-layout.open .ts-col-side,.ts-help{grid-column:1 / -1}}@media (min-width: 1000px){.container.ts-page{max-width:min(1480px,100%)}}.ts-guest-wrap{position:relative;display:grid;min-width:0}.ts-guest-wrap .ts-guest{width:100%;padding-right:30px}.ts-reject{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid var(--ts-line);background:#fffaf0;color:var(--ts-soft);cursor:pointer}.ts-reject:hover{background:var(--ts-rose);border-color:var(--ts-rose);color:#fff}.ts-reject svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.ts-cupdone{display:grid;justify-items:center;gap:2px;animation:ts-in .3s ease-out}.ts-cupdone .ts-img,.ts-cupdone svg{width:104px;height:170px;object-fit:contain}.ts-cupdone small{font-weight:700;color:var(--ts-ink)}.ts-cupdone.burnt .ts-img{filter:sepia(.6) brightness(.6) contrast(1.1)}@media (min-width: 1000px){.ts-layout.open .ts-cupdone .ts-img,.ts-layout.open .ts-cupdone svg{width:150px;height:230px}}.ts-page:fullscreen,.ts-page.pseudo-fs{padding:0;background:#f2eadb;display:block}.ts-page:fullscreen>.game-top,.ts-page.pseudo-fs>.game-top{padding:6px 14px;background:#d9ebee}.ts-page:fullscreen .ts-scene,.ts-page.pseudo-fs .ts-scene{min-height:calc(100dvh - 44px)!important}.ts-page:fullscreen .ts-scene,.ts-page.pseudo-fs .ts-scene{max-width:none;border-radius:0;margin:0}.ts-page:fullscreen::backdrop{background:#f2eadb}.ts-modes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));max-width:900px;width:100%;justify-self:center}.ts-mode{display:grid;gap:10px;align-content:start}.ts-mode h2{margin:0}.ts-codeform{display:flex;gap:8px;flex-wrap:wrap}.ts-codeform input{flex:1 1 200px;min-width:0;padding:8px 10px;border-radius:10px;border:1px solid var(--ts-line);background:#fffaf0;color:var(--ts-ink);font:inherit;font-family:ui-monospace,monospace;letter-spacing:.04em}.ts-err,.ts-modebar small.err{color:#a8443c}.ts-modebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.82rem;color:var(--ts-soft)}.ts-modebar .ts-link{margin-left:auto}.ts-codebox{display:grid;gap:8px;max-width:520px;width:100%;justify-self:center;text-align:center;justify-items:center}.ts-codebox code{font-size:clamp(1rem,4.5vw,1.45rem);font-weight:700;letter-spacing:.08em;padding:8px 14px;border-radius:10px;background:#f3ead8;color:var(--ts-ink);-webkit-user-select:all;user-select:all;word-break:break-all}.ts-codebox small{color:var(--ts-soft)}.ts-potbtn{position:relative;display:grid;justify-items:center;padding:4px;border:0;border-radius:12px;background:none;font:inherit;color:inherit;cursor:default;touch-action:manipulation}.ts-pot.can{border-color:var(--ts-moss);box-shadow:0 0 0 2px #8aa36f55}.ts-pot.can .ts-potbtn{cursor:pointer}.ts-pot.can .ts-potbtn:hover,.ts-pot.can .ts-potbtn:active{background:#eef3e6}.ts-pot.can .ts-potbtn:active{transform:scale(.95)}.ts-pothint{font-size:.7rem;font-weight:700;color:var(--ts-moss)}.ts-cupgrab{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:16px;padding:4px}.ts-cupgrab.can{cursor:grab;animation:ts-bob 2.4s ease-in-out infinite}.ts-cupgrab.lifted{opacity:.35;animation:none}.ts-cupgrab img,.ts-cupgrab svg{pointer-events:none;-webkit-user-drag:none}@keyframes ts-bob{50%{transform:translateY(-3px)}}.ts-grabhint{text-align:center;color:var(--ts-soft);font-size:.72rem;max-width:170px}.ts-cupghost{position:fixed;z-index:60;width:72px;transform:translate(-50%,-60%) rotate(-6deg);pointer-events:none;filter:drop-shadow(0 8px 10px #3b312755)}.ts-cupghost .ts-cupart,.ts-cupghost .ts-img,.ts-cupghost svg{width:72px!important;height:auto!important}.ts-trash{position:fixed;z-index:55;left:0;right:0;bottom:0;height:max(84px,calc(64px + env(safe-area-inset-bottom)));display:flex;align-items:center;justify-content:center;gap:10px;background:#f3dcd6ee;color:#8c3b33;font-weight:700;border-top:2px dashed #c4746b;animation:ts-trash-in .18s ease-out;padding-bottom:env(safe-area-inset-bottom)}.ts-trash svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ts-trash.hot{background:#c4544aee;color:#fff;border-top-color:#fff}.ts-trash.hot svg{transform:scale(1.2) rotate(-8deg)}@keyframes ts-trash-in{0%{transform:translateY(100%)}}.ts-guest-wrap.drop-hot .ts-guest{border-color:var(--ts-rose);background:#f9e9e2;transform:scale(1.03);box-shadow:0 0 0 4px #c48a8655}.ts-guest{transition:transform .12s,box-shadow .12s}.ts-bar-cash{position:relative;font-weight:700;color:var(--ts-moss);font-variant-numeric:tabular-nums}.ts-float{position:absolute;left:50%;top:-4px;transform:translate(-50%);font-style:normal;font-weight:800;color:#5f8a4c;white-space:nowrap;pointer-events:none;animation:ts-float .9s ease-out forwards}@keyframes ts-float{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-34px)}}.ts-pot.alarm{animation:ts-shake .5s ease-in-out infinite;border-color:#c4544a;box-shadow:0 0 0 3px #c4544a55}@keyframes ts-shake{25%{transform:translate(-2px) rotate(-1deg)}75%{transform:translate(2px) rotate(1deg)}}.ts-shopbtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 14px;border-radius:12px;border:1px dashed var(--ts-sage);background:#f6f0e4;color:var(--ts-ink);font:inherit;font-weight:600;cursor:pointer}.ts-shopbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ts-sheet-back{display:none}.ts-sheet-head{display:flex;align-items:baseline;gap:8px;padding-bottom:8px}.ts-sheet-head i{display:none}.ts-sheet-head small{color:var(--ts-soft);margin-right:auto}@media (max-width: 719px){.ts-layout.open{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;height:100dvh;overflow:hidden;overscroll-behavior:contain;touch-action:manipulation;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom));background:url(/teashop/ui/bg-sky.webp) top center / 100% auto no-repeat,linear-gradient(#d9ebee,#f2eadb 30%,#fbf5ea)}.ts-layout.open .ts-help{display:none}.ts-layout.open .ts-col-guests{position:relative;gap:6px;min-height:0}.ts-layout.open .ts-bar-top{padding:6px 12px;font-size:.78rem}.ts-layout.open .ts-queue{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding-bottom:2px;scrollbar-width:none}.ts-layout.open .ts-queue::-webkit-scrollbar{display:none}.ts-layout.open .ts-queue>*{flex:0 0 min(46%,170px);scroll-snap-align:start}.ts-layout.open .ts-guest{min-height:0;padding:8px 30px 8px 8px;gap:4px}.ts-layout.open .ts-guest.empty{min-height:96px}.ts-layout.open .ts-reject{width:32px;height:32px;top:2px;right:2px}.ts-layout.open .ts-col-guests .ts-toast{position:absolute;left:0;right:0;top:100%;z-index:5;margin-top:4px;font-size:.8rem;box-shadow:0 6px 16px #3b312733}.ts-layout.open .ts-col-side{order:2;gap:6px;min-height:0}.ts-layout.open .ts-stove{padding:8px;gap:6px}.ts-layout.open .ts-stove h3 small{display:none}.ts-layout.open .ts-pots{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none}.ts-layout.open .ts-pots>*{flex:0 0 min(46%,170px)}.ts-layout.open .ts-pot{padding:6px;gap:2px}.ts-layout.open .ts-potimg{width:64px;height:48px}.ts-layout.open .ts-shopbtn{min-height:40px;padding:6px 12px;font-size:.8rem}.ts-layout.open .ts-counter{order:3;min-height:0;overflow-y:auto;overscroll-behavior:contain;grid-template-columns:112px minmax(0,1fr);gap:10px;padding:10px;align-content:start}.ts-layout.open .ts-cupwrap{position:sticky;top:0}.ts-layout.open .ts-cupart,.ts-layout.open .ts-cupdone .ts-img,.ts-layout.open .ts-cupdone svg{width:96px;height:auto;max-height:150px}.ts-layout.open .ts-grabhint{font-size:.66rem}.ts-layout.open .ts-sizes .ts-mini{min-height:44px;min-width:48px;font-size:.8rem}.ts-layout.open .ts-shelf{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.ts-layout.open .ts-jar{min-height:64px;padding:6px 2px}.ts-layout.open .ts-jar b{font-size:.72rem;line-height:1.15}.ts-layout.open .ts-taps .ts-jar{min-height:56px;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:6px}.ts-layout.open .ts-taps .ts-jar b{font-size:.86rem}.ts-layout.open .ts-sheet-back{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#3b312755;animation:ts-in .2s}.ts-layout.open .ts-quickshop{position:fixed;z-index:46;left:0;right:0;bottom:0;max-height:78dvh;border-radius:18px 18px 0 0;padding:8px 14px max(14px,env(safe-area-inset-bottom));animation:ts-sheet .25s ease-out}.ts-layout.open .ts-sheet-head{position:sticky;top:-8px;z-index:1;flex-wrap:wrap;padding-top:4px;background:var(--ts-paper)}.ts-layout.open .ts-sheet-head i{display:block;flex-basis:100%;height:4px;max-width:44px;margin:0 auto 6px;border-radius:4px;background:#d6c3a3}.ts-layout.open .ts-sheet-head .ts-link{min-height:40px}@keyframes ts-sheet{0%{transform:translateY(100%)}}}.ts-counter .ts-trash{right:auto;height:76px;padding-bottom:0;border-radius:0 0 14px 14px;border:2px dashed #c4746b}
