.game-gridlock{--gl-accent: #ffbf57;--gl-accent-soft: rgba(255, 191, 87, .14);--gl-accent-line: rgba(255, 191, 87, .45);--gl-surface: rgba(16, 19, 26, .84);--gl-surface-raised: rgba(255, 255, 255, .06);--gl-surface-hover: rgba(255, 255, 255, .1);--gl-border: rgba(255, 255, 255, .12);--gl-border-strong: rgba(255, 255, 255, .22);--gl-text: #eef1f6;--gl-text-dim: #9aa4b4;--gl-good: #6ee7a0;--gl-bad: #f0736a;--gl-player: #e0392f;--gl-shadow: 0 .75rem 2rem rgba(0, 0, 0, .38);display:flex;flex-direction:column;gap:.75rem;color:var(--gl-text);font-size:var(--fs-body)}.game-gridlock .gl-breadcrumb{padding:.25rem 0 0}.game-gridlock .gl-breadcrumb .breadcrumb-item,.game-gridlock .gl-breadcrumb .breadcrumb-item a{color:var(--gl-text-dim);text-decoration:none;font-size:var(--fs-sm)}.game-gridlock .gl-breadcrumb .breadcrumb-item a:hover{color:var(--gl-accent)}.game-gridlock .gl-breadcrumb .breadcrumb-item.active{color:var(--gl-text)}.game-gridlock .gl-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:.875rem 1.125rem;background:var(--gl-surface);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border:.0625rem solid var(--gl-border);border-radius:var(--radius-lg)}.game-gridlock .gl-title h1{margin:0;font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.01em}.game-gridlock .gl-title p{margin:.125rem 0 0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-stats{display:flex;flex-wrap:wrap;gap:1.25rem;margin:0}.game-gridlock .gl-stat dt{margin:0;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gl-text-dim)}.game-gridlock .gl-stat dd{margin:.1rem 0 0;font-size:var(--fs-xl);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.game-gridlock .gl-stat-par dd{color:var(--gl-accent)}.game-gridlock .gl-layout{display:grid;grid-template-columns:minmax(0,1fr) 20.5rem;gap:.75rem;align-items:start}@media(max-width:68rem){.game-gridlock .gl-layout{grid-template-columns:minmax(0,1fr)}}.game-gridlock .gl-viewport{position:relative;height:clamp(26rem,68vh,42rem);border:.0625rem solid var(--gl-border);border-radius:var(--radius-lg);overflow:hidden;background:#0d1119;box-shadow:var(--gl-shadow)}.game-gridlock .gl-viewport canvas{display:block;width:100%;height:100%;touch-action:none}.game-gridlock .gl-viewport canvas.gl-grabbable{cursor:grab}.game-gridlock .gl-viewport canvas.gl-grabbing{cursor:grabbing}.game-gridlock .gl-controls{position:absolute;inset-inline-end:.6rem;inset-block-start:.6rem;display:flex;gap:.35rem}.game-gridlock .gl-status{position:absolute;inset-inline-start:.6rem;inset-block-end:.6rem;max-width:min(28rem,calc(100% - 1.2rem));margin:0;padding:.4rem .7rem;font-size:var(--fs-sm);color:var(--gl-text-dim);background:#0a0d13c7;backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);border:.0625rem solid var(--gl-border);border-radius:var(--radius-md)}.game-gridlock .gl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.42rem .7rem;font-size:var(--fs-body-sm);font-weight:600;color:var(--gl-text);background:var(--gl-surface-raised);border:.0625rem solid var(--gl-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.game-gridlock .gl-btn:hover:not(:disabled){background:var(--gl-surface-hover);border-color:var(--gl-border-strong)}.game-gridlock .gl-btn:disabled{opacity:.42;cursor:not-allowed}.game-gridlock .gl-btn i{font-size:1rem;line-height:1}.game-gridlock .gl-btn-primary{color:#191308;background:var(--gl-accent);border-color:var(--gl-accent)}.game-gridlock .gl-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--gl-accent) 86%,white);border-color:color-mix(in srgb,var(--gl-accent) 86%,white)}.game-gridlock .gl-btn-icon{padding:.42rem .5rem}.game-gridlock .gl-overlay,.game-gridlock .gl-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#080a0fc2;backdrop-filter:blur(.4rem);-webkit-backdrop-filter:blur(.4rem);z-index:2}.game-gridlock .gl-overlay[hidden],.game-gridlock .gl-loading[hidden]{display:none}.game-gridlock .gl-overlay-card,.game-gridlock .gl-loading-card{width:min(26rem,100%);padding:1.25rem;text-align:center;background:var(--gl-surface);border:.0625rem solid var(--gl-border-strong);border-radius:var(--radius-lg);box-shadow:var(--gl-shadow)}.game-gridlock .gl-overlay-card h2,.game-gridlock .gl-loading-card h2{margin:0 0 .5rem;font-size:var(--fs-xl);font-weight:700}.game-gridlock .gl-verdict{margin:0 0 .9rem;font-size:var(--fs-body);color:var(--gl-text-dim)}.game-gridlock .gl-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0 0 .75rem}.game-gridlock .gl-result>div{padding:.5rem;background:var(--gl-surface-raised);border-radius:var(--radius-md)}.game-gridlock .gl-result dt{margin:0;font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--gl-text-dim)}.game-gridlock .gl-result dd{margin:.1rem 0 0;font-size:var(--fs-lg);font-weight:700;font-variant-numeric:tabular-nums}.game-gridlock .gl-record{margin:0 0 .5rem;font-weight:600;color:var(--gl-accent)}.game-gridlock .gl-note{margin:0 0 .5rem;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.game-gridlock .gl-loading-track{height:.3rem;margin:.75rem 0 .5rem;overflow:hidden;background:var(--gl-surface-raised);border-radius:var(--radius-full)}.game-gridlock .gl-loading-bar{width:0;height:100%;background:var(--gl-accent);border-radius:inherit;transition:width .2s ease}.game-gridlock .gl-loading-card p{margin:0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-panel{display:flex;flex-direction:column;gap:.75rem}.game-gridlock .gl-section{padding:.8rem .9rem;background:var(--gl-surface);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border:.0625rem solid var(--gl-border);border-radius:var(--radius-lg)}.game-gridlock .gl-section-title{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gl-text-dim)}.game-gridlock .gl-section-title i{font-size:.95rem;color:var(--gl-accent)}.game-gridlock .gl-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.game-gridlock .gl-seg button{padding:.42rem .4rem;font-size:var(--fs-body-sm);font-weight:600;color:var(--gl-text-dim);background:var(--gl-surface-raised);border:.0625rem solid var(--gl-border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.game-gridlock .gl-seg button:hover{background:var(--gl-surface-hover);color:var(--gl-text)}.game-gridlock .gl-seg button.active{color:#191308;background:var(--gl-accent);border-color:var(--gl-accent)}.game-gridlock .gl-band{margin:.5rem 0 0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-seg-size{grid-template-columns:repeat(4,minmax(0,1fr))}.game-gridlock .gl-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.game-gridlock .gl-btn-exit{display:none}.game-gridlock .gl-toggle{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--fs-body-sm);cursor:pointer}.game-gridlock .gl-toggle input{margin-top:.15rem;accent-color:var(--gl-accent)}.game-gridlock .gl-toggle-hint{display:block;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-coach-panel{margin-top:.65rem;padding-top:.65rem;border-top:.0625rem solid var(--gl-border)}.game-gridlock .gl-coach-panel[hidden]{display:none}.game-gridlock .gl-distance{display:flex;align-items:baseline;gap:.4rem}.game-gridlock .gl-distance strong{font-size:var(--fs-3xl);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--gl-accent)}.game-gridlock .gl-distance span{font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-drift{margin:.4rem 0 0;font-size:var(--fs-sm);color:var(--gl-bad)}.game-gridlock .gl-drift.gl-drift-clean{color:var(--gl-good)}.game-gridlock .gl-lines{margin:.25rem 0 0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-lines[hidden]{display:none}.game-gridlock .gl-bests-size{margin-left:auto;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.04em;color:var(--gl-accent)}.game-gridlock .gl-log{max-height:11rem;margin:0;padding:0;overflow-y:auto;list-style:none}.game-gridlock .gl-log li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.28rem 0;font-size:var(--fs-sm);color:var(--gl-text-dim);border-bottom:.0625rem solid rgba(255,255,255,.05)}.game-gridlock .gl-log li:last-child{border-bottom:0;color:var(--gl-text)}.game-gridlock .gl-tag{flex:none;padding:.06rem .4rem;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full)}.game-gridlock .gl-tag-good{color:var(--gl-good);background:#6ee7a024}.game-gridlock .gl-tag-flat{color:var(--gl-accent);background:var(--gl-accent-soft)}.game-gridlock .gl-tag-bad{color:var(--gl-bad);background:#f0736a26}.game-gridlock .gl-bests{margin:0;padding:0;list-style:none}.game-gridlock .gl-bests li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.26rem 0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-bests li span:last-child{font-variant-numeric:tabular-nums;color:var(--gl-text)}.game-gridlock .gl-code-row{display:flex;align-items:center;gap:.4rem}.game-gridlock .gl-code{flex:1;min-width:0;overflow-x:auto;padding:.35rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-sm);color:var(--gl-text-dim);white-space:nowrap;background:var(--gl-surface-raised);border-radius:var(--radius-sm)}.game-gridlock .gl-keys ul{margin:0;padding:0;list-style:none}.game-gridlock .gl-keys li{padding:.16rem 0;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-keys kbd{padding:.05rem .32rem;font-family:inherit;font-size:var(--fs-2xs);color:var(--gl-text);background:var(--gl-surface-raised);border:.0625rem solid var(--gl-border);border-radius:var(--radius-xs)}.game-gridlock .gl-rules{margin:0;padding-left:1.05rem}.game-gridlock .gl-rules li{margin-bottom:.3rem;font-size:var(--fs-sm);color:var(--gl-text-dim)}.game-gridlock .gl-rules li:last-child{margin-bottom:0}.game-gridlock .gl-rules b{color:var(--gl-text)}body.gl-immersive-lock{overflow:hidden;position:fixed;inset:0;width:100%}body.gl-immersive-lock #floatingIsland{display:none}.game-gridlock.gl-immersive{position:fixed;inset:0;z-index:1080;gap:0;height:100dvh;background:#0d1119}.game-gridlock.gl-immersive .gl-breadcrumb,.game-gridlock.gl-immersive .gl-title,.game-gridlock.gl-immersive .gl-stat-level{display:none}.game-gridlock.gl-immersive .gl-layout{display:block;position:absolute;inset:0}.game-gridlock.gl-immersive .gl-viewport{position:absolute;inset:0;height:100%;border:0;border-radius:0;box-shadow:none}.game-gridlock.gl-immersive .gl-header{position:absolute;top:0;left:0;right:0;z-index:3;flex-wrap:nowrap;align-items:center;padding:max(.35rem,env(safe-area-inset-top)) max(.6rem,env(safe-area-inset-right)) .35rem max(.6rem,env(safe-area-inset-left));background:#0a0d13a8;border:0;border-radius:0}.game-gridlock.gl-immersive .gl-stats{display:flex;flex-wrap:nowrap;justify-content:center;gap:.35rem;width:100%}.game-gridlock.gl-immersive .gl-stat{flex:1 1 0;min-width:0;max-width:9rem;text-align:center}.game-gridlock.gl-immersive .gl-stat dt{justify-content:center}.game-gridlock.gl-immersive .gl-stat dd{font-size:var(--fs-body-lg)}.game-gridlock.gl-immersive .gl-controls{top:auto;bottom:4.25rem;inset-inline-end:max(.6rem,env(safe-area-inset-right))}.game-gridlock.gl-immersive .gl-status{inset-block-end:4.25rem;inset-inline-start:max(.6rem,env(safe-area-inset-left));max-width:min(22rem,calc(100% - 5rem))}.game-gridlock.gl-immersive .gl-panel{position:absolute;left:0;right:0;bottom:0;z-index:3;gap:0;padding:0 max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));pointer-events:none}.game-gridlock.gl-immersive .gl-panel>.gl-section:not(.gl-section-actions){display:none}.game-gridlock.gl-immersive .gl-section-actions{padding:.4rem;background:#0a0d13d1;pointer-events:auto}.game-gridlock.gl-immersive .gl-section-actions .gl-section-title{display:none}.game-gridlock.gl-immersive .gl-actions{display:flex;justify-content:center;gap:.4rem}.game-gridlock.gl-immersive .gl-actions .gl-btn{flex:1 1 0;min-width:0;max-width:7rem}.game-gridlock.gl-immersive .gl-btn-exit{display:inline-flex}@media(max-height:30rem){.game-gridlock.gl-immersive .gl-stat dt{display:none}.game-gridlock.gl-immersive .gl-actions .gl-btn span:not(.visually-hidden){display:none}.game-gridlock.gl-immersive .gl-controls,.game-gridlock.gl-immersive .gl-status{bottom:3.1rem}}@media(prefers-reduced-motion:reduce){.game-gridlock .gl-btn,.game-gridlock .gl-seg button,.game-gridlock .gl-loading-bar{transition:none}}
