.tb-intro{margin-bottom:20px}.tb-game-area{margin:0 auto;max-width:720px}.tb-hud{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:10px 14px;margin-bottom:0;background:color-mix(in srgb,var(--foreground) 8%,var(--background));border:1px solid color-mix(in srgb,var(--foreground) 20%,transparent);border-bottom:none;border-radius:8px 8px 0 0;font-size:1.05em;font-weight:600}.tb-hud-item{font-variant-numeric:tabular-nums}.tb-hud-wind{color:color-mix(in srgb,var(--foreground) 70%,transparent)}.tb-mute-btn{padding:2px 6px;font-size:.85em;line-height:1}.tb-canvas-wrap{position:relative;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top:none;border-radius:0 0 8px 8px;overflow:hidden;background:color-mix(in srgb,var(--accent) 6%,var(--background));box-shadow:inset 0 2px 12px color-mix(in srgb,var(--accent) 8%,transparent),0 4px 20px color-mix(in srgb,#000 15%,transparent)}#tb-canvas{display:block;width:100%}.tb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--background) 85%,transparent);z-index:10;overflow-y:auto;-webkit-overflow-scrolling:touch}.tb-hidden{display:none!important}.tb-overlay-inner{text-align:center;padding:24px}.tb-overlay-title{margin:12px 0 8px;font-size:1.6em;color:var(--accent)}.tb-overlay-hint{margin:0 0 16px;font-size:.9em;color:color-mix(in srgb,var(--foreground) 60%,transparent)}.tb-btn{padding:6px 16px;font-family:inherit;font-size:.95em;color:var(--foreground);background:var(--background);border:1px solid color-mix(in srgb,var(--foreground) 40%,transparent);border-radius:3px;cursor:pointer;transition:border-color .15s,background .15s}.tb-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--background))}.tb-btn:disabled{opacity:.4;cursor:not-allowed}.tb-btn-play{padding:12px 48px;font-size:1.3em;font-weight:700;letter-spacing:.1em;color:var(--background);background:var(--accent);border:2px solid var(--accent);border-radius:6px;text-transform:uppercase;transition:transform .1s,box-shadow .15s}.tb-btn-play:hover:not(:disabled){transform:scale(1.04);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 40%,transparent)}.tb-btn-play:active:not(:disabled){transform:scale(.97)}.tb-btn-play:disabled{opacity:.5}.tb-btn-small{padding:3px 10px;font-size:.85em}.tb-btn-danger{color:#f44;border-color:color-mix(in srgb,#ff4444 40%,transparent)}.tb-btn-danger:hover:not(:disabled){border-color:#f44;background:color-mix(in srgb,#ff4444 10%,var(--background))}.tb-tabs{display:flex;gap:0;margin-top:12px;border-bottom:2px solid color-mix(in srgb,var(--foreground) 15%,transparent)}.tb-tab{flex:1;padding:8px 4px;font-family:inherit;font-size:.85em;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--foreground) 50%,transparent);background:0 0;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s}.tb-tab:hover{color:color-mix(in srgb,var(--foreground) 80%,transparent)}.tb-tab.tb-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.tb-selected-summary{padding:6px 8px;font-size:.75em;color:color-mix(in srgb,var(--foreground) 55%,transparent);text-align:center;min-height:1.2em}.tb-tab-content{padding-top:4px}.tb-parts{margin-top:0}.tb-part-row{margin-bottom:8px}.tb-part-label{display:block;margin-bottom:4px;font-size:.85em;font-weight:600;color:color-mix(in srgb,var(--foreground) 65%,transparent);text-transform:uppercase;letter-spacing:.05em}.tb-part-cards{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.tb-card{flex:none;min-width:90px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--foreground) 25%,transparent);border-radius:4px;background:var(--background);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;text-align:center}.tb-card.tb-locked{opacity:.35;cursor:not-allowed;pointer-events:none}.tb-card:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 5%,var(--background))}.tb-card.tb-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--background));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 25%,transparent)}.tb-card-name{display:block;font-size:.9em;font-weight:600;margin-bottom:2px}.tb-card-tier{display:inline-block;padding:1px 5px;font-size:.7em;font-weight:700;border-radius:2px;margin-bottom:2px}.tb-tier-1{color:color-mix(in srgb,var(--foreground) 70%,transparent);background:color-mix(in srgb,var(--foreground) 10%,transparent)}.tb-tier-2{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.tb-tier-3{color:var(--background);background:var(--accent)}.tb-card-stat{display:block;font-size:.8em;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--foreground) 55%,transparent)}.tb-card-special{display:block;margin-top:2px;font-size:.65em;font-style:italic;color:var(--accent);text-transform:capitalize}.tb-card-lock{display:block;margin-top:4px;font-size:.65em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--foreground) 40%,transparent);border-top:1px solid color-mix(in srgb,var(--foreground) 15%,transparent);padding-top:3px}.tb-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.tb-results{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin:12px auto 16px;max-width:180px;font-size:1.05em}.tb-result-label{text-align:left;color:color-mix(in srgb,var(--foreground) 65%,transparent)}.tb-result-value{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.tb-result-castles-row{margin-bottom:8px;font-size:.9em;font-weight:600;color:var(--accent)}.tb-result-record{margin-bottom:12px;padding:4px 12px;font-size:1.1em;font-weight:700;color:var(--background);background:var(--accent);border-radius:4px;display:inline-block;animation:tb-pulse .6s ease-in-out infinite alternate}@keyframes tb-pulse{from{opacity:.7;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}.tb-result-unlock{margin-bottom:12px;padding:6px 12px;font-size:.95em;font-weight:600;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:4px;background:color-mix(in srgb,var(--accent) 8%,var(--background))}.tb-stats{margin-top:24px;padding:14px;border:1px solid color-mix(in srgb,var(--foreground) 20%,transparent);border-radius:4px}.tb-stats-title{margin:0;font-size:1em;font-weight:600;cursor:pointer;list-style:none;padding:0 0 10px}.tb-stats-title::-webkit-details-marker{display:none}.tb-stats-title::before{content:'+ ';color:color-mix(in srgb,var(--foreground) 50%,transparent)}details[open].tb-stats>.tb-stats-title::before{content:'- '}.tb-stats-grid{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin-bottom:12px;font-size:.92em}.tb-stat-label{color:color-mix(in srgb,var(--foreground) 65%,transparent)}.tb-stat-value{font-weight:600;font-variant-numeric:tabular-nums}.tb-milestones{margin-bottom:12px}.tb-milestone{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.85em}.tb-milestone-check{width:14px;text-align:center;font-weight:700}.tb-milestone-done .tb-milestone-check{color:var(--accent)}.tb-milestone-pending{color:color-mix(in srgb,var(--foreground) 40%,transparent)}.tb-milestone-done .tb-milestone-text{color:var(--foreground)}.tb-milestone-pending .tb-milestone-text{color:color-mix(in srgb,var(--foreground) 40%,transparent)}@media(max-width:480px){.tb-intro{margin-bottom:12px}.tb-hud{gap:4px 8px;padding:8px 10px;font-size:.85em}.tb-overlay-inner{padding:8px 14px}.tb-overlay{align-items:flex-start;padding:4px 0}.tb-overlay-title{margin:4px 0;font-size:1.1em}.tb-overlay-hint{margin:0 0 8px;font-size:.8em}.tb-results{gap:2px 12px;margin:6px auto 8px;font-size:.9em}.tb-result-record{margin-bottom:6px;padding:2px 8px;font-size:.9em}.tb-result-unlock{margin-bottom:6px;padding:4px 8px;font-size:.8em}.tb-btn-play{padding:8px 28px;font-size:1em}.tb-card{min-width:70px;padding:6px 8px}.tb-card-name{font-size:.8em}.tb-stats{margin-top:16px;padding:10px}.tb-tab{padding:6px 2px;font-size:.8em}.tb-selected-summary{font-size:.7em}}