@charset "UTF-8";
/* V9.0 LAN connection controls share the six existing theme palettes. */
.lan-trigger {
 --network-action-ink:var(--theme-ui-accent);
 appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;
 min-height:29px;max-width:100%;padding:5px 9px;flex-shrink:0;
 border:1px solid var(--theme-ui-border);border-radius:9px;
 color:var(--network-action-ink);background:var(--theme-ui-panel);
 font:inherit;font-size:10px;line-height:1.5;cursor:pointer;
 box-shadow:0 1px 3px #00000004;
 transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.lan-trigger>.icon {width:14px;height:14px;flex:0 0 14px;stroke-width:1.7;color:inherit;}
.lan-trigger:hover {color:var(--theme-ui-text);background:var(--theme-ui-raised);border-color:var(--theme-ui-accent);box-shadow:0 3px 10px #00000008;}
.lan-trigger:active {transform:translateY(1px);}
.lan-trigger:focus-visible {outline:2px solid var(--theme-ui-accent);outline-offset:3px;}
/* The sidebar retains its existing palette, dimensions and service status. */
.sidebar button.lan-card {
 appearance:none;display:block;width:100%;text-align:left;
 font:inherit;line-height:inherit;cursor:pointer;
}
.sidebar button.lan-card:focus-visible {outline:2px solid var(--theme-ui-accent);outline-offset:3px;}
.sidebar button.lan-card:hover {border-color:var(--theme-ui-accent);}
.network-dialog.modal {
 --network-success:#617549;--network-success-bg:#F0F3E7;--network-success-border:#D6DFC6;
 --network-error-bg:#FFF0E9;--network-muted:var(--theme-ui-muted);--network-action-ink:var(--theme-ui-accent);
 width:min(700px,calc(100vw - 38px));max-width:700px;min-width:0;
 max-height:calc(100dvh - 38px);padding:0;overflow:auto;
 color:var(--theme-ui-text);background:var(--theme-ui-panel);
 border:1px solid var(--theme-ui-border);border-radius:22px;box-shadow:var(--theme-ui-shadow);
}
:root[data-theme="blackgold"] .network-dialog {
 --network-success:#BED09B;--network-success-bg:#273020;--network-success-border:#52613B;
 --network-error-bg:#352221;
}
.network-dialog .modal-header {
 padding:24px 26px 20px;gap:10px;align-items:flex-start;
 color:var(--theme-ui-text);background:var(--theme-ui-panel);border-color:var(--theme-ui-border);
}
.network-dialog .modal-header>div:first-child {flex:1;min-width:0;}
.network-dialog .modal-header h2 {margin:3px 0 0;color:var(--theme-ui-text);font-size:22px;font-weight:650;line-height:1.45;overflow-wrap:anywhere;}
.network-dialog .modal-header .eyebrow {color:var(--theme-ui-accent);font-size:9px;letter-spacing:2px;}
.network-dialog .modal-header>.icon-button {color:var(--theme-ui-muted);background:var(--theme-ui-raised);border-color:var(--theme-ui-border);}
.network-dialog .modal-header>.icon-button:hover {color:var(--theme-ui-accent);}
.network-dialog .network-body {min-width:0;padding:21px 26px 24px;color:var(--theme-ui-text);background:var(--theme-ui-panel);}
.network-status {
 display:flex;align-items:center;gap:8px;min-width:0;min-height:39px;
 margin:0 0 14px;padding:10px 12px;border:1px solid var(--theme-ui-border);border-radius:10px;
 color:var(--network-muted);background:var(--theme-ui-raised);font-size:11px;line-height:1.8;overflow-wrap:anywhere;
}
.network-status[data-state="loading"]::before {
 content:"";display:block;width:13px;height:13px;flex:0 0 13px;
 border:2px solid var(--theme-ui-border);border-top-color:var(--theme-ui-accent);border-radius:50%;
 animation:network-loading-spin .9s linear infinite;
}
.network-status[data-state="success"] {color:var(--network-success);background:var(--network-success-bg);border-color:var(--network-success-border);}
.network-status[data-state="error"] {color:var(--theme-ui-error);background:var(--network-error-bg);border-color:var(--theme-ui-error);}
.network-addresses {display:grid;gap:10px;min-width:0;margin:0 0 23px;padding:0;list-style:none;}
.network-address-row {
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;
 min-width:0;margin:0;padding:14px 15px;border:1px solid var(--theme-ui-border);border-radius:12px;
 color:var(--theme-ui-text);background:var(--theme-ui-raised);
 box-shadow:0 2px 8px #00000004;
}
.network-address-value {
 display:block;min-width:0;max-width:100%;color:var(--theme-ui-text);
 font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
 font-size:14px;font-weight:550;line-height:1.8;letter-spacing:.1px;
 font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;user-select:text;
}
.network-address-row .lan-copy {
 display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;
 min-width:88px;min-height:32px;padding:7px 11px;border:1px solid var(--theme-ui-border);border-radius:8px;
 color:var(--network-action-ink);background:var(--theme-ui-panel);font:inherit;font-size:10px;line-height:1.5;
 cursor:pointer;transition:color .2s,background-color .2s,border-color .2s;
}
.network-address-row .lan-copy:hover:not(:disabled) {color:var(--theme-ui-text);background:var(--theme-ui-raised);border-color:var(--theme-ui-accent);}
.network-address-row .lan-copy:focus-visible {outline:2px solid var(--theme-ui-accent);outline-offset:3px;}
.network-address-row .lan-copy[data-state="copying"] {color:var(--theme-ui-muted);opacity:1;cursor:progress;}
.network-address-row .lan-copy[data-state="copied"] {color:var(--network-success);background:var(--network-success-bg);border-color:var(--network-success-border);opacity:1;}
.network-address-row .lan-copy[data-state="error"] {color:var(--theme-ui-error);background:var(--network-error-bg);border-color:var(--theme-ui-error);opacity:1;}
.network-empty {
 margin:0 0 23px;padding:23px 18px;text-align:center;
 color:var(--network-muted);background:var(--theme-ui-raised);border:1px dashed var(--theme-ui-border);border-radius:12px;
 font-size:11px;line-height:1.9;overflow-wrap:anywhere;
}
.network-steps {display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:network-step;}
.network-steps>li {
 display:grid;grid-template-columns:25px minmax(0,1fr);align-items:start;column-gap:10px;row-gap:4px;
 min-width:0;margin:0;padding:0;color:var(--theme-ui-text);font-size:11px;line-height:1.9;overflow-wrap:anywhere;
 counter-increment:network-step;
}
.network-steps>li::before {
 content:counter(network-step,decimal-leading-zero);display:grid;place-items:center;
 width:25px;height:25px;grid-column:1;grid-row:1/3;
 color:var(--theme-dense-text);background:var(--theme-ui-raised);border:1px solid var(--theme-ui-border);border-radius:8px;
 font-size:9px;font-weight:600;line-height:1;
}
.network-steps>li>strong,.network-steps>li>span,.network-steps>li>p {grid-column:2;min-width:0;}
.network-steps>li strong {color:var(--theme-ui-text);font-weight:600;}
.network-steps>li p,.network-steps>li small {margin:0;color:var(--network-muted);font-size:10px;line-height:1.9;}
.network-host-note {
 margin:20px 0 0;padding:11px 13px;border:1px solid var(--theme-ui-border);border-left:3px solid var(--theme-ui-accent);border-radius:9px;
 color:var(--network-muted);background:var(--theme-ui-raised);font-size:10px;line-height:1.9;overflow-wrap:anywhere;
}
.network-dialog .modal-footer {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:16px 26px;color:var(--theme-ui-muted);background:var(--theme-ui-raised);border-color:var(--theme-ui-border);}
.network-dialog .modal-footer .button {min-height:33px;padding:7px 13px;font-size:11px;}
@keyframes network-loading-spin {to {transform:rotate(360deg);}}
@media(max-width:600px) {
 .lan-trigger {padding:5px 7px;font-size:9px;}
 .lan-trigger>.icon {width:13px;height:13px;flex-basis:13px;}
 .network-dialog.modal {width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:17px;}
 .network-dialog .modal-header {padding:20px 18px 17px;}
 .network-dialog .modal-header h2 {font-size:20px;}
 .network-dialog .network-body {padding:17px 18px 20px;}
 .network-address-row {gap:10px;padding:12px;}
 .network-address-value {font-size:12px;}
 .network-dialog .modal-footer {padding:14px 18px;}
}
@media(max-width:440px) {
 .network-address-row {grid-template-columns:minmax(0,1fr);gap:9px;}
 .network-address-row .lan-copy {justify-self:end;}
 .network-status {font-size:10px;}
 .network-steps>li {font-size:10px;}
}
@media(prefers-reduced-motion:reduce) {
 .lan-trigger,.network-address-row .lan-copy {transition:none!important;}
 .lan-trigger:active {transform:none;}
 .network-status[data-state="loading"]::before {animation:none;}
}

/* Utility controls stay compact beside each other on the login screen. */
.lan-trigger-auth {align-self:flex-end;margin:0 0 16px;}
.auth-utility-actions {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;align-self:flex-end;margin:-5px 0 16px;min-width:0;max-width:100%;}
.auth-utility-actions>.theme-trigger-auth,.auth-utility-actions>.lan-trigger-auth {align-self:auto;margin:0;}
.network-intro {margin:8px 0 0;color:var(--theme-ui-muted);font-size:11px;line-height:1.8;}
.network-steps>li>span {color:var(--network-muted);font-size:10px;line-height:1.9;}
.network-host-note>.icon {display:inline-block;width:13px;height:13px;margin-right:5px;vertical-align:-2px;color:var(--theme-ui-accent);}
:root[data-theme="red"] .network-dialog {--network-muted:var(--theme-dense-text);}
:root[data-theme="blue"] .network-dialog,:root[data-theme="blue"] .lan-trigger {--network-action-ink:var(--tech-blue,#3968F1);}
