.ts-root{width:100%;height:100%;color:var(--ts-ink);touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#f8f5ee 0%,#f4f1e8 42%,#f1eee4 100%);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;inset:0;overflow:hidden}.ts-bg-grid{pointer-events:none;opacity:.6;background-image:linear-gradient(#2a2a2a0f 1px,#0000 1px),linear-gradient(90deg,#2a2a2a0d 1px,#0000 1px);background-size:34px 34px,34px 34px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 46%,#000 20%,#0000 78%);mask-image:radial-gradient(circle at 50% 46%,#000 20%,#0000 78%)}.ts-bg-glow{pointer-events:none;background:radial-gradient(circle at 52% 42%,#1f6f8c1f,#0000 26%),radial-gradient(circle at 50% 58%,#d23b2e0d,#0000 34%);animation:8s ease-in-out infinite ts-breathe;position:absolute;inset:0}@keyframes ts-breathe{0%,to{opacity:.7}50%{opacity:1}}.ts-app{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.ts-topbar{z-index:5;padding:max(56px, env(safe-area-inset-top,0px)) 12px 0 12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:relative}.ts-chip-row{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.ts-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;min-height:32px;color:var(--ts-ink);letter-spacing:.01em;background:#f4f1e8eb;border:1px solid #1f24301f;border-radius:9999px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:inline-flex;box-shadow:0 6px 16px #1f24301a}.ts-chip strong{font-size:13px;font-weight:700}.ts-chip[data-tone=accent]{background:#1f6f8c1f;border-color:#1f6f8c3d}.ts-chip[data-tone=good]{color:#1c5c3c;background:#2e8b5724;border-color:#2e8b5747}.ts-chip-btn{cursor:pointer;touch-action:manipulation;transition:transform .14s,background .14s}.ts-chip-btn:active{transform:scale(.94)}.ts-lang-group{flex:none;gap:6px;display:flex}.ts-lang-btn{color:#1f24308c;cursor:pointer;touch-action:manipulation;background:#fff9;border:1px solid #1f243024;border-radius:9999px;min-width:44px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:700}.ts-lang-btn[aria-pressed=true]{color:#1f6f8c;background:#1f6f8c29;border-color:#1f6f8c4d}.ts-stage-wrap{border:1px solid #1f243014;border-radius:24px;flex:auto;min-height:0;margin:10px 10px 0;position:relative;overflow:hidden;box-shadow:0 24px 60px #2a2a2a14}.ts-canvas{touch-action:none;width:100%;height:100%;display:block}.ts-title-chip{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;text-align:center;background:#f4f1e8eb;border:1px solid #1f24301f;border-radius:16px;flex-direction:column;align-items:center;gap:4px;max-width:calc(100% - 32px);padding:10px 18px;transition:opacity .5s,transform .5s;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #1f24301f}.ts-title-chip.ts-hidden{opacity:0;transform:translate(-50%)translateY(-8px)}.ts-title-chip h1{color:var(--ts-ink);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:800}.ts-title-chip p{color:var(--ts-muted);margin:0;font-size:12px}.ts-gesture-hint{z-index:6;pointer-events:none;border:2px solid #1f6f8c8c;border-radius:9999px;width:46px;height:46px;transition:opacity .4s;animation:1.8s ease-in-out infinite ts-hint-move;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.ts-gesture-hint.ts-hidden{opacity:0}@keyframes ts-hint-move{0%{opacity:.9;transform:translate(-70%)scale(.9)}50%{opacity:.4;transform:translate(-30%)scale(1.05)}to{opacity:.9;transform:translate(-70%)scale(.9)}}.ts-tap-label{z-index:6;color:var(--ts-accent);pointer-events:none;white-space:nowrap;background:#f4f1e8d9;border-radius:9999px;padding:6px 12px;font-size:13px;font-weight:600;transition:opacity .4s;position:absolute;bottom:calc(22% - 36px);left:50%;transform:translate(-50%)}.ts-tap-label.ts-hidden{opacity:0}.ts-overlay{z-index:20;padding:max(56px, env(safe-area-inset-top,0px)) 16px 88px 16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f4f1e8c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ts-plate-card{background:#fffffff5;border:1px solid #1f24301f;border-radius:22px;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:380px;max-height:100%;padding:16px 18px;display:flex;overflow-y:auto;box-shadow:0 24px 60px #1f243033}.ts-newbest{color:#a3651a;background:#d2952d29;border:1px solid #d2952d59;border-radius:9999px;padding:4px 12px;font-size:12px;font-weight:800}.ts-plate-title{text-align:center;color:var(--ts-ink);margin:0;font-size:20px;font-weight:800}.ts-plate-sub{color:var(--ts-muted);text-align:center;margin:0;font-size:13px}.ts-plate-img-wrap{background:#f4f1e8;border:1px solid #1f24301a;border-radius:16px;flex:0 auto;justify-content:center;width:100%;min-height:0;display:flex;overflow:hidden}.ts-plate-img{object-fit:contain;width:auto;max-width:100%;max-height:40vh;display:block}.ts-plate-loading{height:200px;color:var(--ts-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.ts-plate-stats{gap:10px;width:100%;display:flex}.ts-stat{background:#1f6f8c12;border:1px solid #1f6f8c24;border-radius:12px;flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex}.ts-stat-label{color:var(--ts-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.ts-stat strong{color:var(--ts-ink);font-size:18px}.ts-plate-actions{gap:10px;width:100%;margin-top:4px;display:flex}.ts-btn{cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:9999px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:14px;font-weight:700;transition:transform .14s,opacity .14s;display:inline-flex}.ts-btn:active{transform:scale(.96)}.ts-btn:disabled{opacity:.6;cursor:default}.ts-btn-ghost{color:var(--ts-ink);background:#1f24300f;border-color:#1f24301f}.ts-btn-primary{color:#f4f1e8;background:#1f6f8c}
