/* Same three palettes as justinfreres.com; scoped adapters preserve game semantics. */
:root[data-theme]{--jf-page:#f5f7fa;--jf-surface:#fff;--jf-alt:#edf1f6;--jf-text:#17263b;--jf-secondary:#45566d;--jf-accent:#204fac;--jf-border:#ced7e3;--jf-on-accent:#fff;color-scheme:light}
:root[data-theme="midnight"]{--jf-page:#101b2b;--jf-surface:#17263b;--jf-alt:#1b2e46;--jf-text:#f1f5fc;--jf-secondary:#c0cee0;--jf-accent:#94c4ff;--jf-border:#38506b;--jf-on-accent:#101b2b;color-scheme:dark}
:root[data-theme="editorial"]{--jf-page:#f4efe6;--jf-surface:#fffcf6;--jf-alt:#eae2d5;--jf-text:#302b25;--jf-secondary:#655646;--jf-accent:#7c3b28;--jf-border:#cdbfab;color-scheme:light}
html[data-theme] body{background:var(--jf-page);color:var(--jf-text)}
.jf-appearance{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;margin:0;font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal;color:var(--jf-secondary);white-space:nowrap}
.jf-appearance select,html[data-theme] .theme-control select{display:inline-block;width:auto;max-width:100%;min-height:40px;padding:8px;border:1px solid var(--jf-border);border-radius:6px;background:var(--jf-surface);color:var(--jf-text);font:inherit;cursor:pointer}
[data-appearance-host]{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}
.jf-profile-mark{display:inline-flex!important;align-items:center;justify-content:center;width:40px!important;height:40px!important;min-width:40px;overflow:hidden;border-radius:50%;background:var(--jf-surface);padding:0!important;letter-spacing:0;box-shadow:none!important}
.jf-profile-mark img{display:block;width:100%!important;height:100%!important;object-fit:cover;filter:none!important}
.jf-portfolio-portrait{width:min(100%,320px);height:auto;aspect-ratio:1;border-radius:20px;object-fit:cover;display:block;margin:0 auto 24px;border:1px solid var(--jf-border)}
html[data-theme] :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--jf-accent);outline-offset:3px}
/* Course surfaces, including instructor forms and navigation. */
html[data-jf-site="courses"]{--paper:var(--jf-page);--ink:var(--jf-text);--muted:var(--jf-secondary);--green:var(--jf-accent);--line:var(--jf-border)}
html[data-jf-site="courses"] :is(.coursecard,.panel,.coursedrop,input,textarea,select){background:var(--jf-surface);color:var(--jf-text);border-color:var(--jf-border)}
html[data-jf-site="courses"] :is(.bottompanel,.notice,.coursecode){background:var(--jf-alt);color:var(--jf-text)}
html[data-jf-site="courses"] :is(.coursedrop a,.coursedrop strong){color:var(--jf-text)}
html[data-jf-site="courses"] .heroaside{background:var(--jf-alt);color:var(--jf-text);border:1px solid var(--jf-border)}
html[data-jf-site="courses"] .heroaside :is(.pill,small,p){color:var(--jf-secondary)}
html[data-jf-site="courses"] .button,html[data-jf-site="courses"] .hero .button{background:var(--jf-accent);color:var(--jf-on-accent)}
html[data-jf-site="courses"] .logo{background:var(--jf-accent);color:var(--jf-on-accent)}
html[data-jf-site="courses"] .example-watermark{color:color-mix(in srgb,var(--jf-text) 10%,transparent)}
html[data-jf-site="courses"] header{flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
html[data-jf-site="courses"] nav{flex:1;min-width:0}
/* Balloon answers retain their distinct colors; surrounding UI follows the palette. */
html[data-jf-site="balloon"] :is(.panel,.scoreboard>div){background:var(--jf-surface);color:var(--jf-text);border-color:var(--jf-border)}
html[data-jf-site="balloon"] :is(h1,.brand strong,.scoreboard strong){color:var(--jf-text)}
html[data-jf-site="balloon"] :is(.intro,.hint,.stat-label,footer){color:var(--jf-secondary)}
html[data-jf-site="balloon"] #feedback{color:var(--jf-secondary)}
html[data-jf-site="balloon"] :is(.quiet,.eyebrow,.best){background:var(--jf-alt);color:var(--jf-text)}
html[data-jf-site="balloon"] .primary{background:var(--jf-accent);color:var(--jf-on-accent)}
html[data-jf-site="balloon"] .app>[data-appearance-host]{margin-bottom:-10px}
/* 52 playing-card suits and the green playing surface remain recognizable. */
html[data-jf-site="fulldeck"] :is(.lobby,.arena,input){background:var(--jf-surface);color:var(--jf-text);border-color:var(--jf-border)}
html[data-jf-site="fulldeck"] :is(.invitation,.avatar){background:var(--jf-alt);color:var(--jf-text)}
html[data-jf-site="fulldeck"] :is(.textButton,.secondary,.room,h1 em){color:var(--jf-accent)}
html[data-jf-site="fulldeck"] :is(.intro p,.invitation p,.caption,.note,.divider,footer,.connection,.player p,h3 small,.room small,.round){color:var(--jf-secondary)}
html[data-jf-site="fulldeck"] :is(.soloNote,.phaseLoop>span,.phaseLoop small,.phaseLoop b,.actionBar>p,.history,.rules p){color:var(--jf-secondary)}
html[data-jf-site="fulldeck"] .phaseLoop .active{color:var(--jf-accent);border-color:var(--jf-accent)}
html[data-jf-site="fulldeck"] .phaseLoop .active small{color:var(--jf-accent)}
html[data-jf-site="fulldeck"] .rules{background:var(--jf-alt);color:var(--jf-text)}
html[data-jf-site="fulldeck"] .soloButton:hover:enabled{background:var(--jf-alt)}
html[data-jf-site="fulldeck"] input::placeholder{color:var(--jf-secondary)}
html[data-jf-site="fulldeck"] footer>span:first-child{color:var(--jf-secondary)}
html[data-jf-site="fulldeck"] .primary{background:var(--jf-accent);color:var(--jf-on-accent);border-color:var(--jf-accent)}
html[data-jf-site="fulldeck"] .primary:hover:enabled{filter:brightness(.95)}
html[data-jf-site="fulldeck"] body>[data-appearance-host]{max-width:1440px;margin:auto;padding:12px 5% 0}
/* Tactical map and faction colors are unchanged; theme the command surfaces. */
html[data-jf-site="tidal"] :is(.command-header,.mission-card,.result-card,.tactical-bar,.force-panel,.build-panel,.force-deck,.graphics-control select){background:var(--jf-surface);color:var(--jf-text);border-color:var(--jf-border);backdrop-filter:none}
html[data-jf-site="tidal"] :is(.mission-card,.result-card) :is(h1,h2,p,.eyebrow,.quick-start){color:var(--jf-text)}
html[data-jf-site="tidal"] :is(.game-title,.game-title b,.game-title small,.graphics-control,.resource-strip span,.resource-strip strong,.panel-title,.panel-title small,#orderReadout){color:var(--jf-text)}
html[data-jf-site="tidal"] :is(.order-button,.pause-button,#worldButton,.primary-action){background:var(--jf-accent);color:var(--jf-on-accent);border-color:var(--jf-accent)}
html[data-jf-site="tidal"] .command-header{flex-wrap:wrap;gap:12px}
html[data-jf-site="tidal"] :is(.resource-strip>div,.matchup,.mission-card kbd){background:var(--jf-alt);color:var(--jf-text);border-color:var(--jf-border)}
html[data-jf-site="tidal"] :is(.matchup b,.matchup span,.force-deck h2,.force-deck h2 span,.force-deck h2 small,footer){color:var(--jf-secondary)}
html[data-jf-site="tidal"] .order-button b{color:var(--jf-on-accent)}
html[data-jf-site="tidal"] .crest{color:var(--jf-accent);border-color:var(--jf-accent)}
html[data-jf-site="tidal"] .deck-column{background:var(--jf-surface);border-color:var(--jf-border)}
html[data-jf-site="tidal"] .section-heading :is(span,small){color:var(--jf-secondary)}
/* These two elements have legacy inline colors. */
html[data-jf-site="tidal"] .matchup b,html[data-jf-site="tidal"] footer{color:var(--jf-secondary)!important}
@media(max-width:600px){.jf-appearance{font-size:11px}.jf-appearance select{min-height:40px}html[data-jf-site="courses"] header{gap:12px}html[data-jf-site="courses"] header>[data-appearance-host]{width:100%}html[data-jf-site="courses"] .coursedrop{left:auto;right:0;min-width:min(275px,calc(100vw - 40px))}}
@media print{[data-appearance-host],.theme-control{display:none!important}html[data-jf-site="courses"]{--jf-page:#fff;--jf-surface:#fff;--jf-alt:#f5f5f5;--jf-text:#111;--jf-secondary:#333;--jf-border:#bbb}html[data-jf-site="courses"] .example-watermark{color:rgba(50,50,50,.12)}}

/* JustinFreres / studio design system. Local assets, restrained surfaces, clear hierarchy. */
:root[data-theme]{--jf-page:#f4f6f5;--jf-surface:#ffffff;--jf-alt:#e9efee;--jf-text:#152d38;--jf-secondary:#4d626b;--jf-accent:#08685c;--jf-border:#c9d6d5;--jf-on-accent:#ffffff;--jf-heading:Arial,Helvetica,sans-serif;--jf-shadow:0 14px 40px #173b4510;--jf-radius:16px;--jf-feature:#122f39;--jf-feature-text:#f5faf8;--jf-feature-muted:#c4d8d9;--jf-feature-accent:#a8e2cb;--jf-feature-line:#42626b;color-scheme:light}
:root[data-theme="midnight"]{--jf-page:#0b121c;--jf-surface:#141f2c;--jf-alt:#1a2a39;--jf-text:#edf5fa;--jf-secondary:#b7c8d5;--jf-accent:#8fdfd1;--jf-border:#364b5c;--jf-on-accent:#102a2b;--jf-shadow:0 16px 48px #0004;--jf-feature:#111f2f;--jf-feature-text:#f1f7fc;--jf-feature-muted:#b6cadb;--jf-feature-accent:#8fdfd1;--jf-feature-line:#3b5367;color-scheme:dark}
:root[data-theme="editorial"]{--jf-page:#f3eee5;--jf-surface:#fffdf8;--jf-alt:#e9dfd0;--jf-text:#322c25;--jf-secondary:#6b594b;--jf-accent:#8c3c25;--jf-border:#cdbda7;--jf-on-accent:#fffaf3;--jf-heading:Georgia,'Times New Roman',serif;--jf-shadow:0 12px 32px #50361a0d;--jf-radius:4px;--jf-feature:#352e27;--jf-feature-text:#fff9ed;--jf-feature-muted:#ded0bc;--jf-feature-accent:#efbb88;--jf-feature-line:#716153;color-scheme:light}
html[data-theme]{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html[data-theme] body{background:var(--jf-page);color:var(--jf-text)}
html[data-theme]:not([data-jf-site]){--page:var(--jf-page);--surface:var(--jf-surface);--surface-alt:var(--jf-alt);--text:var(--jf-text);--secondary:var(--jf-secondary);--accent:var(--jf-accent);--border:var(--jf-border);--on-accent:var(--jf-on-accent)}
html[data-theme] :is(button,input,select,textarea){accent-color:var(--jf-accent)}
.jf-appearance,html[data-theme] .theme-control{font:600 12px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.01em;color:var(--jf-secondary)}
.jf-appearance select,html[data-theme] .theme-control select{border-radius:8px;min-height:44px;padding:10px 12px;box-shadow:0 1px 2px #00000005;font-size:12px}
.jf-profile-mark{outline:1px solid var(--jf-border);outline-offset:3px}
html[data-theme] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--jf-accent);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){html[data-theme] :is(a,button,select){transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}html[data-theme] :is(button,.button):active{transform:translateY(1px)}}
/* Surrounding game surfaces never change the answer layout, cards, or tactical map. */
html[data-jf-site="balloon"] body{font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at top,var(--jf-alt),transparent 70%)}
html[data-jf-site="balloon"] .panel{border-radius:var(--jf-radius);box-shadow:var(--jf-shadow);border-top:3px solid var(--jf-accent)}
html[data-jf-site="balloon"] h1{font-family:var(--jf-heading);letter-spacing:-.045em;line-height:1.08}
html[data-jf-site="balloon"] .intro{line-height:1.7;max-width:52ch;margin-left:auto;margin-right:auto}
html[data-jf-site="balloon"] :is(.primary,.quiet){border-radius:10px;font-weight:700;min-height:44px}
html[data-jf-site="balloon"] .scoreboard>div{border:1px solid var(--jf-border);border-radius:12px;padding:12px}
html[data-jf-site="balloon"] .stat-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase}
html[data-jf-site="balloon"] .brand{border-bottom:1px solid var(--jf-border);padding-bottom:16px}
html[data-jf-site="fulldeck"] body{background-image:radial-gradient(ellipse at 15% 0,var(--jf-alt),transparent 65%);font-family:Arial,Helvetica,sans-serif}
html[data-jf-site="fulldeck"] :is(.lobby,.arena){border-radius:var(--jf-radius);box-shadow:var(--jf-shadow);border-top:3px solid var(--jf-accent)}
html[data-jf-site="fulldeck"] h1{font-family:var(--jf-heading);letter-spacing:-.055em}
html[data-jf-site="fulldeck"] :is(.intro p,.note,.rules p){line-height:1.65}
html[data-jf-site="fulldeck"] :is(.primary,.secondary,.soloButton){border-radius:9px;min-height:44px;font-weight:700}
html[data-jf-site="fulldeck"] input:not([type="checkbox"]):not([type="radio"]){border-radius:8px;min-height:44px}
html[data-jf-site="fulldeck"] .invitation{border-radius:12px;border:1px solid var(--jf-border)}
html[data-jf-site="tidal"] :is(.mission-card,.result-card){border-radius:var(--jf-radius);border-top:3px solid var(--jf-accent);box-shadow:var(--jf-shadow)}
html[data-jf-site="tidal"] :is(.mission-card,.result-card) :is(h1,h2){font-family:var(--jf-heading);letter-spacing:-.035em}
html[data-jf-site="tidal"] :is(.command-header,.tactical-bar){box-shadow:0 4px 16px #0002}
html[data-jf-site="tidal"] :is(.order-button,.pause-button,.primary-action){border-radius:7px}
/* Teaching examples retain their existing watermark and access controls. */
html[data-jf-site="courses"] body{font-family:Arial,Helvetica,sans-serif;background-image:linear-gradient(120deg,var(--jf-alt),transparent 65%)}
html[data-jf-site="courses"] header{border-bottom:1px solid var(--jf-border);background:var(--jf-surface)}
html[data-jf-site="courses"] :is(h1,h2){font-family:var(--jf-heading);letter-spacing:-.04em}
html[data-jf-site="courses"] :is(.panel,.coursecard,.heroaside){border-radius:var(--jf-radius);box-shadow:var(--jf-shadow)}
html[data-jf-site="courses"] .coursecard{border-top:3px solid var(--jf-accent)}
html[data-jf-site="courses"] .button{border-radius:8px;min-height:44px;font-weight:700}
html[data-jf-site="courses"] :is(input,textarea,select){border-radius:6px}
/* Storefront and administration use the same palette and control language. */
html[data-theme]:not([data-jf-site]) :is(.product-card,.pp-card,.admin-card,.metric-card,.reader-panel){border-radius:var(--jf-radius);box-shadow:var(--jf-shadow);border-color:var(--jf-border)}
html[data-theme]:not([data-jf-site]) :is(.button,.primary-button){border-radius:8px;min-height:44px}
html[data-theme="editorial"]:not([data-jf-site]) :is(h1,h2){font-family:var(--jf-heading);letter-spacing:-.035em}
@media(max-width:600px){.jf-appearance{font-size:11px}html[data-jf-site="balloon"] .scoreboard>div{padding:8px}html[data-jf-site="courses"] header{padding:14px 20px}}
@media print{html[data-theme]{--jf-page:#fff;--jf-surface:#fff;--jf-alt:#f5f5f5;--jf-text:#111;--jf-secondary:#333;--jf-border:#bbb;--jf-accent:#222;--jf-on-accent:#fff}html[data-theme] body{background:#fff!important}html[data-theme] :is(.panel,.coursecard,.home-feature){box-shadow:none!important}}

@media(max-width:620px),(max-height:480px){html[data-jf-site="balloon"] body.playing .scoreboard>div{padding:2px}}

/* Responsive refinement: consistent rhythm, touch targets and overflow containment. */
html{scroll-padding-top:24px}body{overflow-wrap:break-word}img,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--jf-accent);outline-offset:4px}input,textarea,select{font-size:max(16px,1em)}
html[data-theme] :is(.admin-shell,.admin-area-grid,.editor-list,.editor,.panel,.login-card){min-width:0}
html[data-theme] .admin-nav{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border:1px solid var(--jf-border);background:var(--jf-surface);border-radius:12px;margin-bottom:28px}
html[data-theme] .admin-nav a{min-height:44px;padding:10px 14px;text-decoration:none;display:inline-flex;align-items:center;border-radius:7px}
html[data-theme] .admin-nav a[aria-current=page]{background:var(--jf-accent);color:var(--jf-on-accent);font-weight:750}
html[data-theme] .admin-area-card{transition:transform .18s,border-color .18s;border-top:3px solid var(--jf-accent)}
html[data-theme] .admin-area-card:hover{transform:translateY(-3px);border-color:var(--jf-accent)}
.lead-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:20px 0}.lead-toolbar label{display:flex;gap:10px;align-items:center}.lead-toolbar select{padding:10px;border:1px solid var(--jf-border);border-radius:8px;background:var(--jf-surface);color:var(--jf-text)}
.lead-card{background:var(--jf-surface);border:1px solid var(--jf-border);border-radius:12px;margin:14px 0;overflow:hidden}.lead-card summary{padding:22px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}.lead-card summary strong{font-size:1.05rem;display:block;overflow-wrap:anywhere}.lead-card summary div>span{font-size:.8rem;color:var(--jf-secondary);display:block;margin-top:6px}.lead-badge{font-size:.75rem;border:1px solid var(--jf-border);border-radius:20px;padding:5px 12px;white-space:nowrap;color:var(--jf-accent)}.lead-detail{padding:0 24px 26px;border-top:1px solid var(--jf-border)}.lead-detail dl{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;font-size:.9rem}.lead-detail dt{font-weight:650}.lead-detail dd{margin:0;overflow-wrap:anywhere}.lead-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.lead-update{display:grid;gap:16px;margin-top:28px;border-top:1px solid var(--jf-border);padding-top:24px}.lead-update label{display:grid;gap:8px;font-size:.85rem;font-weight:650}.lead-update :is(select,textarea){padding:12px;border:1px solid var(--jf-border);border-radius:8px;background:var(--jf-page);color:var(--jf-text);width:100%;min-width:0}.lead-update button{justify-self:start}.lead-empty{padding:40px;border:1px dashed var(--jf-border);border-radius:12px}
@media(max-width:760px){html[data-theme] .admin-shell{padding:24px 16px}.admin-header{padding:16px!important;gap:12px;flex-wrap:wrap}.admin-header-actions{flex-wrap:wrap;gap:10px}html[data-theme] .admin-nav{gap:4px;padding:6px}html[data-theme] .admin-nav a{font-size:12px;padding:8px 11px}.lead-card summary{padding:18px;align-items:start}.lead-detail{padding:0 18px 20px}.lead-detail dl{grid-template-columns:1fr;gap:4px}.lead-detail dd{margin-bottom:10px}.editor{padding:20px 16px!important}.editor :is(.editor-grid,.form-grid){grid-template-columns:1fr!important}.editor label{min-width:0}}
@media(max-width:480px){.home-proof{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.home-proof>div{padding:12px 0!important;border:0!important;border-bottom:1px solid var(--jf-border)!important}.home-proof strong{font-size:.95rem!important}.home-proof span{font-size:.8rem!important}.home-portrait-panel{max-width:230px!important}.home-portrait-panel>img{width:210px!important}.home-contact h2{font-size:2rem!important}.hero-actions{gap:12px!important}.home-game-cards{grid-template-columns:1fr!important}.lead-toolbar{gap:10px}.lead-card summary{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.admin-area-card{transition:none!important}}

/* A cleaner shared application frame without changing game mechanics or artwork. */
html[data-theme] :is(.game-topbar,.jf-game-header,.app-header){border-bottom:1px solid var(--jf-border);background:var(--jf-surface);box-shadow:0 3px 18px rgba(0,0,0,.035)}
html[data-theme] :is(.section-heading,.section-title){gap:24px;align-items:start}
html[data-theme] :is(.game-card,.service-card,.product-card){min-width:0;border-color:var(--jf-border);box-shadow:var(--jf-shadow)}
html[data-theme] footer a{text-underline-offset:4px}
@media(max-width:600px){html[data-theme] :is(.section-heading,.section-title){flex-direction:column;gap:12px}html[data-theme] :is(.game-topbar,.jf-game-header){flex-wrap:wrap;gap:10px}}

/* JF interface standard 1.0 — shared geometry and interaction, theme-specific color. */
:root[data-theme]{--jf-unit:4px;--jf-space-1:4px;--jf-space-2:8px;--jf-space-3:12px;--jf-space-4:16px;--jf-space-6:24px;--jf-space-8:32px;--jf-space-12:48px;--jf-space-16:64px;--jf-control-radius:8px;--jf-panel-radius:16px;--jf-radius:16px;--jf-control-height:44px;--jf-body-font:Arial,Helvetica,sans-serif;--jf-body-leading:1.6;--jf-label-size:12px;--jf-font-weight-label:650;--jf-stroke:1px;--jf-focus-width:3px;--jf-width-page:1248px;--jf-width-wide:1328px;--jf-width-game:1560px;--jf-motion-fast:160ms;--jf-motion-normal:240ms}
html[data-theme] body{font-family:var(--jf-body-font);background-image:radial-gradient(ellipse at 85% 0,color-mix(in srgb,var(--jf-accent) 7%,transparent),transparent 45rem);background-attachment:scroll}
html[data-theme] :is(button,input,select,textarea){font-family:var(--jf-body-font);box-sizing:border-box}
html[data-theme] :is(button,.button,.home-quote,.primary,.secondary,.quiet,.primary-action,.order-button,.pause-button,.textbutton):not(.balloon):not(.level){border-radius:var(--jf-control-radius);min-height:var(--jf-control-height);font-weight:650;letter-spacing:.005em}
html[data-theme] :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){border:var(--jf-stroke) solid var(--jf-border);border-radius:var(--jf-control-radius);min-height:var(--jf-control-height);background:var(--jf-surface);color:var(--jf-text);font-size:16px;line-height:1.4;padding:10px 12px;max-width:100%;min-width:0}
html[data-theme] :is(input,textarea)::placeholder{color:var(--jf-secondary);opacity:.85}
html[data-theme] input:is([type=checkbox],[type=radio]){accent-color:var(--jf-accent)}
html[data-theme] :is(button,input,select,textarea):disabled{opacity:.55;cursor:not-allowed}
html[data-theme] :is(button,.button,a,summary,input,select,textarea):focus-visible{outline:var(--jf-focus-width) solid var(--jf-accent);outline-offset:4px;box-shadow:0 0 0 2px var(--jf-page)}
html[data-theme] .home-feature :is(button,a):focus-visible{outline-color:var(--jf-feature-accent);box-shadow:0 0 0 2px var(--jf-feature)}
html[data-theme] :is(.jf-appearance,.theme-control){font:650 var(--jf-label-size)/1.4 var(--jf-body-font);letter-spacing:.015em;gap:8px;color:var(--jf-secondary)}
html[data-theme] :is(.jf-appearance,.theme-control) select{height:44px;min-height:44px;border-radius:8px;padding:10px 12px;font-size:12px!important;font-weight:650;background:var(--jf-surface);color:var(--jf-text);border:1px solid var(--jf-border)}
html[data-theme] :is(.jf-profile-mark,.brand-mark){outline:1px solid var(--jf-border);outline-offset:3px}
html[data-theme] :is(.admin-brand,.brand,.game-title){font-family:var(--jf-body-font);letter-spacing:-.025em;font-weight:750}
html[data-theme] :is(.site-header,.admin-header,.contact-header,.command-header){border-color:var(--jf-border);gap:16px}
html[data-jf-site=courses] header{gap:16px}
html[data-jf-site=balloon] .brand{border-color:var(--jf-border)}
html[data-theme] :is(.admin-nav,.lead-card,.admin-area-card,.contact-panel,.login-card,.reader-panel,.coursecard,.heroaside,.mission-card,.result-card,.lobby,.arena,.invitation,.rules,.home-game-card,.service-card,.product-card,.product,.game,.custom){border-radius:var(--jf-panel-radius);border-color:var(--jf-border)}
html[data-theme] :is(.admin-area-card,.lead-card,.contact-panel,.login-card,.coursecard,.heroaside,.mission-card,.result-card,.lobby,.arena,.home-game-card,.service-card,.product-card){background-image:linear-gradient(145deg,color-mix(in srgb,var(--jf-accent) 3%,transparent),transparent 65%);box-shadow:0 1px 0 color-mix(in srgb,var(--jf-surface) 70%,transparent) inset,0 12px 32px color-mix(in srgb,var(--jf-text) 7%,transparent)}
html[data-jf-site=balloon] .panel{border-radius:16px;border-top-width:2px;box-shadow:0 1px 0 var(--jf-surface) inset,0 16px 40px color-mix(in srgb,var(--jf-text) 8%,transparent)}
html[data-theme] :is(.admin-intro,.contact-intro,.section-intro,.products-intro,.home-section-heading) h1,html[data-theme] :is(.admin-intro,.contact-intro,.section-intro,.products-intro,.home-section-heading) h2{font-family:var(--jf-heading);letter-spacing:-.04em;line-height:1.1;text-wrap:balance}
html[data-theme] :is(.eyebrow,.admin-kicker,.kicker,.card-label,.stat-label){font-family:var(--jf-body-font);font-weight:700;letter-spacing:.1em;line-height:1.5}
html[data-theme] :is(.admin-intro>p,.contact-intro>p,.section-intro>p,.products-intro>p,.home-section-heading>p,.game>p,.coursecard>p){line-height:var(--jf-body-leading)}
html[data-theme] :is(.admin-nav a,.profile-links a,.contact-header>a,.site-header nav a){min-height:44px;display:inline-flex;align-items:center}
html[data-theme] :is(.admin-nav,.lead-toolbar,.home-rail-controls,.result-actions,.actions,.hero-actions){gap:12px}
html[data-theme] :is(.editor label,.contact-panel label,.login-card label,.lead-update label){font-size:14px;font-weight:650;line-height:1.5}
html[data-theme] :is(.admin-panel,.panel,.lead-detail,.editor,.reader-panel,.result-card){scroll-margin-top:24px}
html[data-theme] :is(.lead-badge,.pill,.tag,.product-price){border-radius:24px;font-size:12px;font-weight:650;line-height:1.4}
html[data-theme] .form-status.error{color:var(--jf-text);border-left:3px solid var(--jf-accent);padding:8px 12px;background:var(--jf-alt)}
html[data-theme] :is(.contact-layout,.admin-shell,.login-shell,.home-engagement){gap:32px}
html[data-theme] .admin-nav{padding:8px;border-radius:12px;background:var(--jf-surface)}
html[data-theme] .admin-nav a{border-radius:8px;padding:10px 16px;font-weight:650}
html[data-theme] .admin-nav a[aria-current=page]{background:var(--jf-accent);color:var(--jf-on-accent)}
html[data-theme] .admin-area-card{padding:24px;border-top-width:2px}
html[data-theme] .lead-card summary{padding:24px;gap:16px}
html[data-theme] .contact-panel{padding:32px;border-top-width:2px}
html[data-theme] .contact-layout{max-width:1248px}
html[data-theme] .human-check{padding:16px;border-radius:8px}
html[data-theme] .consent{min-height:44px;align-items:flex-start}
html[data-theme] :is(.human-check small,.contact-small){line-height:1.6}
/* The homepage keeps its immersive stage; repeated component geometry now matches the suite. */
html[data-theme] .immersive-home :is(.home-feature,.professional-intro,.home-contact,.products:before){border-radius:16px}
html[data-theme] .immersive-home :is(.home-portrait-panel>img,.home-portrait-caption){border-radius:16px}
html[data-theme] .immersive-home :is(.home-feature .button,.home-service-track .service-card .service-action,.home-promo-tabs button,.studio-motion-toggle){border-radius:8px}
html[data-theme] .immersive-home :is(.studio-node,.studio-service-number){border-radius:8px}
html[data-theme] .immersive-home .studio-service-nav button{border-radius:24px;min-height:44px}
html[data-theme] .immersive-home :is(.home-game-card,.home-service-track .service-card,.products .product-card){border-radius:16px}
/* Storefront receives the same immersive materials as the business home. */
html[data-jf-site=main-pages] .hero{position:relative;isolation:isolate;gap:48px}
html[data-jf-site=main-pages] .hero-art{border:1px solid var(--jf-border);border-radius:16px;box-shadow:0 22px 48px color-mix(in srgb,var(--jf-text) 10%,transparent);background:radial-gradient(ellipse at 25% 10%,color-mix(in srgb,var(--jf-accent) 12%,var(--jf-alt)),var(--jf-alt))}
html[data-jf-site=main-pages] .hero-art .art-label{background:var(--jf-surface);color:var(--jf-secondary);border-color:var(--jf-border);border-radius:8px}
html[data-jf-site=main-pages] .game-art{border-radius:12px;overflow:hidden;background:var(--jf-alt);border:1px solid var(--jf-border)}
html[data-jf-site=main-pages] .game{padding:24px}
html[data-jf-site=main-pages] .custom{border-left:2px solid var(--jf-accent);box-shadow:0 16px 40px color-mix(in srgb,var(--jf-text) 7%,transparent)}
/* Game-specific exceptions: preserve answers, cards, battle artwork and available play height. */
html[data-jf-site=main-pages] main{border-radius:var(--jf-panel-radius)}
html[data-theme] :is(.lobby,.arena,.mission-card,.result-card,.coursecard,.contact-panel,.admin-area-card){border-top-width:2px}
html[data-jf-site=balloon] .level{border-radius:12px}
html[data-jf-site=fulldeck] .phaseLoop>span{border-radius:8px}
html[data-jf-site=tidal] :is(.force-panel,.build-panel,.force-deck,.deck-column,.tactical-bar){border-radius:12px;border-color:var(--jf-border)}
@media(prefers-reduced-motion:no-preference){html[data-theme] :is(.admin-area-card,.coursecard,.home-game-card,.game){transition:transform var(--jf-motion-normal),border-color var(--jf-motion-fast),box-shadow var(--jf-motion-normal)}html[data-theme] :is(.admin-area-card,.coursecard,.game):hover{border-color:var(--jf-accent);transform:translateY(-2px)}}
@media(max-width:760px){html[data-theme] :is(.contact-layout,.admin-shell,.login-shell,.home-engagement){gap:24px}html[data-theme] :is(.contact-panel,.admin-area-card,.lead-detail){padding:24px}html[data-theme] .lead-card summary{padding:16px}html[data-theme] :is(.jf-appearance,.theme-control){font-size:12px}html[data-theme] .admin-nav a{padding:10px 12px}html[data-jf-site=main-pages] .hero{gap:24px}html[data-jf-site=main-pages] .game{padding:24px}html[data-theme] .contact-header{gap:16px}html[data-theme] .immersive-home .home-header-tools .theme-control{font-size:0!important}}
@media(max-width:420px){html[data-theme] .contact-panel{padding:24px 16px}html[data-theme] .admin-nav a{padding:10px;font-size:12px}html[data-theme] .contact-header{padding:16px}html[data-theme] .contact-layout{padding-left:16px;padding-right:16px}}
@media(max-height:600px){html[data-jf-site=balloon] body.playing :is(.quiet,#sound-toggle),html[data-jf-site=tidal] :is(.order-button,.pause-button,#worldButton){min-height:36px}html[data-jf-site=balloon] body.playing .scoreboard>div{padding:2px}}
@media(prefers-reduced-motion:reduce){html[data-theme] :is(.admin-area-card,.coursecard,.game){transition:none!important;transform:none!important}}
@media print{html[data-theme] body{background:#fff!important}html[data-theme] :is(.admin-area-card,.lead-card,.contact-panel,.login-card,.coursecard,.heroaside,.mission-card,.result-card,.lobby,.arena,.home-game-card,.service-card,.product-card,.hero-art){box-shadow:none!important;background-image:none!important}}

/* One professional route map; no fixed overlay or live-game interruption. */
[data-jf-professional]{width:100%;box-sizing:border-box;flex-basis:100%;display:flex;position:static;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px;padding:16px;margin:16px 0 0;border-top:1px solid var(--jf-border,#526474);font:600 13px/1.6 Arial,sans-serif;color:var(--jf-secondary,#c1ced8);}
[data-jf-professional]>span{width:100%;font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
[data-jf-professional] a{display:inline-flex;align-items:center;min-height:44px;color:var(--jf-accent,#a7d4eb);text-decoration:underline;text-underline-offset:4px;}
body.playing [data-jf-professional]{display:none;}
@media print{[data-jf-professional]{display:none!important;}}

/* Shared public navigation; stays in document flow and never overlays play. */
html body .jf-site-navigation{box-sizing:border-box;position:relative;flex:none;width:100%;margin:0;padding:0 16px;border:0;border-bottom:1px solid var(--jf-border);border-radius:0;background:var(--jf-surface);color:var(--jf-text);font:600 14px/1.4 Arial,sans-serif;text-align:left;box-shadow:none;}
html body .jf-site-navigation summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 4px;color:var(--jf-text);font:700 13px/1.4 Arial,sans-serif;list-style:none;}
html body .jf-site-navigation summary::after{content:'+';font-size:22px;}html body .jf-site-navigation[open] summary::after{content:'−';}
html body .jf-site-navigation nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;max-width:1400px;margin:0 auto;padding:0 0 8px;}
html body .jf-site-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:var(--jf-text);font:600 14px/1.4 Arial,sans-serif;text-decoration:none;border-bottom:2px solid transparent;white-space:normal;}
html body .jf-site-navigation a:hover{color:var(--jf-accent);border-color:var(--jf-accent);}html body .jf-site-navigation :is(a,summary):focus-visible{outline:3px solid var(--jf-accent);outline-offset:3px;}
@media(min-width:1100px){html body .jf-site-navigation[open] summary{min-height:32px;padding:4px;justify-content:center;}html body .jf-site-navigation nav{padding-bottom:4px;}}
@media(max-width:620px){html body .jf-site-navigation nav{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}}
body.playing .jf-site-navigation[open]{max-height:45vh;overflow:auto;}body.playing .jf-site-navigation summary{min-height:36px;padding:4px;}
@media print{.jf-site-navigation{display:none!important;}}

html body nav[hidden]{display:none!important;}
/* Grouped navigation and readable footer utilities across page layouts. */
html body footer.jf-site-footer{display:block!important;width:100%;max-width:none;box-sizing:border-box;min-width:0;padding:clamp(24px,4vw,48px)!important;margin-top:2rem;border-top:1px solid var(--jf-border,#a9b6bf);background:var(--jf-surface,#fff);color:var(--jf-text,#172b3c);font:400 14px/1.6 Arial,sans-serif;text-align:left}
html body .jf-site-footer [data-jf-professional]{display:grid!important;grid-template-columns:1fr 1.4fr 1fr;gap:24px 48px;width:100%;max-width:1200px;margin:0 auto;padding:0 0 28px;border:0;align-items:start;justify-content:start}
html body .jf-site-footer [data-jf-professional] section{min-width:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
html body .jf-site-footer [data-jf-professional] h2{font:750 12px/1.5 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:var(--jf-text,#172b3c)}
html body .jf-site-footer [data-jf-professional] ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}
html body .jf-site-footer [data-jf-professional] a{display:inline-flex;align-items:center;min-height:40px;padding:6px 0;margin:0;font:500 14px/1.5 Arial,sans-serif;color:var(--jf-text,#172b3c);text-decoration:none;white-space:normal;word-break:normal;overflow-wrap:break-word}
html body .jf-site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
html body .jf-site-footer .jf-footer-utility{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;width:100%;max-width:1200px;min-width:0;margin:0 auto;padding-top:24px;border-top:1px solid var(--jf-border,#a9b6bf)}
html body .jf-footer-utility>*{flex:0 1 auto;min-width:0;max-width:100%;margin:0!important;white-space:normal;word-break:normal;overflow-wrap:break-word}
html body .jf-footer-utility>:is(p,span,small){flex-basis:100%;font:400 12px/1.7 Arial,sans-serif;color:var(--jf-secondary,#42535f)}
html body .jf-footer-utility a{display:inline-flex;align-items:center;min-height:40px;max-width:100%;margin:0!important;padding:4px 0;color:var(--jf-accent,#09665e);font:500 13px/1.5 Arial,sans-serif;white-space:normal;word-break:normal}
html body .jf-footer-utility>p a{display:inline;min-height:0}
html body .jf-footer-utility button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:40px;width:auto;max-width:100%;margin:0!important;padding:8px 14px!important;border-radius:6px;white-space:normal;font:600 12px/1.5 Arial,sans-serif}
html body .jf-site-footer :is(a,button):focus-visible{outline:3px solid var(--jf-accent,#09665e);outline-offset:4px}
html body .jf-site-navigation{padding:0 max(20px,calc((100% - 1280px)/2));background:var(--jf-surface);border-bottom:1px solid var(--jf-border)}
html body .jf-site-navigation summary{min-height:56px;font-size:14px;padding:12px 0}
html body .jf-site-navigation summary::after{content:'Menu +';font:600 12px/1.4 Arial,sans-serif;letter-spacing:.04em}
html body .jf-site-navigation[open] summary::after{content:'Close −'}
html body .jf-site-navigation nav{gap:4px 16px;justify-content:flex-start;padding-bottom:12px}
html body .jf-site-navigation a{min-height:44px;padding:8px 4px;font-size:13px;border-radius:4px}
@media(min-width:1100px){html body .jf-site-navigation[open] summary{position:absolute;left:max(20px,calc((100% - 1280px)/2));top:50%;transform:translateY(-50%);min-height:44px;max-width:190px;padding:8px 0;justify-content:flex-start}html body .jf-site-navigation[open] summary::after{display:none}html body .jf-site-navigation[open] nav{min-height:68px;padding:8px 0 8px 200px;align-items:center;justify-content:flex-end;box-sizing:border-box}}
@media(max-width:700px){html body .jf-site-footer [data-jf-professional]{grid-template-columns:1fr 1fr;gap:24px}html body .jf-site-footer [data-jf-professional] section:last-child{grid-column:1/-1}html body .jf-footer-utility{gap:12px 20px}html body .jf-footer-utility>a{min-width:120px}html body .jf-site-navigation nav{grid-template-columns:1fr 1fr;gap:2px 12px}}
@media(max-width:380px){html body .jf-site-footer [data-jf-professional]{grid-template-columns:1fr;gap:20px}html body .jf-site-footer [data-jf-professional] section:last-child{grid-column:auto}}
html body.playing .jf-site-footer [data-jf-professional]{display:none!important}
@media print{html body .jf-site-footer{display:none!important}}

html body.playing footer.jf-site-footer{display:none!important}

/* Modern public theme: one header, clear hierarchy, restrained surfaces. */
:root[data-theme]{--jf-page:#fcfdfc;--jf-surface:#fff;--jf-alt:#f3f7f5;--jf-text:#12231d;--jf-secondary:#52625b;--jf-accent:#087b50;--jf-border:#e1e9e5;--jf-on-accent:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
:root[data-theme=midnight]{--jf-page:#0c151b;--jf-surface:#132029;--jf-alt:#182a33;--jf-text:#f1f7f4;--jf-secondary:#b3c4bd;--jf-accent:#87dfbb;--jf-border:#2c4149;--jf-on-accent:#0c241b;color-scheme:dark}
:root[data-theme=editorial]{--jf-page:#fbfaf7;--jf-surface:#fffefa;--jf-alt:#f0efe7;--jf-text:#292d24;--jf-secondary:#64685b;--jf-accent:#4b663f;--jf-border:#dfE2d5;--jf-on-accent:#fff;color-scheme:light}
html body.jf-modern-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-.015em;background:var(--jf-page);color:var(--jf-text)}
html body .jf-global-header{display:flex;align-items:center;justify-content:space-between;gap:24px;box-sizing:border-box;width:100%;max-width:none;margin:0;padding:16px max(24px,calc((100% - 1280px)/2));background:var(--jf-surface);border:0;border-bottom:1px solid var(--jf-border);color:var(--jf-text);position:relative;z-index:30;min-height:76px}
html body .jf-global-brand{display:inline-flex;align-items:center;gap:10px;color:var(--jf-text);font-size:18px;font-weight:800;letter-spacing:-.04em;text-decoration:none;white-space:nowrap;flex-shrink:0}.jf-global-brand img{border-radius:10px;object-fit:cover}
html body .jf-global-header .jf-site-navigation{width:auto;flex:1;min-width:0;padding:0;border:0;background:transparent;font-family:inherit}html body .jf-global-header .jf-site-navigation nav{padding:0!important;min-height:44px;gap:16px;justify-content:center}html body .jf-global-header .jf-site-navigation a{font-size:12px;font-weight:650;line-height:1.4;padding:8px 0;min-height:40px;color:var(--jf-secondary);border:0}html body .jf-global-header .jf-site-navigation a:hover{color:var(--jf-accent)}
html body .jf-global-tools{display:flex;gap:12px;align-items:center;flex-shrink:0}.jf-global-tools label,.jf-global-tools .jf-appearance{font-size:0!important;gap:0}.jf-global-tools select{font-size:12px!important;border-radius:9px!important;min-height:40px!important;max-width:105px!important}.jf-global-tools .jf-shop-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:99px;background:var(--jf-accent);color:var(--jf-on-accent);text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}
html body.jf-modern-shell>header[hidden],html body.jf-modern-shell>.jf-appearance:empty,html body.jf-modern-shell>[data-appearance-host]:empty{display:none!important}
html body.jf-modern-shell .jf-page-tabs{padding:8px 24px;justify-content:center;max-width:1280px;margin:auto;border-bottom:1px solid var(--jf-border);background:transparent}.jf-page-tabs nav a{min-height:40px}
html body.jf-modern-shell :is(h1,h2,h3){font-family:inherit;letter-spacing:-.045em;color:var(--jf-text)}html body.jf-modern-shell :is(h1,h2) em{font-family:inherit!important;font-style:normal!important;color:var(--jf-accent)}
html body.jf-modern-shell :is(.button,.free-game-launch,.sample-purchase-link){border-radius:99px!important;min-height:48px;box-shadow:none!important;font-family:inherit;font-weight:700}html body.jf-modern-shell :is(.button.primary,.button.primary-button,.free-game-launch){background:var(--jf-accent)!important;color:var(--jf-on-accent)!important;border-color:var(--jf-accent)!important}html body.jf-modern-shell :is(.button.outline,.button.quiet-button){background:var(--jf-surface)!important;color:var(--jf-text)!important;border:1px solid var(--jf-border)!important}
html body.jf-modern-shell main{max-width:1280px}html body.immersive-home .review-opening{display:block!important;max-width:1280px;margin:auto;padding:64px 24px 24px;gap:24px}html body.immersive-home .review-product{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;overflow:visible}html body.immersive-home .review-product-copy{padding:32px 0}html body.immersive-home .review-product h1{font-size:clamp(42px,5.2vw,68px);line-height:1.06;letter-spacing:-.055em;max-width:650px}html body.immersive-home .review-product-name{font-size:20px;font-weight:700;color:var(--jf-text)}html body.immersive-home .review-intro{font-size:17px;line-height:1.8;max-width:530px;color:var(--jf-secondary)}html body.immersive-home .review-art{min-height:0;border-radius:24px;padding:32px;background:radial-gradient(ellipse at 50% 10%,color-mix(in srgb,var(--jf-accent) 10%,var(--jf-surface)),var(--jf-alt));border:1px solid var(--jf-border);transform:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.review-art .review-paper-shadow{display:none}html body.immersive-home .review-art button{transform:none;max-width:320px;box-shadow:0 18px 50px #10251b14}html body.immersive-home .review-art img{transform:none;border-radius:8px}.review-art-caption{color:var(--jf-secondary)!important}
html body.immersive-home .review-hiring{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:16px 32px;align-items:center;padding:28px 32px;margin-top:40px;border:1px solid var(--jf-border);border-radius:20px;background:var(--jf-surface);box-shadow:none}.review-hiring .review-person{grid-row:1/4}.review-hiring h3{font-size:23px;margin:0}.review-hiring>.degree-highlight{padding:0;border:0}.review-hiring>p{font-size:13px;line-height:1.7;margin:0}.review-hiring>.hiring-actions{grid-column:3;grid-row:1/4;display:grid;gap:10px}.review-hiring .review-skill-tags{display:none}
html body.jf-modern-shell :is(.review-product-details,.free-games-products,.product-inside,.product-questions){padding-top:56px;padding-bottom:56px}html body.jf-modern-shell :is(.explore-paths,.issue-collection,.product-value-row,.free-game-card,.product-display){border-color:var(--jf-border);box-shadow:none}html body.jf-modern-shell .issue-card{background:var(--jf-surface);color:var(--jf-text);border-color:var(--jf-border);border-radius:20px;box-shadow:0 12px 35px #17282006}html body.jf-modern-shell .issue-art{background:var(--jf-alt);border-bottom:1px solid var(--jf-border)}html body.jf-modern-shell .issue-actions .primary{background:var(--jf-accent)!important;color:var(--jf-on-accent)!important;border-color:var(--jf-accent)!important}html body.jf-modern-shell .issue-badge{background:var(--jf-alt);color:var(--jf-accent)}html body.jf-modern-shell :is(.hero-art,.product-display){box-shadow:none;transform:none;border-radius:24px}html body.jf-modern-shell .product-sample-cover{transform:none}.product-paper-stack:before{transform:rotate(-2deg)}
html body .jf-site-footer{margin-top:48px!important;border-top:1px solid var(--jf-border)}html body .jf-site-footer .jf-footer-utility>:is(p,span,small){flex:0 1 auto}html body .jf-site-footer .jf-footer-utility{row-gap:14px}html body .jf-site-footer [data-jf-professional] h2{letter-spacing:.07em;color:var(--jf-secondary)}
@media(min-width:1200px){html body .jf-global-header .jf-site-navigation summary{display:none!important}html body .jf-global-header .jf-site-navigation[open] nav{min-height:44px}}
@media(max-width:1199px){html body .jf-global-header{flex-wrap:wrap;gap:12px;padding:14px 20px}.jf-global-header .jf-global-brand{order:0}.jf-global-header .jf-global-tools{order:1;margin-left:auto}.jf-global-header .jf-site-navigation{order:2;flex-basis:100%!important}.jf-global-header .jf-site-navigation summary{position:static!important;transform:none!important;max-width:none!important;min-height:40px!important;padding:4px 0!important}.jf-global-header .jf-site-navigation summary::after{display:block!important}.jf-global-header .jf-site-navigation nav{display:grid!important;grid-template-columns:1fr 1fr;justify-content:start!important}.jf-global-header .jf-site-navigation a{min-height:44px!important}}
@media(max-width:760px){html body.immersive-home .review-opening{padding:24px 20px}.review-opening .review-product{grid-template-columns:1fr!important;gap:24px!important}.review-opening .review-product-copy{padding:16px 0!important}.review-opening .review-product h1{font-size:clamp(38px,9vw,55px)!important}.review-opening .review-art{padding:24px!important}.review-opening .review-hiring{display:flex!important;flex-direction:column;align-items:stretch;padding:24px!important;gap:18px}.review-hiring .review-person img{width:64px;height:64px}.review-hiring>.hiring-actions{display:grid;grid-template-columns:1fr 1fr}.jf-global-header .jf-shop-link{padding:10px 12px;font-size:12px}.jf-global-header .jf-global-brand{font-size:16px}.jf-global-tools{gap:6px!important}.jf-global-tools select{max-width:94px!important}html body.jf-modern-shell .review-product-details{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html body.jf-modern-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-theme=executive] body.jf-modern-shell{--jf-page:#fcfdfc;--jf-surface:#fff;--jf-alt:#f3f7f5;--jf-text:#12231d;--jf-secondary:#52625b;--jf-accent:#087b50;--jf-border:#e1e9e5;--jf-on-accent:#fff}
html[data-theme=midnight] body.jf-modern-shell{--jf-page:#0c151b;--jf-surface:#132029;--jf-alt:#182a33;--jf-text:#f1f7f4;--jf-secondary:#b3c4bd;--jf-accent:#87dfbb;--jf-border:#2c4149;--jf-on-accent:#0c241b}
html[data-theme=editorial] body.jf-modern-shell{--jf-page:#fbfaf7;--jf-surface:#fffefa;--jf-alt:#f0efe7;--jf-text:#292d24;--jf-secondary:#64685b;--jf-accent:#4b663f;--jf-border:#dfe2d5;--jf-on-accent:#fff}
html body.jf-modern-shell main{margin-inline:auto!important;box-sizing:border-box}html body.immersive-home .review-opening{width:100%!important;box-sizing:border-box}html body.jf-modern-shell :is(h1,h2,h3){font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;font-weight:750}html body.immersive-home .review-product h1{font-weight:800!important}html body.immersive-home .review-product:before,html body.immersive-home .review-product:after,html body.immersive-home .review-product h1 em:after{display:none!important}html body.jf-modern-shell .studio-controls{display:none!important}html body.jf-modern-shell .credential-list li{overflow-wrap:anywhere;min-width:0}@media(max-width:760px){html body.jf-modern-shell .credential-list{min-width:0;max-width:100%;width:100%;grid-template-columns:minmax(0,1fr)}}
html body.immersive-home .review-product h1 em{font-weight:inherit!important}html body.immersive-home .review-art .sample-art-trigger{background:transparent!important;border:0!important;padding:0!important}

/* Keep public navigation available while preserving the game and page controls. */
@media screen {
  html { scroll-padding-top: 8rem; }
  html body .jf-global-header, html body .jf-sticky-menu {
    position: sticky;
    top: 0;
    z-index: 32;
  }
  html body .jf-sticky-menu {
    display: flex;
    align-items: flex-start;
    background: var(--jf-surface);
    border-bottom: 1px solid var(--jf-border);
  }
  html body .jf-sticky-menu .jf-site-navigation {
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
  }
  .jf-sticky-menu .jf-menu-home {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 0 1rem;
    color: var(--jf-text);
    font-weight: 700;
  }
  .jf-sticky-menu .jf-menu-home:focus-visible { outline: 2px solid var(--jf-accent); outline-offset: -2px; }
  html body .jf-site-navigation[open] nav { max-height: 43dvh; overflow-y: auto; }
  body.playing .jf-sticky-menu { position: relative; z-index: auto; }
}
@media print { .jf-sticky-menu { display: none !important; } }
