/* The panel authentication screen follows app/Assets/discord-callback.html. */
.login-panel{isolation:isolate;position:relative;width:100%;max-width:none;min-height:100svh;margin:0;padding:48px 24px 96px;display:grid;place-items:center;overflow:hidden;text-align:center;background:radial-gradient(70% 60% at 50% 46%,#1c3049 0%,#142337 34%,#0d1725 66%,#090b14 100%)}
.login-stars,.login-aurora,.login-vignette{position:absolute;inset:0;pointer-events:none}
.login-stars{z-index:-3;opacity:.64;background-image:url('/panel/assets/orion-stars.png');background-position:center;background-size:512px 512px;animation:login-drift 32s linear infinite}
.login-aurora{z-index:-2;background:radial-gradient(circle at 50% 47%,rgb(134 196 222/.14),transparent 23%),radial-gradient(circle at 50% 49%,rgb(141 174 215/.08),transparent 40%);filter:blur(1px);animation:login-breathe 4.2s ease-in-out infinite}
.login-vignette{z-index:-1;background:radial-gradient(ellipse at center,transparent 26%,rgb(3 2 11/.43) 100%)}
.login-card{width:min(100%,650px);display:grid;justify-items:center;align-content:center;transform:translateY(-10px);background:none;border:0;box-shadow:none}
.login-loader{position:relative;display:grid;width:min(70vw,350px);aspect-ratio:1;place-items:center}
.login-pulse{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 50% 52%,rgb(134 196 222/.25),rgb(134 196 222/0) 66%);animation:login-pulse 1.5s ease-in-out infinite}
.login-orbit{position:absolute;inset:0;animation:login-spin 5s linear infinite}
.login-orbit-inner{inset:16.15%;animation:login-spin-back 3.4s linear infinite}
.login-orbit i{position:absolute;display:block;width:5px;height:5px;background:#86c4de;box-shadow:0 0 14px #86c4decc}
.login-orbit-outer i:first-child{width:8px;height:8px;top:0;left:calc(50% - 4px);background:#e9b346;box-shadow:0 0 14px #e9b346}
.login-orbit-outer i:nth-child(2){top:calc(50% - 2.5px);right:0;background:#e9b346}
.login-orbit-outer i:nth-child(3){bottom:0;left:calc(50% - 2.5px)}
.login-orbit-outer i:nth-child(4){top:calc(50% - 2.5px);left:0}
.login-orbit-inner i{background:#8daed7;box-shadow:0 0 14px #8daed7}
.login-orbit-inner i:first-child{top:0;left:calc(50% - 2.5px)}
.login-orbit-inner i:last-child{bottom:0;left:calc(50% - 2.5px)}
.login-panel .login-loader img{position:relative;z-index:1;width:62%;height:auto;image-rendering:pixelated;filter:drop-shadow(0 13px 27px rgb(0 0 0/.35));animation:login-bob 2.2s ease-in-out infinite}
.login-status{display:grid;min-height:78px;justify-items:center;margin-top:28px}
.login-panel .login-status h1{max-width:650px;min-height:24px;margin:0;color:#a4b3c7;font:600 clamp(11px,1.2vw,13px)/2 var(--heading);letter-spacing:.34em;text-transform:uppercase;text-wrap:balance}
.login-progress{position:relative;width:min(42vw,164px);height:3px;margin-top:15px;overflow:hidden;border-radius:10px;background:rgb(152 164 186/.18)}
.login-progress::after{position:absolute;top:0;bottom:0;left:0;width:44px;content:'';background:linear-gradient(90deg,transparent,#86c4de,transparent);animation:login-bar 1.4s linear infinite}
.login-panel:not(.is-loading) .login-progress{display:none}
.login-panel .btn{min-width:240px;min-height:38px;margin-top:20px;padding:9px 22px;border-radius:5px;font:600 10px var(--heading);letter-spacing:2px;text-transform:uppercase}
.login-panel .btn.primary{background:linear-gradient(#edbf59,#e9b346,#dfaa3d);border-color:#edbf59;color:#251a05}
.login-panel .btn.primary:hover{background:linear-gradient(#f5ca6b,#edbc53,#e4ad3e)}
.login-discord{position:absolute;bottom:31px;display:inline-flex;padding:12px 15px;color:#98a4ba;font:600 12px var(--heading);letter-spacing:.32em;text-decoration:none}
.login-discord:hover,.login-discord:focus-visible{color:#f3ce7d}
@keyframes login-drift{to{background-position:512px 512px}}@keyframes login-spin{to{transform:rotate(360deg)}}@keyframes login-spin-back{to{transform:rotate(-360deg)}}@keyframes login-bob{50%{transform:translateY(-8px)}}@keyframes login-breathe{50%{opacity:.78;transform:scale(1.05)}}@keyframes login-pulse{50%{opacity:1;transform:scale(1.08)}}@keyframes login-bar{from{transform:translateX(-48px)}to{transform:translateX(220px)}}
@media(max-width:520px){.login-panel{padding-bottom:86px}.login-card{transform:translateY(-5px)}.login-loader{width:min(80vw,300px)}.login-status{margin-top:18px}.login-panel .login-status h1{letter-spacing:.22em}.login-discord{bottom:20px}}
@media(prefers-reduced-motion:reduce){.login-panel *,.login-panel *::before,.login-panel *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.orion-select{display:inline-block;min-width:0;vertical-align:middle}
.orion-select>select{display:none!important}
.directory-filter .orion-select{min-width:130px;flex:1 1 auto}
.logs-toolbar .orion-select{min-width:170px}
.live-field .orion-select{display:block;width:100%}
.orion-select-trigger{position:relative;display:flex;align-items:center;width:100%;min-height:36px;padding:8px 42px 8px 12px;border:1px solid #39516e;border-radius:5px;background:#101a29;color:#d0def0;font:10px var(--heading);text-align:left;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.orion-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis}
.orion-select-chevron{position:absolute;right:16px;top:50%;width:12px;height:8px;fill:none;stroke:#a9c9ed;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-50%);transform-origin:center;transition:transform .15s}
.orion-select-trigger:hover,.orion-select-trigger[aria-expanded="true"]{border-color:#83a9d1;background:#14253a}
.orion-select-trigger[aria-expanded="true"]{box-shadow:0 0 0 2px #83a9d121}
.orion-select-trigger[aria-expanded="true"] .orion-select-chevron{transform:translateY(-50%) rotate(180deg)}
.orion-select-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.orion-select-menu{position:fixed;z-index:1000;overflow:visible;padding:5px;border:1px solid #52749b;border-radius:6px;background:#111e2e;box-shadow:0 14px 36px #020710b8,0 0 0 1px #a9c9ed0c}
.orion-select-menu.is-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.orion-select-option{min-height:35px;padding:9px 11px;border-radius:4px;color:#c9d9ed;font:10px var(--heading);cursor:pointer}
.orion-select-option:hover,.orion-select-option.is-active{background:#263e5b;color:#f0f6ff}
.orion-select-option[aria-selected="true"]{color:#f1c976}
.orion-select-option[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.directory-filter .orion-select,.logs-toolbar .orion-select{width:100%;min-width:0}}
.report-archive{display:flex;align-items:center;gap:14px;padding:17px;border:1px solid #52749b;border-radius:8px;background:linear-gradient(110deg,#1a324b,#112133)}
#inspector:has(.report-archive) .report-detail-meta{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-archive .feed-icon{width:42px;height:42px;border-radius:7px;background:#284a6c;color:#c7e5ff;display:grid;place-items:center;flex:none}.report-archive .attachment-copy strong{font-size:14px;color:#e0ecf8}.report-archive .attachment-copy small{font-size:10px;line-height:1.5}.report-archive .btn{flex:none;white-space:nowrap;background:#a9c9ed;color:#0d1a2a;border-color:#b8d7f7;text-decoration:none;font-weight:600}
.report-coverage{margin-top:16px;border:1px solid var(--edge);border-radius:6px;background:#0d1724}.report-coverage summary{padding:14px 16px;cursor:pointer;color:#c7d7eb;font-size:11px;list-style:none;display:flex;justify-content:space-between;align-items:center}.report-coverage summary:after{content:'⌄';font-size:17px;color:#9bb4d3}.report-coverage[open] summary:after{transform:rotate(180deg)}.report-coverage>.report-section{border-top:1px solid var(--edge);margin:0;padding:15px 16px}
.report-private-key{padding:15px 16px;border:1px solid #735e9e;border-radius:7px;background:#211c32}.report-private-key h3{color:#c9b8ed}.report-key{background:#19182a;border-color:#735e9e}.report-key input{color:#e0d1ff}.report-private-key .report-key-note{color:#a79abe}
.sessions-table{table-layout:fixed!important;min-width:1160px!important}.sessions-table th,.sessions-table td{box-sizing:border-box;vertical-align:middle;text-align:left}.sessions-table th:nth-child(1),.sessions-table td:nth-child(1){width:18%!important}.sessions-table th:nth-child(2),.sessions-table td:nth-child(2){width:16%!important}.sessions-table th:nth-child(3),.sessions-table td:nth-child(3){width:8%!important}.sessions-table th:nth-child(4),.sessions-table td:nth-child(4),.sessions-table th:nth-child(5),.sessions-table td:nth-child(5),.sessions-table th:nth-child(6),.sessions-table td:nth-child(6),.sessions-table th:nth-child(7),.sessions-table td:nth-child(7){width:9%!important;text-align:right}.sessions-table th:nth-child(8),.sessions-table td:nth-child(8){width:17%!important}.sessions-table th:nth-child(9),.sessions-table td:nth-child(9){width:5%!important;text-align:center}.session-build,.character-build{font:10px var(--mono);color:#b9d1ef;white-space:nowrap}.sessions-table th{white-space:nowrap}.sessions-table td{overflow:hidden}.sessions-table .character-script{max-width:100%}
#characters-table .char-owner-col{width:15%}#characters-table .char-name-col{width:14%}#characters-table .char-world-col{width:7%}#characters-table .char-script-col{width:19%!important}#characters-table .char-build-col{width:10%}#characters-table .char-time-col{width:10%}#characters-table .char-exp-col{width:9%!important}#characters-table .char-profit-col{width:9%!important}#characters-table .char-status-col{width:7%}
#user-characters-table{min-width:1040px;table-layout:fixed}#user-characters-table > thead > tr > th:nth-child(1){width:19%!important}#user-characters-table > thead > tr > th:nth-child(2){width:9%!important}#user-characters-table > thead > tr > th:nth-child(3){width:21%}#user-characters-table > thead > tr > th:nth-child(4){width:12%}#user-characters-table > thead > tr > th:nth-child(5){width:11%}#user-characters-table > thead > tr > th:nth-child(6){width:10%}#user-characters-table > thead > tr > th:nth-child(7){width:10%}#user-characters-table > thead > tr > th:nth-child(8){width:8%}
@media(max-width:650px){#inspector:has(.report-archive) .report-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.report-archive{flex-wrap:wrap}.report-archive .btn{width:100%;justify-content:center}}
/* Connection evidence stays inside existing cells; its tooltip escapes table clipping. */
.character-status-content{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.character-status-content .character-game-status{flex:none}
.character-status-content .local-ip-indicator{margin-left:auto}
.session-script-content{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.session-script-copy{flex:1;min-width:0}
.session-proxy .local-ip-indicator,.proxy-indicator{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.proxy-indicator{width:14px;height:16px;color:#8ba9c7}
.proxy-indicator .icon{width:14px;height:14px;stroke-width:2}
.local-ip-indicator{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:16px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--gold);line-height:1;cursor:help}
.local-ip-indicator .icon{width:14px;height:14px;stroke-width:1.65}
.local-ip-indicator:hover{color:#f3ce7d}
.local-ip-indicator:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.local-ip-tooltip{position:fixed;z-index:2000;max-width:calc(100vw - 16px);padding:5px 8px;border:1px solid var(--edge);border-radius:4px;background:var(--surface-2);color:var(--gold);font:8px var(--mono);letter-spacing:.08em;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px #03070b80}

.report-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;padding:5px;border:1px solid #6381a5;border-radius:6px;background:#101c2b;box-shadow:0 18px 42px #02060cbd;max-height:min(360px,60vh);overflow-y:auto}
.report-search-option{display:grid;gap:3px;width:100%;padding:10px 11px;border:0;border-radius:4px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.report-search-option+.report-search-option{border-top:1px solid var(--edge)}
.report-search-option:hover,.report-search-option:focus-visible{background:#29415c;outline:none}
.report-search-option strong{font:600 11px var(--heading)}
.report-search-option .report-search-kind{color:var(--gold);font:8px var(--mono);letter-spacing:.14em}
.report-search-option span{color:var(--muted);font-size:9px;line-height:1.4;overflow-wrap:anywhere}
.report-search-option code{color:var(--gold);font:9px var(--mono);overflow-wrap:anywhere}
.report-search-empty{margin:0;padding:9px 11px;color:var(--muted);font-size:10px}
