@font-face{font-family:WapixPortal;src:url('./ui/fonts/Barlow-Medium.woff2') format('woff2'),url('./ui/fonts/Barlow-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:WapixPortal;src:url('./ui/fonts/Barlow-SemiBold.woff2') format('woff2'),url('./ui/fonts/Barlow-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:WapixPortalDisplay;src:url('./ui/fonts/Rajdhani-Bold.woff2') format('woff2'),url('./ui/fonts/Rajdhani-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--bg:#101923;--panel:#19283a;--panel-raised:#223449;--inset:#101c29;--line:#35485d;--text:#edf0e6;--muted:#9db0c0;--accent:#e7b56a;--accent-hover:#f1c887;--focus:#f1c887;--danger:#f3ac99;--font-body:WapixPortal,'Segoe UI',sans-serif;--font-heading:WapixPortalDisplay,'Arial Narrow',sans-serif;font:500 15px/1.5 var(--font-body);background:var(--bg);color:var(--text)}
body{min-width:300px;background:var(--bg)}a{color:inherit}button,.button{min-height:44px;border-radius:4px;padding:10px 17px;background:#223449;font-weight:600;box-shadow:none}button:active:enabled{transform:none}button.primary,.button.primary{color:#17202a;background:var(--accent);border-color:var(--accent)}button:disabled{opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
h1,h2,h3{font-family:var(--font-heading);font-weight:700;letter-spacing:0}h1{font-size:52px;line-height:1;margin-bottom:8px}h2{font-size:28px;line-height:1.15}h3{font-size:27px;line-height:1.1}p{margin-bottom:14px}.app-shell{max-width:1320px;margin:0 auto}.site-header{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:25px;min-height:82px;padding:0 40px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;width:max-content}.brand-text{font:700 34px/1 var(--font-heading);letter-spacing:.2px;color:#f1f1e9}.brand-text>span{color:var(--accent)}.brand-sight,.account-sight{display:block;width:27px;height:27px;border:1px solid #e7b56a88;position:relative;transform:rotate(45deg)}.brand-sight:before,.brand-sight:after,.account-sight:before,.account-sight:after{content:'';position:absolute;background:var(--accent);left:50%;top:50%;width:15px;height:1px;transform:translate(-50%,-50%)}.brand-sight:after,.account-sight:after{transform:translate(-50%,-50%) rotate(90deg)}.brand-sight:before{width:7px}.brand-sight:after{height:7px;width:1px}
.topnav{display:flex;align-items:stretch;gap:26px;height:82px;justify-self:center}.topnav>a{display:flex;align-items:center;position:relative;text-decoration:none;color:var(--muted);font-size:15px}.topnav>a:hover{color:var(--text)}.topnav>a[aria-current=page]{color:var(--text)}.topnav>a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.header-actions>button{min-height:38px;padding:7px 14px;background:transparent;border-color:#526579;font-size:14px}.member-actions{gap:16px}.member-actions>button{padding-inline:0;border:0;color:var(--muted);font-size:13px}.header-profile{display:flex;align-items:center;gap:9px;text-decoration:none;max-width:230px;min-width:0}.header-profile #header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.avatar{border-radius:4px;font-family:var(--font-heading);font-weight:700;color:#172331}.avatar.small{width:32px;height:32px;border-radius:3px}.avatar.large{width:52px;height:52px;border-radius:5px}.avatar.hero{width:80px;height:80px;border-radius:5px}
main{padding:36px 40px 60px;min-height:calc(100vh - 166px)}main:focus{outline:none}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading p{margin:0;color:var(--muted);font-size:16px}.heading-note{font-size:13px;color:#8499ac;padding-bottom:3px}.portal-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:30px;align-items:start}.server-browser{min-width:0}.browser-tools{display:flex;align-items:center;gap:10px}.search-label{display:block;position:relative;flex:1;min-width:0}.search-label>svg{position:absolute;width:17px;height:17px;left:14px;top:14px;stroke:var(--muted);fill:none;stroke-width:1.5;pointer-events:none}.search-label>input{padding-left:40px;border-radius:4px;height:44px;font-size:14px;background:#142130}.browser-tools>button{padding-inline:14px;background:#172635;font-size:14px}.browser-tools>button>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.server-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0 12px;font-size:12px}.live-caption{display:flex;align-items:center;gap:6px;color:#8197a9}.live-caption i{width:5px;height:5px;border-radius:50%;background:#adc4a3}.server-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.server-row{--card-accent:#8fbcd5;min-width:0;overflow:hidden;border:1px solid var(--line);border-top:2px solid var(--card-accent);border-radius:4px;background:var(--panel)}.server-row.is-pve{--card-accent:#e7b56a}.server-art{height:152px;position:relative;overflow:hidden;background:#202f3a}.server-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101923f2,transparent 90%);pointer-events:none}.map-thumbnail{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.85);opacity:.67}.server-art-info{position:absolute;inset:13px 15px 14px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px}.server-mode{font-size:12px;line-height:1;border:1px solid #a7bfd35e;border-radius:3px;background:#101923c4;padding:6px 9px;color:#e0e8e8}.server-map{font:700 27px/1 var(--font-heading);letter-spacing:.3px;color:#f0efdf}.has-no-map-image .server-art{background:linear-gradient(145deg,#243746,#172630)}.has-no-map-image .server-art:before{content:'';position:absolute;width:80px;height:80px;border:1px solid #a7bfd322;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.server-content{padding:19px 17px 17px}.server-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:7px}.server-name{font-size:29px;line-height:1.05;margin:0;overflow-wrap:anywhere}.server-status{display:flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;color:#b3a69a}.server-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.server-status.is-online{color:#b4c6a6}.server-description{font-size:13px;line-height:1.4;margin:0;color:#a5b6c5;min-height:37px}.server-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 17px;font-size:14px}.server-population{margin:0;color:#e3e9e8}.server-bots{font-size:12px;color:var(--card-accent);padding:3px 7px;border:1px solid #8096ab39;border-radius:3px;white-space:nowrap}.server-join{width:100%;font-size:16px;min-height:46px}.server-join:disabled{background:#283440;color:#a4b1bc;border-color:#46586b}.browser-bottom{font-size:12px;color:#8197a9;margin:16px 0 0;max-width:70ch}.server-empty,.list-message{grid-column:1/-1;padding:35px 22px;margin:0;border:1px solid var(--line);border-radius:4px;background:#162332;color:var(--muted);font-size:15px}
.account-sidebar{padding-top:0}.account-card{border:1px solid #35485d;border-top:2px solid var(--accent);border-radius:4px;background:#172635}.account-body{padding:25px 22px}.account-sight{width:24px;height:24px;margin:2px 0 25px 5px;opacity:.85}.account-body h3{font-size:29px;line-height:1.05;margin-bottom:14px}.account-body p{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:21px}.account-body .full{font-size:14px}.sidebar-identity{display:flex;align-items:center;gap:12px;margin-bottom:21px;min-width:0}.sidebar-identity>div:last-child{min-width:0}.sidebar-identity h3{font-size:24px;overflow-wrap:anywhere;margin:0 0 3px}.sidebar-identity .handle{font-size:12px;margin:0;overflow-wrap:anywhere}.play-help{font-size:12px;line-height:1.8;color:#8197a9;margin:18px 5px}.play-help kbd{font:500 11px var(--font-body);padding:1px 4px;border:1px solid #46596a;border-radius:2px;color:#adc0ce}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 40px;border-top:1px solid var(--line);font-size:12px;color:#8299ab}.site-footer>span:first-child{font-family:var(--font-heading);font-size:18px;color:#cbd3d4}
.panel{background:#172635;border:1px solid var(--line);border-radius:4px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 26px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0;font-size:27px}.panel-heading p{margin:5px 0 0;font-size:13px;color:var(--muted)}.profile-guest{padding:35px;max-width:680px}.profile-guest .guest-avatar{display:none}.profile-guest h2{font-size:32px}.profile-guest>p{max-width:60ch;color:var(--muted)}.inline-actions{display:flex;gap:12px;margin-top:25px}.profile-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 30px;margin-bottom:26px;border-top:2px solid var(--accent)}.profile-identity{display:flex;align-items:center;gap:22px;min-width:0}.profile-identity>div:last-child{min-width:0}.profile-identity h2{font-size:39px;line-height:1.05;margin:0 0 3px;overflow-wrap:anywhere}.handle{color:#a7b6c4;font-size:15px;margin:0}.joined{font-size:12px;color:#8299ab;margin:9px 0 0}.profile-identity-note{font-size:12px;color:#b6c4b5;white-space:nowrap}.tiny-check{margin-right:7px;color:#b8caad}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.profile-editor{min-width:0}#profile-form{padding:26px}.field{margin-bottom:21px}.field label,.avatar-picker legend{font:600 14px/1.3 var(--font-body);margin-bottom:8px;color:#cfdbdf}.field-help{font-size:12px;line-height:1.55;color:#93a8ba;margin-top:8px}.field-error{font-size:13px;color:var(--danger);margin-top:7px}.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.label-row>span{font-size:12px}.field input,.field select,.field textarea{border-radius:4px;padding:11px 12px;font-size:15px;background:var(--inset)}.field input[readonly]{background:#1d2b39;color:#b5c1ca;border-color:#3b4e60}.field textarea{min-height:120px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}.message{border-radius:4px;box-shadow:none}.avatar-picker{border:0;padding:0;margin:0 0 25px}.swatches{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.swatch{display:block;position:relative;width:39px;height:39px;cursor:pointer}.swatch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.swatch>span[aria-hidden]{display:block;position:absolute;inset:4px;background:var(--swatch);border-radius:3px;pointer-events:none}.swatch input:checked+span{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.swatch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:6px}.form-footer{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:23px}.form-footer>button{min-width:190px}.save-status{font-size:13px;color:#b7c7b1}.private-account .panel-heading{padding:22px}.private-account h2{font-size:24px}.private-tag{font-size:11px;color:#9bb0c2;white-space:nowrap}.private-account dl{padding:23px 22px 0;margin:0}.private-account dt{font-size:12px;color:#8fa5b7;margin-bottom:5px}.private-account dd{margin:0 0 21px;font-size:15px;overflow-wrap:anywhere}.panel-note{font-size:12px;color:#93a8ba;line-height:1.6;margin:0;padding:0 22px 23px}
#auth-dialog{width:min(440px,calc(100vw - 30px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #526171;border-top:2px solid var(--accent);border-radius:7px;background:#172635;color:var(--text);box-shadow:0 22px 90px #0009;overflow:auto}#auth-dialog::backdrop{background:#070f19d4;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 26px 0}.dialog-mark{font:700 27px/1 var(--font-heading);letter-spacing:.3px;color:#eff0e7}.dialog-mark>span{color:var(--accent)}.close-button{min-height:32px;width:32px;padding:0;border:0;font:500 25px/1 var(--font-body);color:#9bb0c1;background:transparent}.dialog-body{padding:21px 26px 27px}.dialog-body>h2{font-size:38px;line-height:1;margin:0 0 7px}.dialog-body>p{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:23px}.auth-tabs{display:flex;border-bottom:1px solid #415366;margin-bottom:25px;gap:20px}.auth-tabs>button{flex:1;min-width:0;padding:9px 0 11px;min-height:40px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#9eb2c3;font-size:14px;position:relative;bottom:-1px}.auth-tabs>button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text)}.dialog-body .field{margin-bottom:17px}.dialog-body .field input{font-size:15px}.dialog-body .field-help{font-size:11px}.dialog-body .message{font-size:13px;padding:10px 12px}.dialog-body form>.primary{margin-top:4px;min-height:46px}.toast{font:500 14px/1.5 var(--font-body);border-radius:5px;background:#213346;border-color:#4b6174;box-shadow:0 12px 35px #0004}
@media(max-width:1100px){.site-header{padding-inline:28px;grid-template-columns:190px 1fr auto;gap:20px}main{padding-inline:28px}.portal-layout{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.server-list{gap:14px}.server-content{padding:17px 14px 14px}.server-name{font-size:26px}.server-description{min-height:54px}.account-body{padding:23px 18px}.account-body h3{font-size:27px}.profile-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}}
@media(max-width:900px){.portal-layout{grid-template-columns:1fr}.account-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 1fr;align-items:center;gap:25px;margin-top:5px}.account-body{padding:22px}.account-sight{display:none}.account-body h3{font-size:27px}.account-body h3 br{display:none}.account-body h3{margin-bottom:9px}.account-body p{font-size:14px;max-width:47ch;margin-bottom:16px}.play-help{margin:0;font-size:13px}.server-description{min-height:37px}.heading-note{display:none}.profile-layout{grid-template-columns:1fr}.profile-details{max-width:none}.private-account dl{display:grid;grid-template-columns:160px 1fr;gap:15px;padding-top:22px}.private-account dd{margin:0 0 10px}.profile-identity-note{display:none}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;gap:0;padding:14px 22px 0;min-height:0}.brand{gap:10px}.brand-text{font-size:30px}.brand-sight{width:23px;height:23px}.topnav{grid-row:2;grid-column:1/-1;justify-self:stretch;justify-content:flex-start;height:48px;gap:28px;margin-top:4px}.topnav>a{font-size:14px}.header-actions{grid-column:2;grid-row:1}.header-profile{max-width:190px}.member-actions{gap:12px}.header-actions>button{font-size:13px;min-height:36px;padding:6px 11px}.member-actions>button{padding-inline:0}.header-profile #header-name{max-width:130px}.avatar.small{width:29px;height:29px}main{padding:25px 22px 40px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:43px}.page-heading p{font-size:15px}.site-footer{padding:22px;font-size:11px}.site-footer>span:last-child{max-width:260px;text-align:right}.server-art{height:135px}.server-map{font-size:26px}.server-stats{font-size:13px}.server-name{font-size:27px}.server-heading{gap:8px}.server-status{font-size:10px}.profile-summary{padding:23px;margin-bottom:22px}.profile-identity{gap:18px}.profile-identity h2{font-size:34px}.avatar.hero{width:65px;height:65px}.panel-heading,#profile-form{padding:22px}.profile-guest{padding:26px}.profile-guest h2{font-size:30px}.form-footer{align-items:flex-start;flex-direction:column;gap:12px}.form-footer>button{width:100%}}
@media(max-width:560px){.site-header{padding-inline:18px}.header-profile #header-name{display:none}.header-profile{max-width:32px}.member-actions{gap:13px}.member-actions>button{font-size:12px}.brand-text{font-size:29px}.brand-sight{width:21px;height:21px}.topnav{height:44px;gap:25px;margin-top:6px}main{padding:21px 18px 34px}.page-heading{margin-bottom:17px}.page-heading h1{font-size:37px;margin-bottom:6px}.page-heading p{font-size:14px}.server-list{grid-template-columns:1fr;gap:14px}.browser-tools{gap:8px}.browser-tools>button{width:44px;padding:0;flex-shrink:0}.browser-tools>button>span{display:none}.server-list-heading{margin:12px 0 10px;font-size:11px;gap:10px}.live-caption{font-size:10px}.server-art{height:66px}.server-art-info{inset:10px 13px;flex-direction:row;align-items:center;justify-content:space-between}.server-map{font-size:23px}.server-mode{font-size:11px;padding:5px 7px}.server-content{padding:13px}.server-heading{margin-bottom:5px}.server-name{font-size:27px}.server-description{min-height:0;font-size:12px;line-height:1.4}.server-stats{margin:9px 0 11px;font-size:13px}.server-bots{font-size:11px;padding:2px 6px}.server-join{min-height:44px;font-size:15px}.browser-bottom{font-size:11px;line-height:1.5;margin-top:13px}.account-sidebar{grid-template-columns:1fr;gap:14px;margin-top:0}.account-body{padding:21px}.account-body h3{font-size:27px}.account-body p{font-size:13px}.play-help{font-size:11px;margin-left:3px}.site-footer{padding:20px 18px}.site-footer>span:last-child{max-width:210px}.profile-summary{padding:20px 17px}.profile-identity{gap:13px}.profile-identity h2{font-size:29px}.avatar.hero{width:54px;height:54px}.handle{font-size:13px}.joined{font-size:11px}.panel-heading{padding:20px 18px}.panel-heading h2{font-size:25px}#profile-form{padding:22px 18px}.private-account .panel-heading{padding:20px 18px}.private-account dl{display:block;padding:20px 18px 0}.private-account dd{margin-bottom:20px}.panel-note{padding:0 18px 21px}.profile-guest{padding:24px 20px}.profile-guest .inline-actions{flex-direction:column}.field label,.avatar-picker legend{font-size:13px}.field input,.field select,.field textarea{font-size:16px}.dialog-heading{padding:20px 21px 0}.dialog-body{padding:18px 21px 23px}.dialog-body>h2{font-size:35px}.dialog-body>p{margin-bottom:18px}.auth-tabs{margin-bottom:20px}.dialog-body .field{margin-bottom:15px}.dialog-body .field input{font-size:16px}.dialog-body .field-help{font-size:11px;line-height:1.5}.dialog-body .field label{font-size:13px}.dialog-mark{font-size:26px}.swatches{gap:9px}.swatch{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.live-caption.is-stale{color:#d8b885}.live-caption.is-stale i{background:#d8b885}

.server-status.is-full{color:#e7b56a}

.server-row.is-dm{--card-accent:#e0907e}

.intro-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:-8px 0 26px}
.intro-item{display:flex;align-items:flex-start;gap:13px;padding:15px 16px;border:1px solid #35485d;border-radius:4px;background:#172635}
.intro-item svg{flex:none;width:22px;height:22px;margin-top:2px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.intro-item p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.intro-item strong{display:block;margin-bottom:3px;font:500 16px/1.3 var(--font-heading);color:var(--text)}
@media(max-width:760px){.intro-strip{grid-template-columns:1fr;gap:8px;margin:-6px 0 22px}.intro-item{padding:11px 14px}.intro-item:last-child{order:-1}}

/* The portal keeps fullscreen ownership while the game runs in its iframe. */
body.has-game-shell{overflow:hidden}.has-game-shell .app-shell{visibility:hidden}.game-shell{position:fixed;inset:0;z-index:1000;background:#070d13;color:#edf0e6}.game-shell[hidden],.game-shell-loading[hidden]{display:none}.game-shell-frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#070d13}.game-shell-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center}.game-shell-loading strong{font:700 48px/1 var(--font-heading);letter-spacing:.2px}.game-shell-loading strong span{color:var(--accent)}.game-shell-loading h2{margin:0;font-size:30px}.game-shell-loading p{margin:0;color:var(--muted)}.game-shell-loading button{margin-top:12px}
/* Settings page (#settings, web/game-settings.js); theme.css sizes every input like a text field. */
.settings-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.settings-card{min-width:0}.settings-card .panel-heading{padding:18px 26px}.settings-card .panel-heading h2{font-size:24px}.settings-rows{padding:4px 26px 10px}
.settings-rows .setting{min-width:0;margin:0;padding:13px 0;border:0;border-bottom:1px solid #2b3d50}.settings-rows .setting:last-child{border-bottom:0}.setting-label{font-size:14px;color:#d3dde6}.setting-hint{grid-column:1/-1;margin:5px 0 0;font-size:12px;line-height:1.5;color:#93a8ba}
.setting-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,160px) 66px;gap:0 14px;align-items:center}.setting-slider{width:100%;min-height:0;height:26px;padding:0;border:0;background:transparent;accent-color:var(--accent)}.setting-value{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}.setting-number{min-height:34px;padding:5px 8px;border-radius:4px;text-align:right;font-variant-numeric:tabular-nums}
.setting-toggle-label{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.setting-switch-input{position:absolute;right:0;width:44px;height:24px;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}
.setting-switch{position:relative;flex:none;width:44px;height:24px;border:1px solid #4a5f73;border-radius:12px;background:var(--inset);transition:background .15s,border-color .15s}.setting-switch::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#9db0c0;transition:transform .15s,background .15s}
.setting-switch-input:checked+.setting-switch{border-color:var(--accent);background:var(--accent)}.setting-switch-input:checked+.setting-switch::after{transform:translateX(20px);background:#213043}.setting-switch-input:focus-visible+.setting-switch{outline:2px solid var(--focus);outline-offset:3px}
.setting-choice legend{float:left;width:100%;margin:0 0 9px;padding:0}.setting-options{clear:both;display:flex;flex-wrap:wrap;gap:6px}.setting-option{position:relative;cursor:pointer}.setting-option input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}
.setting-option-text{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 12px;border:1px solid #4a5f73;border-radius:4px;background:var(--inset);color:#d3dde6;font-size:13px}.setting-option input:checked+.setting-option-text{border-color:var(--accent);background:#2e2a20;color:#f6dcae}.setting-option input:focus-visible+.setting-option-text{outline:2px solid var(--focus);outline-offset:3px}
.setting-swatch{width:13px;height:13px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #0008}
.settings-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px;padding:18px 26px}.settings-footer p{flex:1 1 320px;margin:0;font-size:12px;line-height:1.6;color:#93a8ba}.settings-footer kbd{font:500 11px var(--font-body);padding:1px 4px;border:1px solid #46596a;border-radius:2px;color:#adc0ce}
@media(max-width:900px){.settings-groups{grid-template-columns:1fr}}
@media(max-width:760px){.settings-card .panel-heading{padding:16px 22px}.settings-rows{padding:2px 22px 8px}.settings-footer{flex-direction:column;align-items:flex-start;padding:16px 22px}.settings-footer p{flex-basis:auto}.setting-range{grid-template-columns:minmax(0,1fr) 66px;gap:6px 12px}.setting-range .setting-label{grid-column:1/-1}}
@media(max-width:560px){.settings-groups{gap:16px}.settings-card .panel-heading{padding:16px 18px}.settings-rows{padding:2px 18px 8px}.settings-footer{padding:16px 18px}}
