*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 0%,#eee6ff,transparent 55%),#f9f7fc;color:#554665;font-family:system-ui,'Malgun Gothic',sans-serif}main{max-width:1480px;margin:auto;padding:22px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}h1{font-size:29px;margin:3px 0;letter-spacing:-1.3px;color:#80619f}h1 span{color:#b392cb}header small{font-size:11px;color:#b09bbd}.tools{display:flex;gap:7px}button{border:0;border-radius:12px;padding:10px 13px;background:#eee6f5;color:#8b71a4;font:inherit;font-size:12px;font-weight:650;cursor:pointer}button:hover{filter:brightness(.97)}button:disabled{opacity:.4;cursor:default}section{display:grid;grid-template-columns:280px 1fr;gap:18px}.panel{background:#fffdfd;border:1px solid #ede4f2;border-radius:22px;padding:20px}h2{font-size:17px;margin:0 0 16px}.labels{display:flex;justify-content:space-between;font-size:11px;color:#ad9ab9;margin-bottom:8px}.row{display:grid;grid-template-columns:1fr 57px 23px;gap:6px;margin-bottom:9px}input{min-width:0;width:100%;padding:12px 9px;border:1px solid #e6deed;border-radius:11px;background:#f9f6fc;color:#705d82;font:inherit;font-size:13px}input:focus{outline:2px solid #c4ace1;outline-offset:1px}.remove{background:transparent;padding:0;color:#b9a6c5}.examples{display:flex;gap:6px;margin:11px 0}.examples button{padding:7px 9px;font-size:10px;background:#f5f0fa}.add{width:100%;background:none;border:1px dashed #deceeb;margin:2px 0 12px;font-size:12px}.start{width:100%;background:#a282c4;color:#fff;font-size:18px;font-weight:800;border-bottom:4px solid #8160a1;padding:15px}.error{font-size:11px;color:#d57d98;min-height:18px}.note{font-size:11px;line-height:1.8;color:#ad99b9;margin-top:13px}.note details{margin-top:7px}summary{cursor:pointer}.scoreItem{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #f0e9f4;padding:8px 0}.scoreItem span{filter:brightness(.8)}.scoreItem b{color:#a18cae}.arena{position:relative;min-width:0;background:#edf4fb;border:3px solid white;border-radius:24px;overflow:hidden;box-shadow:0 10px 35px #8f75a218}.stage{height:620px;position:relative}canvas{display:block;width:100%;height:100%}.progress{height:4px;background:#e8deef}.progress i{display:block;width:0;height:100%;background:#b399cd}.result{position:absolute;inset:0;display:none;justify-content:center;align-items:center;background:#faf5fbd9;backdrop-filter:blur(6px);text-align:center;z-index:3}.result.show{display:flex}.result small{color:#b198c4;letter-spacing:3px}.result h3{font-size:60px;color:#8c6aa5;margin:14px;overflow-wrap:anywhere}.result p{font-size:13px;color:#a18cae}.result button{font-size:15px;background:#a283c1;color:white;padding:14px 22px}.odds,#eventLog,.hiddenStatus{display:none}footer{text-align:center;color:#b7a8c1;font-size:11px;margin-top:14px}#editNames{display:none}.playing #editNames{display:block}.playing main{max-width:1800px;padding:14px}.playing section{display:block}.playing .panel,.playing footer{display:none}.playing .stage{height:calc(100dvh - 130px);min-height:570px;max-height:1000px}.playing header{margin-bottom:12px}body.full main{max-width:none;padding:0}body.full header,body.full .panel,body.full footer{display:none}body.full section{display:block}body.full .arena{border:0;border-radius:0}body.full .stage{height:calc(100dvh - 4px);max-height:none}#score:empty::after{content:'시작하면 순위가 표시돼요';color:#b8a7c3;font-size:11px}@media(max-width:800px){main{padding:12px}section{grid-template-columns:1fr}header small{display:none}h1{font-size:23px}.tools{gap:4px}.tools button{font-size:10px;padding:8px}.stage,.playing .stage{height:auto;min-height:0;aspect-ratio:900/620}.panel{order:0}.arena{order:1}.playing main{padding:7px}.playing h1{font-size:20px}.result h3{font-size:38px}}.bulk{margin-bottom:15px;color:#a18bac;font-size:12px}.bulk textarea{display:block;width:100%;resize:vertical;min-height:110px;margin:9px 0;border:1px solid #e6dced;border-radius:12px;padding:10px;background:#faf7fc;color:#766080;font:inherit}.bulk button{width:100%}.entrySummary{font-size:11px;color:#ad96bb;margin:6px 0}.share button{width:100%;margin-top:9px;font-size:11px;background:#f5eef9}.share input{margin-top:6px;font-size:10px}#utilityNotice{font-size:11px;color:#a18aaf;line-height:1.7}#broadcastHint{font-size:11px;color:#b39ec0;margin:0 0 12px}.playing #pauseRace,.playing #restartRace{display:block}#pauseRace,#restartRace{display:none}.tools{flex-wrap:wrap;justify-content:flex-end}.resultActions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.result #again{background:#eae0f1;color:#9a7aaf;font-size:12px}.result #retry{font-size:16px}#broadcastBar{position:fixed;top:8px;right:8px;z-index:20;opacity:.14;transition:opacity .2s;display:flex;gap:5px}#broadcastBar[hidden]{display:none}#broadcastBar:hover,#broadcastBar:focus-within{opacity:1}#broadcastBar button{font-size:11px;background:#fffdf8e8;box-shadow:0 3px 10px #a48cb029}body.full #broadcastHint{display:none}footer a{color:#af95bd;text-decoration:none}@media(max-width:800px){.tools button{font-size:10px;padding:7px}.playing .tools{max-width:72%}.playing header{gap:8px}.playing header h1{font-size:18px}}

.siteNav{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 16px}.siteNav a{font-size:11px;color:#ad92bd;text-decoration:none}.publisherContent{display:block;max-width:940px;margin:36px auto 0;background:#fffdfc;border:1px solid #eee4f1;border-radius:22px;padding:28px;color:#a18aa9;font-size:13px;line-height:1.95}.publisherContent h2{font-size:20px;color:#9d7eae}.publisherContent h3{font-size:15px;margin-top:22px;color:#a184b0}.publisherContent p{margin:13px 0}.publisherContent a{color:#aa88bb}.adPanel{max-width:970px;margin:170px auto 50px;padding:16px 20px;background:#fffdfb;border:1px solid #eee6f0;border-radius:12px;min-height:120px}.adPanel[hidden]{display:none}.adLabel{text-align:center;font-size:10px;color:#b5a6bd;margin-bottom:12px}.playing .siteNav{display:none}body.full .siteNav{display:none}body.full .publisherContent{margin-top:32px}@media(max-width:800px){.siteNav{gap:12px}.publisherContent{padding:20px;font-size:12px}.publisherContent h2{font-size:18px}}
/* Keep the first screen focused on the race controls. */
header{gap:16px;margin-bottom:8px}header h1{white-space:nowrap}.tools button{white-space:nowrap}
#broadcastHint{margin-bottom:16px;color:#91799f}.panel h2{font-size:16px;margin-bottom:14px}
.publisherContent{max-width:940px;margin-top:28px;padding:22px 26px;background:transparent;border:0;border-top:1px solid #e8deef;border-radius:0;line-height:1.8;color:#887294}.publisherContent h2{font-size:18px;margin-bottom:8px;color:#806991}.publisherContent p{margin:8px 0}.publisherContent ol{display:flex;flex-wrap:wrap;gap:8px 30px;padding-left:20px;margin:14px 0}.publisherContent li{padding-right:8px}.publisherContent .usageNote{font-size:12px;color:#947fa0}.helpLinks{display:flex;flex-wrap:wrap;gap:8px 20px}.helpLinks a{text-decoration:none;color:#8d6ca3}.siteNav{justify-content:center;gap:8px 18px;margin:20px 0 4px}.siteNav a{color:#957ea2}.note{line-height:1.7}#utilityNotice:empty{margin:0}
@media(max-width:800px){header{align-items:center;gap:10px}header h1{font-size:23px}.tools{gap:5px}.tools button{font-size:11px;padding:9px 10px}.panel{padding:18px}.publisherContent{margin-top:22px;padding:20px 5px 10px}.publisherContent h2{font-size:17px}.publisherContent ol{display:block;margin:12px 0}.publisherContent li{margin:3px 0}.siteNav{gap:10px 16px;line-height:1.7}.playing .tools{max-width:none}.playing header{align-items:flex-start}.playing .tools{max-width:73%}.playing .tools button{padding:7px 8px;font-size:10px}}
@media(max-width:380px){header{align-items:flex-start;flex-direction:column;gap:7px}.tools{justify-content:flex-start}h1{margin:0}.playing header{flex-direction:row}.playing header h1{font-size:17px}}
@media(max-width:700px){.stage,.playing .stage{height:420px;aspect-ratio:auto}.playing .publisherContent{display:none}}
