/* Shared cabinet frame: restrained brass trim and a dark display surface. */
dialog,#account-dialog,#ranking-dialog{color:#eef2ee;background:#101f26;border:2px solid #9f8b58;border-radius:12px;box-shadow:0 0 0 5px #091319,0 24px 90px #000b;color-scheme:dark}
dialog::backdrop{background:#030b13ce;backdrop-filter:blur(5px)}
#account-dialog,#ranking-dialog{width:min(800px,94vw);padding:28px;font-size:1rem}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #6c6247}
.dialog-heading>div{min-width:0}#account-dialog h2,#ranking-dialog h2{margin:4px 0 0;font-size:1.75rem;line-height:1.5;color:#ffe3a2}
.account-kicker{color:#c9b886;font:800 .875rem Outfit,sans-serif;letter-spacing:.16em;margin:0}
dialog .close{float:none;flex-shrink:0;border-radius:6px;background:#23343b;border:1px solid #718188;color:#f4f2e9;box-shadow:0 3px 0 #060e12}dialog .close:hover{background:#34484e}
#account-dialog label,.ranking-filters label{display:flex;flex-direction:column;gap:8px;font-weight:700;margin:18px 0;color:#cbd9d9}
#account-dialog input,#account-dialog select,.ranking-filters select{width:100%;min-width:0;padding:12px;border:1px solid #698088;background:#071318;color:#f7f4e9;border-radius:6px;font:inherit;min-height:52px}
#account-dialog button:not(.close),#ranking-dialog button:not(.close),#rank-retry{font:700 1rem 'Noto Sans JP',sans-serif;min-height:52px;padding:12px 20px;border:1px solid #75898b;border-radius:6px;color:#eff4ef;background:#263d43;margin:8px 0;box-shadow:0 3px 0 #050d12}
#account-dialog button.account-primary,#ranking-dialog #ranking-refresh{background:#e6c67f;color:#17242b;border-color:#f1d99e;box-shadow:0 3px 0 #8d713b}
#account-dialog button:disabled,#ranking-dialog button:disabled{opacity:.6;cursor:wait}
dialog :is(button,input,select,summary):focus-visible{outline:3px solid #fff0bf;outline-offset:4px}
#account-dialog details{margin-top:28px;border-top:1px solid #45595e;padding-top:18px}#account-dialog summary{cursor:pointer;min-height:44px;color:#b6c8ca}
#account-status,.rank-feedback{line-height:1.8;overflow-wrap:anywhere}#account-status:not(:empty){border-left:3px solid #e6c67f;padding:12px 16px;background:#1c3037}#account-status:empty,.rank-feedback:empty{display:none}
.form-note{font-size:.875rem;color:#b5c6c9;line-height:1.8}
.ranking-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:20px;background:#172b32;border:1px solid #42575a;border-radius:8px}
.ranking-filters label{min-width:0;margin:0}#ranking-dialog #ranking-refresh{margin:0;min-height:52px;white-space:nowrap}
.ranking-table{overflow:auto;border:1px solid #40555b;border-radius:8px;background:#08151c;margin:20px 0}
#ranking-dialog table{width:100%;border-collapse:collapse}#ranking-dialog th,#ranking-dialog td{padding:16px 14px;text-align:left;border-bottom:1px solid #30454d;font-size:1rem}
#ranking-dialog th{color:#c2d1cf;background:#1b3037;font-size:.875rem}#ranking-dialog td:nth-child(2){overflow-wrap:anywhere;max-width:280px}#ranking-dialog th:last-child,#ranking-dialog td:last-child{text-align:right}
#ranking-dialog td:first-child{color:#f2d38b;font-family:Outfit,sans-serif;font-weight:800}#ranking-dialog td:last-child{font-family:Outfit,sans-serif;font-weight:800;font-variant-numeric:tabular-nums;font-size:1.25rem;white-space:nowrap}.my-ranking{background:#24443f}
#ranking-status{font-size:.875rem;line-height:1.8;color:#b7c9cb}#ranking-status.empty-board{padding:40px 20px;text-align:center;color:#f2e3bd;font-size:1.125rem;line-height:2;background:#08151c;border:1px solid #40555b;border-radius:8px}
#member-email{overflow-wrap:anywhere}#my-rank{font-weight:800;color:#efd598}#my-rank:empty{display:none}.rank-feedback{font-size:.875rem;color:#c4dfd2}
header nav{flex-wrap:wrap;justify-content:flex-end;gap:10px}#verify-box{padding:20px;background:#1a3336;border:1px solid #69877b;border-radius:8px}
#game-dialog .game-top{padding-bottom:16px;border-bottom:1px solid #6c6247}#game-dialog .game-top h2,#about-dialog h2{color:#ffe3a2}.game-top span,.game-bottom p,.save-note{color:#b9cbd0}.game-stats{padding:14px;background:#08151c;border:1px solid #40555b;border-radius:8px}.game-stats b{color:#ffe3a2}.game-bottom button{background:#263d43;color:#eff4ef;border-color:#75898b}.game-bottom button:hover{background:#365058}
#about-dialog>.close{float:right;margin-left:16px}#about-dialog h2{padding-right:48px}#about-dialog h3{color:#e7ce93}
#account-notice{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:16px 24px;border:1px solid #c4a65c;border-radius:8px;background:#13282e;color:#f7e4b4;box-shadow:0 8px 32px #0008;font-size:1rem;font-weight:700;line-height:1.7;overflow-wrap:anywhere;pointer-events:none}#account-notice:empty{display:none}
@media(max-width:720px){header nav{width:100%;justify-content:flex-start}#account-dialog,#ranking-dialog{padding:22px 16px}.dialog-heading{gap:12px;padding-bottom:18px;margin-bottom:18px}.ranking-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px}#ranking-dialog #ranking-refresh{grid-column:1/-1;width:100%}#ranking-dialog th,#ranking-dialog td{padding:12px 10px}}
@media(max-width:480px){.ranking-filters{grid-template-columns:minmax(0,1fr)}#account-dialog h2,#ranking-dialog h2{font-size:1.5rem}#ranking-status.empty-board{padding:28px 16px}}

#power-status,#breakout-guide{color:#b9cbd0}#touch-pad{background:#1b353a;color:#d9e8e1;border-color:#789c95}#launch:disabled{background:#293c44;color:#c3cdd0}

#ranking-dialog th:first-child{white-space:nowrap}

#about-dialog a{color:#ffe3a2;text-decoration:underline;text-underline-offset:3px}

.arcade-reference{margin:40px 0;padding:28px;border:1px solid #617477;border-radius:10px;background:#101f26;color:#eef2ee;font-size:1rem;line-height:1.9}.arcade-reference h2{font-size:1.5rem;color:#ffe3a2;margin:0 0 16px}.arcade-reference details{border-top:1px solid #40555b}.arcade-reference summary{padding:16px 0;min-height:44px;font-weight:700;cursor:pointer}.arcade-reference details p{margin:0 0 18px;color:#ccdadc}.arcade-reference summary:focus-visible{outline:3px solid #ffe3a2;outline-offset:3px}@media(max-width:480px){.arcade-reference{padding:20px 16px}}
