/* Scoped lobby modals only. No game layout, cards, chips, or banner geometry. */
.lep-dialog { box-sizing:border-box; width:min(384px,calc(100vw - 28px)); max-height:calc(100dvh - 36px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid #b9934c; border-radius:19px; color:#f3e8cd; background:linear-gradient(145deg,#292820,#171a17 72%); box-shadow:0 24px 80px #000a,0 0 0 1px #d5b2691c inset; font-family:Pretendard,'Pretendard Variable',Arial,sans-serif; color-scheme:dark; }
.lep-dialog::backdrop { background:#090c0be0; backdrop-filter:blur(5px); }
.lep-dialog *, .lep-dialog *::before, .lep-dialog *::after { box-sizing:border-box; }
.lep-dialog button,.lep-dialog input,.lep-dialog select { font:inherit; }
.lep-dialog button { min-height:44px; cursor:pointer; }
.lep-dialog button:disabled { cursor:default; opacity:.38; }
.lep-dialog :focus-visible { outline:2px solid #f4d48c; outline-offset:3px; }
.lep-header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; padding:8px 12px 8px 20px; border-bottom:1px solid #a183422f; }
.lep-header > span,.lep-header div > span { color:#c8aa6a; font-size:10px; font-weight:800; letter-spacing:1.8px; }
.lep-header b { margin-left:7px; padding:4px 6px; border-radius:4px; background:#ac894226; color:#e7cd95; font-size:9px; letter-spacing:0; }
.lep-header > button { display:grid; place-items:center; flex:none; width:44px; padding:0; border:0; border-radius:50%; color:#ccb987; background:transparent; font-size:27px; font-weight:400; }
.lep-header h2 { margin:5px 0 4px; color:#f5e7c7; font-size:20px; letter-spacing:-.7px; }
.lep-content { min-width:0; }
.lep-banner { display:grid; place-items:center; min-height:110px; overflow:hidden; border-bottom:1px solid #a1834230; background:#131713; }
.lep-banner img { display:block; width:100%; height:auto; max-height:226px; object-fit:contain; }
.lep-banner.is-image-failed { min-height:72px; background:radial-gradient(ellipse,#6e582b30,transparent 70%); }
.lep-notice-emblem { display:grid; place-items:center; height:106px; color:#d9b267; font-size:66px; background:radial-gradient(ellipse,#90712c24,transparent 65%); }
.lep-copy { padding:23px 24px 8px; }
.lep-tag { color:#c8a45c; font-size:9px; font-weight:900; letter-spacing:1.8px; }
.lep-copy h2 { margin:9px 0 11px; color:#fff0cf; font-size:24px; line-height:1.3; letter-spacing:-.9px; overflow-wrap:anywhere; }
.lep-copy p { margin:0; color:#c2b99f; font-size:13px; line-height:1.65; overflow-wrap:anywhere; white-space:pre-line; }
.lep-pages { display:flex; align-items:center; justify-content:center; gap:14px; margin:3px 16px 0; }
.lep-pages button { display:grid; place-items:center; width:44px; padding:0; border:0; border-radius:8px; color:#d6b675; background:transparent; font-size:24px; }
.lep-pages span { min-width:33px; color:#cbbb98; font-size:11px; font-variant-numeric:tabular-nums; text-align:center; }
.lep-actions { padding:13px 24px 20px; }
.lep-primary { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; padding:12px 18px; border:1px solid #e6c886; border-radius:10px; background:linear-gradient(160deg,#efd39a,#cba35c); color:#302513; box-shadow:0 2px 0 #755b2c,0 1px 0 #fff9 inset; font-size:14px; font-weight:900!important; }
.lep-primary span { font-size:17px; }
.lep-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:56px; padding:3px 15px 3px 22px; border-top:1px solid #9c834936; background:#0c100e3d; color:#ada58d; }
.lep-footer label { display:flex; align-items:center; gap:9px; min-height:44px; font-size:12px; cursor:pointer; }
.lep-footer input { width:17px; height:17px; margin:0; accent-color:#d9b66e; }
.lep-footer > button { min-width:44px; padding:0 7px; border:0; background:transparent; color:#d3c3a0; font-size:12px; }
.lep-footer > span { font-size:10px; line-height:1.5; }
.lep-tournament-art { position:relative; display:flex; align-items:center; justify-content:flex-end; height:198px; padding:28px 23px; overflow:hidden; background:linear-gradient(125deg,#353024,#151d19 80%); border-bottom:1px solid #a1834230; }
.lep-tournament-art img { position:absolute; z-index:1; left:7px; bottom:-20px; width:188px; height:206px; object-fit:contain; filter:drop-shadow(0 8px 9px #0007); }
.lep-art-glow { position:absolute; left:-32px; bottom:-86px; width:240px; height:240px; border:1px solid #b69d4938; border-radius:50%; background:radial-gradient(ellipse,#d0a54b36,transparent 66%); box-shadow:0 0 0 17px #b69d4908,0 0 0 37px #b69d4907; }
.lep-art-label { position:relative; z-index:2; max-width:50%; color:#dec48a; font-size:15px; font-weight:900; line-height:1.6; letter-spacing:1.5px; text-shadow:0 2px 5px #0007; }
.lep-tournament-stats { display:grid; gap:9px; margin:18px 0 0; padding-top:15px; border-top:1px solid #89744247; }
.lep-tournament-stats div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lep-tournament-stats dt { color:#aaa58f; font-size:11px; }
.lep-tournament-stats dd { margin:0; color:#ebd6a6; font-size:13px; font-weight:800; text-align:right; }
.lep-editor { width:min(660px,calc(100vw - 28px)); }
.lep-editor .lep-header { padding:15px 15px 13px 22px; }
.lep-editor-form { margin:0; }
.lep-editor-body { padding:20px 22px; }
.lep-master { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px; border:1px solid #a98a4c70; border-radius:11px; background:linear-gradient(120deg,#b39a4521,#282d2425); }
.lep-master span { display:grid; gap:5px; }
.lep-master strong { color:#f0e3c4; font-size:14px; }
.lep-master small { color:#b9ad8e; font-size:11px; line-height:1.5; }
.lep-master input { appearance:none; position:relative; flex:none; width:42px; height:24px; margin:0; border:1px solid #89794a; border-radius:30px; background:#0f1512; cursor:pointer; }
.lep-master input::after { position:absolute; left:3px; top:3px; width:16px; height:16px; border-radius:50%; background:#a69a7d; content:''; }
.lep-master input:checked { background:#b79752; }
.lep-master input:checked::after { left:21px; background:#fff1ca; }
.lep-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:23px 1px 12px; }
.lep-editor h3 { margin:0; color:#e9d8b1; font-size:13px; }
.lep-editor-heading span { color:#c0ac7b; font-size:11px; }
.lep-editor-list { display:grid; gap:12px; }
.lep-editor-item { overflow:hidden; border:1px solid #7c6b414d; border-radius:12px; background:#131a164d; }
.lep-item-heading { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid #7c6b4136; }
.lep-item-order { display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:7px; background:#bba05c2b; color:#dfc38b; font-size:12px; font-weight:800; }
.lep-item-heading > div { display:grid; gap:5px; min-width:0; flex:1; }
.lep-item-heading small { color:#b49a65; font-size:9px; }
.lep-item-heading strong { color:#e9dfc6; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.lep-item-toggle { display:flex; align-items:center; flex:none; gap:6px; min-height:44px; color:#c6baa0; font-size:11px; }
.lep-item-toggle input { width:16px; height:16px; margin:0; accent-color:#d7b66a; }
.lep-item-fields { display:grid; grid-template-columns:1fr 1.2fr 1.2fr; gap:9px; padding:14px; }
.lep-item-fields label,.lep-add label { display:grid; gap:8px; min-width:0; color:#b8ac90; font-size:10px; }
.lep-item-fields small { color:#8e8c7a; font-size:9px; }
.lep-editor input[type=datetime-local],.lep-editor select { box-sizing:border-box; min-width:0; width:100%; height:42px; padding:7px 9px; border:1px solid #79694188; border-radius:7px; background:#101712; color:#ddd0af; font-size:12px; }
.lep-item-tools { display:flex; align-items:center; gap:2px; padding:0 8px 5px; }
.lep-item-tools span { flex:1; }
.lep-item-tools button { min-width:42px; padding:8px; border:0; border-radius:7px; color:#c0ae84; background:transparent; font-size:11px; }
.lep-item-tools button[data-lep-remove] { color:#be8d82; }
.lep-add { display:grid; gap:12px; margin-top:18px; padding:16px; border:1px dashed #95814c66; border-radius:12px; }
.lep-add > div { display:grid; grid-template-columns:1fr 1.5fr; gap:9px; }
.lep-secondary { width:100%; padding:10px 13px; border:1px solid #92794588; border-radius:8px; background:#9d80461a; color:#dfc58d; font-size:12px; }
.lep-editor-help { margin:17px 0 0; color:#918f7c; font-size:10px; line-height:1.7; }
.lep-editor-empty { margin:0; padding:18px; border:1px dashed #6c614645; border-radius:10px; color:#b5a991; font-size:12px; text-align:center; }
.lep-editor [data-lep-message] { margin:12px 0 0; color:#b8cca4; font-size:12px; line-height:1.6; }
.lep-editor [data-lep-message]:empty { margin:0; }
.lep-editor [data-lep-message].is-error { color:#e3a79b; }
.lep-editor-footer { position:sticky; bottom:0; display:flex; align-items:center; gap:10px; padding:14px 22px; border-top:1px solid #85713c55; background:#181e19f5; backdrop-filter:blur(8px); }
.lep-editor-footer > span { flex:1; color:#9c9d84; font-size:10px; }
.lep-editor-footer > button { min-width:60px; padding:10px; border:0; background:transparent; color:#c6b38c; font-size:11px; }
.lep-editor-footer > .lep-primary { width:auto; min-width:114px; border:1px solid #e6c886; background:linear-gradient(160deg,#efd39a,#cba35c); color:#302513; font-size:12px; }
@media(max-width:480px) { .lep-editor-body{padding:16px}.lep-item-fields{grid-template-columns:1fr 1fr}.lep-item-fields label:first-child{grid-column:1/-1}.lep-editor input[type=datetime-local],.lep-editor select{font-size:12px}.lep-editor-footer{padding:12px 16px}.lep-item-heading{padding:10px}.lep-add{padding:13px}.lep-add>div{grid-template-columns:1fr}.lep-editor .lep-header{padding-left:17px}.lep-tournament-art{height:176px}.lep-tournament-art img{width:172px;height:191px}.lep-copy{padding:20px 21px 7px}.lep-copy h2{font-size:23px}.lep-actions{padding-left:21px;padding-right:21px} }
@media(max-width:350px) { .lep-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:15px}.lep-header{padding-left:16px}.lep-copy{padding:18px 17px 7px}.lep-copy h2{font-size:21px}.lep-copy p{font-size:12px}.lep-actions{padding:12px 17px 17px}.lep-footer{padding-left:17px}.lep-tournament-art{height:153px}.lep-tournament-art img{width:151px;height:167px;left:2px}.lep-art-label{font-size:12px;letter-spacing:1px}.lep-item-fields{padding:11px;gap:8px}.lep-editor-footer{gap:4px}.lep-editor-footer>.lep-primary{min-width:100px}.lep-editor-footer>span{font-size:9px}.lep-master{padding:12px}.lep-master small{font-size:10px} }
@media(prefers-reduced-motion:no-preference) { .lep-runtime[open]{animation:lep-enter .18s ease-out}@keyframes lep-enter{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}} }
.lep-date-summary { color:#d0c19e; font-size:10px; line-height:1.55; overflow-wrap:anywhere; }
.lep-date-summary:empty { display:none; }
@media(max-width:480px) { .lep-item-fields { grid-template-columns:1fr; } }

/* Independent notice poster. Fits the viewport without changing shared banners. */
.lep-banner img[hidden] { display:none; }
.lep-poster { min-height:0; }
.lep-poster img { width:auto; height:auto; max-width:100%; max-height:min(60dvh,calc(100dvh - 280px)); object-fit:contain; }
.lep-poster-copy { display:none; }
.lep-runtime.is-portrait .lep-actions { padding-top:14px; padding-bottom:16px; }

/* Release notice uses one real room screenshot, within the existing modal. */
.lep-rest-art{aspect-ratio:8/5;min-height:0;background:#211a14}
.lep-rest-art img{width:100%;height:auto;max-height:none;aspect-ratio:8/5;object-fit:contain}
.lep-runtime.is-rest-opening{background:linear-gradient(145deg,#33291f,#1c1813 72%)}
.lep-rest-copy .lep-tag{color:#e6c37c}
.lep-rest-copy p{word-break:keep-all}
@media(max-height:650px){.lep-runtime.is-rest-opening .lep-header{min-height:48px}.lep-runtime.is-rest-opening .lep-rest-copy{padding-top:15px}.lep-runtime.is-rest-opening .lep-copy h2{font-size:21px;margin-top:7px;margin-bottom:8px}.lep-runtime.is-rest-opening .lep-copy p{font-size:12px}.lep-runtime.is-rest-opening .lep-actions{padding-top:10px;padding-bottom:13px}}
