:root{--primary-gold: #ffd700;--gold-glow: rgba(255, 215, 0, .6);--primary-red: #e60012;--neon-red: #ff1a2b;--neon-blue: #00f0ff;--neon-amber: #ff9900;--neon-green: #00ff66;--chrome-silver: linear-gradient(135deg, #f0f0f0 0%, #a8a8a8 50%, #ffffff 51%, #707070 100%);--gold-bar: linear-gradient(180deg, #ffe066 0%, #d4af37 40%, #aa820a 70%, #fff2a3 100%);--bg-dark: #0a0a0f;--bg-panel: rgba(12, 14, 24, .88);--font-brush: "Yuji Boku", serif;--font-impact: "Dela Gothic One", sans-serif;--font-main: "Noto Sans JP", sans-serif}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none}html,body{width:100%;height:100%;overflow:hidden;background-color:#000;font-family:var(--font-main);color:#fff}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#ui-root{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none}.interactive{pointer-events:auto}.chrome-text{background:var(--chrome-silver);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.gold-text{background:var(--gold-bar);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(255,215,0,.7))}.andon-box{background:#000;border:2px solid #ffd700;box-shadow:0 0 15px var(--gold-glow),inset 0 0 10px #ffd7004d;color:#fff;text-shadow:0 0 8px #fff,0 0 18px var(--primary-gold);font-family:var(--font-brush)}.btn-dekotora{position:relative;background:linear-gradient(180deg,#2b1111,#120505);border:2px solid #ff4444;color:#fff;font-family:var(--font-impact);padding:12px 28px;font-size:1.1rem;letter-spacing:2px;cursor:pointer;box-shadow:0 0 15px #f006,inset 0 0 8px #ff44444d;transition:all .15s ease;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-dekotora:hover{background:linear-gradient(180deg,#ff1a2b,#900);border-color:gold;box-shadow:0 0 25px #ffd700cc,0 0 35px #f009;transform:translateY(-2px) scale(1.03)}.btn-dekotora:active{transform:translateY(1px) scale(.98)}.btn-dekotora.gold{border-color:gold;background:linear-gradient(180deg,#332600,#140f00);box-shadow:0 0 15px #ffd70066}.btn-dekotora.gold:hover{background:linear-gradient(180deg,gold,#aa820a);color:#000;text-shadow:none}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:40px 20px;background:radial-gradient(circle at 50% 30%,#e6001240,#05050ad9 75%);z-index:20}.title-logo-container{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:20px;animation:logoPulse 4s ease-in-out infinite alternate}@keyframes logoPulse{0%{transform:scale(1);filter:drop-shadow(0 0 15px rgba(255,30,0,.5))}to{transform:scale(1.02);filter:drop-shadow(0 0 30px rgba(255,215,0,.8))}}.title-subheading{font-family:var(--font-brush);font-size:2.2rem;color:gold;letter-spacing:12px;text-shadow:0 0 15px rgba(255,215,0,.8),2px 2px 4px #000;margin-bottom:5px}.title-main-logo{font-family:var(--font-impact);font-size:4.6rem;letter-spacing:6px;color:#fff;text-shadow:0 0 20px #ff0033,0 0 40px #ff0000,3px 3px 0 #800,-3px -3px 0 #800,3px -3px 0 #800,-3px 3px 0 #800;line-height:1.1}.title-edition{display:inline-block;background:var(--gold-bar);color:#000;font-family:var(--font-impact);padding:4px 18px;border-radius:4px;font-size:1.3rem;letter-spacing:4px;margin-top:10px;font-weight:900;box-shadow:0 0 15px var(--primary-gold)}.title-menu-box{display:flex;flex-direction:column;gap:15px;width:100%;max-width:420px;background:var(--bg-panel);border:2px solid #555;border-top:3px solid #ffd700;border-bottom:3px solid #ffd700;padding:24px;box-shadow:0 10px 40px #000000e6,inset 0 0 20px #000c;border-radius:6px}.title-footer{font-size:.85rem;color:#888;letter-spacing:2px;text-shadow:0 1px 2px #000}.map-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:#0a0a10eb;padding:30px;z-index:20}.screen-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #ff4444;padding-bottom:15px;margin-bottom:20px}.screen-title{font-family:var(--font-brush);font-size:2.4rem;color:gold;letter-spacing:4px;text-shadow:0 0 12px var(--gold-glow)}.player-wallet{font-family:var(--font-impact);font-size:1.4rem;color:#fff;background:#0009;border:1px solid #ffd700;padding:6px 18px;border-radius:4px}.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;flex:1;overflow-y:auto;padding-right:10px}.stage-card{background:linear-gradient(160deg,#181c2b,#0d0e17);border:2px solid #2a3350;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.stage-card:hover{border-color:gold;box-shadow:0 0 20px #ffd70066;transform:translateY(-4px)}.stage-card.locked{opacity:.5;filter:grayscale(.8);cursor:not-allowed}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.stage-region{font-family:var(--font-brush);font-size:1.5rem;color:#f34}.stage-name{font-family:var(--font-impact);font-size:1.2rem;margin-bottom:8px;color:#fff}.stage-desc{font-size:.85rem;color:#aaa;margin-bottom:12px;line-height:1.4}.stage-rival-box{display:flex;align-items:center;gap:12px;background:#00000080;padding:8px;border-radius:4px;border-left:3px solid #ffd700}.rival-avatar{width:48px;height:48px;border-radius:50%;border:2px solid #ffd700;background:#222;display:flex;align-items:center;justify-content:center;font-family:var(--font-brush);font-size:1.3rem;color:#fff}.rival-info{display:flex;flex-direction:column}.rival-name{font-family:var(--font-impact);font-size:1rem;color:gold}.rival-truck{font-size:.8rem;color:#bbb}.garage-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:24px;z-index:20}.garage-top-bar{display:flex;justify-content:space-between;align-items:center;background:var(--bg-panel);padding:12px 24px;border-radius:6px;border:1px solid #333;border-top:2px solid #ffd700}.garage-truck-name{font-family:var(--font-brush);font-size:2rem;color:gold;text-shadow:0 0 10px var(--gold-glow)}.garage-tabs{display:flex;gap:8px;background:#000000b3;padding:6px;border-radius:6px;overflow-x:auto}.garage-tab{background:transparent;border:1px solid #444;color:#aaa;padding:8px 16px;font-family:var(--font-impact);font-size:.95rem;cursor:pointer;border-radius:4px;transition:all .15s}.garage-tab.active,.garage-tab:hover{background:#ff1a2b;color:#fff;border-color:gold;box-shadow:0 0 10px #ff1e0099}.garage-bottom-panel{display:flex;gap:20px;background:var(--bg-panel);border:1px solid #333;border-bottom:2px solid #ffd700;padding:16px;border-radius:6px;max-height:240px}.parts-list{display:flex;gap:12px;overflow-x:auto;flex:1;padding-bottom:6px}.part-card{min-width:170px;background:#141826e6;border:2px solid #334;border-radius:6px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .2s}.part-card:hover{border-color:gold;transform:translateY(-2px)}.part-card.equipped{border-color:#00f0ff;box-shadow:0 0 12px #00f0ff66}.part-name{font-family:var(--font-impact);font-size:.95rem;color:#fff;margin-bottom:4px}.part-desc{font-size:.75rem;color:#888;margin-bottom:8px}.part-price{font-family:var(--font-impact);font-size:.9rem;color:gold}.garage-controls-bar{display:flex;gap:12px;align-items:center}.hud-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:16px 20px;z-index:15}.hud-top-bar{display:flex;justify-content:space-between;align-items:flex-start}.distance-meter{display:flex;flex-direction:column;background:#000000bf;border:2px solid #444;border-left:4px solid #00f0ff;padding:8px 16px;border-radius:4px}.distance-title{font-size:.75rem;color:#00f0ff;letter-spacing:2px}.distance-value{font-family:var(--font-impact);font-size:1.8rem;color:#fff}.tanka-cutin{position:absolute;top:15%;left:50%;transform:translate(-50%);display:flex;align-items:center;background:linear-gradient(90deg,#e60000f2,#140000f2);border:3px solid #ffd700;box-shadow:0 0 30px #f00c;padding:12px 28px;border-radius:8px;animation:tankaPop 3s ease forwards;z-index:100;max-width:80%}@keyframes tankaPop{0%{transform:translate(-50%,-40px) scale(.8);opacity:0}15%{transform:translate(-50%) scale(1.05);opacity:1}25%{transform:translate(-50%) scale(1);opacity:1}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.tanka-speaker{font-family:var(--font-brush);font-size:1.8rem;color:gold;margin-right:18px;white-space:nowrap}.tanka-text{font-family:var(--font-impact);font-size:1.6rem;color:#fff;text-shadow:2px 2px 0 #000;letter-spacing:2px}.karaoke-lyrics-bar{position:absolute;bottom:120px;left:50%;transform:translate(-50%);background:#000000b3;padding:8px 30px;border-radius:20px;border:1px solid rgba(255,215,0,.4);display:flex;align-items:center;gap:12px;text-align:center}.lyrics-track-title{font-family:var(--font-brush);font-size:1.1rem;color:gold;white-space:nowrap}.lyrics-content{font-family:var(--font-brush);font-size:1.5rem;letter-spacing:4px;color:#888;position:relative;white-space:nowrap}.lyrics-highlight{color:gold;text-shadow:0 0 10px var(--gold-glow);font-weight:700}.hud-bottom-bar{display:flex;justify-content:space-between;align-items:flex-end;width:100%}.otokogi-gauge-box{display:flex;flex-direction:column;width:280px;background:#000c;border:2px solid #555;border-bottom:3px solid #ff1a2b;padding:10px 14px;border-radius:6px}.otokogi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.otokogi-title{font-family:var(--font-brush);font-size:1.4rem;color:#f34;letter-spacing:3px;text-shadow:0 0 8px rgba(255,0,0,.6)}.otokogi-state{font-family:var(--font-impact);font-size:.9rem;color:gold}.otokogi-meter-track{width:100%;height:20px;background:#111;border:1px solid #333;border-radius:3px;overflow:hidden;position:relative}.otokogi-meter-fill{height:100%;width:50%;background:linear-gradient(90deg,#f90,#ff1a2b 70%,gold);box-shadow:0 0 15px #ff3200cc;transition:width .15s ease-out}.otokogi-meter-fill.burst{animation:burstFlashing .25s infinite alternate}@keyframes burstFlashing{0%{filter:brightness(1)}to{filter:brightness(1.7) drop-shadow(0 0 10px #ffd700)}}.cluster-container{display:flex;align-items:flex-end;gap:16px;background:radial-gradient(circle at center,#0f141ed9,#000000eb);border:2px solid #444;border-top:3px solid #00f0ff;padding:12px 20px;border-radius:8px;box-shadow:0 0 25px #000000e6}.dial-gauge{display:flex;flex-direction:column;align-items:center;position:relative}.speed-digital{font-family:var(--font-impact);font-size:3.2rem;color:#fff;line-height:1;text-shadow:0 0 12px #00f0ff}.speed-unit{font-size:.8rem;color:#00f0ff;letter-spacing:2px}.gear-display{display:flex;flex-direction:column;align-items:center;background:#000;border:2px solid #ffd700;padding:4px 12px;border-radius:4px}.gear-label{font-size:.7rem;color:gold}.gear-number{font-family:var(--font-impact);font-size:2.2rem;color:#fff;line-height:1}.air-pressure-box{display:flex;flex-direction:column;align-items:center;width:70px}.air-label{font-size:.7rem;color:#aaa;margin-bottom:2px}.air-bar-track{width:14px;height:50px;background:#222;border:1px solid #444;border-radius:2px;display:flex;align-items:flex-end;overflow:hidden}.air-bar-fill{width:100%;height:80%;background:#0f6;transition:height .1s,background-color .2s}.air-bar-fill.low{background:#ff1a2b;box-shadow:0 0 8px #ff1a2b}.touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-end;padding:24px;z-index:18}.touch-btn{pointer-events:auto;width:68px;height:68px;border-radius:50%;background:#0a0e19bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid rgba(255,255,255,.5);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-impact);font-size:1.05rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s,background .1s}.touch-btn:hover{transform:scale(1.06);border-color:gold}.touch-btn:active{transform:scale(.94);background:#ffd70099}.battle-intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000000d9;z-index:50;animation:battleFadeIn .3s ease-out}.battle-versus-box{display:flex;align-items:center;justify-content:center;gap:40px;width:100%}.driver-banner{display:flex;flex-direction:column;align-items:center;padding:20px;background:#14141ee6;border:2px solid #ffd700;border-radius:8px;width:320px;box-shadow:0 0 30px #000c}.driver-banner.rival{border-color:#f34}.driver-banner-name{font-family:var(--font-brush);font-size:2.2rem;color:gold;margin-bottom:6px}.driver-banner-truck{font-family:var(--font-impact);font-size:1.2rem;color:#fff}.versus-badge{font-family:var(--font-impact);font-size:4rem;color:#ff1a2b;text-shadow:0 0 25px #ff1a2b,0 0 50px #ff0000;animation:vsPulse .5s infinite alternate}@keyframes vsPulse{0%{transform:scale(1)}to{transform:scale(1.15)}}.battle-start-quote{margin-top:30px;font-family:var(--font-brush);font-size:2.2rem;color:#fff;background:#000c;padding:12px 40px;border:2px solid #ffd700;border-radius:6px;text-shadow:0 0 10px var(--gold-glow)}.result-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000e6;z-index:60;padding:30px}.result-header{font-family:var(--font-brush);font-size:4.2rem;margin-bottom:20px}.result-header.win{color:gold;text-shadow:0 0 30px var(--gold-glow)}.result-header.lose{color:#888;text-shadow:0 0 20px #444}.result-details{background:var(--bg-panel);border:2px solid #ffd700;padding:24px 40px;border-radius:8px;display:flex;flex-direction:column;gap:14px;min-width:380px;margin-bottom:30px}.result-row{display:flex;justify-content:space-between;font-size:1.2rem}.result-reward{font-family:var(--font-impact);font-size:1.8rem;color:gold;border-top:1px solid #444;padding-top:12px}.cargo-selection-box{background:#0c101cf2;border:2px solid #ffd700;border-radius:8px;padding:16px 24px;margin:18px 0;max-width:820px;width:90%;box-shadow:0 0 25px #ffd70033}.cargo-box-title{font-family:var(--font-brush);font-size:1.4rem;color:gold;text-align:center;margin-bottom:12px;text-shadow:0 0 10px rgba(255,215,0,.5)}.cargo-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.cargo-card{background:#161c2ed9;border:2px solid #334466;border-radius:6px;padding:10px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;justify-content:space-between}.cargo-card:hover{border-color:gold;transform:translateY(-2px)}.cargo-card.selected{border-color:#00f0ff;background:#00f0ff26;box-shadow:0 0 15px #00f0ff66}.cargo-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.cargo-icon{font-size:1.4rem}.cargo-name{font-family:var(--font-impact);font-size:.95rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cargo-desc{font-size:.72rem;color:#aaa;line-height:1.3;margin-bottom:8px}.cargo-pay{font-family:var(--font-impact);font-size:.88rem;color:gold}.load-level-selector{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}.load-btn{background:#141826e6;border:1px solid #556688;color:#fff;padding:8px 18px;border-radius:4px;font-family:var(--font-impact);font-size:.9rem;cursor:pointer;transition:all .2s}.load-btn:hover{border-color:gold}.load-btn.selected{border-color:#ff1a2b;background:#ff1a2b4d;box-shadow:0 0 12px #ff1a2b66;color:#fff}.cargo-summary-bar{display:flex;justify-content:space-around;font-size:.85rem;color:gold;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,215,0,.3)}.hud-cargo-badge{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#0a0e19d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid #ffd700;border-radius:20px;padding:6px 20px;font-family:var(--font-impact);font-size:.95rem;color:#fff;display:flex;align-items:center;gap:10px;z-index:25;box-shadow:0 0 15px #0009;transition:all .2s}.hud-cargo-badge.damaged{border-color:#ff1a2b;color:#fc0;animation:cargoWarningPulse .6s infinite alternate}@keyframes cargoWarningPulse{0%{box-shadow:0 0 10px #ff1a2b66}to{box-shadow:0 0 25px #ff1a2be6}}
