.online-page{min-height:100vh;background:#f4f6fa}.online-main{max-width:1080px;margin:0 auto;padding:48px 28px 72px}.online-card{background:#fff;border:1px solid #e1e7f0;border-radius:16px;box-shadow:0 14px 45px #2037520a;padding:clamp(24px,5vw,56px);margin-bottom:22px}.online-card h1{font-size:clamp(34px,5vw,54px);line-height:1.08;letter-spacing:-.04em;color:#152946;margin:10px 0 16px}.online-hero{max-width:510px}.online-hero>p:not(.intro-label){font-size:15px;line-height:1.75;color:#5d718b}.online-stages{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;color:#71849b;font-size:11px;font-weight:650}.online-entry{border-left:1px solid #e3e9f2;padding:6px 0 6px 36px;display:grid;align-content:center;gap:18px}.online-entry>label,.room-join label,.online-controls label{font-size:12px;color:#526a87}.online-entry input,.online-entry select,.room-join input{display:block;width:100%;margin-top:7px}.online-entry>.primary-button{width:100%;margin-top:2px}.online-entry{max-width:390px}.online-card#online-lobby{display:grid;grid-template-columns:1fr minmax(260px,.75fr);gap:60px;align-items:center}.room-join{border-top:1px solid #e6ebf3;padding-top:18px;display:grid;gap:11px}.room-join>span{font-size:11px;color:#8292a5}.room-join>.secondary-button{width:100%}.online-room-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.online-room-top>div:first-child{max-width:590px}.online-room-top p:not(.intro-label){color:#657890;line-height:1.7}.room-code-card{display:grid;justify-items:center;gap:8px;background:#f3f6fb;border:1px solid #e3eaf3;border-radius:11px;padding:17px 22px;min-width:190px}.room-code-card>span{font-size:10px;color:#7688a0}.room-code-card strong{font:700 25px ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#244f80}.room-code-card button{font-size:11px;padding:9px 13px}.online-itinerary{display:flex;list-style:none;gap:12px;padding:0;margin:28px 0}.online-itinerary li{flex:1;border-top:2px solid #dce5f0;padding:12px;color:#70839a;font-size:12px}.online-itinerary li[aria-current=step]{border-color:#4385f5;color:#244f80;background:#f5f8fd}.online-itinerary small{display:block;margin-top:7px;color:#8797aa}.opponent-status{display:flex;gap:11px;align-items:center;color:#526f90;font-size:12px;line-height:1.6}.opponent-status p{margin:0}.pulse{width:8px;height:8px;border-radius:50%;background:#d3a853;box-shadow:0 0 0 4px #f8efdc;flex:none}.pulse[data-state=online]{background:#48a997;box-shadow:0 0 0 4px #e3f2ed}.pulse[data-state=offline]{background:#bd6873;box-shadow:0 0 0 4px #f6e9eb}.online-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:22px}.online-help{font-size:13px;line-height:1.75;color:#637891;max-width:720px}.online-conditions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}.online-conditions>div{background:#f4f7fb;border:1px solid #e5eaf1;padding:10px 13px;border-radius:8px;font-size:11px;color:#62768e}.online-editor-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:28px;align-items:start}.online-controls{display:grid;gap:17px}.online-controls fieldset{border:0;padding:0;margin:0}.online-controls legend{font-size:12px;color:#526a87;margin-bottom:10px}.online-particles{display:grid;gap:7px}.online-particle{display:flex;align-items:center;gap:10px;border:1px solid #e1e8f1;border-radius:8px;padding:9px 11px;color:#344f70}.online-particle input{accent-color:#4385f5}.online-particle span{font-size:12px}.online-particle small{margin-left:auto;color:#7588a0;font-size:10px}.point-controls{display:grid;gap:10px}.point-control{display:grid;grid-template-columns:1fr 1fr;gap:10px}.point-control label{font-size:10px}.point-control input{width:100%;display:block;margin-top:6px}.online-controls>.primary-button{width:100%}.draw-canvas{border:1px solid #e4eaf2;border-radius:10px;overflow:hidden;min-width:0}.draw-canvas svg{display:block;width:100%}.lock-status{margin:0!important}.reveal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.reveal-card{border:1px solid #e2e9f1;border-radius:10px;padding:15px}.reveal-card h3{font-size:14px;margin:0 0 7px}.reveal-card p{font-size:11px;color:#657890;margin:4px 0;line-height:1.6}.race-scene{position:relative;height:min(60vw,440px);min-height:300px;overflow:hidden;border-radius:10px;background:#152946}.race-scene canvas{display:block;width:100%;height:100%}.race-clock{font-variant-numeric:tabular-nums;color:#244f80;font-size:14px;margin:15px 0}.race-clock output{font-size:22px;font-weight:700}.online-result{border-radius:10px;background:#eef4fa;padding:18px;margin:14px 0;color:#244f80}.online-result h2{margin:0 0 5px;font-size:22px}.online-result p{margin:0;font-size:12px;line-height:1.65}.online-score{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 24px}.score-chip{padding:8px 12px;border-radius:18px;background:#f2f5f9;color:#526b88;font-size:11px}.score-chip strong{margin-left:5px}.score-chip[data-winner=true]{background:#e9f4ee;color:#34745e}.online-footnote{max-width:730px;margin:24px auto 0;text-align:center;color:#8b99aa;font-size:11px;line-height:1.7}.site-header>a.quiet-button{text-decoration:none}.online-page .site-footer{display:none}@media(max-width:760px){.online-main{padding:24px 14px 46px}.online-card#online-lobby{grid-template-columns:1fr;gap:30px}.online-entry{max-width:none;border-left:0;border-top:1px solid #e3e9f2;padding:25px 0 0}.online-room-top{align-items:flex-start;flex-direction:column}.room-code-card{justify-items:start;width:100%}.online-editor-layout{grid-template-columns:1fr}.reveal-list{grid-template-columns:1fr}.online-stages{gap:9px}.race-scene{height:70vw;min-height:260px}.online-itinerary{gap:5px}.online-itinerary li{padding:9px 7px;font-size:10px}}
