/* Shared navigation, matching the gear calculator. */
.masthead{height:76px;display:flex;align-items:center;justify-content:flex-start;gap:40px;padding:0 max(24px,calc((100vw - 1420px)/2));background:var(--color-paper);color:var(--color-ink);border-bottom:1px solid var(--color-rule);font-size:14px;line-height:1.5}
.masthead .brand{flex:none;font-family:var(--font-body);font-size:34px;font-weight:900;letter-spacing:-3px;line-height:1;text-decoration:none}
.masthead .site-tabs{display:flex;gap:28px;height:100%;align-items:stretch;min-width:0;margin:0;overflow-x:auto}
.masthead .site-tabs a{display:flex;align-items:center;flex:none;height:100%;padding:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--color-muted);text-decoration:none;white-space:nowrap;font-size:14px;line-height:1.5}
.masthead .site-tabs a[aria-current="page"]{color:var(--color-ink);border-bottom-color:var(--color-ink);font-weight:700}
.masthead .site-tabs a:hover{color:var(--color-ink)}
.masthead .language-control{display:flex;align-items:center;margin-left:auto;flex:none;min-width:0}
.masthead .language-control select{width:auto;max-width:170px;min-height:42px;padding:8px 10px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-surface);color:var(--color-ink);font-size:13px}
@media(max-width:650px){.masthead{height:auto;min-height:76px;flex-wrap:wrap;gap:0 20px;padding:14px 16px 0}.masthead .brand{font-size:30px}.masthead .language-control{order:1}.masthead .language-control select{max-width:170px}.masthead .site-tabs{order:2;flex-basis:100%;height:48px;gap:24px;margin-top:6px}.masthead .site-tabs a{font-size:13px}}


/* Bukichi Fans: light, angular shop theme. */
:root{
  --radius-small:0;
  --color-paper:#f8f9f4;
  --color-surface:#ffffff;
  --color-shelf:#eef1e6;
  --color-ink:#29362c;
  --color-muted:#59614f;
  --color-rule:#d0d6c6;
  --color-accent:#e4e947;
  --color-accent-ink:#29362c;
  --color-focus:#747e22;
  --color-highlight:#536524;
}
body{background-image:none}
.masthead{position:relative;gap:30px;background:#354435;color:#fffbdc;border-bottom:2px solid #dce347;box-shadow:none;height:76px}
.masthead .brand{display:flex;align-items:center;gap:9px;letter-spacing:-1px;font-size:22px;color:#f5f0ca;transform:none}
.masthead .brand img{width:48px;height:48px;object-fit:contain;filter:none}
.masthead .brand small{display:block;margin-top:5px;font:800 9px/1.1 var(--font-body);letter-spacing:2.4px;color:#dce347}
.masthead .site-tabs{gap:24px}
.masthead .site-tabs a{color:#e0e4ce;border-bottom-width:2px}
.masthead .site-tabs a[aria-current="page"]{color:#f0f469;border-bottom-color:#f0f469}
.masthead .site-tabs a:hover{color:#fff}
.masthead .language-control select{background:#29372c;color:#fffbdc;border-color:#83906c}
.masthead :focus-visible{outline-color:#f0f469}

body:has(#catalogue) .filters{padding:16px 0;background:transparent;border:0;border-block:1px solid var(--color-rule);box-shadow:none}
.weapon-card .card-art{border:0;border-bottom:1px solid var(--color-rule);background:var(--color-shelf)}
.weapon-card .card-art>img{filter:none}
.weapon-card .card-code{background:transparent;padding:2px 0;border:0;color:var(--color-muted)}
.weapon-card .card-name{background:transparent;margin-top:0;padding:10px 0 3px;border:0;font-weight:650}
.weapon-card .card-meta{margin-top:0;padding:3px 0 10px;background:transparent;border:0;border-bottom:1px solid var(--color-rule);box-shadow:none}
.weapon-card:hover .card-art{border-color:#75813b}
.weapon-card:hover .card-name{color:#52651f}
body:has(#catalogue) .dialog-toolbar{border-bottom:1px solid var(--color-rule)}
.selection-panel,.ap-panel,.question-card{border-color:var(--color-rule)}
@media(max-width:1000px){
  .masthead{height:auto;min-height:76px;flex-wrap:wrap;gap:0 20px;padding:12px 24px 0}
  .masthead .language-control{order:1}
  .masthead .site-tabs{order:2;flex-basis:100%;height:46px;margin-top:8px}
}
@media(max-width:650px){
  .masthead{padding:12px 16px 0}
  .masthead .brand{font-size:20px;gap:6px}
  .masthead .brand img{width:40px;height:40px}
  .masthead .brand small{font-size:8px;letter-spacing:2px}
  .masthead .language-control select{max-width:118px;font-size:12px;padding:8px 5px}
  .masthead .site-tabs{gap:22px}
  body:has(#catalogue) .filters{padding:12px 0}
}
@media(max-width:360px){.masthead{column-gap:8px}.masthead .brand{font-size:18px}.masthead .brand img{width:32px;height:32px}.masthead .language-control select{max-width:100px}}

/* Shared UI edges; map position markers and simulated shapes keep their geometry. */
body :is(button,input,select,dialog,.card-art,.card-kit,.kit-icon,.gear-row,.ap-panel,.result-card,.kit-badge,.mini-kit,.gear-slot,.slot-ap,.palette-icon,.drag-ghost,.palette-discard,.test-readout,.test-tank,.question-card,.option-body,.option img,.correct-kit img,.result,.best,.goal-picker span,.rotation-card,.rotation-map,.rotation-map img,.marker-settings,.bomb-charge,.viewer-exit,.weapon-marker img){border-radius:0}
body .toggle-label input::after{border-radius:0}
body :is(.marker-settings,.map-view .weapon-panel,.drag-ghost){box-shadow:none}
body :is(.question-card,.result,.ink-test-dialog,.test-tank){border-width:1px}
body :is(h1,h2,h3){font-weight:650;letter-spacing:-.025em}

/* Main tab titles share one responsive type style. */
body .intro h1{
  font-family:var(--font-body);
  font-size:clamp(28px,3.7vw,46px);
  font-style:normal;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em;
  color:var(--color-ink);
  margin:0 0 12px;
  overflow-wrap:anywhere;
  min-width:0;
}
body .intro .eyebrow{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.13em;
  color:var(--color-muted);
  margin:0 0 10px;
}

body .masthead .language-control select,body .marker-settings .marker-color-presets button{border-radius:0}

/* Same share action on every main page, and inside the full-screen map. */
.masthead .site-share{align-self:center;flex:none;display:grid;place-items:center;width:42px;height:42px;margin-left:0;padding:0;border:1px solid #83906c;background:#29372c;color:#fffbdc;cursor:pointer}
.site-share svg{display:block;pointer-events:none}
.site-share-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);padding:10px 16px;background:var(--color-ink);color:var(--color-paper);border:1px solid var(--color-rule);font-size:14px;text-align:center}
.site-share-status:empty{display:none}
.not-found{max-width:740px;margin:12vh auto;padding:24px}.not-found h1{font-size:clamp(26px,5vw,44px)}.not-found nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.not-found a{padding:12px 16px;border:1px solid var(--color-rule);background:var(--color-surface)}

.wooingbee-promo{padding:12px clamp(16px,4vw,64px) 0;max-width:1600px;margin-inline:auto}
.wooingbee-promo>a{display:flex;align-items:center;justify-content:center;gap:18px;min-height:72px;padding:12px 24px;border:1px solid #c9c098;background:#fff2b8;color:#302746;text-decoration:none;box-shadow:3px 3px 0 #e1d9bc}
.wooingbee-promo-logo{display:block;flex:none;width:52px;height:52px;object-fit:contain}
.wooingbee-promo-contact{margin:0;text-align:right;font-size:11px;line-height:1.5;color:var(--color-muted);font-weight:400}
.wooingbee-promo-copy{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 12px;font-size:16px;font-weight:650;line-height:1.5;word-break:keep-all}
.wooingbee-promo-copy strong{color:#614091;font-size:23px;font-weight:850;white-space:nowrap}
.wooingbee-promo-copy small{font-size:12px;color:#645875;font-weight:500;white-space:nowrap}
.wooingbee-promo-arrow{flex:none;font-size:26px;color:#614091}
.wooingbee-promo>a:hover{background:#ffe997;border-color:#80649e}
.wooingbee-promo>a:focus-visible{outline:3px solid #614091;outline-offset:4px}
body:has(#stage-detail:not([hidden])) .wooingbee-promo{display:none}
@media(max-width:650px){.wooingbee-promo>a{gap:14px;padding:12px 14px}.wooingbee-promo-copy{flex:1;display:block;font-size:13px}.wooingbee-promo-copy strong{font-size:20px}.wooingbee-promo-copy small{display:block;margin-top:1px;font-size:11px}.wooingbee-promo-arrow{font-size:22px}}

@media(max-width:1000px){.masthead .site-tabs{flex-basis:calc(100% - 62px);flex-grow:1}.masthead .site-share{order:3;margin-top:8px}}

.wooingbee-promo[hidden],.wooingbee-promo [hidden]{display:none!important}
.wooingbee-promo-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;min-height:28px}
.wooingbee-promo-contact{margin-left:auto}
.wooingbee-promo-controls{display:flex;align-items:center;gap:7px}
.wooingbee-promo-controls button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);font-size:20px;cursor:pointer}
.wooingbee-promo-controls .wooingbee-promo-pause{font-size:12px}
.wooingbee-promo-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-muted)}
.wooingbee-promo-label{flex:none;border:1px solid currentColor;padding:5px;font-size:13px;font-weight:700}
.wooingbee-promo-copy{min-width:0;overflow-wrap:anywhere}

/* Keep the carousel footprint stable across different text and icon contents. */
.wooingbee-promo>a{height:96px;min-height:96px;box-sizing:border-box}
.wooingbee-promo-label{display:grid;place-items:center;width:52px;height:52px;box-sizing:border-box}
.wooingbee-promo-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:72px}
.wooingbee-promo-footer{height:28px;min-height:28px}
.wooingbee-promo-controls button{min-height:28px;box-sizing:border-box}

.wooingbee-promo-copy{white-space:pre-wrap}
.wooingbee-promo-copy strong{font-size:inherit;color:inherit;font-weight:850;white-space:inherit}
.wooingbee-promo-copy small{display:inline;margin:0;font-size:.75em;white-space:inherit}
