/* Player parity refinement. Scope shell fixes to the two player applications. */
.app-shell{--player-accent:var(--primary);--player-line:var(--border);--player-card:var(--card);--player-text:var(--foreground)}
.app{--player-accent:var(--accent);--player-line:var(--line);--player-card:var(--card);--player-text:var(--text)}
:is(.app-shell,.app){width:100%;min-width:0;min-height:100dvh;background-size:100% 100%}
:is(.app-shell,.app) :is(.main-surface,.surface){width:calc(100% - 232px)!important;min-width:0;max-width:none;box-sizing:border-box}
:is(.app-shell,.app) :is(.content-frame,.content){width:100%;max-width:1400px!important;margin-inline:auto!important;min-width:0;box-sizing:border-box}
:is(.app-shell,.app) :is(.calendar-planner,.game-flow,.section-page,.g3-calendar,.hero,.panel,.kit-section,.settings-page,.site-directory,.calendar-selection){min-width:0;max-width:100%;box-sizing:border-box}
:is(.app-shell,.app) :is(.calendar-planner,.g3-calendar){width:100%!important;margin-inline:auto}
:is(.app-shell,.app) :is(.grid,.review-grid,.kit-card-grid,.inventory-grid,.loadout-layout,.form-grid,.player-gun-grid){min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
:is(.app-shell,.app) :is(.grid,.review-grid,.kit-card-grid,.inventory-grid,.loadout-layout,.form-grid,.player-gun-grid)>*{min-width:0}
:is(.app-shell,.app) :is(p,h1,h2,h3,h4,strong,small){overflow-wrap:anywhere}
:is(.app-shell,.app) :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
:is(.app-shell,.app) :is(.g3-side-links,.g3-nav-group,.g3-mobile-drawer){align-items:stretch;text-align:left}
:is(.app-shell,.app) :is(.player-nav-item,.nav-button){display:flex!important;justify-content:flex-start!important;align-items:center;gap:12px;text-align:left!important;width:100%;min-height:44px;font-weight:500;box-sizing:border-box;white-space:normal}
:is(.app-shell,.app) :is(.player-nav-item,.nav-button)>:first-child{flex:none;width:20px;height:20px;display:grid;place-items:center}
:is(.app-shell,.app) :is(.player-nav-item,.nav-button)>span:nth-child(2){flex:1;min-width:0}
.player-nav-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:2px}
:is(.app-shell,.app) .player-nav-row>.player-nav-toggle{display:grid!important;place-items:center!important;min-height:44px;min-width:44px;width:44px;padding:8px;border-radius:9px;background:transparent;color:var(--player-text);border:1px solid var(--player-line)}
.player-nav-toggle[aria-expanded=true]>*,.player-nav-heading[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}
.player-nav-submenu{display:grid;gap:3px;margin:3px 0 12px;padding-left:12px;border-left:1px solid var(--player-line)}
:is(.app-shell,.app) .player-nav-submenu>button{display:flex;align-items:center;justify-content:flex-start;text-align:left;font-size:14px;min-height:44px;width:100%;padding:9px 12px;background:transparent;border:0;border-radius:8px;color:inherit;white-space:normal}
.player-nav-submenu>button[aria-current=page]{background:color-mix(in srgb,var(--player-accent) 16%,transparent)}
:is(.app-shell,.app) :is(.g3-side-links,.g3-mobile-drawer,.g3-nav-group) button:focus-visible{outline:2px solid var(--player-accent);outline-offset:2px}
:is(.app-shell,.app) :is(.kit-section h3,.section-title h3,.kit-attachment-pool summary){scroll-margin-top:108px}
:is(.app-shell,.app) .calendar-month-controls{grid-template-columns:48px minmax(0,1fr) 48px minmax(86px,auto)!important;gap:12px!important}
:is(.app-shell,.app) .calendar-month-controls>button{display:grid;place-items:center;min-width:48px;min-height:48px;flex:none;line-height:1;border-radius:10px}
:is(.app-shell,.app) .calendar-month-controls>button[aria-label]{font-size:34px;font-weight:500;padding:0}
:is(.app-shell,.app) .calendar-month-controls :is(.calendar-today,[data-action=calendar-today]){width:auto!important;min-width:86px!important;min-height:48px!important;font-size:15px!important;padding:10px 16px!important;white-space:nowrap;letter-spacing:normal}
:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid,.weekday-row,.calendar-weekdays){grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0}
:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid)>button{min-width:0;overflow-wrap:normal;padding:8px 3px;height:auto;min-height:80px}
:is(.app-shell,.app) :is(.calendar-day-status,.calendar-day-markers){display:flex;flex-wrap:wrap;flex-direction:column;align-items:center;gap:3px;width:100%}
:is(.app-shell,.app) :is(.calendar-day-status i,.calendar-day-markers small){font-style:normal;font-size:11px;white-space:normal;line-height:1.2;max-width:100%;padding:3px}
:is(.app-shell,.app) .daily-plans{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}
:is(.app-shell,.app) :is(.daily-plan,.calendar-activity){display:flex;flex-direction:column;align-items:stretch;gap:10px;position:relative;width:100%;min-width:0;padding:16px;border:1px solid var(--player-line);border-radius:12px;background:var(--player-card)}
:is(.app-shell,.app) .daily-plan-open{width:100%;min-width:0;text-align:left;display:grid;gap:8px;padding:0}
:is(.app-shell,.app) :is(.daily-plan-delete,.plan-delete){min-height:44px;align-self:flex-start;border:1px solid #d6788055;color:#ffafb6;background:#642e3928;border-radius:8px;padding:8px 12px;width:auto}
:is(.app-shell,.app) .saved-loadout-summary{width:100%;flex-basis:auto!important}
:is(.app-shell,.app) :is(.planner-steps,.flow){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px;overflow:visible}
:is(.app-shell,.app) :is(.planner-steps button,.flow button){display:flex;align-items:center;gap:8px;min-height:48px;min-width:0;padding:10px 12px;border:1px solid var(--player-line);border-radius:9px;font-size:14px;font-weight:500;white-space:normal;cursor:pointer}
:is(.app-shell,.app) :is(.planner-steps button,.flow button)[aria-current=step]{background:color-mix(in srgb,var(--player-accent) 20%,var(--player-card));border-color:var(--player-accent)}
:is(.app-shell,.app) .step-number{flex:none;font-weight:600}
:is(.app-shell,.app) :is(.player-remove,.danger-text){color:#ffafb6}
:is(.app-shell,.app) .player-remove{background:#642e3928;border:1px solid #d6788055;border-radius:8px;min-height:44px;padding:8px 12px}
:is(.app-shell,.app) .kit-bottles{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
:is(.app-shell,.app) :is(.kit-bottle,.bottle){min-width:0;min-height:200px;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:14px}
:is(.app-shell,.app) :is(.kit-bottle-figure,.bottle-stock-visual){grid-row:1/3;display:flex;flex-direction:column;align-items:center;width:70px;height:152px!important;min-height:152px!important;gap:0}
:is(.app-shell,.app) .mini-bottle-neck{display:block;width:34px;height:18px;flex:none;margin:0;background:var(--player-card);border:2px solid var(--player-line);border-bottom:0;border-radius:5px 5px 0 0}
:is(.app-shell,.app) .mini-bottle-body{display:flex;flex-direction:column;gap:4px;width:70px;height:134px;padding:10px 8px;border:2px solid var(--player-line);border-radius:16px 16px 12px 12px;box-sizing:border-box;background:var(--player-card)}
:is(.app-shell,.app) .mini-bottle-body i{flex:1;display:block;width:100%;min-height:0;border-radius:2px;background:color-mix(in srgb,var(--player-line) 42%,transparent)}
:is(.app-shell,.app) .mini-bottle-body i.filled{background:var(--player-accent)}
:is(.app-shell,.app) :is(.kit-bottle,.bottle)>:last-child{grid-column:2;justify-self:start;flex-wrap:wrap}
:is(.app-shell,.app) .kit-attachment-pool summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-weight:600;list-style:none}
.kit-attachment-pool summary::-webkit-details-marker{display:none}.kit-attachment-pool[open] summary :is(svg,.fold-chevron){transform:rotate(180deg)}
:is(.app-shell,.app) .kit-attachment-pool :is(.kit-list,.attachment-summary){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
:is(.app-shell,.app) :is(.kit-list-item,.repair-row):has(.gun-visual,.repair-gun-image,.repair-art-missing){display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border:1px solid var(--player-line);border-radius:12px}
:is(.app-shell,.app) :is(.kit-list-item,.repair-row):has(.gun-visual,.repair-gun-image,.repair-art-missing)>:last-child{grid-column:2;justify-self:start}
:is(.app-shell,.app) :is(.kit-attention,.repair-board,.repair-row) .gun-visual{width:100%;margin:0;min-height:110px;height:130px;background:radial-gradient(ellipse,color-mix(in srgb,var(--player-accent) 10%,transparent),transparent 70%);border:0}
.repair-gun-image{display:block;width:100%;height:130px;object-fit:contain}.repair-art-missing{display:grid;place-items:center;min-height:110px;padding:12px;border:1px dashed #797984;color:#b9bbc5;font-size:13px;border-radius:10px}
:is(.app-shell,.app) .owned-extra-choices{display:grid;gap:6px;max-height:280px;overflow-y:auto;padding:8px 0}
:is(.app-shell,.app) .owned-extra-choices label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px;border:1px solid var(--player-line);border-radius:8px}
:is(.app-shell,.app) .owned-extra-choices input{width:18px;height:18px;flex:none}
:is(.app-shell,.app) .settings-destination-list{display:grid;gap:10px}
:is(.app-shell,.app) :is(.safe-identity-copy){background:linear-gradient(180deg,transparent 8%,#05070c45 35%,color-mix(in srgb,var(--player-accent) 15%,#05070c) 100%)!important;box-shadow:inset 0 -70px 80px -40px #03050be8}
.safe-identity-banner{border:1px solid color-mix(in srgb,var(--player-accent) 25%,#34343e);border-radius:16px;overflow:hidden}
.timed-joke{max-width:min(380px,calc(100vw - 24px));padding:16px 56px 16px 18px;position:fixed;box-sizing:border-box}.timed-joke p{margin:0;overflow-wrap:anywhere}.timed-joke>button,.timed-joke>div>button{position:absolute;top:8px;right:8px;width:40px;height:40px;min-width:40px;min-height:40px;display:grid;place-items:center;padding:0;line-height:1;font-size:23px}.timed-joke>div{display:block}
:is(.app-shell,.app) button svg{flex-shrink:0;vertical-align:middle}
:is(.app-shell,.app) :is(.colour-disc,.accent-wheel){max-width:230px;margin-inline:auto}
:is(.app-shell,.app) :is(.chrono-gun-card,.chrono-picker){min-width:0;max-width:100%;padding:18px;border:1px solid var(--player-line);border-radius:12px;background:var(--player-card)}
:is(.app-shell,.app) .chrono-gun-card{display:grid;gap:14px}.chrono-gun-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}.chrono-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chrono-fields label{display:grid;gap:8px}.chrono-fields input,.chrono-fields select{width:100%;min-height:44px}.chrono-fields small{grid-column:1/-1}.chrono-callout{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border:1px solid var(--player-accent);border-radius:12px;background:color-mix(in srgb,var(--player-accent) 12%,var(--player-card));text-align:left;font-weight:600;margin:16px 0}
@media(max-width:1024px){:is(.app-shell,.app) .topbar{flex-wrap:wrap!important;gap:10px!important;padding:14px 18px!important}:is(.app-shell,.app) :is(.top-actions,.topbar-actions){min-width:0;flex-wrap:wrap}}
@media(max-width:760px){:is(.app-shell,.app) :is(.main-surface,.surface){width:100%!important}:is(.app-shell,.app) .g3-mobile-drawer{width:min(360px,calc(100vw - 28px));padding-bottom:max(20px,env(safe-area-inset-bottom))}:is(.app-shell,.app) :is(.kit-list-item,.repair-row):has(.gun-visual,.repair-gun-image,.repair-art-missing){grid-template-columns:minmax(0,1fr)}:is(.app-shell,.app) :is(.kit-list-item,.repair-row):has(.gun-visual,.repair-gun-image,.repair-art-missing)>:last-child{grid-column:1}.safe-zone-hero,.g1-today-hero{min-width:0}.chrono-fields{grid-template-columns:minmax(0,1fr)}.chrono-fields small{grid-column:1}}
@media(max-width:500px){:is(.app-shell,.app) .calendar-month-controls{grid-template-columns:48px minmax(0,1fr) 48px!important}:is(.app-shell,.app) .calendar-month-controls :is(.calendar-today,[data-action=calendar-today]){grid-column:1/-1;justify-self:center}:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid)>button{min-height:80px}:is(.app-shell,.app) :is(.calendar-day-status i,.calendar-day-markers small){font-size:10px;padding:1px}:is(.app-shell,.app) .topbar .eyebrow{font-size:9px}:is(.app-shell,.app) .topbar h1{font-size:20px}}

.player-dialog-viewport button[data-slot="dialog-close"]{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;line-height:1;top:12px;right:12px}.player-dialog-viewport [data-slot="dialog-header"]{padding-right:36px}.dialog-heading [data-action="close"],#menuClose,.g3-mobile-drawer header>button{display:grid;place-items:center;width:44px;height:44px;padding:0;line-height:1}
.chrono-callout span>small{display:block;font-size:13px;font-weight:400;margin-top:4px}.owned-extras-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer}.owned-extras-picker[open]>summary :is(svg,.fold-chevron){transform:rotate(180deg)}
/* Matching panel width, compact picker, raw colour surfaces and readable controls. */
:is(.app-shell,.app){--player-tone:var(--fieldlog-selected-accent,var(--player-accent));background:radial-gradient(ellipse at 86% 0,color-mix(in srgb,var(--player-tone) 13%,transparent),transparent 48%),#0b0c0f}
:is(.app-shell,.app) .player-settings-panel{width:100%;max-width:1040px;margin-inline:auto;box-sizing:border-box;min-width:0}
.app-shell .player-settings-panel .account-form{width:100%;max-width:none}
:is(.app-shell,.app) :is(.accent-wheel-area,.g4-custom-colour){display:grid;grid-template-columns:minmax(0,230px) minmax(0,280px)!important;gap:24px;align-items:center;width:100%;max-width:600px;margin:24px 0;min-width:0}
:is(.app-shell,.app) :is(.accent-wheel,.colour-disc){width:100%;max-width:230px;margin-inline:auto}
:is(.app-shell,.app) :is(.accent-wheel-meta,.g4-custom-colour>div:last-child){min-width:0;max-width:280px;display:grid;gap:10px}
:is(.app-shell,.app) :is(.accent-wheel-meta,.g4-custom-colour) input[type=color]{width:180px!important;max-width:100%;min-width:0;height:50px;box-sizing:border-box;cursor:pointer}
:is(.app-shell,.app) :is(.accent-wheel-meta,.g4-custom-colour) label{display:grid;gap:8px;font-weight:500;line-height:1.45}
:is(.app-shell,.app) :is(.accent-wheel-meta,.g4-custom-colour) small{font-size:13px;line-height:1.55;color:var(--player-text)}
:is(.app-shell,.app) .colour-current{background:var(--fieldlog-selected-accent,var(--player-accent));margin:0}
:is(.app-shell,.app) :is(.player-settings-panel,.accent-preview){background:linear-gradient(135deg,color-mix(in srgb,var(--player-tone) 10%,#17181b),var(--player-card) 78%);border-color:color-mix(in srgb,var(--player-accent) 20%,var(--player-line))}
:is(.app-shell,.app) .accessibility-settings{margin-top:20px;padding:18px 0;border:0;border-top:1px solid var(--player-line)}
:is(.app-shell,.app) .accessibility-settings legend{font-size:18px;font-weight:600}
:is(.app-shell,.app) .consent-choice{display:flex;align-items:flex-start;gap:12px;line-height:1.5}
:is(.app-shell,.app) .consent-choice input{width:20px;height:20px;flex:none;margin-top:2px}
:is(.app-shell,.app) .consent-choice small{display:block;margin-top:6px}
html[data-colour-preview=dragging] :is(.app-shell,.app) :is(button,input,a,select){transition:none!important}
html[data-motion=none]{scroll-behavior:auto!important}
html[data-motion=none] *,html[data-motion=none] *::before,html[data-motion=none] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:640px){:is(.app-shell,.app) :is(.accent-wheel-area,.g4-custom-colour){grid-template-columns:minmax(0,1fr)!important;gap:20px}:is(.app-shell,.app) :is(.accent-wheel-meta,.g4-custom-colour>div:last-child){width:100%;max-width:380px;justify-self:center}}
/* Mobile flow: native date containment, readable chrono and bounded cards/dialogs. */
:is(.app-shell,.app) :is(label,.field,.setup-grid,.form-grid,.report-native-label){min-width:0;max-width:100%;box-sizing:border-box}
:is(.app-shell,.app),.player-dialog-viewport,.overlay{color-scheme:dark}
:is(.app-shell,.app,.player-dialog-viewport,.overlay) input[type=date],:is(.app-shell,.app,.player-dialog-viewport,.overlay) input[type=time]{display:block;box-sizing:border-box;min-inline-size:0!important;inline-size:100%!important;max-inline-size:100%!important;min-height:48px;font-size:16px;line-height:1.35;padding:12px;overflow:hidden;border:1px solid var(--player-line,#4a4358);border-radius:10px;background:var(--player-card,#17181b);color:var(--player-text,#f4f1f8)}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;max-width:100%;overflow:hidden}
input[type=date]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit{min-width:0;padding:0}
:is(.app-shell,.app) .chrono-callout{display:flex!important;align-items:center;justify-content:space-between;text-align:left;gap:16px;width:100%;min-height:88px;background:#252034!important;color:#f6f1ff!important;border:1px solid var(--player-accent,#b690fb)!important;padding:20px!important;margin:20px 0;font-size:22px!important;font-weight:600}
:is(.app-shell,.app) .chrono-callout small{color:#ddd4eb!important;font-size:14px!important;font-weight:400;line-height:1.5;display:block;margin-top:6px}
:is(.app-shell,.app) :is(.chrono-picker,.chrono-empty,.chrono-gun-card){min-width:0;box-sizing:border-box;background:var(--player-card,#17181b);color:var(--player-text,#f4f1f8);padding:20px;border:1px solid var(--player-line,#46404f);border-radius:14px;line-height:1.55}
:is(.app-shell,.app) .chrono-picker label,:is(.app-shell,.app) .chrono-fields label{display:grid;gap:8px;font-size:15px;font-weight:500;min-width:0}
:is(.app-shell,.app) .chrono-picker :is(input,select),:is(.app-shell,.app) .chrono-fields :is(input,select){width:100%;min-width:0;max-width:100%;padding:12px;min-height:48px;font:inherit;font-size:16px;background:#111217;color:#f4f1f8;border:1px solid #5d536a;border-radius:9px}
:is(.app-shell,.app) option{background:#17181b;color:#f4f1f8}
:is(.app-shell,.app) .chrono-gun-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin:20px 0}
:is(.app-shell,.app) .chrono-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
:is(.app-shell,.app) .chrono-fields>label:first-child,:is(.app-shell,.app) .chrono-fields>small{grid-column:1/-1}
:is(.app-shell,.app) .chrono-gun-card{scroll-margin-top:100px}
:is(.app-shell,.app) .chrono-gun-card :is(img,.gun-visual){width:100%;max-width:100%;height:160px;object-fit:contain}
.plan-players{grid-column:1/-1;min-width:0}.plan-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin:18px 0}.plan-player-grid>article{display:grid;align-content:start;gap:12px;min-width:0}.plan-player-grid label{display:grid;gap:8px}
.plan-player-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--player-line,#5d4c6d);border-radius:14px;background:#191622;min-height:210px;width:100%;max-width:360px;color:#faf5ff;text-align:left;box-sizing:border-box}
.plan-player-art{position:absolute;inset:0;z-index:-1}.plan-player-art>img{width:100%;height:100%;object-fit:cover;opacity:.65}.plan-player-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d101322 0%,#0d101366 35%,#111019 92%)}
.player-silhouette{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:65%;height:90%;color:#131820e8}.plan-player-copy{position:relative;display:grid;gap:8px;padding:20px;min-height:210px;align-content:end;box-sizing:border-box}.plan-player-copy strong{font:600 clamp(22px,4vw,30px)/1.12 var(--player-font,Inter,Arial);letter-spacing:.025em;overflow-wrap:anywhere;text-shadow:0 2px 8px #000}.plan-player-copy small{font-size:12px;letter-spacing:.09em;color:#eee5f8}.plan-player-copy span{font-size:12px;color:#d7cfe3}
.optional-gun-slot{min-width:0;border:1px solid var(--player-line,#4a4358);border-radius:12px;align-self:start;overflow:hidden}.optional-gun-slot>summary{display:flex;align-items:center;justify-content:space-between;padding:14px;cursor:pointer;min-height:48px;font-weight:600;list-style:none}.optional-gun-slot>summary:after{content:"⌄";width:24px;display:grid;place-items:center}.optional-gun-slot[open]>summary:after{transform:rotate(180deg)}.optional-gun-slot .player-gun{border:0}
.tutorial-guide ol{list-style:none;padding:0;display:grid;gap:22px;margin:24px 0}.tutorial-guide li{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:24px;align-items:start;padding:20px;background:var(--player-card,#17181b);border:1px solid var(--player-line,#46404f);border-radius:14px}.tutorial-guide p{line-height:1.65}.tutorial-mini-screen{display:grid;gap:10px;align-content:space-between;aspect-ratio:1;padding:18px;border:1px solid #72568d;border-radius:12px;background:linear-gradient(145deg,#312241,#171821);color:#f5f1fa}.tutorial-mini-screen span{font-size:10px;letter-spacing:.18em}.tutorial-mini-screen b{font-size:52px;font-weight:500;color:var(--player-accent,#b690fb)}.tutorial-mini-screen strong{font-size:14px;font-weight:500}
:is(.submission-panel,.catalogue-submission)>.primary,:is(.submission-panel,.catalogue-submission) .primary-button,.submission-panel [data-action=preview-submission]{margin-top:18px;margin-bottom:22px;min-height:48px}.submission-panel label{margin-bottom:14px}
:is(.kit-section,section:has(>#kit-guns-title),section:has(>header>#kit-bb-title),section:has(.section-title>#kit-guns-title),section:has(.row #kit-bb-title),section:has(.row #kit-attention-title),section:has(.row #kit-ppe-title),section:has(.row #kit-extras-title),.kit-attachment-pool){scroll-margin-top:100px}
html.dialog-open:not(.tour-open),body.dialog-open:not(.tour-open){overflow:hidden!important;overscroll-behavior:none!important}html.dialog-open.tour-open,body.dialog-open.tour-open{overflow-y:auto!important;overscroll-behavior:auto!important}html:has([data-slot=dialog-content][data-state=open]){overscroll-behavior:none}
.player-dialog-viewport{overflow:hidden;overscroll-behavior:none;max-width:100vw;box-sizing:border-box}.player-dialog-viewport>[data-slot=dialog-content]{min-height:0;max-height:100%!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box}
.overlay:not(.tour-overlay) .dialog-content{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;overflow-x:hidden}.overlay .sixth-bottle,.player-dialog-viewport .sixth-bottle{touch-action:none}.player-dialog-viewport :is(.field-dialog,.kit-edit-dialog) :is(form,.bottle-amount-controls){min-width:0;max-width:100%}
.plan-player-grid button,.game-page-actions button,.chrono-page button,.dialog-heading button{min-height:44px}.game-page-actions,.planner-head{margin-bottom:20px}:is(.app-shell,.app,.player-dialog-viewport,.overlay) :is(.step-actions,.button-row){flex-wrap:wrap;gap:12px}.player-dialog-viewport [data-slot=dialog-close],.dialog-heading [data-action=close]{display:grid!important;place-items:center!important;min-width:44px;min-height:44px;padding:0!important;line-height:1}.player-dialog-viewport [data-slot=dialog-close] svg{margin:auto;display:block;width:20px;height:20px}
@media(max-width:640px){.plan-player-card{aspect-ratio:1;max-width:none;min-height:0}.plan-player-copy{height:100%;min-height:0}.plan-player-grid{grid-template-columns:minmax(0,1fr);gap:12px}.plan-player-copy{padding:14px}.plan-player-copy strong{font-size:21px}.plan-player-copy small{font-size:10px}.tutorial-guide li{grid-template-columns:minmax(0,1fr);padding:16px;gap:18px}.tutorial-mini-screen{aspect-ratio:auto;min-height:150px;grid-template-columns:1fr auto}.tutorial-mini-screen strong{grid-column:1/-1}.chrono-page .kit-hero{display:grid;gap:14px}.chrono-page .button-row{display:flex;flex-wrap:wrap}.chrono-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.chrono-fields>small{grid-column:1/-1}.player-gun-grid{grid-template-columns:minmax(0,1fr)!important}.optional-gun-slot .player-gun{padding:14px}.plan-player-grid>article>button{font-size:13px;padding:10px}}
@media(max-width:375px){.plan-player-grid{grid-template-columns:minmax(0,1fr)}.plan-player-card{aspect-ratio:1}}

/* The established demo Chrono layout is the shared reference. */
:is(.app-shell,.app) .chrono-page>.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;min-width:0}:is(.app-shell,.app) .chrono-page>.hero>div{min-width:0}:is(.app-shell,.app) .chrono-page>.hero .button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex-shrink:0}:is(.app-shell,.app) .chrono-page>.hero h2{font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.15;margin:6px 0 12px}:is(.app-shell,.app) .chrono-page>.hero p{line-height:1.6}
@media(max-width:760px){:is(.app-shell,.app) .chrono-page>.hero{flex-direction:column;gap:16px}}

/* Flag drafts use the same full-frame artwork and fade in both players. */
.flag-identity-preview{position:relative;isolation:isolate;display:flex;align-items:flex-end;align-content:end;width:100%;min-width:0;min-height:160px;aspect-ratio:16/9;padding:0;gap:0;overflow:hidden;border:1px solid var(--player-line,#46404f);border-radius:12px;background:#171922}
.flag-identity-preview>img{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#171922}
.flag-identity-preview>img[hidden]{display:none}
.flag-identity-preview::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 25%,rgba(4,5,12,.32) 50%,rgba(4,5,12,.93) 100%)}
.flag-identity-preview>div{position:relative;z-index:2;display:grid;gap:8px;width:100%;min-width:0;padding:24px 20px 18px;background:none;color:#fff;overflow-wrap:anywhere}
.flag-identity-preview strong{font-size:clamp(24px,5vw,40px);font-weight:600;line-height:1.15;color:#fff;text-shadow:0 2px 8px #000}
.flag-identity-preview span{color:#fff;text-shadow:0 2px 8px #000}
/* Each saved plan has distinct editing and deletion controls. */
:is(.app-shell,.app) .daily-plan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0;margin-top:auto}
:is(.app-shell,.app) .daily-plan-actions>button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 12px;font-size:14px;line-height:1.4;white-space:normal;border-radius:8px}
:is(.app-shell,.app) .daily-plan-edit{border:1px solid var(--player-accent);background:color-mix(in srgb,var(--player-accent) 12%,var(--player-card));color:var(--player-text)}

/* Dedicated kit pages share the same navigation, spacing and selected state. */
:is(.app-shell,.app) .kit-page-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 24px;min-width:0}
:is(.app-shell,.app) .kit-page-nav>button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--player-line);border-radius:10px;background:var(--player-card);color:var(--player-text);font:500 14px/1.35 var(--player-font);white-space:normal;overflow-wrap:anywhere}
:is(.app-shell,.app) .kit-page-nav>button[aria-current=page]{border-color:var(--player-accent);background:color-mix(in srgb,var(--player-accent) 16%,var(--player-card));font-weight:600}
:is(.app-shell,.app) .kit-page-nav>button:focus-visible{outline:2px solid var(--player-accent);outline-offset:3px}
:is(.app-shell,.app) .my-kit-page>.kit-section{margin-top:0}.my-kit-page #kit-page-title{outline:none}.my-kit-page .kit-attachment-pool>header{margin-bottom:16px}
/* Local airsoft-player artwork stays visible on the neutral guest background. */
.plan-player-card{aspect-ratio:4/3;min-height:220px;background:radial-gradient(ellipse at 75% 28%,#353146,#171520 72%)}
.plan-player-art{z-index:0;pointer-events:none}.plan-player-art>.plan-player-flag{position:absolute;inset:0;z-index:0;object-fit:cover;opacity:.55}
.plan-player-art>.player-silhouette{position:absolute;z-index:1;left:auto;right:0;top:0;bottom:auto;transform:none;width:70%;height:100%;object-fit:contain;object-position:top center;opacity:1;filter:drop-shadow(0 3px 8px #0009)}
.plan-player-art:after{z-index:2;background:linear-gradient(180deg,transparent 20%,#11101922 45%,#111019e8 100%)}
.plan-player-copy{z-index:3;min-height:220px;height:100%;padding:18px;align-content:end}.plan-player-copy strong{max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){:is(.app-shell,.app) .kit-page-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.plan-player-card{aspect-ratio:4/3;min-height:210px}.plan-player-copy{min-height:210px;padding:16px}.plan-player-art>.player-silhouette{width:68%}}

/* Shared ordered guide and magazine inventory, scoped to retained player screens. */
.tutorial-guide-group{margin:24px 0;min-width:0}.tutorial-guide-group>h3{font-size:18px;margin:0 0 12px;font-weight:600}
.tutorial-guide .tutorial-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0;align-items:start}
.tutorial-guide .tutorial-topic-list>li{display:block;min-width:0;padding:0;border:0;background:none}
.tutorial-topic{border:1px solid var(--fl-line,#48404f);border-radius:14px;background:var(--fl-surface,#18151e);overflow:hidden}
.tutorial-topic>summary{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:start;gap:12px;min-height:60px;padding:16px;cursor:pointer;list-style:none}
.tutorial-topic>summary::-webkit-details-marker{display:none}.tutorial-topic>summary:focus-visible,.tutorial-open-step:focus-visible{outline:2px solid var(--fl-accent,#b690fb);outline-offset:-4px}
.tutorial-topic-number{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:13px;color:var(--fl-accent,#b690fb)}
.tutorial-topic strong{display:block;font-size:16px;font-weight:600;line-height:1.4}.tutorial-topic small{display:block;font-size:14px;font-weight:400;line-height:1.5;margin-top:6px;opacity:.85}
.tutorial-topic-chevron{display:grid;place-items:center;min-height:34px;font-size:22px}.tutorial-topic[open] .tutorial-topic-chevron{transform:rotate(180deg)}
.tutorial-topic-context{padding:0 16px 16px}.tutorial-guide .tutorial-topic-context>ol{display:block;list-style:decimal;padding:0 0 0 24px;margin:0 0 16px}
.tutorial-guide .tutorial-topic-context>ol>li{display:list-item;padding:4px 0;border:0;background:none;min-width:0;font-size:15px;line-height:1.6}
.tutorial-open-step{min-height:44px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:normal}.tour-prerequisite{font-size:13px;line-height:1.5;border-left:2px solid currentColor;padding-left:10px}
.magazine-form{display:grid;gap:16px;min-width:0}.magazine-form fieldset{margin:0;padding:14px;min-width:0;border:1px solid var(--fl-line,#48404f);border-radius:12px}.magazine-form legend{font-size:15px;font-weight:600;padding:0 6px}
.magazine-form input,.magazine-form select,.magazine-form textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit}.magazine-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px}.magazine-form .setup-choice,.magazine-form .consent-choice{display:flex;align-items:center;gap:10px;min-height:44px;line-height:1.4;text-align:left}
.magazine-form .form-field,.magazine-form .field{display:grid;gap:7px;font-size:14px;text-align:left}.magazine-form .form-field input,.magazine-form .form-field select,.magazine-form .form-field textarea{background:var(--fl-input,#101014);color:inherit;border:1px solid var(--fl-line,#48404f);border-radius:10px;padding:12px;min-height:44px}.magazine-form textarea{resize:vertical;min-height:90px}
.magazine-preview{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:16px;min-width:0;border:1px solid var(--fl-line,#48404f);border-radius:14px;padding:12px;background:var(--fl-surface,#18151e)}.magazine-preview strong,.magazine-preview small{display:block;overflow-wrap:anywhere}.magazine-preview small{font-size:12px;line-height:1.5;margin-top:6px}.magazine-preview span{font-size:11px;letter-spacing:.1em}
.attachment-art{width:100%;height:110px;object-fit:contain;display:block;min-width:0}.magazine-preview .attachment-art{height:130px}.kit-magazines{margin:20px 0 28px;min-width:0}.kit-magazines>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.magazine-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}.magazine-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--fl-line,#48404f);border-radius:14px;background:var(--fl-surface,#18151e);min-width:0}.magazine-card strong,.magazine-card small{display:block;overflow-wrap:anywhere}.magazine-card small{font-size:13px;line-height:1.5;margin:5px 0}.magazine-card button{min-height:44px;margin-top:8px}.kit-list-item:has(>.attachment-art){display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center}
.magazine-choice{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;margin:10px 0;min-width:0}.magazine-choice>.attachment-art{height:88px}.magazine-choice label,.magazine-choice .quantity-row{min-width:0;max-width:100%}
.magazine-loadout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:12px 0}.magazine-loadout>article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--fl-line,#48404f);border-radius:12px;padding:10px}.magazine-loadout .attachment-art{height:72px}.magazine-loadout strong,.magazine-loadout small{display:block;overflow-wrap:anywhere}.magazine-loadout small{font-size:12px;line-height:1.5}
.magazine-issues{margin:20px 0;min-width:0}.magazine-issues details{border:1px solid var(--fl-line,#48404f);border-radius:10px;margin:10px 0;padding:12px}.magazine-issues summary{min-height:44px;cursor:pointer}.magazine-issues label{display:grid;gap:8px;margin:12px 0}.magazine-issues .setup-choice,.magazine-issues .consent-choice{display:flex;align-items:center;gap:10px;min-height:44px}.magazine-issues input[type=checkbox]{width:20px;height:20px}
@media(max-width:760px){.tutorial-guide .tutorial-topic-list{grid-template-columns:1fr}.tutorial-topic>summary{padding:14px;gap:10px}.magazine-form .form-pair,.magazine-form .form-grid{grid-template-columns:1fr}.magazine-preview{grid-template-columns:90px minmax(0,1fr);gap:12px}.magazine-preview .attachment-art{height:110px}.kit-list-item:has(>.attachment-art){grid-template-columns:64px minmax(0,1fr)}.kit-list-item:has(>.attachment-art)>button,.kit-list-item:has(>.attachment-art)>.button-row{grid-column:1/-1}.magazine-form .dialog-actions,.magazine-form .button-row{display:grid;grid-template-columns:1fr;gap:10px}.magazine-form .dialog-actions button,.magazine-form .button-row button{min-height:44px;width:100%}}

/* Separate illustrative callouts; quantities describe owned selections. */
.attachment-callouts{list-style:none;margin:.6rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:.5rem;min-width:0}
.attachment-callouts li,.g3-attachment-callouts li{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;padding:.55rem;border:1px solid var(--player-line);border-radius:.65rem;background:var(--player-card);text-align:center;overflow-wrap:anywhere}
.attachment-callouts .attachment-art,.g3-attachment-callouts .attachment-art{width:100%;height:5rem;max-width:9rem;object-fit:contain;flex:none}
.magazine-loadout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.6rem;min-width:0}
.magazine-loadout>article{min-width:0;display:flex;flex-direction:column;align-items:center;padding:.65rem;text-align:center;overflow-wrap:anywhere}
.magazine-loadout>article .attachment-art{width:100%;height:6rem;max-width:10rem;object-fit:contain;flex:none}
.config-option .attachment-art{width:4rem;height:4rem;object-fit:contain;flex:none}
@media(min-width:1024px){.magazine-loadout{grid-template-columns:repeat(3,minmax(0,1fr))}}

.compact-check .attachment-art{width:3.5rem;height:3.5rem;object-fit:contain;flex:none}

/* Parity and polish: matching available-width grids and decorative icon boxes. */
:is(.app-shell,.app) :is(.safe-stat-grid,.safe-stats){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
:is(.app-shell,.app) :is(.kit-card-grid,.inventory-grid){gap:16px}
:is(.app-shell,.app) :is(.kit-bottles,.kit-bottle-group .bb-bottles){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
:is(.app-shell,.app) :is(.nav-icon,.player-nav-toggle,.g3-menu-button,#menuClose,.dialog-close)>svg{display:block;margin:auto;flex:none}
:is(.app-shell,.app) .player-nav-heading>svg:last-child{width:18px;height:18px;flex:none}
.overlay .dialog-close>svg{display:block;width:20px;height:20px;margin:auto}
@media(max-width:760px){.app-shell .game-flow .step-actions{bottom:calc(12px + env(safe-area-inset-bottom))}}

/* Raw selected colour tints the flag fade; a dark base keeps white copy readable. */
:root{--player-flag-shade:color-mix(in srgb,var(--fieldlog-selected-accent,var(--fieldlog-accent,var(--accent,#B690FB))) 20%,#04050c)}
:is(.app-shell,.app) .safe-identity-copy{background:linear-gradient(180deg,transparent 8%,color-mix(in srgb,var(--player-flag-shade) 32%,transparent) 35%,var(--player-flag-shade) 100%)!important}
.flag-identity-preview::before{background:linear-gradient(180deg,transparent 25%,color-mix(in srgb,var(--player-flag-shade) 32%,transparent) 50%,color-mix(in srgb,var(--player-flag-shade) 94%,transparent) 100%)}
.plan-player-art:after{background:linear-gradient(180deg,transparent 20%,color-mix(in srgb,var(--player-flag-shade) 13%,transparent) 45%,color-mix(in srgb,var(--player-flag-shade) 94%,transparent) 100%)}
.g1-flag-panel:has(.profile-flag-art) :is(.profile-flag-caption,.profile-flag-copy){background:linear-gradient(90deg,color-mix(in srgb,var(--player-flag-shade) 94%,transparent),color-mix(in srgb,var(--player-flag-shade) 68%,transparent) 58%,transparent),linear-gradient(transparent,color-mix(in srgb,var(--player-flag-shade) 94%,transparent) 70%)}
:is(.app-shell,.app) :is(.accent-wheel-knob,.colour-disc-knob){width:24px;height:24px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:var(--fieldlog-selected-accent,var(--player-accent));box-shadow:0 0 0 2px #111,0 2px 10px #000b;transform:translate(-50%,-50%);pointer-events:none}

/* Player-only confirmations share the regular dialog's safe-area viewport. */
.player-dialog-viewport>[data-slot=alert-dialog-content]{position:relative!important;inset:auto!important;translate:none!important;transform:none!important;pointer-events:auto;margin:0!important;min-width:0;min-height:0;width:min(480px,100%)!important;max-width:480px!important;max-height:100%!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;animation:none!important}
.player-dialog-viewport [data-slot=alert-dialog-footer]{display:flex;flex-wrap:wrap;gap:12px;position:sticky;bottom:0;background:var(--popover,#17181b);padding-top:12px}
.player-dialog-viewport [data-slot=alert-dialog-footer]>button{min-height:44px;flex:1 1 140px;white-space:normal}

/* 2026-10-10: shared player parity. Emphasis uses weight, never italics. */
body,button,input,select,textarea{font-family:var(--player-font,Inter,"Helvetica Neue",Arial,sans-serif);font-style:normal}
body :is(i,em,cite,dfn,address){font-style:normal}
:is(.app-shell,.app) :is(h1,h2,h3,h4,strong,b){font-weight:600}
:is(.app-shell,.app) :is(.calendar-day-status,.calendar-day-markers){display:flex;flex-wrap:wrap;align-content:flex-start;gap:3px;margin-top:4px;min-width:0}
:is(.app-shell,.app) :is(.calendar-day-status,.calendar-day-markers)>*{font:500 11px/1.3 var(--player-font);font-style:normal;border-radius:4px;padding:2px 4px;white-space:normal;overflow-wrap:anywhere}
:is(.app-shell,.app) .plan-marker{background:color-mix(in srgb,var(--player-accent) 18%,var(--player-card));color:var(--player-text)}
:is(.app-shell,.app) .report-marker{background:color-mix(in srgb,var(--player-accent) 28%,var(--player-card));color:var(--player-text)}
:is(.app-shell,.app) .calendar-day{min-width:0;min-height:92px;text-align:left;align-content:start;padding:8px}
:is(.app-shell,.app) .calendar-day>strong{font:600 15px/1.35 var(--player-font)}
:is(.app-shell,.app) :is(.sidebar,.player-sidebar) button{font-family:var(--player-font);text-align:left}
:is(.app-shell,.app) :is(.nav-button,.player-nav-item){justify-content:flex-start;gap:12px;min-height:46px;font-weight:500}
:is(.app-shell,.app) :is(.nav-icon,.player-nav-item>svg){width:20px;height:20px;display:grid;place-items:center;flex:none}
:is(.safe-identity-banner,.g1-player-card){position:relative;isolation:isolate;overflow:hidden}
.identity-player-silhouette{position:absolute;z-index:1;right:2%;bottom:0;width:46%;height:95%;object-fit:contain;object-position:right bottom;pointer-events:none;filter:drop-shadow(0 4px 8px #0008)}
.safe-identity-copy,.g1-player-details{position:relative;z-index:2}
.g1-player-card>.identity-player-silhouette{width:40%;right:0}
.g1-player-details{background:linear-gradient(90deg,var(--player-flag-shade) 20%,transparent 100%)}
.magazine-art-stack{position:relative;display:block;width:100%;height:110px;min-width:0;max-width:240px;isolation:isolate}
.magazine-art-stack>.attachment-art{position:absolute;inset:0 auto 0 calc(var(--magazine-index)*var(--magazine-spread)*1% / max(1,var(--magazine-visible) - 1));width:calc(100% - var(--magazine-spread)*1%);height:100%;object-fit:contain;filter:drop-shadow(-2px 2px 3px #0005)}
.magazine-preview .magazine-art-stack{height:130px}
.magazine-choice>.magazine-art-stack{height:88px}
.magazine-loadout .magazine-art-stack{height:96px}
@media(max-width:760px){:is(.app-shell,.app) .calendar-day{min-height:78px;padding:5px}.identity-player-silhouette{width:52%;right:0}.g1-player-card>.identity-player-silhouette{width:46%}}
.magazine-art-stack[data-count="1"]{--magazine-visible:1;--magazine-spread:0}
.magazine-art-stack>.attachment-art:nth-child(1){--magazine-index:0}
.magazine-art-stack[data-count="2"]{--magazine-visible:2;--magazine-spread:14}
.magazine-art-stack>.attachment-art:nth-child(2){--magazine-index:1}
.magazine-art-stack[data-count="3"]{--magazine-visible:3;--magazine-spread:28}
.magazine-art-stack>.attachment-art:nth-child(3){--magazine-index:2}
.magazine-art-stack[data-count="4"]{--magazine-visible:4;--magazine-spread:42}
.magazine-art-stack>.attachment-art:nth-child(4){--magazine-index:3}
.magazine-art-stack[data-count="5"]{--magazine-visible:5;--magazine-spread:56}
.magazine-art-stack>.attachment-art:nth-child(5){--magazine-index:4}
.magazine-art-stack[data-count="6"]{--magazine-visible:6;--magazine-spread:70}
.magazine-art-stack>.attachment-art:nth-child(6){--magazine-index:5}
.magazine-art-stack[data-count="7"]{--magazine-visible:7;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(7){--magazine-index:6}
.magazine-art-stack[data-count="8"]{--magazine-visible:8;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(8){--magazine-index:7}
.magazine-art-stack[data-count="9"]{--magazine-visible:9;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(9){--magazine-index:8}
.magazine-art-stack[data-count="10"]{--magazine-visible:10;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(10){--magazine-index:9}
.magazine-art-stack[data-count="11"]{--magazine-visible:11;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(11){--magazine-index:10}
.magazine-art-stack[data-count="12"]{--magazine-visible:12;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(12){--magazine-index:11}
.magazine-art-stack[data-count="13"]{--magazine-visible:13;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(13){--magazine-index:12}
.magazine-art-stack[data-count="14"]{--magazine-visible:14;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(14){--magazine-index:13}
.magazine-art-stack[data-count="15"]{--magazine-visible:15;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(15){--magazine-index:14}
.magazine-art-stack[data-count="16"]{--magazine-visible:16;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(16){--magazine-index:15}
.magazine-art-stack[data-count="17"]{--magazine-visible:17;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(17){--magazine-index:16}
.magazine-art-stack[data-count="18"]{--magazine-visible:18;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(18){--magazine-index:17}
.magazine-art-stack[data-count="19"]{--magazine-visible:19;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(19){--magazine-index:18}
.magazine-art-stack[data-count="20"]{--magazine-visible:20;--magazine-spread:72}
.magazine-art-stack>.attachment-art:nth-child(20){--magazine-index:19}

body *,body *::before,body *::after{font-style:normal!important}

:is(.app-shell,.app) :is(.calendar-shell,.g3-calendar){padding:20px;border:1px solid var(--player-line);border-radius:14px;background:var(--player-card)}
:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid){display:grid;gap:6px}
:is(.app-shell,.app) :is(.weekday-row,.calendar-weekdays){display:grid;gap:6px;margin:12px 0 8px;text-align:center;font:500 13px/1.4 var(--player-font)}
:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid)>.calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:8px;min-height:92px;height:auto;background:var(--player-card);border:1px solid var(--player-line);border-radius:8px;color:var(--player-text)}
:is(.app-shell,.app) .calendar-day.selected{border:2px solid var(--player-accent);background:color-mix(in srgb,var(--player-accent) 15%,var(--player-card))}
:is(.app-shell,.app) .calendar-day.today>strong{color:var(--player-accent)}
:is(.app-shell,.app) .calendar-day.outside{opacity:.55}
:is(.app-shell,.app) .calendar-day-markers{align-items:flex-start;flex-direction:column;width:100%;gap:3px}
:is(.app-shell,.app) .calendar-month-controls :is(strong,h3){font:600 21px/1.3 var(--player-font);text-align:center;margin:0}
:is(.app-shell,.app) :is(.calendar-date-details,.calendar-selection){display:block;padding:24px 0 0;border:0;border-top:1px solid var(--player-line);border-radius:0;margin:20px 0 0;width:100%;background:transparent}
:is(.app-shell,.app) :is(.calendar-date-details>h3,.calendar-selection>div>strong){display:block;font:600 clamp(22px,2.5vw,30px)/1.25 var(--player-font);margin:8px 0 16px}
:is(.app-shell,.app) .daily-plan-open{border:0;background:transparent;color:var(--player-text);min-height:44px}
@media(max-width:760px){:is(.app-shell,.app) :is(.calendar-shell,.g3-calendar){padding:12px}:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid){gap:4px}:is(.app-shell,.app) :is(.month-grid,.calendar-month-grid)>.calendar-day{padding:5px;min-height:78px}:is(.app-shell,.app) .calendar-month-controls :is(strong,h3){font-size:18px}}

/* Owned visual types and touch-safe relationship choices */
.attachment-form{display:grid;gap:1rem;min-width:0}.attachment-form fieldset{min-width:0;border:1px solid var(--border,#393441);border-radius:12px;padding:1rem}.attachment-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:10px}.visual-kit-choice{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;text-align:left;min-height:60px;padding:10px;border:1px solid var(--border,#393441);border-radius:10px;cursor:pointer}.visual-kit-choice:has(:checked){border-color:var(--player-accent,var(--primary));background:color-mix(in srgb,var(--player-accent,var(--primary)) 10%,transparent)}.visual-kit-choice:focus-within{outline:2px solid var(--player-accent,var(--primary));outline-offset:2px}.visual-kit-choice .attachment-art,.visual-kit-choice .gun-visual,.visual-kit-choice .magazine-art-stack{grid-column:2;width:100%;height:76px;object-fit:contain}.visual-kit-choice span:last-child{grid-column:2;overflow-wrap:anywhere}.attachment-form .magazine-preview{min-width:0;display:flex;gap:16px;align-items:center}.attachment-form .magazine-preview>img{width:100px;height:85px;object-fit:contain}.attachment-form .magazine-preview strong,.attachment-form .magazine-preview small{display:block}.kit-list-item{grid-template-columns:90px minmax(0,1fr) auto}.kit-list-item>.attachment-art{width:90px;height:80px;object-fit:contain}.kit-item>.quiet-button{margin-top:8px}.kit-item .setup-choice .attachment-art{width:72px;height:64px;object-fit:contain}@media(max-width:600px){.kit-list-item{grid-template-columns:70px minmax(0,1fr)}.kit-list-item>button,.kit-list-item>.button-row{grid-column:1/-1}.kit-list-item>.attachment-art{width:70px}.attachment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-kit-choice{padding:8px}}

/* Player shell uses the beta's brand geometry in both products. */
:is(.app-shell,.app) :is(.wordmark,.brand){display:flex;gap:12px;align-items:center;justify-content:flex-start;text-align:left;padding:0 8px 16px;border:0;background:none;color:var(--player-text)}
:is(.app-shell,.app) :is(.wordmark>.mark,.brand>.brand-mark){display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:9px 2px 9px 2px;background:var(--player-accent);color:#111017}
:is(.app-shell,.app) :is(.wordmark,.brand)>span:last-child{display:grid}
:is(.app-shell,.app) :is(.wordmark,.brand) strong{font:600 15px/1.35 var(--player-font);letter-spacing:.13em}
:is(.app-shell,.app) :is(.wordmark,.brand) small{font:500 9px/1.4 var(--player-font);letter-spacing:.14em;color:var(--muted-foreground,var(--muted));margin-top:3px}
.app .rail{width:232px;padding:24px 16px;background:color-mix(in srgb,var(--accent) 4%,#101114);border-color:var(--line)}.app .surface{margin-left:232px}.app .topbar{min-height:84px;height:auto;padding:18px 32px;gap:16px;background:color-mix(in srgb,var(--accent) 4%,#101114)}.app .topbar h1{font:600 24px/1.2 var(--player-font);letter-spacing:-.025em;margin:0}.app .topbar .eyebrow{font:500 10px/1.4 var(--player-font);letter-spacing:.12em;margin-bottom:4px}.app .nav-button[aria-current=page]{font-weight:600}
/* Chrono and review actions use the demo's wrapping layout on every viewport. */
:is(.app-shell,.app) :is(.chrono-page>.button-row,.plan-review>header>.button-row){display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0;max-width:100%}
:is(.app-shell,.app) .plan-review>header>.button-row{margin-top:14px}
:is(.app-shell,.app) :is(.chrono-page>.button-row,.plan-review>header>.button-row)>button{height:auto;min-height:44px;max-width:100%;padding:10px 14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){:is(.app-shell,.app) :is(.chrono-page>.button-row,.plan-review>header>.button-row)>button{flex:1 1 140px}}

/* Today uses the Profile card's bounded frame, independent of flag dimensions. */
:is(.app-shell,.app) .safe-identity-banner{display:block!important;min-height:280px!important;aspect-ratio:auto}
:is(.app-shell,.app) .safe-identity-banner>.safe-flag-panel{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0!important}
:is(.app-shell,.app) .safe-identity-banner>.safe-flag-panel>img{position:absolute!important;inset:0!important;width:100%;height:100%!important;max-width:none;object-fit:cover!important;object-position:center}
:is(.app-shell,.app) .safe-identity-banner>.safe-flag-panel>span{position:absolute;right:16px;bottom:12px;max-width:35%;font-size:12px;text-shadow:0 1px 4px #000}
:is(.app-shell,.app) .safe-identity-banner>.safe-identity-copy{box-sizing:border-box;width:62%;min-height:280px;justify-content:center;gap:10px;padding:16px!important;background:linear-gradient(90deg,var(--player-flag-shade,rgba(6,7,12,.9)),rgba(6,7,12,.75))!important}
:is(.app-shell,.app) .safe-identity-banner>.identity-player-silhouette{width:46%;right:0}
:is(.app-shell,.app) .safe-identity-copy>.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:0}
@media(max-width:767px){:is(.app-shell,.app) .safe-identity-banner{min-height:270px!important}:is(.app-shell,.app) .safe-identity-banner>.safe-identity-copy{width:68%;min-height:270px;padding:12px!important}}
@media(max-width:375px){:is(.app-shell,.app) .safe-identity-banner>.safe-identity-copy{width:72%;padding:10px!important}}

/* Inventory text keeps its width; controls occupy a separate row. */
:is(.app-shell,.app) .my-kit-page .kit-list-item{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0;max-width:100%}
:is(.app-shell,.app) .my-kit-page .kit-list-item:has(>.attachment-art,>.gun-visual,>.repair-gun-image,>.repair-art-missing,>.magazine-art-stack){grid-template-columns:90px minmax(0,1fr)}
:is(.app-shell,.app) .my-kit-page .kit-list-item>div:not(.button-row):not(.gun-visual):not(.magazine-art-stack){min-width:0;width:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
:is(.app-shell,.app) .my-kit-page .kit-list-item>:is(button,.button-row){grid-column:1/-1;justify-self:start;min-width:0;max-width:100%;margin:0}
:is(.app-shell,.app) .my-kit-page .kit-list-item>.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
:is(.app-shell,.app) .my-kit-page .kit-list-item button{width:auto;max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){:is(.app-shell,.app) .my-kit-page .kit-list-item:has(>.attachment-art,>.gun-visual,>.repair-gun-image,>.repair-art-missing,>.magazine-art-stack){grid-template-columns:70px minmax(0,1fr)}:is(.app-shell,.app) .my-kit-page .kit-list-item>button,:is(.app-shell,.app) .my-kit-page .kit-list-item>.button-row{width:100%}:is(.app-shell,.app) .my-kit-page .kit-list-item>.button-row>button{flex:1 1 140px}}

/* My Kit actions stay grouped when the native disclosure opens. */
:is(.app-shell,.app) .my-kit-page :is(.kit-hero-actions,.hero-actions){display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;width:min(100%,320px);min-width:min(100%,220px);flex-shrink:0}
:is(.app-shell,.app) .my-kit-page :is(.kit-hero-actions,.hero-actions)>button{width:100%;min-height:44px;height:auto;white-space:normal;line-height:1.35}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions){align-self:start;width:100%;min-width:0}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)[open]{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 14px;line-height:1.35;list-style:none;cursor:pointer}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)>summary::-webkit-details-marker{display:none}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)>summary::after{content:"";width:8px;height:8px;flex:0 0 8px;margin:0 3px 4px 0;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg)}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)[open]>summary::after{transform:rotate(225deg);margin-top:4px;margin-bottom:0}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)>button{width:100%;min-height:44px;padding:10px 14px;text-align:left;white-space:normal;line-height:1.35}
:is(.app-shell,.app) .my-kit-page :is(.kit-more-actions,.kit-extra-actions)>summary:focus-visible{outline:3px solid var(--accent,var(--primary));outline-offset:3px}
@media(max-width:767px){:is(.app-shell,.app) .my-kit-page :is(.kit-hero-actions,.hero-actions){width:100%;min-width:0}}
/* Shared settings rhythm: two preset columns and one readable submission flow. */
:is(.app-shell,.app) .accent-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:14px 0 20px}
:is(.app-shell,.app) .accent-grid>.accent-choice{display:grid!important;grid-template-columns:24px minmax(0,1fr) 18px;grid-template-rows:auto auto;align-items:center;gap:4px 10px;min-height:70px;padding:12px 14px!important;text-align:left;text-transform:none;border:1px solid var(--player-line);border-radius:10px;background:var(--player-card);color:var(--player-text);font-size:15px}
:is(.app-shell,.app) .accent-grid>.accent-choice[aria-pressed=true]{border-color:var(--player-accent);box-shadow:inset 0 0 0 1px var(--player-accent);background:color-mix(in srgb,var(--player-accent) 10%,var(--player-card))}
:is(.app-shell,.app) .accent-grid>.accent-choice>.swatch{grid-column:1;grid-row:1/3;width:22px;height:22px;border-radius:50%;border:1px solid #ffffff66}
:is(.app-shell,.app) .accent-grid>.accent-choice>.accent-label{grid-column:2;grid-row:1;width:auto;height:auto;min-width:0;border:0;border-radius:0;background:none;overflow-wrap:anywhere}
:is(.app-shell,.app) .accent-grid>.accent-choice>small{grid-column:2;grid-row:2;color:var(--muted-foreground,var(--muted));font-size:12px}
:is(.app-shell,.app) .accent-grid>.accent-choice>svg{grid-column:3;grid-row:1/3;justify-self:center}
:is(.app-shell,.app) .accent-options>legend{font-size:20px;line-height:1.35;margin-bottom:8px}
:is(.app-shell,.app) .player-submissions-panel{padding:24px;min-width:0;line-height:1.55}
:is(.app-shell,.app) .player-submissions-panel>h2{font-size:22px;margin:0 0 10px}
:is(.app-shell,.app) .player-submissions-panel>p{margin:0 0 24px}
:is(.app-shell,.app) .player-submissions-panel>:is(.catalogue-submit,.site-suggestion-list,.my-submissions){margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--player-line);min-width:0}
:is(.app-shell,.app) .player-submissions-panel .account-form,:is(.app-shell,.app) .player-submissions-panel .settings-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;width:100%;max-width:680px}
:is(.app-shell,.app) .player-submissions-panel fieldset{margin:0;padding:0;border:0}
:is(.app-shell,.app) .player-submissions-panel label{display:grid;gap:8px;font-size:14px;min-width:0}
:is(.app-shell,.app) .player-submissions-panel :is(input:not([type=checkbox]),textarea,select){width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--player-line);border-radius:8px;background:var(--player-input,var(--background,#111015));color:var(--player-text);font:400 16px/1.4 var(--player-font)}
:is(.app-shell,.app) .player-submissions-panel textarea{min-height:110px;resize:vertical}
:is(.app-shell,.app) .player-submissions-panel .consent-choice{display:flex;align-items:flex-start;gap:10px}
:is(.app-shell,.app) .player-submissions-panel .consent-choice input{flex:none;width:20px;height:20px;margin-top:2px}
:is(.app-shell,.app) .player-submissions-panel .account-form>button{justify-self:start;width:auto;margin:0;min-height:46px;padding:10px 16px}
:is(.app-shell,.app) .player-submissions-panel summary{min-height:44px;padding:10px 0;cursor:pointer;line-height:1.5}
:is(.app-shell,.app) .player-submissions-panel .site-suggestion-list>details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(.app-shell,.app) .player-submissions-panel .my-submissions article{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--player-line)}
:is(.app-shell,.app) .player-submissions-panel .my-submissions article>p{width:100%;margin:0}
@media(max-width:600px){:is(.app-shell,.app) .accent-grid>.accent-choice{padding:10px!important;gap:4px 8px;grid-template-columns:22px minmax(0,1fr) 16px}:is(.app-shell,.app) .player-submissions-panel{padding:16px}:is(.app-shell,.app) .player-submissions-panel .account-form>button{width:100%}}
/* Regular player text; heading hierarchy supplies the emphasis. Admin is separate. */
:is(.app-shell,.app,.field-dialog,.player-dialog-viewport,.dialog,.fieldlog-tour-panel,.tour-panel),:is(.app-shell,.app,.field-dialog,.player-dialog-viewport,.dialog,.fieldlog-tour-panel,.tour-panel) *{font-weight:400!important}
:is(.app-shell,.app,.field-dialog,.player-dialog-viewport,.dialog,.fieldlog-tour-panel,.tour-panel) :is(h1,h2,h3,h4,h5,h6,legend),:is(.app-shell,.app,.field-dialog,.player-dialog-viewport,.dialog,.fieldlog-tour-panel,.tour-panel) :is(h1,h2,h3,h4,h5,h6,legend) *{font-weight:600!important}
/* Today surrounds the shared card with the same heading and action rhythm. */
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero){display:block!important;min-width:0;padding:28px;gap:0;margin:0;border:1px solid var(--player-line);border-radius:18px;background:radial-gradient(ellipse at 82% 8%,color-mix(in srgb,var(--player-accent) 15%,transparent),transparent 66%),linear-gradient(130deg,color-mix(in srgb,var(--player-accent) 5%,#111318),var(--player-card) 76%)}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero)>div{width:100%;min-width:0}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero)>div>.eyebrow{margin:0;font-size:12px;line-height:1.5;letter-spacing:.1em}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero) time{text-transform:none}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero) h2{margin:8px 0 0;font:600 clamp(2.5rem,5vw,4rem)/1.05 var(--player-font);letter-spacing:-.045em}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero) .safe-identity-banner{margin-top:16px}
:is(.app-shell,.app) .safe-identity-copy>.button-row{width:100%;min-width:0;margin:0;align-self:stretch}
:is(.app-shell,.app) .safe-identity-copy>.button-row>button{flex:0 1 auto;height:auto;min-height:44px;max-width:100%;padding:10px 14px;font:400 14px/1.35 var(--player-font);white-space:normal;overflow-wrap:anywhere}
:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero) .player-style-tip{display:block;margin-top:10px;font:400 14px/1.5 var(--player-font);color:var(--muted-foreground,var(--muted));overflow-wrap:anywhere}
:is(.app-shell,.app) .g1-today-hero .player-session-note{display:block;margin-top:8px;font:400 12px/1.5 var(--player-font);color:var(--muted-foreground,var(--muted))}
@media(max-width:767px){:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero){padding:22px}:is(.app-shell,.app) :is(.safe-zone-hero,.g1-today-hero) h2{font-size:clamp(2rem,9vw,3rem)}}
@media(max-width:600px){:is(.app-shell,.app) .safe-identity-copy>.button-row>button{flex:1 1 140px}}
/* Fonts remain upright in page content and portal dialogs, including semantic emphasis. */
html,body,body *,body *::before,body *::after{font-synthesis-style:none;font-style:normal!important}
/* Flag covers the player card; artwork and call-sign layers retain their own depth. */
.g1-player-card.profile-banner{display:block;position:relative;overflow:hidden;min-height:280px}.g1-player-card .g1-flag-panel{position:absolute;inset:0;z-index:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;overflow:hidden;background:none;pointer-events:none}.g1-player-card .profile-flag-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;border-radius:inherit}.g1-player-card .g1-flag-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,12,.1) 0%,var(--player-flag-shade,rgba(6,7,12,.92)) 100%)}.g1-player-card .g1-player-details{width:62%;min-width:0;padding:16px;border-radius:10px;background:linear-gradient(90deg,var(--player-flag-shade,rgba(6,7,12,.9)),rgba(6,7,12,.75));color:#fff}.g1-player-card .g1-player-details :is(h2,strong,p){color:#fff;overflow-wrap:anywhere}.g1-player-card .profile-flag-caption{position:absolute;right:12px;bottom:12px;max-width:35%;padding:8px;font-size:12px;color:white;z-index:1}.g1-player-card .profile-flag-caption p{color:white}.kit-item :is(button,.button-row),.kit-gun .kit-actions{gap:8px}.kit-magazines>header{flex-wrap:wrap;gap:12px;align-items:center}.kit-magazines>header>.button-row{flex-wrap:wrap}
@media(max-width:767px){.app .rail{display:none}.app .surface{margin-left:0}.app .topbar{min-height:76px;padding:14px 16px;gap:12px}.app .topbar h1{font-size:22px}.g1-player-card .g1-player-details{width:68%;padding:12px}.g1-player-card.profile-banner{min-height:270px}.g1-player-card .profile-flag-caption{max-width:30%;font-size:11px}}@media(max-width:375px){.g1-player-card .g1-player-details{width:72%;padding:10px}.g1-player-card .g1-player-details h2{font-size:24px}}

.setup-questions .setup-choice{display:flex;align-items:center;gap:10px;min-width:0;overflow-wrap:anywhere}.setup-questions .setup-choice input[type=checkbox]{width:20px;min-width:20px;flex:none}.setup-questions .setup-choice :is(.attachment-art,.magazine-art-stack){width:72px;height:64px;object-fit:contain;flex:none}.setup-questions .setup-choice .magazine-art-stack img{max-height:64px}


/* Shared player cards, earned badges and kit spacing. */
:is(.g1-player-card.profile-banner,.safe-identity-banner){min-height:500px!important;isolation:isolate;box-sizing:border-box}
:is(.g1-player-card.profile-banner,.safe-identity-banner) :is(.g1-player-details,.safe-identity-copy){width:59%!important;min-height:500px!important;padding:24px 24px 126px!important;box-sizing:border-box;overflow-wrap:anywhere}
.g1-player-details>h2,.safe-identity-copy>strong{font-size:clamp(28px,3vw,40px)!important;line-height:1.15}
.g1-player-details>strong{display:block;font-size:16px!important;font-weight:400;line-height:1.4;margin-top:8px}
.player-card-highlights{display:grid;gap:14px;margin:20px 0 0;color:#fff}
.player-card-highlights>div{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(8,11,20,.66)}
.player-card-highlights dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#ded9e9;margin-bottom:6px}
.player-card-highlights dd{margin:0;font-size:20px;line-height:1.35;overflow-wrap:anywhere;font-weight:400}
.player-card-highlights>div:first-child dd{font-size:clamp(42px,5vw,64px);line-height:1.1}
.player-card-highlights small{display:block;font-size:12px;line-height:1.4;color:#ded9e9;margin-top:6px}
.player-badges-position{position:absolute!important;z-index:3;top:auto!important;left:auto;right:16px;bottom:16px;width:min(58%,520px);pointer-events:none}
.player-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px;color:#fff;padding:10px;border-radius:14px;background:rgba(8,11,20,.66);border:1px solid rgba(255,255,255,.18);box-sizing:border-box}
.player-card-badges.is-empty{min-height:110px;background:none;border-color:transparent;padding:0}
.player-weapon-badge{flex:0 1 calc(20% - 7px);max-width:96px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;text-align:center;font-size:11px;text-shadow:0 1px 3px #000}
.player-weapon-badge :is(img,svg){display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 2px 4px #0008)}
.player-weapon-badge small{font-size:10px;color:#e3deed;text-transform:capitalize}
:is(.g1-player-card.profile-banner,.safe-identity-banner)>.identity-player-silhouette{width:56%!important;max-height:72%;height:72%;object-fit:contain;object-position:right bottom;right:0;bottom:0;z-index:1}
.player-card-export-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 24px}
.player-card-export-row>button{min-height:44px;margin:0}
.player-card-export-row p{flex-basis:100%;margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted-foreground,var(--muted))}
.g1-profile-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.weapon-kills-fields{min-width:0;margin:16px 0;padding:16px;border:1px solid var(--player-line);border-radius:14px}
.weapon-kills-fields p{font-size:14px;line-height:1.5}
.weapon-kills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:12px}
.weapon-kills-grid label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px}
.weapon-kills-grid input{width:100%;min-width:0;box-sizing:border-box}
.g3-export-preview{-webkit-touch-callout:default;user-select:auto;width:100%;height:auto;object-fit:contain}
:is(.app-shell,.app) .my-kit-page .kit-hero{margin-bottom:24px}
:is(.app-shell,.app) .my-kit-page .kit-page-nav{margin:24px 0;gap:10px}
:is(.app-shell,.app) .my-kit-page :is(.kit-toolbar,.kit-section>header,.section-title){margin-bottom:20px}
:is(.app-shell,.app) .my-kit-page .kit-add-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px;align-items:stretch}
:is(.app-shell,.app) .my-kit-page .kit-add-actions>button{flex:1 1 150px;min-height:44px;margin:0;padding:10px 14px}
:is(.app-shell,.app) .my-kit-page :is(.kit-actions,.kit-item-actions){display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;align-items:stretch}
:is(.app-shell,.app) .my-kit-page :is(.kit-actions,.kit-item-actions)>button{flex:1 1 140px;min-height:44px;margin:0;padding:10px 14px}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments){margin:18px 0 0}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments) ul{list-style:none;padding:0;display:grid;gap:10px;margin:12px 0 0}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments) li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--player-line);border-radius:10px;min-width:0}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments) li:not(:has(img,.magazine-art-stack)){grid-template-columns:minmax(0,1fr)}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments) li>.attachment-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin:0}
:is(.app-shell,.app) .my-kit-page .attachment-actions>button{min-height:44px;flex:1 1 90px;margin:0}
:is(.app-shell,.app) .my-kit-page :is(.kit-linked-attachments,.kit-attachments) :is(.attachment-art,.magazine-art-stack){width:64px;height:64px;object-fit:contain}
:is(.app-shell,.app) .my-kit-page .kit-magazines{margin:20px 0 24px}
:is(.app-shell,.app) .my-kit-page .kit-list{display:grid;gap:12px}
:is(.app-shell,.app) .my-kit-page .kit-list-item{margin:0;padding:14px;min-width:0}
:is(.app-shell,.app) .my-kit-page .kit-list-item:not(:has(.attachment-art,.gun-visual,.repair-visual,.magazine-art-stack)){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
:is(.app-shell,.app) .my-kit-page .kit-list-item:not(:has(.attachment-art,.gun-visual,.repair-visual,.magazine-art-stack))>button{grid-column:2;grid-row:1;min-height:44px;margin:0}
.repair-visual{position:relative;min-width:0;width:100%;display:grid;place-items:center}
.repair-visual :is(.gun-visual,.repair-gun-image){width:100%;height:195px!important;min-height:195px!important;object-fit:contain;margin:0}
.repair-visual>.repair-spanner{position:absolute;z-index:2;right:8px;bottom:8px;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px #0009)}
:is(.app-shell,.app) .my-kit-page :is(.kit-list-item,.repair-row):has(>.repair-visual){display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:14px;align-items:center}
:is(.app-shell,.app) .my-kit-page :is(.kit-list-item,.repair-row):has(>.repair-visual)>:last-child{grid-column:2;justify-self:start}
:is(.app-shell,.app) .my-kit-page :is(.kit-ppe-title,.editable-list) article{min-width:0;padding:12px;gap:12px}
.player-dialog-viewport :is(.form-grid,.form-pair,.attachment-form,.magazine-form){gap:16px}
.player-dialog-viewport :is(.form-field,.field){gap:8px}
.player-dialog-viewport :is(.dialog-actions,.button-row){gap:10px;flex-wrap:wrap}
.player-dialog-viewport :is(.dialog-actions,.button-row)>button{min-height:44px}
@media(max-width:767px){
 :is(.g1-player-card.profile-banner,.safe-identity-banner){min-height:510px!important}
 :is(.g1-player-card.profile-banner,.safe-identity-banner) :is(.g1-player-details,.safe-identity-copy){min-height:510px!important;width:64%!important;padding:16px 16px 124px!important}
 .player-card-highlights>div{padding:10px}.player-card-highlights{gap:12px}.player-card-highlights dd{font-size:16px}
 .player-card-highlights>div:first-child dd{font-size:46px}
 .player-badges-position{left:12px;right:12px;bottom:12px;width:auto}
 .player-card-badges{padding:8px;gap:6px}.player-weapon-badge{flex-basis:calc(20% - 5px);max-width:72px;font-size:10px}
 :is(.g1-player-card.profile-banner,.safe-identity-banner)>.identity-player-silhouette{width:55%!important;height:68%;max-height:68%;bottom:0}
 .g1-profile-heading{flex-wrap:wrap}
}
@media(max-width:600px){
 :is(.app-shell,.app) .my-kit-page :is(.kit-actions,.kit-item-actions)>button{flex-basis:calc(50% - 5px)}
 :is(.app-shell,.app) .my-kit-page :is(.kit-list-item,.repair-row):has(>.repair-visual){grid-template-columns:minmax(0,1fr)}
 :is(.app-shell,.app) .my-kit-page :is(.kit-list-item,.repair-row):has(>.repair-visual)>:last-child{grid-column:1;justify-self:stretch}
 .repair-visual :is(.gun-visual,.repair-gun-image){height:155px!important;min-height:155px!important}
 :is(.app-shell,.app) .my-kit-page .kit-list-item:not(:has(.attachment-art,.gun-visual,.repair-visual,.magazine-art-stack)){grid-template-columns:minmax(0,1fr)}
 :is(.app-shell,.app) .my-kit-page .kit-list-item:not(:has(.attachment-art,.gun-visual,.repair-visual,.magazine-art-stack))>button{grid-column:1;grid-row:auto;width:100%}
 .player-card-export-row>button{flex:1 1 160px}
}
@media(max-width:375px){
 :is(.g1-player-card.profile-banner,.safe-identity-banner) :is(.g1-player-details,.safe-identity-copy){padding:12px 12px 124px!important}
 .player-weapon-badge{font-size:9px}.player-weapon-badge small{font-size:9px}
}

.kit-condition-visual{position:relative;min-width:0}.kit-condition-visual>.repair-spanner{position:absolute;z-index:2;right:12px;bottom:12px;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px #0009)}

/* Recoil Ready brand and Chrono use the shared player surfaces. */
:is(.app-shell,.app) :is(.wordmark,.brand) strong{letter-spacing:.06em;font-size:16px}
:is(.app-shell,.app) :is(.wordmark,.brand) small{font-size:10px;letter-spacing:0;max-width:162px;line-height:1.5;white-space:normal}
:is(.app-shell,.app) :is(.mark,.brand-mark)>img{display:block;object-fit:contain;width:38px;height:38px}
:is(.app-shell,.app) .chrono-page{display:grid;gap:20px;min-width:0}
:is(.app-shell,.app) .chrono-page>.hero{margin:0;padding:24px;border:1px solid var(--player-line);border-radius:14px;background:var(--player-card);color:var(--player-text)}
:is(.app-shell,.app) .chrono-page>.hero p{margin:0 0 8px}
:is(.app-shell,.app) .chrono-gun-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
@media(max-width:640px){:is(.app-shell,.app) .chrono-page>.hero{padding:18px}.chrono-page .button-row>button{flex:1 1 140px}}

:is(.app-shell,.app) .brand-heading{margin:0;letter-spacing:.1em}.brand-heading>span{display:flex;align-items:center;gap:6px}.brand-heading img{display:block;object-fit:contain}.brand-heading>small{display:block;margin:3px 0 5px;font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted-foreground,var(--muted))}
