/* Major screens share a safe-area shell; small confirmations keep their original dialog. */
body #modal.page-dialog{width:min(1120px,94vw)!important;height:min(760px,90dvh)!important;max-width:94vw!important;max-height:90dvh!important;padding:0!important;overflow:hidden!important;border:1px solid #dad7c4!important;border-radius:24px!important;background:radial-gradient(ellipse at 0 0,#f4f3df,transparent 60%),linear-gradient(135deg,#fcfaf3,#edf1e7)!important;color:#455f52;box-shadow:0 30px 100px #142d3766}
body #modal.page-dialog #modal-close{display:none!important}
.page-dialog #modal-content,.page-shell{height:100%;min-height:0;overflow:hidden}
.page-shell{display:flex;flex-direction:column;--page-gap:26px}
.page-bar{display:flex;align-items:center;gap:14px;flex:none;min-height:80px;padding:12px 28px;border-bottom:1px solid #cdd7c66b;background:#ffffff60;box-sizing:border-box}
.page-back{width:42px;height:42px;flex:none;border:1px solid #c7d0bd;border-radius:14px;background:#fffdf4;color:#4b6c5c;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 8px #3b57390a}
.page-back svg{width:23px;height:23px}.page-heading small{font-size:9px;letter-spacing:3px;color:#929b80}.page-heading h2{font-size:22px!important;margin:3px 0 0!important;color:#415c4d!important}.page-resource{margin-left:auto}.page-battle{display:flex;align-items:center;gap:12px;border:1px solid #c8b98f;background:#fff5d9;border-radius:12px;padding:8px 12px;color:#6f613f;cursor:pointer}.page-battle[hidden]{display:none}.page-battle span{font-size:11px}.page-battle b{font-size:12px}
.page-layout{display:flex;flex:1;min-height:0;overflow:hidden}.page-nav{width:180px;flex:none;display:flex;flex-direction:column;gap:9px;margin:0!important;padding:28px 16px!important;border-right:1px solid #ccd6c380;background:#e9eddf60;overflow:auto}.page-nav button{width:100%;flex:none!important;min-height:46px;text-align:left;padding:12px 16px!important;border:1px solid transparent!important;border-radius:12px;background:transparent;color:#667b64;font-size:13px!important;cursor:pointer}.page-nav button[aria-current=true]{border-color:#b7c7ae!important;background:#dbe6d1!important;color:#3f664d!important;box-shadow:inset 0 1px #fff7}.page-nav button small{float:right;opacity:.65}.page-content{flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:var(--page-gap);scrollbar-gutter:stable}
.page-content>.settings-page>.eyebrow,.page-content>.settings-page>h2,.page-content>.online-page>h2,.page-content>.online-page>.eyebrow,.page-content .account-heading,.page-content>.talent-heading{display:none!important}
.page-dialog .online-page{max-width:none;margin:0}.page-dialog .settings-page{display:flex;flex-direction:column;min-height:100%;gap:14px}.page-dialog .settings-page .settings-options{margin:0;gap:16px}.page-dialog .settings-options label{min-height:120px!important;border-radius:18px;padding:22px!important;background:#fffdf4;border:1px solid #d5ddca}.page-dialog .settings-options small{font-size:12px;line-height:1.7}.page-dialog .settings-note{font-size:12px!important;line-height:1.8!important;color:#829078}.page-dialog .settings-page>.online-actions{margin:0}.page-dialog .account-settings-link{display:none}.page-dialog .settings-bottom{margin-top:auto;padding-top:18px}.page-dialog button:focus-visible{outline:3px solid #b49c57;outline-offset:2px}
.page-dialog .account-layout{grid-template-columns:minmax(155px,.7fr) minmax(0,1.4fr);gap:30px}.page-dialog .account-pass{padding:25px 18px}.page-dialog .account-emblem{width:90px;height:90px}.page-dialog .account-details{padding-top:10px}.page-dialog .account-footer [data-modal=settings]{display:none}.page-dialog .account-nickname small{font-size:11px}.page-dialog .account-nickname input{min-height:44px}
.page-dialog .online-grid{grid-template-columns:1fr 1fr!important;gap:24px}.page-dialog .online-grid>section{background:#fffdf5;border:1px solid #d6dfcc;border-radius:18px;padding:22px}.page-dialog .online-grid h3{font-size:21px;margin:0 0 12px}.page-dialog .online-grid p{font-size:13px;line-height:1.8;color:#7e8c75}.page-dialog .online-friend{padding:20px;margin:14px 0}.page-dialog .online-friend .online-actions{margin:0;gap:6px}.page-dialog .online-friend button{font-size:12px;padding:9px 12px}.page-dialog .online-form{max-width:none}.page-dialog [data-online-form=friend]{grid-template-columns:1fr auto;align-items:end;padding-bottom:20px;border-bottom:1px solid #d3dcc7}.page-dialog .online-room-code{margin:12px auto 22px;max-width:400px;font-size:40px;letter-spacing:10px;background:#fffdf5;border-color:#bdcba9}.page-dialog .online-roommates{margin:24px 0}.page-dialog .online-roommates span{flex:1;padding:24px;background:#e4ecd9;border:1px solid #cfdbbf}
.page-dialog[data-page=chat] .page-content{display:flex;overflow:hidden}.page-dialog .chat-page{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px;min-width:0}.page-dialog .online-chat{flex:1;height:auto;min-height:0;padding:18px;background:#e8eddf80;border:1px solid #d8dfcb}.page-dialog .chat-compose{display:flex;flex:none;margin:0;gap:10px}.page-dialog .chat-compose label{flex:1}.page-dialog .chat-page>[data-online=tab]{display:none}
.page-dialog[data-page=talents] .page-content{display:flex;flex-direction:column;overflow:hidden;gap:12px}.page-dialog .talent-note{margin:0!important;font-size:11px!important;line-height:1.7}.page-dialog .talent-workbench{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);gap:24px;overflow:auto;margin:0}.page-dialog .talent-tree{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:15px;background:radial-gradient(ellipse,#e9efda,#f6f6ea);border:1px solid #d4ddc6;border-radius:22px;min-width:0}.page-dialog .talent-root{display:flex;justify-content:center}.page-dialog .talent-root:after{width:2px;height:14px;top:100%;left:50%;right:auto;background:#b6c7a7}.page-dialog .talent-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;width:100%}.page-dialog .talent-routes>div{align-items:center}.page-dialog .talent-node.talent-icon{width:60px!important;height:60px!important;min-height:60px!important;padding:5px!important;border-radius:16px!important;aspect-ratio:1;flex:none}.page-dialog .talent-node img{width:100%!important;height:100%!important;object-fit:contain}.page-dialog .talent-connector{height:14px;min-height:14px}.page-dialog .talent-detail{display:flex;flex-direction:column;align-items:flex-start;padding:24px;background:#fffcf3;border:1px solid #d4dbc7;border-radius:20px;min-width:0;margin:0}.page-dialog .talent-detail>img{width:70px;height:70px;object-fit:contain}.page-dialog .talent-detail h3{font-size:20px!important;margin:16px 0 10px}.page-dialog .talent-detail p{font-size:13px!important;line-height:1.85!important}.page-dialog .talent-detail>small{font-size:11px;line-height:1.6}.page-dialog .talent-detail>button{margin-top:auto;min-height:42px;width:100%;white-space:normal}.page-dialog .book-footer{display:flex!important;flex:none;padding:10px 0 0!important;margin:0!important;justify-content:space-between;border-top:1px solid #d6dfc9}.page-dialog .book-footer button{min-height:40px}.page-dialog .talent-wallet{padding:4px 10px}.page-dialog .talent-wallet img{width:25px;height:25px}.page-dialog .talent-wallet b{font-size:16px}
@media(max-width:950px),(max-height:600px) and (pointer:coarse){body #modal.page-dialog{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;max-inline-size:none!important;margin:0!important;inset:0;border:0!important;border-radius:0!important}.page-shell{--page-gap:18px;padding:var(--hud-top) var(--hud-right) var(--hud-bottom) var(--hud-left);box-sizing:border-box}.page-bar{min-height:52px;padding:0 0 10px;gap:12px}.page-heading h2{font-size:19px!important}.page-heading small{font-size:8px}.page-nav{width:125px;padding:16px 12px 0 0!important;gap:7px;background:none}.page-nav button{min-height:43px;padding:10px!important;font-size:12px!important}.page-content{padding:16px 0 0 18px;scrollbar-gutter:auto}.page-dialog .settings-page{gap:12px}.page-dialog .settings-options label{min-height:90px!important;padding:14px!important}.page-dialog .settings-bottom{padding-top:10px;gap:8px}.page-dialog .account-layout{gap:22px;grid-template-columns:170px minmax(0,1fr)}.page-dialog .account-pass{padding:14px}.page-dialog .account-emblem{width:56px;height:56px}.page-dialog .online-grid{gap:14px}.page-dialog .online-grid>section{padding:16px}.page-dialog .online-grid h3{font-size:17px;margin-bottom:8px}.page-dialog .online-grid p{font-size:11px;line-height:1.65}.page-dialog .online-form{gap:9px}.page-dialog .online-form label{font-size:12px}.page-dialog .online-form input,.page-dialog .online-form select{padding:9px;min-height:40px}.page-dialog .online-friend{flex-wrap:wrap;padding:14px}.page-dialog .online-friend .online-actions{width:100%}.page-dialog .talent-workbench{gap:14px;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr)}.page-dialog .talent-tree{padding:10px;gap:10px;border-radius:16px}.page-dialog .talent-node.talent-icon{width:44px!important;height:44px!important;min-height:44px!important;border-radius:12px!important}.page-dialog .talent-routes{gap:18px}.page-dialog .talent-connector{height:7px;min-height:7px}.page-dialog .talent-root:after{height:10px}.page-dialog .talent-detail{padding:14px;border-radius:16px}.page-dialog .talent-detail>img{width:42px;height:42px}.page-dialog .talent-detail h3{font-size:16px!important;margin:8px 0}.page-dialog .talent-detail p{font-size:12px!important;line-height:1.6!important;margin:0 0 8px}.page-dialog .talent-detail>button{font-size:11px;padding:8px;min-height:38px}.page-dialog .talent-note{font-size:10px!important}.page-dialog .book-footer{padding-top:7px!important}.page-dialog .book-footer button{min-height:36px;padding:6px 12px;font-size:11px}.page-battle{padding:6px 9px;gap:8px}.page-battle span{font-size:10px}.page-battle b{font-size:11px}}
@media(max-height:370px){.page-bar{min-height:46px;padding-bottom:7px}.page-back{width:36px;height:36px;border-radius:11px}.page-heading small{display:none}.page-heading h2{font-size:17px!important}.page-content{padding-top:10px}.page-nav{width:102px;padding-top:10px!important}.page-nav button{font-size:11px!important;padding:8px!important}.page-dialog .talent-note{display:none}.page-dialog .talent-workbench{grid-template-columns:minmax(165px,1fr) minmax(145px,1fr);gap:10px}.page-dialog .talent-tree{justify-content:flex-start;padding:8px;gap:5px}.page-dialog .talent-node.talent-icon{width:36px!important;height:36px!important;min-height:36px!important;padding:3px!important}.page-dialog .talent-connector{height:5px;min-height:5px}.page-dialog .talent-routes{gap:8px}.page-dialog .talent-detail{padding:10px}.page-dialog .talent-detail>img{display:none}.page-dialog .talent-detail h3{margin:0 0 8px}.page-dialog .talent-detail p{font-size:11px!important}.page-dialog .account-layout{grid-template-columns:125px minmax(0,1fr);gap:15px}.page-dialog .account-pass{padding:10px}.page-dialog .account-emblem{width:42px;height:42px}.page-dialog .account-pass h3{font-size:14px}.page-dialog .settings-page .settings-options{gap:9px}.page-dialog .settings-options label{padding:10px!important}.page-dialog .online-grid{grid-template-columns:1fr!important}.page-dialog .page-battle span{max-width:170px}.page-dialog [data-online-form=friend]{grid-template-columns:1fr}.page-dialog .online-friend button{font-size:11px;padding:8px}.page-dialog .book-footer{padding-top:4px!important}}

.page-nav-label{font-size:10px;color:#8e9d82;letter-spacing:2px;border-top:1px solid #d0dac6;padding:18px 10px 5px;margin-top:10px}.page-nav button{overflow-wrap:anywhere}.page-dialog .account-uid{grid-template-columns:minmax(0,1fr) 22px}.page-dialog .account-uid strong{font-size:17px;letter-spacing:1px}.page-dialog .account-uid button{padding:0}.page-dialog .account-uid svg{width:17px;height:17px}
.page-dialog .talent-detail{text-align:left}.page-dialog .talent-detail p{text-align:left}
.page-dialog .talent-tree{display:flex!important}.page-dialog .talent-root{margin:0!important;width:100%;max-width:none!important}.page-dialog .talent-routes{position:relative}.page-dialog .talent-routes:before{content:'';position:absolute;top:-7px;left:16.66%;right:16.66%;height:1px;background:#b6c7a7}.page-dialog .talent-routes>div{position:relative}.page-dialog .talent-routes>div:before{content:'';position:absolute;top:-7px;left:50%;width:1px;height:7px;background:#b6c7a7}
@media(min-height:371px) and (max-height:500px){.page-dialog .talent-note{display:none}.page-dialog .talent-node.talent-icon{width:40px!important;height:40px!important;min-height:40px!important}.page-dialog .talent-detail>img{width:32px;height:32px}.page-dialog .talent-detail h3{margin:6px 0}.page-dialog .talent-tree{gap:8px}.page-dialog .talent-connector{height:6px;min-height:6px}}
@media(max-height:370px){.page-dialog .account-uid strong{font-size:13px;letter-spacing:.5px}.page-dialog .account-uid{grid-template-columns:minmax(0,1fr) 18px}.page-nav-label{padding-top:10px}}
