:root{--ui-panel:#100e0ceb;--ui-border:#4a453c;--ui-text:#e8e4d8;--ui-dim:#a09a8c;--accent:#ff8a2a;--accent-glow:#ff8a2a80;--blood:#b31212;--gold:#ffc23a;font-size:clamp(10px,1.25vw,16px)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--ui-text);-webkit-user-select:none;user-select:none;background:#000;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;overflow:hidden}#stage{aspect-ratio:16/9;max-width:100vw;max-height:100vh;margin:auto;position:absolute;inset:0}#game-canvas{background:#05050f;width:100%;height:100%;display:block;position:absolute;inset:0}.screen{z-index:10;background:#0605089e;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;display:flex;position:absolute;inset:0}.screen.hidden,.modal.hidden{display:none}.screen-art-bg{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.plate-btn{letter-spacing:.3em;text-indent:.3em;color:#ddd8cc;text-shadow:0 2px 4px #000000e6;background-color:#0000;background-image:var(--ui-btn);cursor:pointer;background-repeat:no-repeat;background-size:100% 100%;border:none;min-width:19rem;padding:1rem 2.4rem 1.1rem;font-family:inherit;font-size:1.5rem;font-weight:800;transition:transform .1s,filter .12s;position:relative}.plate-btn:hover,.plate-btn:focus-visible{background-image:var(--ui-btn-active);color:#fff;filter:drop-shadow(0 0 14px var(--accent-glow));outline:none;transform:translateY(-1px)}.plate-btn-hot{background-image:var(--ui-btn-active);color:#ffe8d0}.plate-btn-hot:hover{filter:drop-shadow(0 0 20px var(--accent-glow)) brightness(1.15)}.plate-btn .keyhint{letter-spacing:.08em;color:#ddd8ccbf;margin-left:.3em;font-size:.85rem}.img-btn{cursor:pointer;background:0 0;border:none;padding:0;transition:transform .1s,filter .12s}.img-btn img{width:auto;height:4.6rem;display:block}.img-btn:hover{filter:drop-shadow(0 0 10px #ffc87859)brightness(1.15);transform:translateY(-2px)}.corner-bl{position:absolute;bottom:1.6rem;left:2rem}.corner-br{position:absolute;bottom:1.6rem;right:2rem}kbd{border:1px solid var(--ui-dim);color:var(--ui-text);background:#00000080;border-bottom-width:2px;border-radius:4px;padding:.12em .55em;font-family:inherit;font-size:.85em}#screen-title{background:#0000002e}.title-content{flex-direction:column;align-items:center;gap:1.1rem;width:100%;display:flex;transform:translateY(-1.4rem)}.title-logo{justify-content:center;width:100%;margin:0;line-height:0;display:flex}.title-logo-img{filter:drop-shadow(0 6px 24px #000c);width:min(56rem,62%);animation:4s ease-in-out infinite logo-sway}@keyframes logo-sway{0%,to{filter:drop-shadow(0 6px 24px #000c)}50%{filter:drop-shadow(0 6px 30px #b312128c)}}.title-tagline{letter-spacing:.14em;color:#e8e4d8;text-shadow:0 2px 6px #000000f2;margin-top:-.6rem;font-size:1.5rem;font-weight:700}.title-tagline .accent{color:var(--accent)}.menu-buttons{flex-direction:column;align-items:center;gap:.9rem;margin-top:.8rem;display:flex}.title-footer{color:#e8e4d8d9;text-shadow:0 1px 4px #000000e6;letter-spacing:.1em;margin-top:.5rem;font-size:1.05rem}.title-footer .sep{color:var(--ui-dim);margin:0 .6em}.service-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.5rem;display:flex}.service-links a,.service-links button{color:#c6bdab;font:inherit;cursor:pointer;background:0 0;border:0;font-size:max(11px,.75rem);text-decoration:underline}#analytics-dialog,.info-dialog{color:#e8e4d8;-webkit-user-select:text;user-select:text;background:#15131c;border:1px solid #706452;width:min(32rem,92vw);max-height:90vh;margin:auto;padding:1.5rem;font-size:max(14px,1rem);line-height:1.8;overflow:auto}#analytics-dialog::backdrop{background:#000b}.info-dialog::backdrop{background:#000b}#analytics-dialog p,.info-dialog p{margin:1rem 0}#analytics-dialog a,.info-dialog a{color:#ffd24a}.records-file{margin-top:1.25rem;display:block}.records-file input{max-width:100%;margin-top:.5rem;display:block}.consent-actions button:disabled{opacity:.5;cursor:default}.consent-actions{flex-wrap:wrap;gap:.75rem;display:flex}.consent-actions button{color:#e8e4d8;cursor:pointer;font:inherit;background:#292431;border:1px solid #8c8195;border-radius:.25rem;padding:.6rem .9rem}.consent-actions button[hidden]{display:none}#screen-mode{gap:1rem;padding-top:.6rem;padding-bottom:3.4rem}.mode-logo{filter:drop-shadow(0 4px 14px #000c);height:5rem}.mode-tabs{align-items:center;gap:1.1rem;display:flex}.mode-tab{cursor:pointer;background:0 0;border:none;padding:0}.mode-tabs{height:4.1rem}.mode-tab img{width:auto;height:4.1rem;transition:height .15s,filter .15s;display:block}.mode-tab.active img{filter:drop-shadow(0 0 12px #ffbe5073)}.mode-tab:not(.active):not(.locked){opacity:.72}.mode-tab:not(.active):not(.locked) img{filter:saturate(.25)brightness(.7);height:3.7rem}.mode-tab:not(.active):not(.locked):hover{opacity:1}.mode-tab:not(.active):not(.locked):hover img{filter:saturate(.7)brightness(.92)}.mode-tab.text-tab{letter-spacing:.18em;text-indent:.18em;color:#d7d1c4;text-shadow:0 2px 5px #000000f2;background:linear-gradient(#504c448c,#0a0908e0),#15120f;border:2px solid #585247;border-radius:5px;min-width:19rem;height:4.1rem;padding:0 2rem;font-family:inherit;font-size:1.35rem;font-weight:900;box-shadow:inset 0 0 28px #000000bf,0 8px 22px #00000073}.mode-tab.text-tab.active,.mode-tab.text-tab:hover{color:#f2eee2;filter:drop-shadow(0 0 12px #d7d1c447);border-color:#d7d1c4}.mode-tab.locked{cursor:default;opacity:.75}.mode-tab.locked img{height:3.7rem}.mode-tab.text-tab{min-width:13.5rem;transition:height .15s,font-size .15s,filter .15s}.mode-tab.text-tab:not(.active):not(.locked){filter:saturate(.25)brightness(.8);min-width:12rem;height:3.7rem;font-size:1.15rem}.mode-tab.text-tab.active{color:#ffd9a8;filter:drop-shadow(0 0 12px #ffbe5059);border-color:#b8823c}.mode-tab.vs-tab{justify-content:center;align-items:center;display:flex;position:relative}.mode-tab.vs-tab img{object-fit:contain;width:auto;height:4.1rem}.mode-tab.vs-tab:not(.active) img{height:3.7rem}.mode-tab.vs-tab .prototype-badge{z-index:1;white-space:nowrap;letter-spacing:.16em;text-indent:.16em;color:#d8e8f7;text-shadow:0 1px 3px #000;background:#10161eeb;border:1px solid #7890a8;border-radius:999px;padding:.12rem .65rem .18rem;font-size:.76rem;font-weight:900;position:absolute;top:-1.15rem;left:50%;transform:translate(-50%);box-shadow:0 0 12px #6ea0cd52}.difficulty-cards{justify-content:center;align-items:center;gap:1.8rem;height:30rem;display:flex}.diff-card{aspect-ratio:839/1391;background-color:#0000;background-image:var(--card);cursor:pointer;width:17.4rem;color:var(--ui-text);background-repeat:no-repeat;background-size:100% 100%;border:none;font-family:inherit;transition:transform .12s;position:relative}.diff-card:hover,.diff-card:focus-visible{background-image:var(--card-s);outline:none;transform:translateY(-5px)scale(1.02)}.difficulty-cards.carousel{--card-step:19.2rem;--peek:6.8rem;align-items:center;gap:.7rem;display:flex}.carousel-viewport{width:calc(3 * 17.4rem + 2 * 1.8rem + 2 * var(--peek));max-width:calc(100vw - 10rem);padding:.7rem 0 .4rem;overflow:hidden}.carousel-track{will-change:transform;gap:1.8rem;transition:transform .28s;display:flex}.carousel-track .diff-card{flex-shrink:0}.diff-card.peek{opacity:.42;pointer-events:none;filter:saturate(.55)brightness(.75);transform:scale(.94)}.carousel-arrow{color:#d8d4c8;cursor:pointer;z-index:2;background:#0a0908b8;border:2px solid #585247;border-radius:6px;flex-shrink:0;width:3.4rem;height:5.2rem;font-family:inherit;font-size:1.5rem;transition:all .12s;position:relative}.carousel-arrow.left{margin-right:-3.2rem}.carousel-arrow.right{margin-left:-3.2rem}.carousel-arrow:hover:not(:disabled){border-color:var(--accent);color:#fff;box-shadow:0 0 14px var(--accent-glow)}.carousel-arrow:disabled{opacity:.22;cursor:default}.unranked-note{color:#8fb9cc;letter-spacing:.04em;font-size:.85rem}.diff-card h3{letter-spacing:.22em;text-indent:.22em;color:var(--card-color);text-shadow:0 2px 6px #000000e6, 0 0 18px var(--card-glow);font-size:2.1rem;font-weight:900;position:absolute;top:5.5%;left:0;right:0}.diff-specs{text-align:left;flex-direction:column;gap:.55rem;display:flex;position:absolute;top:54%;left:13%;right:9%}.diff-specs li{letter-spacing:.04em;color:#ddd8cc;text-shadow:0 1px 3px #000000e6;padding-left:1.3em;font-size:1.06rem;font-weight:700;list-style:none;position:relative}.diff-specs li:before{content:"◆";color:var(--card-color);font-size:.9em;position:absolute;left:0}.diff-specs li .num{color:var(--card-color)}.diff-best{color:var(--gold);text-shadow:0 1px 3px #000000e6;font-size:.95rem;font-weight:700;position:absolute;bottom:7%;left:0;right:0}.mode-hint{filter:drop-shadow(0 2px 6px #000c);height:2rem;margin-top:.2rem}#screen-result{background:#06050873 50%/cover}.result-panel{background:#0c0a09e0;border:2px solid #55503f;border-radius:10px;flex-direction:column;align-items:center;gap:.6rem;width:min(44rem,88%);max-height:94vh;padding:1.6rem 2.6rem 1.4rem;display:flex;overflow-y:auto;box-shadow:0 18px 60px #000c,inset 0 0 60px #0009}#result-sub{letter-spacing:.16em;color:var(--accent);text-shadow:0 2px 6px #000000e6;font-size:1.3rem;font-weight:800}#result-heading{letter-spacing:.12em;margin:-.2rem 0 .3rem;font-size:3.4rem;font-weight:900;line-height:1}#result-heading.clear{background:linear-gradient(#ffe9a8 8%,#ffc23a 45%,#b87a10 90%);color:#0000;filter:drop-shadow(0 3px 2px #000000d9)drop-shadow(0 0 26px #ffb43c66);-webkit-background-clip:text;background-clip:text}#result-heading.gameover{background:linear-gradient(#ff8a7a 5%,#c81f10 50%,#5a0a05 95%);color:#0000;filter:drop-shadow(0 3px 2px #000000d9)drop-shadow(0 0 26px #c81e0f73);-webkit-background-clip:text;background-clip:text}#result-heading.vs-lose{background:linear-gradient(#dedbd2 5%,#918d84 52%,#4d4a45 95%);color:#0000;filter:drop-shadow(0 3px 2px #000000d9)drop-shadow(0 0 18px #beb9ac38);-webkit-background-clip:text;background-clip:text}.vs-result-heading{margin-bottom:.1rem}.result-stats{flex-direction:column;width:100%;display:flex}.result-stats .stat-row{border-bottom:1px solid #7a706059;justify-content:space-between;align-items:baseline;padding:.62rem .4rem;display:flex}.result-stats .stat-row:last-child{border-bottom:none}.result-stats .stat-label{color:var(--ui-dim);letter-spacing:.1em;font-size:1.15rem;font-weight:700}.result-stats .stat-value{font-variant-numeric:tabular-nums;color:#f2eee2;font-size:1.55rem;font-weight:900}.result-stats .stat-value .unit{color:var(--ui-dim);margin-left:.25em;font-size:.95rem}.result-stats .stat-value.gold{color:var(--gold);font-size:1.9rem}.result-stats.vs-result-stats{gap:.45rem}.vs-comparison{grid-template-columns:minmax(0,1fr) 3.4rem minmax(0,1fr);align-items:stretch;gap:.7rem;width:100%;display:grid}.vs-competitor{color:#89867f;background:#0006;border:1px solid #89867f61;border-radius:8px;flex-direction:column;align-items:center;gap:.45rem;padding:.9rem 1rem .8rem;transition:border-color .2s,box-shadow .2s;display:flex}.vs-competitor.overall-winner{border-color:#ffc23ab3;box-shadow:inset 0 0 28px #ffb72d14,0 0 18px #ffb72d24}.vs-competitor.overall-winner h3{color:var(--gold)}.vs-competitor.overall-loser{background:#08080880;border-color:#89867f61}.vs-competitor h3{letter-spacing:.14em;text-indent:.14em;font-size:1.2rem;font-weight:900}.vs-kills{text-shadow:0 2px 5px #000000f2;justify-content:center;align-items:baseline;line-height:.95;display:flex}.vs-kills strong{font-variant-numeric:tabular-nums;font-size:4rem;font-weight:900}.vs-kills span{margin-left:.25rem;font-size:1.05rem;font-weight:800}.vs-competitor .metric-win{color:var(--gold)}.vs-competitor .metric-lose{color:#89867f}.vs-competitor .metric-tie{color:#d6d0c2}.vs-divider{color:#d6d0c2;text-shadow:0 2px 6px #000000f2;justify-content:center;align-items:center;font-size:1.35rem;font-weight:900;display:flex}.vs-metric{font-variant-numeric:tabular-nums;border-top:1px solid #89867f6b;justify-content:space-between;align-items:baseline;width:100%;padding-top:.45rem;display:flex}.vs-metric span{letter-spacing:.06em;font-size:.88rem;font-weight:700}.vs-metric strong{font-size:1.15rem;font-weight:900}.vs-result-details{width:100%}.result-new-record{text-align:center;color:var(--gold);letter-spacing:.2em;padding-top:.5rem;font-weight:900;animation:1.4s ease-in-out infinite record-pulse}.result-new-record span{letter-spacing:.08em;color:#d8d4c8;margin-top:.25rem;font-size:.78rem;display:block}@keyframes record-pulse{0%,to{text-shadow:0 0 6px #ffc23a66}50%{text-shadow:0 0 22px #ffc23ae6}}.result-buttons{gap:.8rem;margin-top:.4rem;display:flex}.result-buttons .plate-btn{letter-spacing:.12em;text-indent:.12em;min-width:0;padding:.85rem 1.5rem .95rem;font-size:1.1rem}.share-btn{letter-spacing:.12em;color:var(--ui-text);border:1.5px solid var(--ui-border);cursor:pointer;background:#0000008c;border-radius:6px;margin-top:.2rem;padding:.5rem 1.6rem;font-family:inherit;font-size:1rem;font-weight:700;transition:all .12s}.share-btn:hover{color:#fff;background:#14141ecc;border-color:#8a8a9a}.plate-btn-corner{letter-spacing:.14em;text-indent:.14em;min-width:0;padding:.7rem 1.6rem .8rem;font-size:1.05rem}.corner-tr{position:absolute;top:1.4rem;right:2rem}.ranking-box{width:min(40rem,90%)}.ranking-tabs{gap:.6rem;margin-bottom:.6rem;display:flex}.ranking-tab{letter-spacing:.14em;color:var(--ui-dim);border:1.5px solid var(--ui-border);cursor:pointer;background:#00000073;border-radius:5px;flex:1;padding:.55rem 0;font-family:inherit;font-size:1.05rem;font-weight:800}.ranking-tab.active{color:var(--tab-color,var(--gold));border-color:var(--tab-color,var(--gold));background:#000000b3}.ranking-note{color:var(--ui-dim);margin-bottom:.6rem;font-size:.9rem}.ranking-hint{color:#8fb9cc;letter-spacing:.04em;margin:-.5rem 0 .8rem;font-size:.85rem}.ranking-list{border-top:1px solid #7a706059;flex-direction:column;max-height:44vh;list-style:none;display:flex;overflow-y:auto}.ranking-row{border-bottom:1px solid #7a706059;align-items:center;gap:.9rem;padding:.55rem .5rem;display:flex}.rk-pos{text-align:right;width:2.4rem;color:var(--ui-dim);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.15rem;font-weight:900}.ranking-row.top1 .rk-pos{color:#ffd24a}.ranking-row.top2 .rk-pos{color:#cfd4dc}.ranking-row.top3 .rk-pos{color:#d4915a}.rk-main{flex-direction:column;flex:1;min-width:0;display:flex}.rk-name{color:#f2eee2;white-space:nowrap;text-overflow:ellipsis;font-size:1.1rem;font-weight:800;overflow:hidden}.rk-sub{color:var(--ui-dim);font-size:.8rem}.rk-score{color:var(--gold);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.3rem;font-weight:900}.ranking-empty{text-align:center;color:var(--ui-dim);padding:1.6rem 0}.result-register{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:.2rem;display:flex}.register-status{text-align:center;width:100%;color:var(--gold);letter-spacing:.06em;min-height:1.4rem;font-size:1.05rem;font-weight:800}#result-name,#set-name,#ranking-name{color:#f2eee2;border:1.5px solid var(--ui-border);background:#0000008c;border-radius:6px;outline:none;width:13rem;padding:.45rem .9rem;font-family:inherit;font-size:1.05rem;font-weight:700}#result-name:focus,#set-name:focus,#ranking-name:focus{border-color:var(--accent)}.ranking-name-row{color:var(--ui-dim);align-items:center;gap:.7rem;margin-top:.7rem;font-size:.95rem;font-weight:700;display:flex}.ranking-name-row input{flex:1}.result-stats .label-note{color:#a09a8ccc;font-size:.78rem;font-weight:600}.seo-ticker{white-space:nowrap;pointer-events:none;letter-spacing:.06em;color:#cfc9ba8c;text-shadow:0 1px 3px #000000d9;font-size:.84rem;font-weight:600;position:absolute;bottom:4rem;left:0;right:0;overflow:hidden}.ticker-track{animation:95s linear infinite ticker-scroll;display:inline-block}.ticker-track .ticker-text{padding-right:2.5em;display:inline-block}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.tips-bar{white-space:nowrap;background:#00000085;border:1.5px solid #7a70608c;border-radius:5px;align-items:center;gap:.75rem;max-width:52%;padding:.5rem 1.2rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.tips-tag{color:var(--accent);letter-spacing:.18em;flex-shrink:0;font-size:.85rem;font-weight:900}.tips-text{color:#cfc9ba;text-overflow:ellipsis;font-size:1.02rem;font-weight:600;transition:opacity .35s;overflow:hidden}.pause-heading{letter-spacing:.3em;text-indent:.3em;text-shadow:0 2px 8px #000000e6;font-size:2.6rem;font-weight:900}.modal{z-index:20;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal-box{background:var(--ui-panel);border:2px solid var(--ui-border);border-radius:10px;width:min(36rem,86%);padding:1.8rem 2rem 1.4rem;box-shadow:0 12px 48px #000c}.modal-box h3{letter-spacing:.24em;color:#f2eee2;margin-bottom:1.2rem;font-size:1.5rem}.setting-row{cursor:pointer;justify-content:space-between;align-items:center;padding:.6rem 0;font-size:1.1rem;font-weight:700;display:flex}.setting-row input[type=range]{width:55%;accent-color:var(--accent)}.setting-row input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.form-status{color:var(--gold);font-size:.9rem;line-height:1.6}.howto-list{flex-direction:column;gap:.7rem;font-size:1.02rem;line-height:1.65;list-style:none;display:flex}.howto-list li{padding-left:1.2em;position:relative}.howto-list li:before{content:"▸";color:var(--blood);position:absolute;left:0}.howto-list strong{color:var(--gold);font-weight:700}.howto-guide-link{text-align:center;letter-spacing:.08em;margin-top:1rem;font-size:.96rem;font-weight:700}.howto-guide-link a{color:#ffd24a;text-shadow:0 1px 4px #000000e6;border-bottom:1px solid #ffd24a8c;text-decoration:none}.howto-guide-link a:hover,.howto-guide-link a:focus-visible{color:#fff2bd;border-bottom-color:#fff2bd;outline:none}.modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.4rem;display:flex}.modal-actions .plate-btn{min-width:12rem;padding:.8rem 1.6rem;font-size:1.1rem}@media (max-aspect-ratio:4/5){#screen-title .title-content{gap:.55rem;transform:translateY(0)}#screen-title .title-logo-img{width:min(37rem,58%)}#screen-title .title-tagline{letter-spacing:.08em;margin-top:-.2rem;font-size:1.15rem}#screen-title .menu-buttons{gap:.45rem;margin-top:.2rem}#screen-title .plate-btn{min-width:16rem;padding:.75rem 1.8rem .85rem;font-size:1.25rem}.title-footer,#screen-title .tips-bar,#screen-title .seo-ticker{display:none}}[hidden]{display:none!important}#account-dialog{max-height:85vh;overflow-y:auto}#account-dialog h3{margin:1.2em 0 .5em;font-size:1.05em}.account-consent{align-items:flex-start;gap:.6em;line-height:1.6;display:flex}.account-consent input{flex:none;margin-top:.4em}
