/* ── 체리 카트 ── */
#kart-screen{--ga-accent:#ffd166;--ga-accent-ink:#2a1c00;--ga-glass:rgb(14 12 30 / .74);--ga-line:#ffffff24;--ga-text:#fffaf3;--ga-muted:#ffffffc2;--ga-paper:#fffaf2;--kart-ink:#16121f;--kart-hot:#ff3b5c;flex-direction:column;align-items:center}
#kart-screen [hidden]{display:none!important}
#kart-screen .play-heading{margin-bottom:10px}
.kart-root{display:flex;flex-direction:column;gap:10px;width:100%;min-width:0}
.kart-status{position:relative;z-index:2}
.kart-stage{position:relative;width:100%;height:clamp(420px,calc(100svh - 168px),820px);border-radius:24px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 20%,#3a2f6b,#120e24 70%);box-shadow:var(--shadow-art,0 18px 44px #0008),inset 0 0 0 1px #ffffff1f;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.kart-view{position:absolute;inset:0}
.kart-view canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.kart-view .kart-overlay{pointer-events:none;z-index:1}
.kart-hud{position:absolute;inset:0;pointer-events:none;z-index:3;font-family:var(--font);color:#fff}
.kart-rank{position:absolute;left:14px;top:12px;display:flex;align-items:baseline;gap:2px;font-weight:900;font-style:italic;text-shadow:0 3px 0 #0006,0 0 18px #0009;letter-spacing:-2px}
.kart-rank b{font-size:64px;line-height:1;background:linear-gradient(180deg,#fff 20%,#ffd166 60%,#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px #2a1330;paint-order:stroke fill}
.kart-rank[data-rank="1"] b{background-image:linear-gradient(180deg,#fffbe0 10%,#ffd166 55%,#ffa600)}
.kart-rank small{font-size:22px;color:#ffffffd0}
.kart-lapbox{position:absolute;left:16px;top:84px;display:flex;flex-direction:column;gap:2px;padding:6px 12px;border-radius:12px;background:#0c0a1a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-variant-numeric:tabular-nums}
.kart-lapbox strong{font-size:16px;font-weight:900;letter-spacing:.5px}
.kart-lapbox span{font-size:13px;font-weight:700;color:#ffffffc8}
.kart-item{position:absolute;left:50%;top:12px;transform:translateX(-50%);width:76px;height:76px;border-radius:20px;border:3px solid #ffffffb0;background:radial-gradient(circle at 50% 35%,#ffffff40,#1b1535cc 70%);box-shadow:0 8px 20px #0007,inset 0 0 0 3px #ffffff1c;pointer-events:auto;display:grid;place-items:center;padding:0;cursor:pointer}
.kart-item-icon{width:54px;height:54px;display:block}
.kart-item-icon svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 2px #0006)}
.kart-item.is-rolling{border-color:#ffd166;animation:kart-roll .16s linear infinite}
.kart-item.has-item{border-color:#ffd166;box-shadow:0 0 0 4px #ffd16655,0 0 26px #ffd166aa,0 8px 20px #0007;animation:kart-ready 1s ease-in-out infinite}
@keyframes kart-roll{50%{transform:translateX(-50%) scale(1.06)}}
@keyframes kart-ready{50%{box-shadow:0 0 0 7px #ffd16633,0 0 34px #ffd166,0 8px 20px #0007}}
.kart-board{position:absolute;left:14px;top:150px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;width:150px}
.kart-board li{display:flex;align-items:center;gap:8px;padding:3px 10px 3px 4px;border-radius:999px;background:#0c0a1a8c;font-size:13px;font-weight:800;border-left:4px solid var(--kc);transition:transform .25s}
.kart-board li b{width:20px;text-align:center;font-style:italic}
.kart-board li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kart-board li.is-me{background:#ffd166e6;color:#2a1c00}
.kart-drift{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;opacity:0;transition:opacity .2s}
.kart-drift i{width:16px;height:16px;border-radius:50%;background:#ffffff33;box-shadow:inset 0 0 0 2px #ffffff55}
.kart-drift.lv-1,.kart-drift.lv-2,.kart-drift.lv-3{opacity:1}
.kart-drift.lv-1 i:nth-child(1),.kart-drift.lv-2 i:nth-child(1),.kart-drift.lv-3 i:nth-child(1){background:#5cc8ff;box-shadow:0 0 14px #5cc8ff}
.kart-drift.lv-2 i:nth-child(2),.kart-drift.lv-3 i:nth-child(2){background:#ffa12e;box-shadow:0 0 14px #ffa12e}
.kart-drift.lv-3 i:nth-child(3){background:#d05cff;box-shadow:0 0 14px #d05cff}
.kart-lights{position:absolute;left:50%;top:22%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:999px;background:linear-gradient(180deg,#26222e,#07060a);box-shadow:0 14px 34px #000b,inset 0 1px 0 #ffffff26;pointer-events:none}
.kart-lights i{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#3a1414,#140707 70%);box-shadow:inset 0 3px 8px #000c,0 0 0 3px #2a2630}
.kart-lights i.is-on{background:radial-gradient(circle at 40% 35%,#ffb3a8,#e5383b 55%,#8e1111);box-shadow:0 0 22px #e5383b,0 0 50px #e5383b88,0 0 0 3px #3b1a1a;animation:kart-lamp .25s ease-out}
.kart-lights b{display:none;font-size:40px;font-weight:900;font-style:italic;color:#fff;text-shadow:0 0 20px #2fbf71}
.kart-lights.is-go i.is-on{background:radial-gradient(circle at 40% 35%,#d8ffe6,#2fbf71 55%,#0d6b3a);box-shadow:0 0 24px #2fbf71,0 0 60px #2fbf7199,0 0 0 3px #16341f}
.kart-lights.is-go b{display:block;animation:kart-go .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes kart-lamp{from{transform:scale(.7)}}
@keyframes kart-go{from{transform:scale(.3)}}
.kart-callout{position:absolute;left:50%;top:38%;z-index:6;transform:translate(-50%,-50%);max-width:calc(100% - 32px);text-align:center;font-size:clamp(28px,6vw,54px);font-weight:900;font-style:italic;letter-spacing:-1px;color:#fff;-webkit-text-stroke:2px #2a1330;paint-order:stroke fill;text-shadow:0 5px 0 #0007,0 0 30px #0008;pointer-events:none;opacity:0;white-space:nowrap}
.kart-callout.is-on{opacity:1}
.kart-callout.is-pop{animation:kart-pop .45s cubic-bezier(.3,1.7,.5,1) both}
.kart-callout.is-up,.kart-callout.is-gold{color:#ffd166}
.kart-callout.is-down{color:#ffb3c0}
.kart-callout.is-final{color:#ff5d73;font-size:clamp(34px,8vw,68px)}
.kart-callout.is-turbo1{color:#8fdcff}
.kart-callout.is-turbo2{color:#ffbe6b}
.kart-callout.is-turbo3{color:#e7a0ff}
.kart-callout.is-item{color:#fff6c0;font-size:clamp(20px,4vw,30px);top:26%}
.kart-callout.is-info{font-size:16px;font-style:normal;-webkit-text-stroke:0;white-space:normal;background:#0c0a1acc;padding:10px 16px;border-radius:14px;top:60%}
.kart-callout.is-zap{color:#fff27a}
@keyframes kart-pop{from{transform:translate(-50%,-50%) scale(.4) rotate(-6deg)}}
.kart-mc{position:absolute;left:12px;right:12px;bottom:14px;z-index:4;max-width:560px;margin:0 auto;pointer-events:none}
.kart-mc .ga-mc-face{width:54px;height:54px}
.kart-mc .ga-mc-bubble p{font-size:14px}
.kart-stage.has-touch .kart-mc{bottom:auto;top:96px}
.kart-spec{position:absolute;right:12px;top:12px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-height:44px;padding:8px 14px;border-radius:14px;border:1px solid #ffffff40;background:#0c0a1acc;color:#fff;font-weight:800;cursor:pointer}
.kart-spec small{font-size:11px;color:#ffffffb0}
.kart-card{position:absolute;inset:0;z-index:5;display:grid;grid-template-rows:1fr auto;animation:kart-card-in .6s cubic-bezier(.2,.8,.2,1) both}
.kart-card-art{position:relative;overflow:hidden;background:var(--kart-sky,#5fb4ff)}
.kart-card-art img{width:100%;height:100%;object-fit:cover;display:block}
.kart-card-art.is-empty:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#ffffff14 0 40px,transparent 40px 80px),radial-gradient(ellipse at 50% 120%,#0006,transparent 60%)}
.kart-card-copy{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 24px;background:linear-gradient(180deg,transparent,#0c0a1ae6 55%);color:#fff}
.kart-card-kicker{display:inline-block;padding:4px 12px;border-radius:999px;background:#ffd166;color:#2a1c00;font-size:13px;font-weight:900;letter-spacing:1px}
.kart-card h2{margin:10px 0 4px;font-size:clamp(34px,6vw,58px);font-weight:900;font-style:italic;letter-spacing:-1.5px;line-height:1.1;text-shadow:0 4px 0 #0006}
.kart-card p{margin:0;font-size:16px;font-weight:700;color:#ffffffd6}
.kart-card-laps{display:inline-block;margin-top:10px;font-size:14px;font-weight:900;color:#ffd166}
@keyframes kart-card-in{from{opacity:0;transform:scale(1.06)}}
.kart-panel{position:absolute;inset:0;z-index:5;overflow:auto;padding:22px 18px;background:linear-gradient(180deg,#0c0a1a55,#0c0a1ae6 40%);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.kart-final{inset:12px 12px 12px auto;width:min(420px,calc(100% - 24px));border-radius:20px;background:#0c0a1ad9;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 18px 40px #0008}
.kart-panel h2{margin:0 0 12px;text-align:center;font-size:26px;font-weight:900;font-style:italic;letter-spacing:-.5px}
.kart-final .kart-table li{padding:6px 10px}
.kart-table{list-style:none;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:6px;max-width:560px}
.kart-table li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#ffffff14;border-left:5px solid var(--kc);min-width:0}
.kart-table li.is-me{background:#ffd16633;box-shadow:inset 0 0 0 2px #ffd166}
.kart-place{width:34px;flex:none;text-align:center;font-size:20px;font-weight:900;font-style:italic}
.kart-face{width:40px;height:40px;flex:none;border-radius:50%;object-fit:cover;background:#2a1a1f;border:2px solid var(--kc)}
.kart-who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.kart-who strong{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kart-who strong em{margin-left:6px;font-style:normal;font-size:11px;padding:1px 6px;border-radius:999px;background:#ffd166;color:#2a1c00}
.kart-who small{font-size:12px;color:#ffffffb0;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kart-pts{flex:none;display:flex;flex-direction:column;align-items:flex-end}
.kart-pts b{font-size:17px;font-weight:900;color:#ffd166}
.kart-pts small{font-size:11px;color:#ffffffb0}
#kart-final-actions{max-width:560px;margin:14px auto 0}
#kart-final-actions .ga-actions>button{flex:1 1 140px;min-height:48px}
#kart-final-actions .ga-ghost{background:#ffffff1f;border:1px solid #ffffff3d;color:#fff;border-radius:var(--r-control,14px);min-height:48px;padding:12px 18px;font-weight:800;font-size:15px}
#kart-final-actions .ga-ghost:hover,#kart-final-actions .ga-ghost:focus-visible{border-color:#ffd166}
#kart-final-actions .ga-note{color:#ffffffb8;margin-top:8px}
.kart-loading{position:absolute;inset:0;z-index:7;display:grid;place-content:center;gap:12px;text-align:center;color:#fff;font-weight:800;background:#120e24}
.kart-loading-flag{width:64px;height:40px;margin:0 auto;background:conic-gradient(#fff 25%,#1d1b22 0 50%,#fff 0 75%,#1d1b22 0) 0 0/16px 16px;border-radius:4px;animation:kart-flag .6s ease-in-out infinite alternate}
@keyframes kart-flag{to{transform:skewY(-8deg) scale(1.05)}}
.kart-touch{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px 14px calc(14px + env(safe-area-inset-bottom));pointer-events:none}
.kart-wheel{position:relative;width:min(46%,210px);height:120px;border-radius:60px;background:linear-gradient(180deg,#ffffff26,#ffffff0d);border:2px solid #ffffff45;pointer-events:auto;touch-action:none;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.kart-wheel:before{content:'';position:absolute;left:18px;right:18px;top:50%;height:4px;border-radius:2px;background:#ffffff3a}
.kart-wheel-knob{width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#2a2433 30%,transparent 31%),conic-gradient(#e63950 0 20%,#2a2433 0 30%,#e63950 0 70%,#2a2433 0 80%,#e63950 0);border:5px solid #fff;box-shadow:0 8px 18px #0008;transition:transform .08s}
.kart-buttons{display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.kart-btn{pointer-events:auto;touch-action:none;min-width:88px;min-height:56px;padding:0 18px;border-radius:999px;border:3px solid #fff;font-size:16px;font-weight:900;color:#fff;box-shadow:0 8px 18px #0008;-webkit-user-select:none;user-select:none}
.kart-btn-drift{min-width:112px;min-height:112px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#8fdcff,#2f7fe0 70%);font-size:17px}
.kart-btn-drift.is-down{transform:scale(.93);background:radial-gradient(circle at 40% 30%,#e7a0ff,#8a3fe0 70%)}
.kart-btn-item{background:radial-gradient(circle at 40% 30%,#ffe29a,#e8900c 75%);color:#2a1c00;opacity:.55}
.kart-btn-item.is-ready{opacity:1;animation:kart-ready 1s ease-in-out infinite}
.kart-keys{margin:0;font-size:12.5px;color:var(--muted);text-align:center;line-height:1.6}
.kart-stage.is-flat{background:#6fbf5a}
@media (hover:none) and (pointer:coarse){.kart-keys{display:none}}
@media (max-width:700px){
  #kart-screen.screen.play-screen{padding:10px 10px 24px}
  #kart-screen .play-heading{margin-bottom:6px}
  #kart-screen .play-heading h1{font-size:20px}
  .kart-root{gap:6px}
  .kart-status{padding:8px 10px 10px;gap:5px;border-radius:14px}
  .kart-status .ga-status-title{font-size:14px}
  .kart-status .ga-status-desc{font-size:11.5px;min-height:0;line-height:1.45}
  .kart-stage{height:max(440px,calc(100svh - 112px));border-radius:18px}
  .kart-rank{left:10px;top:8px}
  .kart-rank b{font-size:48px}
  .kart-rank small{font-size:17px}
  .kart-lapbox{left:10px;top:62px;padding:4px 9px}
  .kart-lapbox strong{font-size:13px}
  .kart-lapbox span{font-size:11px}
  .kart-item{top:8px;width:64px;height:64px;border-radius:16px}
  .kart-item-icon{width:44px;height:44px}
  .kart-board{display:none}
  .kart-spec{top:auto;bottom:12px;left:10px;right:auto;align-items:flex-start}
  .kart-stage:has(.kart-spec:not([hidden])) .kart-mc{bottom:78px}
  .kart-lights{top:18%;gap:10px;padding:9px 14px}
  .kart-lights i{width:38px;height:38px}
  .kart-drift{bottom:150px}
  .kart-panel{padding:16px 10px}
  .kart-final{inset:auto 8px 8px 8px;width:auto;max-height:58%}
  .kart-table li{padding:6px 8px;gap:8px}
  .kart-face{width:34px;height:34px}
  .kart-place{width:28px;font-size:17px}
  .kart-card p{font-size:14px}
  .kart-mc .ga-mc-face{width:44px;height:44px}
  .kart-mc .ga-mc-bubble{padding:8px 12px}
  .kart-mc .ga-mc-bubble p{font-size:13px}
  .kart-stage.has-touch .kart-mc{top:auto;bottom:196px}
  .kart-mc{left:8px;right:8px}
}
@media (prefers-reduced-motion:reduce){.kart-callout.is-pop,.kart-item.is-rolling,.kart-item.has-item,.kart-btn-item.is-ready,.kart-card,.kart-lights i.is-on,.kart-lights.is-go b,.kart-loading-flag{animation:none}}
