.tsq{--bg:#0b1121;--surface:#0d193c;--surface2:#15244f;--line:#1c2a55;--text:#fff;--muted:#a3b0cf;--soft:#d5dbeb;--faint:#7d8bb0;--primary:#0081f0;--primary-text:#4ba8ff;--link:#8cc8ff;--success:#22c55e;--success-text:#4ade80;--error:#ef4444;--error-text:#f87171;--gold:#fbbf24;--cyan:#22d3ee;--magenta:#e045d8;--sheet:#141f44;--track:#1c2a55;--ease:cubic-bezier(.16, 1, .3, 1);--pad-b:max(24px, calc(env(safe-area-inset-bottom,0px) + 14px));font-family:var(--font-inter), Inter, system-ui, sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;justify-content:center;min-height:100dvh;display:flex}.tsq[data-theme=light]{--bg:#f5f4f0;--surface:#fff;--surface2:#eceff7;--line:#e5e3de;--text:#1a1814;--muted:#6b6960;--soft:#3d3b35;--faint:#8a877e;--primary-text:#0060c7;--link:#0060c7;--success-text:#15803d;--error-text:#b91c1c;--sheet:#fff;--track:#e5e3de}.tsq *,.tsq :before,.tsq :after{box-sizing:border-box}:where(.tsq) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}:where(.tsq) a{color:var(--link);text-decoration:none}.ms{letter-spacing:normal;text-transform:none;white-space:nowrap;font-feature-settings:"liga";font-variation-settings:"FILL" 0, "wght" 500;-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:Material Symbols Rounded;font-style:normal;font-weight:400;line-height:1;display:inline-block}.ms.fill{font-variation-settings:"FILL" 1, "wght" 500}.tsq:not([data-icons]) .ms{opacity:0}.tsq-app{background:radial-gradient(100% 35% at 50% 18%, var(--glow,#0081f047), transparent 70%), var(--bg);width:100%;max-width:480px;height:100dvh;padding-top:env(safe-area-inset-top,0px);flex-direction:column;display:flex;position:relative;overflow:hidden}.tsq[data-theme=light] .tsq-app{background:radial-gradient(100% 30% at 50% 10%, #0081f01a, transparent 70%), var(--bg)}@media (min-width:640px){.tsq-app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.tsq-scroll{overscroll-behavior:contain;flex:1;grid-auto-rows:max-content;align-content:start;gap:14px;min-height:0;padding:8px 16px 16px;display:grid;overflow-y:auto}.tsq-foot{padding:12px 16px var(--pad-b);border-top:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:8px;display:flex}.tsq-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.tsq-label{letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:800}.tsq-num{font-variant-numeric:tabular-nums}.tsq-btn{-webkit-user-select:none;user-select:none;border-radius:20px;justify-content:center;align-items:center;gap:6px;width:100%;height:60px;font-size:18px;font-weight:800;transition:transform 90ms ease-out,background .15s;display:flex}.tsq-btn:active{transform:scale(.97)}.tsq-btn.primary{background:var(--primary);color:#fff;box-shadow:0 12px 30px #0081f073}.tsq-btn.secondary{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;height:52px;font-size:16px}.tsq-btn.ghost{height:52px;color:var(--muted);border-radius:18px;font-size:16px;font-weight:700}.tsq-btn.off{background:var(--surface2);color:var(--faint);box-shadow:none}.tsq-btn.google{color:#1f1f1f;background:#fff;border-radius:16px;height:56px;font-size:17px}.tsq-btn.apple{color:#fff;background:#000;border:1px solid #2a2a2a;border-radius:16px;height:56px;font-size:17px}.tsq-btn.mail{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;height:56px;font-size:17px}.tsq-iconbtn{background:var(--surface);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tsq-chip{background:var(--surface);border:1.5px solid var(--line);-webkit-user-select:none;user-select:none;border-radius:22px;align-items:center;gap:4px;height:44px;padding:0 16px;font-size:15px;font-weight:700;display:flex}.tsq-chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.tsq-card{background:var(--surface);border:1px solid var(--line);border-radius:20px}.tsq-eq{align-items:center;gap:5px;display:flex}.tsq-eq i{background:linear-gradient(var(--eq,#22d3ee), #0081f0);transform-origin:50%;border-radius:4px;width:7px;animation:.6s ease-in-out infinite ts-eq;display:block}.tsq-ob-ic{background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;display:flex;box-shadow:0 0 0 26px #0081f014,0 0 80px #0081f040}.tsq-dots{gap:6px;display:flex}.tsq-dots i{background:var(--line);width:6px;height:6px;transition:width .25s var(--ease), background .25s;border-radius:3px}.tsq-dots i.on{background:var(--primary);width:22px}.tsq-vinyl{width:200px;height:200px;animation:2.4s linear infinite ts-spin;position:relative}.tsq-vinyl .a{background:repeating-radial-gradient(circle,#0a1330 0 2px,#111d44 2px 5px);border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 1px #1c2a55,0 0 60px #22d3ee40}.tsq-vinyl .b{background:conic-gradient(from 20deg, transparent 0 12%, #ffffff1a 16%, transparent 22% 62%, #ffffff12 66%, transparent 72%);border-radius:50%;position:absolute;inset:0}.tsq-vinyl .c{background:linear-gradient(135deg,#0081f0,#e045d8);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:absolute;top:68px;left:68px}.tsq-vinyl .c i{background:#0b1121;border-radius:50%;width:12px;height:12px}.tsq-home-top{justify-content:space-between;align-items:center;min-height:48px;display:flex}.tsq-streak{background:var(--surface);border:1px solid var(--line);border-radius:20px;align-items:center;gap:4px;height:40px;padding:0 14px 0 10px;font-size:16px;font-weight:900;display:flex}.tsq-avatar{background:var(--surface2);border:2px solid var(--primary);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:800;display:flex}.tsq-lvl{align-items:center;gap:14px;padding:16px;display:flex}.tsq-lvl-ring{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.tsq-lvl-ring>span{background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:900;display:flex}.tsq-bar{background:var(--track);border-radius:4px;height:8px;overflow:hidden}.tsq-bar>div{height:100%;transition:width .8s var(--ease);background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:4px}.tsq-daily{color:#fff;text-align:left;background:linear-gradient(135deg,#0081f0 0%,#2b4fd8 60%,#7a3fd0 110%);border-radius:24px;justify-content:space-between;align-items:flex-end;gap:12px;width:100%;padding:20px;transition:transform 90ms ease-out;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0081f04d}.tsq-daily:active{transform:scale(.97)}.tsq-daily.done{background:linear-gradient(135deg,#14532d 0%,#166534 60%,#0f766e 110%);box-shadow:0 16px 40px #22c55e2e}.tsq-daily .go{color:#0b1121;background:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.tsq-mode{background:var(--surface);border:1.5px solid var(--line);text-align:left;border-radius:20px;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 14px;transition:transform 90ms ease-out;display:flex}.tsq-mode:active{transform:scale(.97)}.tsq-mode.on{border-color:var(--primary);background:#0081f01f}.tsq-mode .ic{border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.tsq-tabs{border-top:1px solid var(--line);padding-top:6px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px));background:var(--bg);flex-shrink:0;justify-content:space-around;display:flex}.tsq-tab{width:80px;height:52px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.tsq-tab.on{color:var(--primary-text);font-weight:700}.tsq-topbar{flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 16px;display:flex}.tsq-segs{gap:4px;display:flex}.tsq-segs i{background:var(--track);border-radius:3px;width:14px;height:5px;transition:background .2s}.tsq-ring{border-radius:50%;justify-content:center;align-items:center;transition:box-shadow .2s;display:flex}.tsq-ring>div{background:radial-gradient(circle, var(--surface2), var(--bg) 75%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.tsq-tag{color:#67e8f9;background:#22d3ee1f;border-radius:14px;align-items:center;gap:4px;height:28px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.tsq[data-theme=light] .tsq-tag{color:#0e7490;background:#22d3ee33}.tsq-opt{background:var(--surface);border:1.5px solid var(--line);text-align:left;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;transition:transform 90ms ease-out,border-color .15s,background .15s;display:flex}@media (hover:hover) and (pointer:fine){.tsq-opt:hover{border-color:var(--primary)}}.tsq-opt:active{background:#0081f02e;transform:scale(.97)}.tsq-opt .l{background:var(--surface2);width:32px;height:32px;color:var(--soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.tsq-opt .t{flex:1;font-size:16px;font-weight:700;line-height:1.3}.tsq-opt .t small{color:var(--muted);margin-top:2px;font-size:14px;font-weight:500;display:block}.tsq-opt.grid{justify-content:center}.tsq-opt.year{justify-content:center;min-height:72px}.tsq-opt.year .t{text-align:center;font-variant-numeric:tabular-nums;flex:none;font-size:24px;font-weight:900}.tsq-fb{border:1.5px solid;border-radius:22px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.tsq-fb .ic{color:#0b1121;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tsq-fb .float{color:var(--success-text);opacity:0;pointer-events:none;font-size:15px;font-weight:900;position:absolute;top:-4px;right:14px}.tsq-ropt{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;display:flex}.tsq-ropt .l{background:var(--surface2);width:28px;height:28px;color:var(--soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.tsq-ropt .t{flex:1;font-size:15px;font-weight:700;line-height:1.3}.tsq-ropt .t small{color:var(--muted);margin-top:2px;font-size:14px;font-weight:500;display:block}.tsq-cover{background:repeating-linear-gradient(135deg, var(--surface2) 0 8px, var(--track) 8px 16px);color:var(--faint);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font:10px ui-monospace,monospace;display:flex;overflow:hidden}.tsq-cover img{object-fit:cover;width:100%;height:100%;display:block}.tsq-link{white-space:nowrap;background:var(--surface2);height:44px;color:var(--link);text-align:center;border-radius:14px;flex:150px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.tsq-conf{z-index:10;pointer-events:none;border-radius:2px;animation:.9s ease-out forwards ts-conf;position:absolute;top:110px}.tsq-stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;padding:12px 14px;display:flex}.tsq-res{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.tsq-res:first-child{border-top-color:#0000}.tsq-scrim{z-index:15;background:#050812b3;justify-content:center;align-items:center;padding:24px;animation:.2s ts-fade;display:flex;position:absolute;inset:0}.tsq-modal{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:28px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:28px 24px 24px;display:flex}.tsq-sheet-wrap{z-index:16;background:#05081299;align-items:flex-end;animation:.2s ts-fade;display:flex;position:absolute;inset:0}.tsq-sheet{background:var(--sheet);width:100%;padding:10px 20px var(--pad-b);animation:ts-up .28s var(--ease);border-top:1px solid var(--line);border-radius:28px 28px 0 0;flex-direction:column;gap:18px;display:flex}.tsq-toast{z-index:30;color:#0b1121;white-space:normal;background:#fff;border-radius:22px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);min-height:44px;padding:10px 18px;font-size:15px;font-weight:700;line-height:1.3;animation:.2s ts-fade;display:flex;position:absolute;bottom:110px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.tsq-switch{background:var(--track);border-radius:16px;flex-shrink:0;width:52px;height:32px;transition:background .2s;position:relative}.tsq-switch:after{content:"";width:26px;height:26px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.tsq-switch.on{background:var(--primary)}.tsq-switch.on:after{transform:translate(20px)}.tsq-group{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.tsq-row{border-top:1px solid var(--line);text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;display:flex}.tsq-row:first-child{border-top-color:#0000}.tsq-seg{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:4px;display:flex}.tsq-seg button{height:44px;color:var(--muted);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.tsq-seg button.on{background:var(--primary);color:#fff;font-weight:800}.tsq-badge{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:92px;padding:12px 6px;display:flex}.tsq-badge.on{border-color:#fbbf2473}.tsq-badge .c{background:var(--surface2);width:44px;height:44px;color:var(--faint);border-radius:50%;justify-content:center;align-items:center;display:flex}.tsq-badge.on .c{color:var(--gold);background:#fbbf2424}.tsq-vs{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;padding:14px 8px;display:flex}.tsq-vs.win{border-color:#fbbf2499;box-shadow:0 0 40px #fbbf242e}.tsq-table{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.tsq-table .r{border-top:1px solid var(--line);grid-template-columns:24px 1fr 56px 56px;align-items:center;gap:6px;padding:9px 14px;font-size:14px;display:grid}.tsq-table .r.h{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;border-top:0;font-size:11px;font-weight:800}.tsq-table .r>:nth-child(3),.tsq-table .r>:nth-child(4){text-align:right;font-variant-numeric:tabular-nums;font-weight:800}@keyframes ts-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes ts-fade{0%{opacity:0}to{opacity:1}}@keyframes ts-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes ts-slide{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes ts-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes ts-float{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-34px)}}@keyframes ts-conf{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), 150px) rotate(300deg);opacity:0}}@keyframes ts-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes ts-spin{to{transform:rotate(360deg)}}@keyframes ts-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.a-fade{animation:.3s ease-out ts-fade}.a-slide{animation:ts-slide .28s var(--ease)}.a-pop{animation:.35s cubic-bezier(.34,1.56,.64,1) ts-pop}.a-shake{animation:.3s ease-in-out ts-shake}.a-float{animation:.9s ease-out forwards ts-float}.tsq[data-reduce="1"] .a-slide{animation:.15s ts-fade}.tsq[data-reduce="1"] .a-pop{animation:.2s ts-fade}.tsq[data-reduce="1"] .a-shake{animation:none}.tsq[data-reduce="1"] .a-float{animation:.4s forwards ts-fade}.tsq[data-reduce="1"] .tsq-vinyl{animation:none}.tsq[data-reduce="1"] .tsq-eq i{animation:1.4s infinite ts-pulse;transform:scaleY(.6)}.tsq[data-reduce="1"] .tsq-conf{display:none}.tsq[data-reduce="1"] .tsq-sheet{animation:.2s ts-fade}
