@font-face{font-family:"SigilFront Display";src:url("../static-match/assets/fonts/sigilfront-display.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{color-scheme:dark;--sf-cyan:#59cfee;--sf-orange:#e58b42;--sf-panel:#071421f4;background:#02060d;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#02060d;color:#dcebed}body{overflow-x:hidden}button,input{font:inherit}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#sigilfront-unified-client{background:#02060d}
.sf-unified-shell{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden;background-color:#030810;background-image:linear-gradient(#02071375,#02071391),url("/public/assets/presentation/setup-final.jpg");background-position:center;background-size:cover;background-repeat:no-repeat}
.sf-unified-title-screen{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;width:100%;height:100%;min-height:0;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background-image:linear-gradient(180deg,#0207130b 0 62%,#0207139c 100%),url("/public/assets/presentation/title-final.jpg");background-position:center top;background-size:cover}
.sf-unified-title-screen::before{display:none}
.sf-unified-title-actions{align-self:end;justify-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(92cqw,680px);margin:0;padding:0;background:transparent}
.sf-unified-shell::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 70% 38% at 50% 32%,#2e739926,transparent 72%),linear-gradient(90deg,#02060bbc,transparent 18% 82%,#02060bbc);pointer-events:none}
.sf-unified-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:48px;padding:10px 8px;border-bottom:1px solid #315a78;text-transform:uppercase}
.sf-unified-header strong{color:#d9f4ff;font:700 clamp(20px,5cqw,31px)/1 "SigilFront Display",sans-serif;letter-spacing:.15em;text-shadow:0 0 13px #4cb8f27a,0 2px 6px #000}.sf-unified-header span{color:#7f9cab;font:700 9px/1 system-ui,sans-serif;letter-spacing:.12em}
.sf-unified-panel{position:relative;align-self:center;justify-self:center;width:min(94cqw,680px);padding:clamp(18px,4cqw,36px);overflow:visible;border:1px solid #315a78;clip-path:polygon(13px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 11px),calc(100% - 11px) 100%,22px 100%,0 calc(100% - 22px),0 13px);background:radial-gradient(ellipse 78% 48% at 50% 0,#386f9a24,transparent 72%),linear-gradient(135deg,#ffffff09 0 1px,transparent 1px 17px),linear-gradient(160deg,#102334f2,#070d18f8 70%,#160d08f7);box-shadow:inset 0 1px #bde8ff1b,inset 0 0 0 1px #050a10,0 22px 70px #000e,0 0 34px #347db327;text-align:center}
.sf-unified-panel::before{content:"";position:absolute;left:13px;right:25px;top:0;height:2px;background:linear-gradient(90deg,transparent,#56bde7 18% 44%,#e58b3f 58% 82%,transparent);box-shadow:0 0 12px #4cacec6b}
.sf-unified-panel h1{margin:0 0 8px;color:#d9f4ff;font:700 clamp(16px,4cqw,23px)/1 "SigilFront Display",sans-serif;letter-spacing:.15em;text-transform:uppercase}.sf-unified-panel p{max-width:560px;margin:8px auto;color:#92aebb;font-size:clamp(9px,2.2cqw,12px);line-height:1.5}
.sf-unified-actions,.sf-unified-join{display:grid;gap:12px;margin-top:22px}.sf-unified-actions{grid-template-columns:1fr 1fr}.sf-unified-entry-controls{display:grid;gap:12px;margin-top:22px}.sf-unified-entry-controls .sf-unified-join{width:100%;margin-top:0}.sf-unified-create{width:100%}
.sf-unified-lobby-back{margin-top:18px}
.sf-unified-primary,.sf-unified-secondary,.sf-unified-quiet{appearance:none;position:relative;min-height:48px;padding:10px 16px;border:1px solid #315a78;border-radius:0;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);background:linear-gradient(180deg,#163c56ed,#071b2af5);color:#d9f7ff;box-shadow:inset 0 1px #e6f9ff2e,inset 3px 0 #58b9df91,0 8px 22px #000c;font:700 10px/1 "SigilFront Display",sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.sf-unified-secondary{border-color:#955b31;background:linear-gradient(180deg,#4b2b19ed,#1c100af5);box-shadow:inset 0 1px #fff2,inset 3px 0 #e58c4097,0 8px 22px #000c;color:#ffd5ad}.sf-unified-quiet{border-color:#365a72;background:linear-gradient(#142838,#08111c);color:#a8c7d8}.sf-unified-primary:hover,.sf-unified-secondary:hover,.sf-unified-quiet:hover{filter:brightness(1.18)}.sf-unified-primary:disabled,.sf-unified-secondary:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.6)}
.sf-unified-join{grid-template-columns:minmax(0,1fr) auto}.sf-unified-room-input{min-width:0;height:48px;padding:0 13px;border:1px solid #365e76;border-radius:0;background:#030b12e8;color:#dff8ff;font:800 18px/1 monospace;letter-spacing:.18em;text-transform:uppercase;text-align:center}.sf-unified-room-input:focus{outline:2px solid #75d7f1;outline-offset:2px}
.sf-unified-room-code{margin:20px auto;padding:12px;border:1px solid #58b9df;background:#020a10a8;color:#d9f4ff;font:700 clamp(28px,9cqw,52px)/1 "SigilFront Display",monospace;letter-spacing:.18em;text-shadow:0 0 20px #4cb8f266}.sf-unified-feedback{min-height:1.5em}.sf-unified-feedback.is-error{color:#ff9e99}
.sf-unified-players{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.sf-unified-players>div{display:flex;justify-content:space-between;padding:12px;border:1px solid #344f66;background:#07111ae6}.sf-unified-players .is-connected,.sf-unified-players .is-ready{border-color:#58b9df;box-shadow:inset 0 -3px #df8840}.sf-unified-players b{color:#d9edf3;font:700 10px/1 "SigilFront Display",sans-serif;letter-spacing:.08em;text-transform:uppercase}.sf-unified-players span{color:#8eabbc;font-size:10px}

/* Effective-final v37 2:3 hero dossier, backed by the current clean roster model. */
.sf-unified-roster-screen{grid-template-rows:auto minmax(0,1fr)}.sf-unified-roster-picker{width:min(96cqw,820px);max-height:calc(var(--sf-surface-height) - 104px);padding:13px 13px 15px;overflow:auto;box-shadow:inset 0 1px #bde8ff1b,inset 0 0 0 1px #050a10,0 18px 46px #000d,0 0 7px #347db318}.sf-unified-roster-picker>h1{font-size:11px}.sf-unified-roster-picker>p{margin-bottom:8px;font-size:9px}
.sf-unified-select-carousel{display:grid;grid-template-columns:60px minmax(0,585px) 60px;align-items:center;justify-content:center;gap:8px}.sf-unified-roster-grid{display:block;min-width:0;margin:0}
.sf-unified-hero-card{position:relative;display:none;width:100%;aspect-ratio:2/3;min-height:0;padding:0 0 50px;overflow:hidden;border:1px solid #344f66;border-radius:0;background:#03070b;color:#fff;cursor:pointer;isolation:isolate;box-shadow:inset 0 1px #d7f4ff10,0 9px 20px #000c}.sf-unified-hero-card.is-focused{display:block}.sf-unified-hero-image{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}.sf-unified-hero-image[data-hero="deadeye"],.sf-unified-hero-image[data-hero="mortar"]{object-position:50% 100%}.sf-unified-hero-image[data-hero="kaiza"]{object-position:50% 48%}.sf-unified-hero-image[data-hero="bulwark"]{object-position:50% 45%}
.sf-unified-select-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 0 63%,#02060914 72%,#020609f2 100%);pointer-events:none}.sf-unified-hero-meta{position:absolute;z-index:4;left:8px;right:8px;bottom:10px;text-shadow:0 2px 5px #000,0 0 8px #000}.sf-unified-hero-meta strong{display:block;color:#e7f7ff;font:700 clamp(14px,4cqw,18px)/1 "SigilFront Display",sans-serif;letter-spacing:.13em;text-transform:uppercase}.sf-unified-hero-meta small{display:block;margin-top:7px;color:#80a5b7;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.sf-unified-hero-card.is-selected{border:2px solid #8fe8ff;filter:brightness(1.075) saturate(1.02) drop-shadow(0 0 2px #3fcdf45c);box-shadow:inset 0 0 0 2px #ebfcffeb,inset 0 0 0 5px #34b4da6b,inset 0 -4px #e58b42,0 0 5px #36bbe63d,0 11px 24px #000d}.sf-unified-hero-card.is-selected::before{content:"";position:absolute;inset:4px;z-index:3;background:linear-gradient(90deg,#d9f8ff 0 15px,transparent 15px) left top/28px 2px no-repeat,linear-gradient(#d9f8ff 0 15px,transparent 15px) left top/2px 28px no-repeat,linear-gradient(270deg,#65d8f6 0 15px,transparent 15px) right bottom/28px 2px no-repeat,linear-gradient(0deg,#65d8f6 0 15px,transparent 15px) right bottom/2px 28px no-repeat;pointer-events:none}.sf-unified-pick-order{position:absolute;z-index:5;right:8px;top:8px;width:28px;height:28px;display:grid;place-items:center;border:2px solid #e7fbff;background:#102a35;color:#f5fcff;font:700 11px/1 "SigilFront Display",sans-serif;box-shadow:inset 0 0 0 1px #55ccea,0 0 13px #4bd3f6d1}
.sf-unified-roster-arrow{display:grid;place-items:center;width:54px;height:84px;padding:0;border:0;clip-path:none;background:transparent;color:#bdefff;font:300 54px/.75 Arial,sans-serif;text-shadow:0 0 10px #5fdaff99;cursor:pointer}.sf-unified-roster-arrow:hover{filter:brightness(1.25)}
.sf-unified-roster-order{display:flex;justify-content:center;gap:6px;min-height:31px;margin:9px 0}.sf-unified-roster-chip{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:4px 8px;border:1px solid #3b5962;border-radius:0;background:#091419e8;color:#b8c9cc;font:800 8px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.sf-unified-roster-chip i{color:#8eeaff;font:700 11px/1 "SigilFront Display",sans-serif;font-style:normal}.sf-unified-roster-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:8px}
.sf-unified-waiting-screen .sf-unified-panel{width:min(92cqw,620px)}.sf-unified-waiting-screen .sf-unified-panel h1{font-size:clamp(19px,5cqw,29px)}
@container sigilfront-surface (max-width:620px){.sf-unified-shell{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:7px}.sf-unified-title-screen{gap:0;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.sf-unified-title-actions{grid-template-columns:1fr;gap:9px;width:min(88cqw,430px)}.sf-unified-title-actions button{min-height:52px}.sf-unified-header{min-height:38px;padding:7px 4px}.sf-unified-header strong{font-size:18px}.sf-unified-header span{font-size:7px}.sf-unified-actions,.sf-unified-players{grid-template-columns:1fr}.sf-unified-join{grid-template-columns:1fr}.sf-unified-panel{padding:17px 12px}.sf-unified-select-carousel{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.sf-unified-roster-arrow{width:36px;height:70px;font-size:43px}.sf-unified-roster-picker{max-height:calc(var(--sf-surface-height) - 68px);padding:8px}.sf-unified-roster-picker>p{display:none}.sf-unified-roster-order{gap:4px}.sf-unified-roster-chip{padding:3px 5px;font-size:7px}.sf-unified-roster-actions{margin-top:5px}.sf-unified-roster-actions button{min-height:40px;padding:7px;font-size:8px}}
@media(max-height:700px) and (orientation:portrait){.sf-unified-hero-card{max-height:54dvh;margin:auto}.sf-unified-roster-picker>h1{display:none}.sf-unified-roster-order{margin:5px 0}.sf-unified-hero-meta small{margin-top:4px}}
