@import "https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Nunito:wght@700;800;900&display=swap";:root{color:#27251f;font-synthesis:none;background:#fff9e9;font-family:Nunito,Gowun Dodum,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 15%,#fff3b5 0,#0000 28%),radial-gradient(circle at 90% 80%,#dff2dc 0,#0000 28%),#fffaf0;min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.home{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.home-content{width:min(920px,100%)}.home-account{color:#69645a;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:24px;font-size:.84rem;font-weight:800;display:flex}.home-account button,.guest-button,.auth-tabs button{font:inherit;cursor:pointer;border:0}.home-account button{color:#49453d;background:#eee8dc;border-radius:9px;padding:8px 12px;font-size:.78rem;font-weight:900}.auth-page{place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card{background:#fffffff0;border:2px solid #302e27;border-radius:26px;width:min(460px,100%);padding:38px;box-shadow:9px 10px #302e27}.auth-card h1{font-size:clamp(2rem,8vw,3rem)}.auth-description{color:#69645a;margin:14px 0 26px;line-height:1.65}.auth-tabs{background:#eee8dc;border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.auth-tabs button{color:#777064;background:0 0;border-radius:9px;min-height:42px;font-weight:900}.auth-tabs button.active{color:#27251f;background:#fff;box-shadow:0 2px 8px #302e271f}.auth-form{gap:16px;margin-top:22px;display:grid}.auth-form label{font-size:.84rem}.auth-error{margin:0;font-size:.82rem}.auth-divider{color:#9a9387;align-items:center;gap:12px;margin:24px 0 16px;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ded7c8;flex:1;height:1px}.guest-button{color:#49453d;background:#fffaf0;border:2px solid #bcb3a3;border-radius:12px;width:100%;min-height:50px;font-weight:900}.guest-note{color:#8a8377;text-align:center;margin-top:10px;display:block}.auth-loading{color:#69645a;font-weight:900}.eyebrow{color:#d16e32;letter-spacing:.17em;margin:0 0 8px;font-size:.78rem;font-weight:900}h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,6vw,4rem);line-height:1.1}h2{margin:0 0 18px;font-size:1.2rem}.service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:42px;display:grid}.service-card{min-height:150px;color:inherit;background:#fff;border:2px solid #302e27;border-radius:24px;align-items:center;gap:20px;padding:26px;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:flex;position:relative;box-shadow:7px 8px #302e27}.service-card:hover{background:#fffef8;transform:translate(-2px,-3px);box-shadow:10px 12px #302e27}.service-card:active{transform:translate(4px,4px);box-shadow:3px 4px #302e27}.service-card:focus-visible,.primary-button:focus-visible,.home-link:focus-visible,input:focus-visible{outline-offset:4px;outline:4px solid #f0a65b}.service-card.disabled{opacity:.55;box-shadow:4px 5px #777}.service-icon{background:#fff0ae;border-radius:20px;flex:0 0 72px;place-items:center;width:72px;height:72px;font-size:2.8rem;display:grid}.service-card strong,.service-card small{display:block}.service-card strong{font-size:1.45rem}.service-card small{color:#69645a;margin-top:7px;line-height:1.5}.service-card em{background:#eee;border-radius:30px;padding:5px 9px;font-size:.7rem;font-style:normal;position:absolute;top:14px;right:14px}.game-shell{min-height:100vh}.popup-shell{background:#08080c;min-height:100vh}.pinball-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c0a14c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pinball-dialog{background:#08080c;border:1px solid #57506f;border-radius:18px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,96vw);height:min(900px,94vh);display:grid;overflow:hidden;box-shadow:0 30px 90px #0000008c}.pinball-dialog>header{color:#fff;background:#181628;border-bottom:1px solid #39344d;justify-content:space-between;align-items:center;min-height:54px;padding:0 14px 0 20px;display:flex}.pinball-dialog>header button{color:#fff;min-height:34px;font:inherit;cursor:pointer;background:#2d2942;border:1px solid #706988;border-radius:9px;padding:0 13px;font-size:.78rem;font-weight:900}.pinball-dialog iframe{background:#08080c;border:0;width:100%;height:100%}.popup-pinball{background:#08080c;min-height:100vh;padding:12px}.popup-pinball>.pinball-panel{width:100%;box-shadow:none;border:0;border-radius:0;margin:0}.popup-pinball .upstream-stage{min-height:min(680px,100vh - 330px)}.popup-rule-panel{color:#fff;background:#181628;border:1px solid #4b4767;border-radius:12px;margin:0 0 12px;padding:12px 16px 14px}.popup-rule-panel legend{color:#f3a65e;padding:0 7px;font-size:.82rem;font-weight:900}.popup-rule-options{flex-wrap:wrap;gap:8px;display:flex}.popup-rule-options label{display:block;position:relative}.popup-rule-options input[type=radio]{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.popup-rule-options label>span{color:#aaa4c3;cursor:pointer;background:#211e35;border:2px solid #4b4767;border-radius:10px;align-items:center;min-height:40px;padding:0 13px;font-size:.8rem;font-weight:900;display:flex}.popup-rule-options input:checked+span{color:#fff;background:#393149;border-color:#f3a65e}.popup-rule-options input:focus-visible+span{outline-offset:2px;outline:3px solid #f0a65b}.popup-rule-options select{color:#fff;width:auto;min-height:30px;font:inherit;background:#181628;border:1px solid #6e678e;border-radius:6px;margin-right:3px;padding:0 5px}.popup-result-notice{color:#d8c98e;background:#2b2514;border:1px solid #846c28;border-radius:12px;align-items:center;gap:10px;margin:0 0 12px;padding:12px 16px;display:flex}.popup-result-notice span,.popup-result-notice small{font-size:.75rem}.popup-result-notice strong{color:#ffd65a;font-size:1.15rem}.popup-result-notice small{margin-left:auto}.game-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.15em;background:#fffcf4d9;border-bottom:1px solid #dfd8c8;grid-template-columns:1fr auto 1fr;align-items:center;height:70px;padding:0 max(20px,50vw - 540px);font-size:.75rem;font-weight:900;display:grid}.game-header>span:last-child{justify-self:end}.game-header-title{letter-spacing:-.02em;font-size:1rem}.home-link{letter-spacing:0;border-radius:10px;padding:10px 12px;font-size:.92rem;text-decoration:none}.home-link:hover{background:#f1eadc}.content{width:min(1080px,100% - 40px);margin:0 auto;padding:64px 0 90px}.content.narrow{width:min(680px,100% - 40px)}.page-intro{align-items:center;gap:20px;margin-bottom:28px;display:flex}.big-icon{font-size:3.3rem}.page-intro h1,.page-title h1{font-size:clamp(2rem,5vw,3.2rem)}.panel{background:#ffffffe6;border:1px solid #ded7c8;border-radius:22px;padding:28px;box-shadow:0 15px 40px #483b1e14}.analysis-form{gap:22px;display:grid}.analysis-input-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.analysis-input-option{background:#fffdf7;border:2px solid #ded7c8;border-radius:18px;min-width:0;min-height:315px;padding:22px;transition:border-color .15s,background .15s;position:relative}.analysis-input-option.is-selected{background:#fff7e9;border-color:#d16e32}.analysis-input-option h3{margin:0 0 7px;font-size:1.1rem}.analysis-input-option>ol{color:#5f5a50;min-height:76px;margin:0 0 8px;padding-left:20px;font-size:.82rem;line-height:1.65}.analysis-input-option .input-method-note{color:#777064;min-height:22px;margin:0 0 18px;font-size:.76rem;line-height:1.5}.analysis-input-option .input-method-note a{color:#a64f23;font-weight:900}.input-option-heading,.live-analysis-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.development-badge{color:#8d4d00;background:#fff1cd;border:1px solid #d58a2e;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:.68rem;font-weight:900;display:inline-flex}.live-input-option{border-style:dashed}.live-start-button{width:100%;margin-top:14px}.live-analysis-panel{margin-top:18px}.live-analysis-heading{align-items:flex-start}.live-analysis-heading h2{margin:0 0 5px 8px;display:inline-block}.live-analysis-heading p,.live-empty{color:#6f685c;margin:4px 0 0}.live-result-action{text-align:right;gap:7px;max-width:240px;display:grid}.live-empty{text-align:center;border:1px dashed #d8cfbe;border-radius:14px;margin-top:18px;padding:28px}.live-round-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.live-round-card{background:#fffdf7;border:1px solid #ded7c8;border-radius:14px;overflow:hidden}.live-round-card img{aspect-ratio:16/9;object-fit:cover;background:#171717;width:100%;display:block}.live-round-card>div{padding:14px}.live-round-card p{color:#5f5a50;margin:5px 0 12px}.danger-button{color:#a62e22;cursor:pointer;background:#fff5f3;border:1px solid #c65345;border-radius:10px;padding:10px 15px;font-weight:900}.danger-button.compact{padding:7px 10px;font-size:.74rem}.input-option-number{color:#d16e32;letter-spacing:.12em;margin-bottom:10px;font-size:.72rem;font-weight:900;display:inline-block}.analysis-settings-row{background:#fffdf7;border:2px solid #ded7c8;border-radius:18px;grid-column:1/-1;gap:22px;padding:24px;display:grid}.analysis-settings-row>h2{border-bottom:1px solid #e4ddcf;margin:0;padding-bottom:13px}.upload-picker{color:#a64f23;text-align:center;cursor:pointer;background:#fffaf0;border:2px dashed #c9bda9;border-radius:12px;place-items:center;min-height:68px;padding:12px;display:grid}.upload-picker input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.upload-file-list{background:#f3eee4;border-radius:10px;margin-top:12px;padding:10px;font-size:.75rem}.upload-file-list ol{max-height:145px;margin:7px 0;padding:0;list-style:none;overflow-y:auto}.upload-file-list li{gap:7px;min-width:0;padding:3px 0;display:flex}.upload-file-list li b{color:#d16e32}.upload-file-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-file-list button{cursor:pointer;background:#fff;border:1px solid #bcb3a3;border-radius:7px;padding:4px 8px}.score-rules{border:0;margin:4px 0;padding:0}.score-rules legend{padding:0;font-size:1rem;font-weight:900}.score-rules>p{color:#777064;margin:6px 0 15px;font-size:.85rem}.score-rule-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.score-rule{background:#fffaf0;border:1px solid #e1dacb;border-radius:12px;grid-template-columns:none;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.score-rule small{color:#aa673c;margin-bottom:2px;font-size:.68rem;display:block}.score-input{align-items:center;gap:5px;display:flex}.score-input input{text-align:right;width:64px;min-height:40px;padding:0 8px}.score-input b{font-size:.82rem}label{gap:9px;font-weight:800;display:grid}input{color:#27251f;background:#fffdf7;border:2px solid #d5cdbd;border-radius:12px;width:100%;min-height:52px;padding:0 15px}input:focus{border-color:#d16e32}.primary-button{color:#201d17;cursor:pointer;background:#f3a65e;border:2px solid #302e27;border-radius:13px;justify-content:center;align-items:center;min-height:52px;padding:0 22px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:4px 5px #302e27}.primary-button:hover{background:#ffb873}.primary-button:active{transform:translate(2px,3px);box-shadow:2px 2px #302e27}.primary-button:disabled{opacity:.55;cursor:wait}.primary-button.compact{min-height:44px;padding:0 16px;font-size:.86rem;box-shadow:3px 4px #302e27}.progress-panel{margin-top:20px}.progress-heading,.page-title{justify-content:space-between;align-items:center;gap:20px;display:flex}progress{accent-color:#d9793b;width:100%;height:14px;margin-top:15px}.progress-panel p,.muted{color:#777064;margin-bottom:0}.error{color:#9f241a;background:#ffe0dc;border-radius:10px;padding:14px}.page-title{margin-bottom:28px}.table-wrap{overflow-x:auto}.scoreboard-table{min-width:860px}.scoreboard-table th:first-child,.scoreboard-table td:first-child{width:70px}.scoreboard-table th:nth-child(2),.scoreboard-table td:nth-child(2){width:150px}.scoreboard-table th:nth-child(3),.scoreboard-table td:nth-child(3){width:80px}.scoreboard-table th:last-child{text-align:left}.scoreboard-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.scoreboard-heading small{color:#777064}.score-editor{align-items:center;gap:5px;display:flex}.score-editor input{text-align:right;width:66px;min-height:38px;padding:0 7px}.score-editor button{cursor:pointer;background:#fff0ae;border:1px solid #302e27;border-radius:8px;min-height:36px;padding:0 8px;font-size:.72rem;font-weight:900}.score-editor button:disabled{opacity:.45;cursor:default}.score-source-list{flex-wrap:wrap;gap:5px;display:flex}.score-source{color:#69645a;white-space:nowrap;background:#fffaf0;border:1px solid #e1dacb;border-radius:9px;align-items:center;gap:4px;padding:4px 7px;font-size:.72rem;line-height:1.2;display:inline-flex}.score-source b{color:#27251f}.score-source strong{color:#c45e25}.score-source.manual{background:#fff0df;border-color:#e6ad78}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e8e2d7;padding:14px 10px}th:last-child,td:last-child{text-align:right}.result-content{width:min(1400px,100% - 40px);padding-top:30px}.result-content>.page-title{margin-bottom:18px}.result-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:20px;display:grid}.result-layout>.panel{min-width:0}.summary-grid{grid-template-columns:1fr;gap:18px;display:grid}.summary-grid .panel{padding:22px}.summary-grid h2{margin-bottom:12px}.summary-card{flex-direction:column;align-items:stretch;display:flex}.summary-action{width:100%;margin-top:16px}.summary-waiting{color:#c45e25;margin-top:12px;display:block}.resolved-winner{color:#c45e25}.resolved-loser{color:#7b5bb4}.name-list{font-size:1.25rem;font-weight:900}.page-description{color:#777064;max-width:620px;margin:10px 0 0}.pinball-panel{color:#fff;background:#25223b;border-color:#25223b;padding:0;overflow:hidden}.pinball-title{justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;display:flex}.pinball-title h2{margin:0;font-size:1.55rem}.pinball-actions{align-items:center;gap:9px;display:flex}.shuffle-button{color:#ddd7f1;min-height:44px;font:inherit;cursor:pointer;background:#302c49;border:1px solid #6d668d;border-radius:11px;padding:0 13px;font-size:.75rem;font-weight:900}.shuffle-button:hover{color:#fff;border-color:#f3a65e}.shuffle-button:focus-visible{outline-offset:3px;outline:4px solid #f0a65b}.shuffle-button:disabled{cursor:not-allowed;opacity:.5}.race-purpose{color:#aaa4c3;max-width:520px;margin:7px 0 0;font-size:.82rem}.pinball-machine{padding:0 24px;position:relative}.machine-lights{background:#181628;border:2px solid #4b4767;border-bottom:0;border-radius:24px 24px 0 0;justify-content:space-around;padding:8px 14%;display:flex}.machine-lights i{background:#5e5979;border-radius:50%;width:11px;height:11px}.is-running .machine-lights i{background:#ffd65a;animation:.55s ease-in-out infinite alternate blink;box-shadow:0 0 14px #ffd65a}.is-running .machine-lights i:nth-child(2n){animation-delay:.25s}.drop-zone{background:radial-gradient(circle at 50% 0,#493f75 0,#0000 42%),linear-gradient(#292542,#151423);border:3px solid #4b4767;border-radius:0 0 26px 26px;height:min(66vh,620px);min-height:470px;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000059}.map-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 24px 18px;display:grid}.map-picker label{display:block;position:relative}.map-picker input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.map-picker span{color:#aaa4c3;cursor:pointer;background:#1d1a30;border:2px solid #4b4767;border-radius:11px;height:100%;padding:11px 12px;display:block}.map-picker b,.map-picker small{display:block}.map-picker b{color:#fff;font-size:.8rem}.map-picker small{margin-top:3px;font-size:.66rem;line-height:1.35}.map-picker input:checked+span{background:#393149;border-color:#f3a65e;box-shadow:0 0 0 2px #f3a65e2e}.map-picker input:focus-visible+span{outline-offset:3px;outline:4px solid #f0a65b}.map-picker input:disabled+span{cursor:not-allowed;opacity:.6}.physics-stage{background:radial-gradient(circle at 50% 0,#493f75 0,#0000 45%),linear-gradient(#292542,#151423);border:3px solid #4b4767;border-radius:0 0 26px 26px;min-height:480px;position:relative;overflow:hidden}.canvas-mount{position:absolute;inset:0}.canvas-mount canvas{display:block;width:100%!important;height:100%!important}.upstream-stage{background:#08080c;min-height:min(720px,72vw)}.pinball-license{color:#aaa5c2;text-align:right;justify-items:end;gap:3px;margin:14px 28px 22px;font-size:.78rem;display:grid}.pinball-license strong{color:#e3ddf5;font-size:.82rem}.pinball-license small{font-size:.68rem}.pinball-license a{color:#d5c9ff}.license-page h1{margin-bottom:28px}.license-page a{color:#a64f23}.license-page pre{color:#f7f1e3;white-space:pre-wrap;background:#27251f;border-radius:14px;margin:24px 0 0;padding:20px;font:.76rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.license-back-link{margin-top:20px;display:inline-flex}.usage-guide{margin-bottom:18px}.usage-guide h2{margin:4px 0 10px}.usage-guide p{line-height:1.7}.usage-guide a{overflow-wrap:anywhere}.usage-method-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.usage-method-grid article{background:#fffaf0;border:1px solid #e1dacb;border-radius:15px;padding:18px}.usage-method-grid article>span{color:#d16e32;letter-spacing:.08em;font-size:.7rem;font-weight:900}.usage-method-grid h3{margin:5px 0 10px;font-size:1rem}.usage-method-grid ol{color:#5f5a50;margin:0;padding-left:20px;font-size:.82rem;line-height:1.65}.usage-method-grid p{margin-top:10px;font-size:.76rem}.usage-method-grid a{color:#a64f23;font-weight:900}.map-preview{text-align:center;color:#77718f;place-content:center;gap:5px;display:grid;position:absolute;inset:0}.map-preview strong{color:#aaa4c3;font-size:1.1rem}.map-preview span{font-size:.78rem}.physics-badge{z-index:5;color:#72df91;pointer-events:none;background:#12101fc7;border:1px solid #5b5479;border-radius:20px;padding:6px 9px;font-size:.66rem;font-weight:900;position:absolute;top:10px;right:10px}.drop-zone:before,.drop-zone:after{content:"";z-index:1;background:#f3a65e;border-radius:20px;width:42%;height:8px;position:absolute;bottom:10%;box-shadow:0 0 12px #f3a65e80}.drop-zone:before{left:6%;transform:rotate(18deg)}.drop-zone:after{right:6%;transform:rotate(-18deg)}.peg-field{grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(7,1fr);place-items:center;display:grid;position:absolute;inset:13% 8% 16%}.peg-field i{background:#2f2b4b;border:3px solid #8a83ad;border-radius:50%;width:13px;height:13px;box-shadow:0 0 8px #9a8fd673}.peg-field i:nth-child(2n){transform:translate(35%)}.pinball-ball{z-index:3;top:3%;left:var(--start-x);background:var(--ball-color);color:#201e2c;width:46px;height:46px;box-shadow:0 5px 0 #00000047, 0 0 16px color-mix(in srgb, var(--ball-color), transparent 35%);border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%)}.pinball-ball span{place-items:center;width:100%;height:100%;font-size:.8rem;font-weight:900;display:grid}.pinball-ball b{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#100f1cd6;border-radius:7px;width:max-content;max-width:120px;padding:4px 7px;font-size:.72rem;position:absolute;top:50%;left:54px;overflow:hidden;transform:translateY(-50%)}.pinball-ball.falling{animation:pinball-drop var(--race-duration) cubic-bezier(.42, 0, .64, 1) var(--race-delay) forwards}.finish-gates{justify-content:space-between;display:flex;position:absolute;bottom:2%;left:5%;right:5%}.finish-gates i{background:#716b91;width:4px;height:45px;box-shadow:0 0 7px #958cbd}.arrival-board{background:#181628;border:1px solid #4b4767;border-radius:15px;min-height:100px;margin:20px 24px 24px;padding:17px 20px}.arrival-board>strong{color:#f3a65e}.arrival-board p{color:#aaa4c3;margin:9px 0 0}.arrival-board ol{counter-reset:arrival;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.arrival-board li{counter-increment:arrival;background:#34304d;border-radius:9px;padding:7px 11px;font-size:.82rem;font-weight:800}.arrival-board li:before{content:counter(arrival) "위 ";color:#ffd65a}.race-selected{background:#292642;border:1px solid #6e678e;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 15px;display:flex}.race-selected span{color:#bcb5d4;font-size:.78rem}.race-selected strong{color:#ffd65a;font-size:1.15rem}.tie-stage,.team-stage{margin-top:32px}.stage-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.stage-heading span{color:#d16e32;font-size:.75rem;font-weight:900}.stage-heading h2{margin:4px 0;font-size:1.6rem}.stage-heading p{color:#777064;margin:0}.tie-race-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.rule-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.rule-selector{background:#fff;border:1px solid #ded7c8;border-radius:14px;grid-template-columns:none;justify-content:space-between;align-items:center;gap:18px;min-width:0;margin:0;padding:15px 17px;display:flex}.rule-selector legend{width:auto;margin:0;padding:0;display:block}.rule-selector b,.rule-selector small{display:block}.rule-selector small{color:#777064;margin-top:3px;font-size:.72rem}.arrival-switch{background:#f1ede4;border:2px solid #d5cdbd;border-radius:12px;flex:none;grid-template-columns:1fr 1fr;padding:4px;display:grid}.arrival-switch label{display:block;position:relative}.arrival-switch input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.arrival-switch span{color:#777064;cursor:pointer;border-radius:8px;place-items:center;min-width:92px;min-height:38px;padding:0 10px;font-size:.78rem;font-weight:900;transition:background .15s,color .15s,box-shadow .15s;display:grid}.arrival-switch input:checked+span{color:#fff;background:#302e27;box-shadow:0 2px 7px #302e273d}.arrival-switch input:focus-visible+span{outline-offset:3px;outline:4px solid #f0a65b}.arrival-switch input:disabled+span{cursor:not-allowed;opacity:.55}.tie-race-grid.single{grid-template-columns:minmax(0,720px)}.tie-race-grid .drop-zone{height:500px;min-height:440px}.tie-race-grid .pinball-title{align-items:flex-start}.team-stage{border-top:1px solid #ded7c8;padding-top:12px;animation:.5s both reveal-team}.team-reveal{margin-top:18px;animation:.5s both reveal-team}.final-pinball-content{width:min(1480px,100% - 40px);padding-top:28px}.final-pinball-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.final-pinball-area,.final-score-area{min-width:0}.final-pinball-area>.pinball-panel{margin:0}.final-score-area{position:sticky;top:20px}.final-score-area .team-reveal{margin-top:0}.final-score-area .teams{grid-template-columns:1fr}.final-score-area .teams article{padding:18px}.final-score-area .teams p{overflow-wrap:anywhere;line-height:1.65}.final-score-waiting p{color:#777064;margin:0 0 18px;line-height:1.65}.final-score-waiting strong{color:#b65c28;background:#fff0d9;border-radius:10px;padding:13px;font-size:.82rem;display:block}.winning-team{border-top:1px solid #e2dbcd;margin-top:18px;padding-top:18px}.winning-team>span{color:#777064;font-size:.75rem;font-weight:900;display:block}.winning-team>strong{color:#d16e32;margin-top:3px;font-size:1.45rem;display:block}.support-roulette-button{width:100%;margin-top:13px}.support-roulette-controls{background:#fffaf0;border:1px solid #e1d7c5;border-radius:12px;margin-top:14px;padding:13px}.support-roulette-controls label{justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.support-roulette-controls input{text-align:center;width:76px;min-height:40px;padding:0 8px}.support-roulette-controls small{color:#777064;margin-top:8px;font-size:.72rem;display:block}.support-recipient-notice{flex-direction:column;align-items:flex-start}.support-recipient-notice strong{line-height:1.5}.support-recipient-notice small{margin-left:0}.winning-team.is-even>strong{color:#6950aa}.winning-team.is-draw>strong{color:#777064}.winning-team>p{color:#777064;margin-bottom:0;font-size:.82rem}.winner-matchups{gap:8px;margin-top:14px;display:grid}.winner-matchups>div{background:#f5f1e8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;padding:11px 12px;font-size:.92rem;line-height:1.45;display:flex}.winner-matchups span{overflow-wrap:anywhere;min-width:0;font-weight:800}.winner-matchups b{color:#b65c28;font-size:.78rem}.winner-matchups i{color:#8d8375;flex:none;font-size:1.05rem;font-style:normal;font-weight:900}.final-team-result>.panel{padding:22px}@keyframes pinball-drop{0%{top:3%;left:var(--start-x);transform:translate(-50%)rotate(0)}16%{top:18%;left:var(--x1)}34%{top:35%;left:var(--x2)}52%{top:51%;left:var(--x3)}70%{top:67%;left:var(--x4)}86%{top:80%;left:var(--x5)}to{top:90%;left:50%;transform:translate(-50%)rotate(1080deg)}}@keyframes blink{to{opacity:.35;transform:scale(.72)}}@keyframes reveal-team{0%{opacity:0;transform:translateY(14px)}}.teams{grid-template-columns:1fr 1fr;gap:14px;display:grid}.teams article{background:#f5f1e8;border-radius:16px;padding:20px}.teams strong,.teams span{display:block}.teams strong{margin-top:6px;font-size:1.8rem}.center-page{text-align:center;place-items:center;min-height:100vh;padding:20px;display:grid}.center-page p{color:#6d675c;margin-bottom:30px}.final-summary-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.final-team-card>span,.final-side-card>span,.support-final-card>span{color:#a64f23;font-size:.78rem;font-weight:900}.final-team-card>strong{margin:8px 0;font-size:2rem;display:block}.final-team-card p,.final-side-card p,.support-final-card p{margin-bottom:0;line-height:1.7}.final-side-card h2{margin:8px 0;font-size:1.7rem}.final-side-card.is-winner{background:#fff8dc;border-color:#dca45e}.final-side-card.is-loser{background:#f6f3ed;border-color:#c8c1b5}.final-matchup-card{grid-column:1/-1}.final-matchup-card>span{color:#a64f23;font-size:.78rem;font-weight:900}.final-matchup-card>div{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px;display:grid}.final-matchup-card p{background:#f6f3ed;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0;padding:10px 12px;display:grid}.final-matchup-card p b{text-align:right}.final-matchup-card p i{color:#d16e32;font-style:normal;font-weight:900}.final-matchup-card p strong{color:#a64f23}.final-matchup-card p b,.final-matchup-card p strong{gap:2px;display:grid}.final-matchup-card p small{color:#777064;font-size:.65rem}.support-final-card{text-align:center;background:#fff0df;border-color:#e6ad78;grid-column:1/-1}.support-final-card strong{color:#c45e25;margin:8px 0;font-size:2.2rem;display:block}.support-final-card p{font-size:1.15rem;font-weight:900}.final-home-button{margin-top:22px}@media (width<=1050px){.final-pinball-layout{grid-template-columns:1fr}.final-score-area{position:static}.final-score-area .teams{grid-template-columns:1fr 1fr}}@media (width<=900px){.tie-race-grid,.rule-selector-grid{grid-template-columns:1fr}}@media (width<=720px){.service-grid,.summary-grid,.teams,.score-rule-grid,.result-layout,.analysis-input-row,.usage-method-grid,.final-summary-grid,.final-matchup-card>div,.live-round-grid{grid-template-columns:1fr}.support-final-card,.final-matchup-card{grid-column:auto}.service-card{min-height:128px;padding:20px}.page-title,.stage-heading,.rule-selector,.live-analysis-heading{flex-direction:column;align-items:flex-start}.page-title .primary-button,.stage-heading .primary-button,.arrival-switch{width:100%}.arrival-switch span{min-width:0}.content{padding-top:38px}.pinball-title{flex-direction:column;align-items:flex-start}.pinball-actions,.pinball-title .primary-button,.shuffle-button{width:100%}.pinball-actions{flex-direction:column;align-items:stretch}.pinball-machine{padding:0 10px}.drop-zone{height:520px}.pinball-ball{width:38px;height:38px}.pinball-ball b{max-width:82px;left:42px}.arrival-board{margin-left:10px;margin-right:10px}.map-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-left:10px;padding-right:10px}.map-picker span{padding:8px 5px}.map-picker b{font-size:.68rem}.map-picker small{font-size:.56rem}.physics-stage{min-height:480px}}@media (width<=520px){.game-header{grid-template-columns:auto 1fr;gap:8px}.game-header-title{justify-self:end;font-size:.86rem}.game-header>span:last-child{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
