
.bk2 {
  --bg:#F4EEE4; --nav:#FBF7F0; --surface:#FFFDF9; --tile:#F8F2E8;
  --sand:#F1E4CF; --sand-inner:#FBF4E8; --track-sand:#E2CFB0;
  --divider:#EFE6D8; --border:#E4D9C8; --border-strong:#CDBBA2;
  --ink:#2A2118; --ink-2:#3B2A1A; --muted:#6B5D4F; --muted-2:#5E5043; --muted-on-sand:#6B5537;
  --brand:#8B6C4A; --on-brand:#FFFDF9; --accent:#A87B4F;
  --link:#6E5236; --link-hover:#3B2A1A;
  --ok-bg:#E3EADF; --ok:#3E5538; --ok-dot:#6E8F66;
  --warn-bg:#F6E3CF; --warn:#7A4520; --alert-text:#5A3518;
  --badge:#B5532A; --on-badge:#FFFFFF;
  --seg:#EAE0D0; --tip:#F8EDDD; --tip-line:#E2CFB0; --img-bg:#F6EFE4; --chip-ink:#5A4430; --roof:#C9AE88;
  --font-serif:'Noto Serif Thai', Georgia, serif;
  --font-sans:'IBM Plex Sans Thai', 'Noto Sans Thai', system-ui, sans-serif;
  --r-hero:28px; --r-card:22px; --r-tile:16px; --r-btn:12px; --r-pill:999px;
  --shadow-pop:0 24px 60px rgba(60,40,20,.18);
  --shadow-hover:0 10px 24px rgba(90,68,48,.10);
  --shadow-tab:0 1px 3px rgba(90,68,48,.14);
  --pad-x:40px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
html[data-theme="dark"] .bk2 {
  --bg:#17120D; --nav:#1E1812; --surface:#241C15; --tile:#2A2119;
  --sand:#2E2318; --sand-inner:#3A2C1F; --track-sand:#4A3826;
  --divider:#2E251C; --border:#3A2E23; --border-strong:#5A4838;
  --ink:#F3EADF; --ink-2:#F3EADF; --muted:#BFAE97; --muted-2:#CDBDA6; --muted-on-sand:#D9C7AE;
  --brand:#C9A27A; --on-brand:#241C15; --accent:#E8C99A;
  --link:#E8C99A; --link-hover:#FFFFFF;
  --ok-bg:#1F2A1D; --ok:#A9C29F; --ok-dot:#8FB287;
  --warn-bg:#3A2616; --warn:#F0C9A0; --alert-text:#F6DCC0;
  --badge:#E08A5E; --on-badge:#17120D;
  --seg:#2E251C; --tip:#3A2C1F; --tip-line:#3A2E23; --img-bg:#2A2119; --chip-ink:#E8D8C2; --roof:#5A4838;
  --shadow-pop:0 24px 60px rgba(0,0,0,.45);
  --shadow-hover:0 10px 24px rgba(0,0,0,.35);
  --shadow-tab:0 1px 3px rgba(0,0,0,.4);
}
@media (max-width: 767px) { .bk2 { --pad-x:16px; } }
body:has(> .bk2-nav) { margin:0; }
:root { --bk-top-offset: 88px; }
@media (max-width: 767px) { :root { --bk-top-offset: 66px; } }
.bk2 a { color: var(--link); }
.bk2 a:hover { color: var(--link-hover); }
.bk2 .bk2-i { flex: 0 0 auto; display: block; }
.bk2 :where(button) { font: inherit; color: inherit; }
.bk2 :where(a, button, input, summary):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.bk2-serif { font-family: var(--font-serif) !important; font-weight: 600; }
.bk2-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bk2 [hidden], .bk2[hidden], .bk2-scrim[hidden] { display: none !important; }
.bk2 .bk2-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding:0 20px; border-radius:var(--r-btn); border:1px solid transparent;
  background:var(--brand); color:var(--on-brand); font-size:15px; font-weight:600;
  text-decoration:none; cursor:pointer; white-space:nowrap; box-sizing:border-box;
}
.bk2 .bk2-btn:hover { color:var(--on-brand); filter:brightness(1.05); }
.bk2 .bk2-btn--ghost { background:transparent; color:var(--ink); border-color:var(--border-strong); font-weight:500; }
.bk2 .bk2-btn--ghost:hover { color:var(--ink); background:var(--tile); filter:none; }
.bk2 .bk2-ibtn {
  width:44px; height:44px; border-radius:var(--r-btn); border:1px solid var(--border);
  background:var(--surface); color:var(--ink-2); display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; position:relative; padding:0; flex:0 0 auto;
}
.bk2 .bk2-ibtn:hover { background:var(--tile); }
.bk2 .bk2-chip {
  display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; line-height:1.4;
  padding:3px 10px; border-radius:var(--r-pill); background:var(--divider); color:var(--chip-ink); white-space:nowrap;
}
.bk2 .bk2-chip--ok { background:var(--ok-bg); color:var(--ok); }
.bk2 .bk2-chip--warn { background:var(--warn-bg); color:var(--warn); }
.bk2 .bk2-chip--sand { background:var(--sand-inner); color:var(--muted-on-sand); }
.bk2 .bk2-badge {
  position:absolute; top:-5px; right:-5px; min-width:20px; height:20px; padding:0 6px; box-sizing:border-box;
  border-radius:var(--r-pill); background:var(--badge); color:var(--on-badge); font-size:12px; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.bk2 .bk2-badge--in { position:static; }
.bk2 .bk2-bar { height:10px; border-radius:var(--r-pill); background:var(--divider); overflow:hidden; }
.bk2 .bk2-bar > i { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.bk2 .bk2-bar.is-sand { background:var(--track-sand); }
.bk2 .bk2-bar.is-warn > i { background:var(--warn); }
.bk2 .bk2-seg { display:inline-flex; gap:2px; padding:4px; border-radius:var(--r-btn); background:var(--seg); }
.bk2 .bk2-seg button { min-height:38px; padding:0 14px; border-radius:9px; border:0; background:transparent; color:var(--muted-2); cursor:pointer; font-size:14px; }
.bk2 .bk2-seg button[aria-pressed="true"] { background:var(--surface); color:var(--ink); font-weight:600; box-shadow:var(--shadow-tab); }
.bk2 .bk2-spark { display:block; overflow:visible; }
.bk2 .bk2-spark polyline { fill:none; stroke:var(--accent); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.bk2 .bk2-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-card); }
.bk2 .bk2-card, .bk2 .bk2-lift { transition:transform .18s ease, box-shadow .18s ease; }
.bk2 .bk2-card:hover, .bk2 .bk2-lift:hover { transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.bk2 .bk2-sk { background:linear-gradient(90deg, var(--tile) 0%, var(--divider) 50%, var(--tile) 100%); background-size:200% 100%;
  animation:bk2-sk 1.6s ease-in-out infinite; border-radius:8px; }
@keyframes bk2-sk { 0%{background-position:100% 0} 100%{background-position:-100% 0} }
.bk2 .bk2-roof { position:absolute; right:28px; top:22px; opacity:.55; pointer-events:none; color:var(--roof); }
html[data-theme="dark"] .bk2 .bk2-roof { opacity:.6; }
@media (max-width: 767px) { .bk2 .bk2-roof { display:none; } }
@media (prefers-reduced-motion: reduce) {
  .bk2 .bk2-card, .bk2 .bk2-lift, .bk2 * { transition:none !important; animation:none !important; }
  .bk2 .bk2-card:hover, .bk2 .bk2-lift:hover { transform:none; }
}
.bk2-nav {
  position:sticky; top:0; z-index:50; background:var(--nav); border-bottom:1px solid var(--border);
  font-family:var(--font-sans);
}
.bk2-nav.is-up { z-index:1100; }
.bk2-nav-in { height:80px; padding:0 var(--pad-x); display:flex; align-items:center; gap:28px; box-sizing:border-box; }
.bk2-logo { display:flex; flex-direction:column; justify-content:center; text-decoration:none; flex:0 0 auto; line-height:1.15; min-height:44px; }
.bk2 .bk2-logo .bk2-logo-t { font-size:21px !important; font-weight:700 !important; letter-spacing:.04em; color:var(--ink-2) !important; }
.bk2-logo-s { font-size:11px; color:var(--muted); margin-top:2px; }
.bk2-tabs { display:flex; align-items:center; gap:2px; padding:5px; border-radius:16px; background:var(--divider); min-width:0; }
.bk2 .bk2-tab {
  display:inline-flex; align-items:center; gap:7px; height:42px; padding:0 16px; border-radius:12px;
  font-size:15px; color:var(--muted-2); text-decoration:none; border:0; background:transparent; cursor:pointer; white-space:nowrap;
}
.bk2 .bk2-tab:hover { color:var(--ink); }
.bk2 .bk2-tab.is-on, .bk2 .bk2-tab[aria-expanded="true"] { background:var(--surface); color:var(--ink); font-weight:600; box-shadow:var(--shadow-tab); }
.bk2 .bk2-tab--tools .bk2-i:last-child { margin-left:-2px; opacity:.7; transition:transform .18s ease; }
.bk2 .bk2-tab--tools[aria-expanded="true"] .bk2-i:last-child { transform:rotate(180deg); }
.bk2-acts { margin-left:auto; display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.bk2 .bk2-search {
  height:44px; display:inline-flex; align-items:center; gap:8px; padding:0 8px 0 14px; border-radius:var(--r-btn);
  border:1px solid var(--border); background:var(--surface); color:var(--muted); cursor:pointer; font-size:14px;
}
.bk2 .bk2-search:hover { color:var(--ink); }
.bk2-kbd { font:600 11px/1 var(--font-sans); padding:5px 7px; border-radius:7px; background:var(--tile); border:1px solid var(--border); color:var(--muted); }
.bk2-bell { display:inline-flex; }
.bk2 .bk2-acct {
  position:relative; height:48px; display:inline-flex; align-items:center; gap:9px; padding:0 10px 0 6px;
  border-radius:14px; border:1px solid var(--border); background:var(--surface); cursor:pointer; color:var(--ink); max-width:230px;
}
.bk2 .bk2-acct:hover, .bk2 .bk2-acct[aria-expanded="true"] { background:var(--tile); }
.bk2-acct-n { font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bk2 .bk2-av {
  width:36px; height:36px; border-radius:50%; background:var(--brand); color:var(--on-brand); flex:0 0 auto;
  display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:15px;
}
.bk2 .bk2-av--lg { width:44px; height:44px; font-size:18px; }
.bk2 .bk2-dot-n { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; border-radius:999px; background:var(--badge); color:var(--on-badge);
  font-size:11px; font-weight:700; align-items:center; justify-content:center; padding:0 5px; box-sizing:border-box; }
.bk2 .bk2-cart .bk2-dot-n[style*="inline"], .bk2 .bk2-cart .bk2-dot-n[style*="flex"], .bk2 .bk2-cart .bk2-dot-n[style*="block"] { display:inline-flex !important; }
.bk2-mk-menu { display:none !important; }
.bk2-drawer { position:absolute; left:0; right:0; top:100%; height:0; pointer-events:none; }
.bk2-drawer > * { pointer-events:auto; }
.bk2-drawer-bar { display:none; }
.bk2 .bk2-pop { background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-pop); color:var(--ink); }
.bk2-tools { margin:10px var(--pad-x) 0; border-radius:22px; padding:18px 22px 14px; max-height:calc(100vh - 110px); overflow:auto; box-sizing:border-box; }
.bk2-tools-s { display:flex; align-items:center; gap:10px; height:48px; padding:0 16px; border-radius:14px; background:var(--tile); color:var(--muted); }
.bk2-tools-s input { flex:1; min-width:0; height:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:15px; }
.bk2 .bk2-tools-s input:focus-visible { outline:none; }
.bk2-tools-s:focus-within { box-shadow:0 0 0 2px var(--brand); }
.bk2-tools-g { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:10px 18px; margin-top:16px; }
.bk2-col-h { margin:0 0 6px; font-size:12px; font-weight:600; }
.bk2 .bk2-col-b { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; background:none; padding:4px 10px;
  font-size:12px; font-weight:600; color:var(--link); cursor:default; text-align:left; }
.bk2 .bk2-col-b .bk2-i { display:none; }
.bk2-col-l { list-style:none; margin:0; padding:0; }
.bk2 .bk2-tl { display:block; padding:8px 10px; border-radius:10px; font-size:14px; line-height:1.45; color:var(--ink); text-decoration:none; }
.bk2 .bk2-tl:hover, .bk2 .bk2-tl:focus-visible { background:var(--tile); color:var(--ink); }
.bk2 .bk2-col--admin .bk2-tl { color:var(--warn); }
.bk2-tools-none { margin:14px 10px 4px; color:var(--muted); font-size:14px; }
.bk2-tools-res { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:2px; }
.bk2 .bk2-tr { display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:12px; color:var(--ink); text-decoration:none; min-height:44px; box-sizing:border-box; justify-content:center; }
.bk2 .bk2-tr:hover, .bk2 .bk2-tr:focus-visible, .bk2 .bk2-tr.is-first { background:var(--tile); color:var(--ink); }
.bk2-tr-t { font-size:15px; font-weight:600; line-height:1.4; }
.bk2-tr-d { font-size:13px; line-height:1.45; color:var(--muted); }
.bk2-tools.has-res .bk2-tools-g { display:none; }
.bk2-tools-f { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; margin-top:12px; padding:12px 10px 2px; border-top:1px solid var(--divider); font-size:13px; color:var(--muted); }
.bk2-tools-fl a { font-weight:600; }
.bk2-acctm { position:absolute; right:var(--pad-x); top:10px; width:360px; border-radius:20px; padding:16px; box-sizing:border-box; max-height:calc(100vh - 110px); overflow:auto; }
.bk2-acct-h { display:flex; gap:12px; align-items:center; padding:2px 4px 12px; }
.bk2-acct-id { min-width:0; }
.bk2-acct-nm { font-size:15px; font-weight:600; }
.bk2 .bk2-acct-set { font-size:14px; font-weight:600; }
.bk2-acct-em { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.bk2-acct-plan:not(:empty)::before { content:" · "; }
.bk2-shop { background:var(--sand); border-radius:14px; padding:12px; margin-bottom:6px; }
.bk2-shop-h { display:flex; justify-content:space-between; gap:8px; font-size:12px; font-weight:600; color:var(--muted-on-sand); margin-bottom:8px; }
.bk2-shop-nm { font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bk2 .bk2-shop-main { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:46px; padding:0 12px; border-radius:12px;
  background:var(--surface); color:var(--ink); text-decoration:none; font-weight:600; font-size:15px; }
.bk2-shop-main > span:first-child { display:inline-flex; align-items:center; gap:8px; }
.bk2-shop-new { font-size:13px; font-weight:500; color:var(--muted); display:inline-flex; align-items:center; gap:6px; }
.bk2-shop-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:6px; }
.bk2 .bk2-shop-cell { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:6px; padding:0 10px; border-radius:10px;
  background:var(--sand-inner); color:var(--ink); font-size:13px; text-decoration:none; }
.bk2 .bk2-shop-cell:hover { color:var(--ink); background:var(--surface); }
.bk2 .bk2-hr { border:0; border-top:1px solid var(--divider); margin:8px 0; }
.bk2 .bk2-mi { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 10px; border-radius:10px; color:var(--ink); text-decoration:none; font-size:14px; }
.bk2 .bk2-mi:hover { background:var(--tile); color:var(--ink); }
.bk2 .bk2-mi--out { color:var(--muted-2); }
.bk2-sw-row { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:0 10px; font-size:14px; }
.bk2 .bk2-sw { position:relative; display:inline-flex; align-items:center; gap:6px; min-width:52px; height:30px; padding:0 4px; border-radius:999px;
  border:1px solid var(--border-strong); background:var(--tile); cursor:pointer; font-size:11px; font-weight:700; color:var(--muted); }
.bk2 .bk2-sw-k { width:22px; height:22px; border-radius:50%; background:var(--surface); box-shadow:var(--shadow-tab); border:1px solid var(--border); transition:transform .18s ease; }
.bk2 .bk2-sw[data-bk2-lang-switch] { min-width:86px; justify-content:space-between; padding:0 8px; }
.bk2 .bk2-sw[data-bk2-lang-switch] .bk2-sw-k { position:absolute; left:3px; top:3px; width:38px; border-radius:999px; }
.bk2 .bk2-sw[data-bk2-lang-switch] .bk2-sw-t { position:relative; z-index:1; width:30px; text-align:center; }
.bk2 .bk2-sw[aria-checked="true"] { background:var(--brand); border-color:var(--brand); }
.bk2 .bk2-sw[aria-checked="true"] .bk2-sw-k { transform:translateX(20px); }
.bk2 .bk2-sw[data-bk2-lang-switch][aria-checked="true"] { background:var(--tile); border-color:var(--border-strong); }
.bk2 .bk2-sw[data-bk2-lang-switch][aria-checked="true"] .bk2-sw-k { transform:translateX(42px); }
.bk2-anon-p { margin:4px 6px 10px; font-size:14px; color:var(--muted); }
.bk2-anon-b { display:flex; gap:8px; padding:0 4px 4px; }
.bk2-scrim { position:fixed; inset:0; z-index:990; background:rgba(30,20,10,.18); }
html[data-theme="dark"] .bk2-scrim { background:rgba(0,0,0,.45); }
.bk2-nav:not(.bk2-fitted) .bk2-nav-in { visibility:hidden; animation:bk2-nav-show 0s linear 2s forwards; }
@keyframes bk2-nav-show { to { visibility:visible; } }
@media (prefers-reduced-motion: reduce) {
  .bk2-nav:not(.bk2-fitted) .bk2-nav-in { animation:bk2-nav-show 0s linear 2s forwards !important; }
}
.bk2-nav.bk2-fit1 .bk2-nav-in { gap:16px; }
.bk2-nav.bk2-fit1 .bk2-search-l { display:none; }
.bk2-nav.bk2-fit2 .bk2-tab-l { display:none; }
.bk2-nav.bk2-fit2 .bk2-tab { padding:0 12px; }
.bk2-nav.bk2-fit3 .bk2-kbd { display:none; }
.bk2-nav.bk2-fit3 .bk2-search { width:44px; padding:0; justify-content:center; }
.bk2-nav.bk2-fit4 .bk2-nav-in { gap:10px; }
.bk2-nav.bk2-fit4 .bk2-logo .bk2-logo-t { font-size:17px !important; }
.bk2-nav.bk2-fit4 .bk2-logo-s { display:none; }
.bk2-nav.bk2-fit4 .bk2-acts { gap:6px; }
.bk2-nav.bk2-fit4 .bk2-tabs { gap:0; padding:4px; }
.bk2-nav.bk2-fit5 .bk2-acct-n, .bk2-nav.bk2-fit5 .bk2-reg { display:none; }
@media (max-width: 1199px) {
  .bk2-nav-in { gap:16px; }
  .bk2 .bk2-tab { padding:0 12px; }
  .bk2 .bk2-tab-l, .bk2 .bk2-search-l { display:none; }
  .bk2-tools-g { grid-auto-flow:row; grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .bk2-nav-in { height:60px; gap:8px; }
  .bk2 .bk2-logo .bk2-logo-t { font-size:17px !important; }
  .bk2-logo-s { display:none; }
  .bk2-tabs, .bk2 .bk2-acct, .bk2-login, .bk2-reg, .bk2 .bk2-kbd { display:none !important; }
  .bk2 .bk2-search { width:44px; padding:0; justify-content:center; }
  .bk2 .bk2-mk-menu { display:inline-flex !important; }
  .bk2-acts { gap:6px; }
  .bk2-drawer { position:fixed; inset:0; height:auto; z-index:1150; background:var(--bg); overflow:auto; display:none;
    padding:0 0 calc(24px + env(safe-area-inset-bottom)); -webkit-overflow-scrolling:touch; }
  .bk2-drawer.is-open { display:block; }
  .bk2-drawer-bar { display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:2; height:60px; padding:0 16px;
    background:var(--nav); border-bottom:1px solid var(--border); }
  .bk2-drawer-h { font-weight:600; font-size:16px; }
  .bk2-drawer.is-open .bk2-pop { position:static; display:block !important; width:auto; max-height:none; margin:12px 16px 0; box-shadow:none; border-radius:18px; }
  .bk2-tools-g { grid-template-columns:1fr; gap:0; margin-top:10px; }
  .bk2 .bk2-col-b { cursor:pointer; min-height:44px; font-size:14px; padding:0 10px; }
  .bk2 .bk2-col-b .bk2-i { display:block; transition:transform .18s ease; }
  .bk2 .bk2-col-b[aria-expanded="true"] .bk2-i { transform:rotate(180deg); }
  .bk2-col { border-bottom:1px solid var(--divider); }
  .bk2-col:not(.is-open) .bk2-col-l { display:none; }
  .bk2-tools.is-searching .bk2-col-l { display:block; }
  .bk2 .bk2-tl { min-height:44px; display:flex; align-items:center; box-sizing:border-box; }
  .bk2-acctm { right:auto; }
}
.bk2-bbar { display:none; }
.bk2-sheet { display:none; }
@media (max-width: 767px) {
  .bk2-bbar {
    display:grid; grid-template-columns:repeat(5, 1fr); align-items:center; position:fixed; z-index:50; 
    left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); height:70px; padding:0 4px; box-sizing:border-box;
    background:var(--surface); border:1px solid var(--border); border-radius:22px; box-shadow:0 8px 24px rgba(90,68,48,.12);
    font-family:var(--font-sans);
  }
  html[data-theme="dark"] .bk2-bbar { box-shadow:0 8px 24px rgba(0,0,0,.45); }
  html.bk-cookie-open .bk2-bbar { bottom:calc(var(--bk-cookie-h, 0px) + 12px); }
  .bk2 .bk2-bb { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:56px; border:0; background:none;
    color:var(--muted); font-size:11px; text-decoration:none; cursor:pointer; padding:0; }
  .bk2 .bk2-bb.is-on, .bk2 .bk2-bb[aria-expanded="true"] { color:var(--link); font-weight:600; }
  .bk2 .bk2-bb-plus { justify-self:center; width:52px; height:52px; border-radius:16px; border:0; background:var(--brand); color:var(--on-brand);
    display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
  .bk2-sheet:not([hidden]) { display:block; position:fixed; inset:0; z-index:1200; background:rgba(30,20,10,.32); }
  html[data-theme="dark"] .bk2-sheet:not([hidden]) { background:rgba(0,0,0,.55); }
  .bk2-sheet-in { position:absolute; left:0; right:0; bottom:0; background:var(--surface); border-radius:22px 22px 0 0; border-top:1px solid var(--border);
    padding:8px 16px calc(20px + env(safe-area-inset-bottom)); box-shadow:var(--shadow-pop); }
  .bk2-sheet-bar { display:flex; align-items:center; justify-content:space-between; min-height:52px; }
  .bk2-sheet-bar h2 { margin:0; font-size:17px; font-weight:600; }
  .bk2 .bk2-sheet-o { display:flex; align-items:center; gap:14px; min-height:64px; padding:10px 12px; margin-top:8px; border-radius:16px;
    background:var(--tile); color:var(--ink); text-decoration:none; }
  .bk2 .bk2-sheet-o:hover { color:var(--ink); }
  .bk2-sheet-o > .bk2-i { color:var(--link); }
  .bk2-sheet-o b { display:block; font-size:15px; font-weight:600; }
  .bk2-sheet-o small { display:block; font-size:13px; color:var(--muted); }
  .bk2-bbar-spacer { height:env(safe-area-inset-bottom); }
  body.bk2-has-bbar .bk-guide-btn, body.bk2-has-bbar #bk-guide-btn { bottom:calc(96px + env(safe-area-inset-bottom)) !important; }
  body.bk2-has-bbar #bnav, body.bk2-has-bbar nav.bottom-nav { display:none !important; }
}
body.bk2-no-bbar .bk2-bbar, body.bk2-no-bbar .bk2-bbar-spacer { display:none !important; }
html.bk2-drawer-open .bk2-bbar { display:none !important; }
@media print { .bk2-nav, .bk2-bbar, .bk2-sheet, .bk2-scrim, .bk2-bbar-spacer { display:none !important; } }
@media (max-width: 767px) { body.bk2-has-bbar #bk-guide-btn { display:none !important; } }
.bk2 .bk2-guide-mi { width:100%; border:0; background:transparent; cursor:pointer; font:inherit; text-align:left; margin:4px 0; }
.bk2 .bk2-guide-mi[hidden] { display:none; }
.bk2 .bk2-start { padding:18px 20px; margin-bottom:20px; }
.bk2 .bk2-start:hover { transform:none; box-shadow:none; }
.bk2-start-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bk2-start-h { margin:0; font-size:17px; font-weight:700; color:var(--ink); }
.bk2-start-prog { font-size:13px; font-weight:600; color:var(--muted); margin-left:6px; }
.bk2 .bk2-start-x { border:0; background:transparent; color:var(--muted); font:inherit; font-size:14px; cursor:pointer;
  min-height:44px; min-width:44px; padding:0 8px; border-radius:10px; }
.bk2 .bk2-start-x:hover { background:var(--tile); color:var(--ink); }
.bk2-start-who { margin:2px 0 12px; font-size:14px; color:var(--muted); }
.bk2-start-items { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px; }
.bk2 .bk2-start-it { display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border:1px solid var(--border);
  border-radius:14px; background:var(--surface); color:var(--ink); text-decoration:none; min-height:44px; }
.bk2 .bk2-start-it:hover { background:var(--tile); }
.bk2 .bk2-start-it.is-done { background:var(--ok-bg); border-color:transparent; }
.bk2-start-n { flex:0 0 auto; width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; border:1.5px solid var(--border); color:var(--muted); }
.bk2 .is-done .bk2-start-n { background:var(--ok); border-color:var(--ok); color:var(--surface); }
.bk2-start-t { display:block; font-size:15px; font-weight:600; }
.bk2 .is-done .bk2-start-t { text-decoration:line-through; color:var(--ok); }
.bk2-start-d { display:block; font-size:13px; color:var(--muted); line-height:1.5; margin-top:2px; }
body.bk2-page { background:var(--bg) !important; color:var(--ink); margin:0; }
.bk2-proj { max-width:1440px; margin:0 auto; padding:32px var(--pad-x) 48px; box-sizing:border-box; font-family:var(--font-sans); line-height:1.6; }
.bk2-ph { display:flex; justify-content:space-between; align-items:flex-end; gap:20px 28px; flex-wrap:wrap; margin-bottom:24px; }
.bk2-ph-l { min-width:0; flex:1 1 420px; }
.bk2-ph-date { margin:0; font-size:14px; color:var(--muted); }
.bk2 .bk2-ph-h { margin:4px 0 0; font-size:38px; line-height:1.25; color:var(--ink); }
.bk2-ph-name { margin:4px 0 0; font-size:14px; }
.bk2-ph-r { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.bk2 .bk2-btn--sm { min-height:40px; padding:0 14px; font-size:14px; }
.bk2-wx { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; margin-top:12px; padding:10px 16px; border-radius:14px;
  background:var(--surface); border:1px solid var(--tip-line); font-size:14px; color:var(--ink); max-width:760px; box-sizing:border-box; }
.bk2-wx--proj { background:var(--tip); }
.bk2-wx > .bk2-i { color:var(--link); }
.bk2-wx-t { flex:1 1 260px; min-width:0; }
.bk2-wx-t small { display:block; font-size:12px; color:var(--muted); }
.bk2 .bk2-wx-b { border:0; background:none; color:var(--link); font-size:13px; font-weight:600; cursor:pointer; min-height:36px; padding:0 4px; text-decoration:underline; text-underline-offset:3px; }
.bk2-wx-f { display:flex; gap:8px; flex:1 1 100%; }
.bk2-wx-f input { flex:1; min-width:0; height:40px; border-radius:10px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); padding:0 12px; font-size:14px; }
.bk2-bento { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:20px; grid-auto-flow:row dense; }
.bk2-c { min-width:0; box-sizing:border-box; }
.bk2-c1 { grid-column:span 8; } .bk2-c2 { grid-column:span 4; grid-row:span 2; }
.bk2-c3 { grid-column:span 8; } .bk2-c4 { grid-column:span 8; } .bk2-c5 { grid-column:span 4; }
.bk2-c6 { grid-column:span 6; } .bk2-c7 { grid-column:span 6; }
.bk2-bento.is-empty .bk2-c5 { grid-column:span 8; }
.bk2 .bk2-card.bk2-c, .bk2-c5 { padding:22px 24px; }
.bk2-sandcard { position:relative; overflow:hidden; background:var(--sand); border-radius:24px; padding:30px; }
.bk2-sandcard.bk2-c1 { display:flex; flex-direction:column; }
.bk2-c1-in { position:relative; flex:1; display:flex; flex-direction:column; }
.bk2-c1-in .bk2-c1-act { margin-top:auto; padding-top:18px; }
.bk2-c1-tags { display:flex; gap:8px; flex-wrap:wrap; }
.bk2 .bk2-c1-name { margin:12px 0 4px; font-size:30px; line-height:1.3; color:var(--ink); max-width:640px; }
.bk2-c1-sub { margin:0 0 14px; color:var(--muted-on-sand); font-size:15px; max-width:640px; }
.bk2-c1-pct { margin:8px 0 0; font-size:14px; color:var(--muted-on-sand); }
.bk2-c1-act { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.bk2-sandcard .bk2-btn--ghost { background:var(--sand-inner); }
.bk2-c-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.bk2 .bk2-c-h { margin:0; font-size:17px; font-weight:600; color:var(--ink); font-family:var(--font-sans) !important; }
.bk2 .bk2-more { font-size:14px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:6px; min-height:44px; }
.bk2-cal-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bk2 .bk2-cal-h { margin:0; font-size:17px; font-weight:600; font-family:var(--font-sans) !important; }
.bk2-cal-nav { display:flex; gap:6px; }
.bk2-cal-nav .bk2-ibtn { width:36px; height:36px; }
@media (max-width: 767px) { .bk2-cal-nav .bk2-ibtn { width:44px; height:44px; } }
@media (max-width: 767px) {
  .bk2 .bk2-seg button, .bk2 .bk2-wx-b { min-height:44px; }
}
.bk2-cal-t { width:100%; border-collapse:collapse; margin-top:10px; table-layout:fixed; text-align:center; font-size:13px; }
.bk2 .bk2-cal-t { display:table; overflow:visible; }
.bk2-cal-t th { font-weight:500; color:var(--muted); padding:4px 0; font-size:12px; }
.bk2-cal-t td { padding:3px 0; height:40px; vertical-align:top; }
.bk2-cal-n { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; }
.bk2-cal-t td.is-today .bk2-cal-n { background:var(--brand); color:var(--on-brand); font-weight:700; }
.bk2-cal-dots { display:flex; justify-content:center; gap:3px; height:6px; }
.bk2-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--accent); flex:0 0 auto; }
.bk2-dot--po { background:var(--ok-dot); }
.bk2-dot--rfq { background:var(--muted); }
.bk2-cal-key { display:flex; flex-wrap:wrap; gap:4px 14px; list-style:none; margin:8px 0 0; padding:0; font-size:12px; color:var(--muted); }
.bk2-cal-key li { display:inline-flex; align-items:center; gap:6px; }
.bk2-cal-empty { margin:10px 0 0; font-size:14px; color:var(--muted); }
.bk2-up-h { margin:18px 0 6px; font-size:14px; font-weight:600; color:var(--ink); }
.bk2-up { list-style:none; margin:0; padding:0; }
.bk2 .bk2-up a { display:flex; align-items:center; gap:10px; min-height:52px; padding:6px 4px; border-top:1px solid var(--divider); color:var(--ink); text-decoration:none; }
.bk2-up-d { flex:0 0 58px; font-size:13px; font-weight:600; color:var(--link); }
.bk2-up-t { flex:1; min-width:0; font-size:14px; line-height:1.4; overflow:hidden; }
.bk2-up-t small { display:block; font-size:12px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bk2-up-none { font-size:14px; color:var(--muted); padding:8px 4px; }
.bk2-cal-t td { position:relative; }
.bk2 .bk2-cal-d { display:flex; flex-direction:column; align-items:center; width:100%; min-height:40px; padding:0; border:0; border-radius:10px;
  background:none; color:inherit; cursor:pointer; }
.bk2 .bk2-cal-d:hover { background:var(--tile); }
@media (max-width: 767px) { .bk2 .bk2-cal-d { min-height:44px; } }
.bk2-dot--note { background:var(--link); }
.bk2-dot--imp { width:7px; height:7px; margin-top:-1px; background:var(--badge); }
.bk2-cal-t td.has-imp .bk2-cal-n { box-shadow:inset 0 0 0 2px var(--badge); }
.bk2-cal-span { display:block; align-self:stretch; height:4px; margin-top:2px; background:var(--track-sand); }
.bk2-cal-span.is-imp { background:var(--badge); }
.bk2-cal-span.is-s { margin-left:6px; border-radius:4px 0 0 4px; }
.bk2-cal-span.is-e { margin-right:6px; border-radius:0 4px 4px 0; }
.bk2-cal-span.is-s.is-e { border-radius:4px; }
.bk2-cal-hint { margin:8px 0 0; font-size:12px; color:var(--muted); }
.bk2 .bk2-up-b { display:flex; align-items:center; gap:10px; width:100%; min-height:52px; padding:6px 4px; border:0; border-top:1px solid var(--divider);
  background:none; color:var(--ink); text-align:left; cursor:pointer; }
.bk2 .bk2-up-b:hover { background:var(--tile); }
.bk2 .bk2-chip--imp { background:var(--warn-bg); color:var(--warn); }
.bk2-day { width:min(560px, 92vw); max-height:86vh; overflow:auto; box-sizing:border-box; padding:18px 20px 20px; border:1px solid var(--border);
  border-radius:var(--r-card); background:var(--surface); color:var(--ink); box-shadow:var(--shadow-pop); font-family:var(--font-sans); }
.bk2-day::backdrop { background:rgba(30,20,10,.32); }
html[data-theme="dark"] .bk2-day::backdrop { background:rgba(0,0,0,.55); }
@media (max-width: 767px) {
  .bk2-day { width:100%; max-width:none; margin:auto 0 0; max-height:90vh; border-radius:22px 22px 0 0; padding:12px 16px calc(20px + env(safe-area-inset-bottom)); }
}
.bk2-day-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.bk2 .bk2-day-h { margin:0; font-size:17px; font-weight:600; font-family:var(--font-sans) !important; }
.bk2-day-list { list-style:none; margin:10px 0 0; padding:0; }
.bk2-day-list li { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--divider); font-size:14px; }
.bk2-day-list li:first-child { border-top:0; }
.bk2-day-it { flex:1; min-width:0; overflow-wrap:anywhere; }
.bk2-day-it small { display:block; font-size:12px; color:var(--muted); }
.bk2-day-it p { margin:4px 0 0; font-size:13px; color:var(--muted-2); white-space:pre-wrap; }
.bk2-day-none { color:var(--muted); }
.bk2-day-act2 { display:flex; gap:6px; flex:0 0 auto; }
.bk2 .bk2-day-act2 .bk2-btn { min-height:40px; padding:0 12px; font-size:13px; }
@media (max-width: 767px) { .bk2 .bk2-day-act2 .bk2-btn { min-height:44px; } }
.bk2 .bk2-day-act2 .bk2-btn.is-confirm { background:var(--badge); border-color:var(--badge); color:var(--on-badge); }
.bk2-day-f { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:10px; }
.bk2 .bk2-day-fh { margin:0; font-size:15px; font-weight:600; font-family:var(--font-sans) !important; }
.bk2-day-l { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); min-width:0; }
.bk2-day-l input, .bk2-day-l select, .bk2-day-l textarea { min-height:44px; border-radius:10px; border:1px solid var(--border-strong); background:var(--surface);
  color:var(--ink); padding:0 12px; font-size:15px; box-sizing:border-box; width:100%; font-family:inherit; }
.bk2-day-l textarea { padding:10px 12px; resize:vertical; }
@media (max-width: 767px) { .bk2-day-l input, .bk2-day-l select, .bk2-day-l textarea { font-size:16px; } }
.bk2 .bk2-day-f :where(input, select, textarea, button):focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.bk2-day-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bk2-day-plus { display:flex; gap:8px; flex-wrap:wrap; }
.bk2-day-chk { display:flex; align-items:center; gap:10px; min-height:44px; font-size:14px; color:var(--ink); cursor:pointer; }
.bk2-day-chk input { width:20px; height:20px; accent-color:var(--brand); }
.bk2-day-msg { margin:0; min-height:1.2em; font-size:13px; color:var(--ok); }
.bk2-day-msg.is-err { color:var(--badge); }
.bk2-day-act { display:flex; gap:10px; flex-wrap:wrap; }
.bk2-day-priv { margin:0; font-size:12px; color:var(--muted); }
.bk2-c-red { --c:#C4402F; } .bk2-c-orange { --c:#D9822B; } .bk2-c-gold { --c:#B8920F; } .bk2-c-green { --c:#4F8A3C; }
.bk2-c-blue { --c:#2F6FA8; } .bk2-c-purple { --c:#7B4FA8; } .bk2-c-brown { --c:#8B6C4A; }
html[data-theme="dark"] .bk2-c-red { --c:#F08A7A; } html[data-theme="dark"] .bk2-c-orange { --c:#F2B36B; }
html[data-theme="dark"] .bk2-c-gold { --c:#E8C547; } html[data-theme="dark"] .bk2-c-green { --c:#8FCB7A; }
html[data-theme="dark"] .bk2-c-blue { --c:#7DB4E8; } html[data-theme="dark"] .bk2-c-purple { --c:#BC9AE8; }
html[data-theme="dark"] .bk2-c-brown { --c:#C9A27A; }
.bk2 .bk2-dot.bk2-cc { background:var(--c); }
.bk2 .bk2-cal-span.bk2-cc { background:var(--c); }
.bk2-cal-t td.has-imp[class*="bk2-c-"] .bk2-cal-n { box-shadow:inset 0 0 0 2px var(--c); }
.bk2-cal-keyrow { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-top:8px; }
.bk2-cal-keyrow .bk2-cal-key { margin:0; }
.bk2 .bk2-cal-edit { min-height:36px; padding:0 10px; border:1px solid var(--border-strong); border-radius:10px; background:var(--surface);
  color:var(--ink); font-size:13px; cursor:pointer; }
@media (max-width: 767px) { .bk2 .bk2-cal-edit { min-height:44px; } }
.bk2 .bk2-chip .bk2-dot { margin-right:2px; }
.bk2-day-colors { border:0; margin:0; padding:0; min-width:0; }
.bk2-day-colors legend { padding:0; margin-bottom:4px; font-size:13px; color:var(--muted); }
.bk2-day-sws { display:flex; flex-wrap:wrap; gap:8px; }
.bk2 .bk2-day-sw { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 12px; border:1px solid var(--border-strong);
  border-radius:999px; font-size:14px; color:var(--ink); cursor:pointer; }
.bk2 .bk2-day-sw input { width:16px; height:16px; margin:0; accent-color:var(--brand); }
.bk2 .bk2-day-sw:has(input:checked) { border-color:var(--brand); background:var(--tile); font-weight:600; }
@media (max-width: 767px) { .bk2 .bk2-day-sw { min-height:44px; } }
.bk2-lab-list { list-style:none; margin:12px 0 10px; padding:0; display:flex; flex-direction:column; gap:8px; }
.bk2-lab-list li { display:grid; grid-template-columns:20px 120px 1fr auto; align-items:center; gap:8px; }
.bk2-lab-list .bk2-dot { width:14px; height:14px; }
.bk2-lab-list select, .bk2-lab-list input { min-height:44px; border-radius:10px; border:1px solid var(--border-strong); background:var(--surface);
  color:var(--ink); padding:0 10px; font-size:15px; box-sizing:border-box; width:100%; font-family:inherit; }
@media (max-width: 767px) { .bk2-lab-list li { grid-template-columns:16px 1fr auto; } .bk2-lab-list li input { grid-column:1 / -1; }
  .bk2-lab-list select, .bk2-lab-list input { font-size:16px; } }
.bk2 .bk2-lab-list button { min-height:44px; }
.bk2 .bk2-lab-sh { margin-top:16px; }
.bk2-lab-sys { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-top:8px; }
@media (max-width: 767px) { .bk2-lab-sys { grid-template-columns:1fr; } }
.bk2 .bk2-lab-list :where(input, select, button):focus-visible, .bk2 .bk2-lab-sys select:focus-visible, .bk2 .bk2-cal-edit:focus-visible,
.bk2 .bk2-day-sw:has(input:focus-visible) { outline:2px solid var(--brand); outline-offset:2px; }
.bk2 .bk2-c3 { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; align-content:center; }
.bk2-kpi { display:flex; flex-direction:column; gap:2px; padding:4px 0; min-width:0; }
.bk2-kpi-l { font-size:13px; color:var(--muted); }
.bk2 .bk2-kpi-v { font-size:clamp(22px, 2vw, 30px); line-height:1.2; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bk2-kpi-s { min-height:24px; }
.bk2-bars { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.bk2-bars-t { display:flex; justify-content:space-between; gap:2px 10px; font-size:14px; margin-bottom:6px; flex-wrap:wrap; }
.bk2 .bk2-bars-t a { color:var(--ink); font-weight:600; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.bk2-bars-t span { color:var(--muted); white-space:nowrap; flex:0 0 auto; }
.bk2-c5 { background:var(--ok-bg); border-radius:var(--r-card); color:var(--ink); }
.bk2-c5-k { margin:0; font-size:13px; font-weight:600; color:var(--ok); }
.bk2 .bk2-c5-h { margin:4px 0; font-size:24px; color:var(--ink); }
.bk2-c5-t { margin:0; font-size:14px; color:var(--ink); }
.bk2-c5-n { margin:6px 0 0; font-size:14px; color:var(--ok); font-weight:600; }
.bk2 .bk2-c5 .bk2-more { color:var(--ok); }
.bk2 .bk2-ai-drop { display:flex; align-items:center; gap:16px; padding:6px 0; cursor:pointer; border-radius:16px; }
.bk2 .bk2-ai-drop.is-drag { outline:2px dashed var(--brand); outline-offset:6px; }
.bk2 .bk2-c6:has(#imageUpload:focus-visible) .bk2-ai-drop { outline:2px solid var(--brand); outline-offset:6px; }
.bk2-ai-ic { width:52px; height:52px; border-radius:14px; background:var(--brand); color:var(--on-brand); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.bk2-ai-t { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.bk2-ai-t b { font-size:16px; font-weight:600; color:var(--ink); }
.bk2-ai-t small { font-size:13px; color:var(--muted); }
.bk2-ai-btn { flex:0 0 auto; }
.bk2-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.bk2 .bk2-pchip { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 14px; border-radius:var(--r-pill); background:var(--tile); border:1px solid var(--border);
  color:var(--ink); font-size:14px; text-decoration:none; cursor:pointer; }
.bk2 .bk2-pchip:hover { color:var(--ink); background:var(--divider); }
.bk2 .bk2-pchip--all { color:var(--link); font-weight:600; background:transparent; }
.bk2-aiw, .bk2-hist { margin-top:20px; padding:22px 24px; }
.bk2-prefs { background:var(--tile); border-radius:14px; padding:12px 14px; margin-bottom:12px; }
.bk2-prefs-h { margin:0 0 8px; font-size:13px; font-weight:600; color:var(--muted-2); }
.bk2-prefs-g { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bk2-prefs-g label { display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--muted); }
.bk2-prefs-g input, .bk2-prefs-g select, .bk2-qa-row input { height:44px; border-radius:10px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); padding:0 12px; font-size:14px; box-sizing:border-box; }
.bk2-prefs-msg { margin:8px 0 0; font-size:13px; color:var(--ok); }
.bk2-aiw-file { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.bk2-aiw-file img { max-height:180px; max-width:100%; border-radius:12px; object-fit:contain; background:var(--img-bg); }
.bk2-aiw-file p { margin:0; font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.bk2-aiw-loading { margin:16px 0; }
.bk2-aiw-loading p { margin:10px 0 0; color:var(--link); font-weight:600; font-size:14px; }
.bk2 .bk2-aiw-rh { margin:18px 0 8px; font-size:15px; font-weight:600; font-family:var(--font-sans) !important; }
.bk2-aiw-res { padding:16px; border-radius:14px; background:var(--tile); border:1px solid var(--border); font-size:14px; line-height:1.7; color:var(--ink); overflow-wrap:anywhere; }
.bk2-qa-row { display:flex; gap:8px; margin-top:10px; }
.bk2-qa-row input { flex:1; min-width:0; }
#qa-messages { max-height:320px; overflow-y:auto; }
.bk2 .bk2-hist-i { display:block; width:100%; text-align:left; border:1px solid var(--border); background:var(--surface); border-radius:12px; padding:10px 12px;
  margin-top:8px; cursor:pointer; color:var(--ink); }
.bk2 .bk2-hist-i:hover { background:var(--tile); }
.bk2-hist-h { display:flex; justify-content:space-between; gap:10px; font-size:13px; }
.bk2-hist-h b { color:var(--link); font-weight:600; }
.bk2-hist-h small { color:var(--muted); }
.bk2-hist-s { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; color:var(--muted); margin-top:2px; }
.bk2-hist-none { font-size:14px; color:var(--muted); margin:8px 0 0; }
@media (max-width: 1199px) {
  .bk2-bento .bk2-c { grid-column:span 12 !important; grid-row:auto !important; }
  .bk2 .bk2-ph-h { font-size:32px; }
}
@media (max-width: 767px) {
  .bk2-proj { padding:18px 16px 24px; }
  .bk2 .bk2-ph-h { font-size:26px; }
  .bk2-bento { gap:14px; }
  .bk2-sandcard { padding:22px 18px; border-radius:22px; }
  .bk2 .bk2-c1-name { font-size:24px; }
  .bk2 .bk2-card.bk2-c, .bk2-c5 { padding:18px; }
  .bk2 .bk2-c3 { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bk2 .bk2-kpi-v { font-size:24px; }
  .bk2-prefs-g { grid-template-columns:1fr; }
  .bk2 .bk2-ai-drop { flex-wrap:wrap; }
  .bk2-c1-act .bk2-btn { flex:1 1 100%; }
  .bk2-ph-r { width:100%; justify-content:space-between; }
}
.bk2-docs-g { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.bk2 .bk2-doc { display:flex; align-items:center; gap:14px; padding:20px 22px; text-decoration:none; color:var(--ink); }
.bk2 .bk2-doc:hover { color:var(--ink); }
.bk2-doc-ic { width:48px; height:48px; border-radius:14px; background:var(--sand); color:var(--link); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.bk2-doc-t { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.bk2-doc-t b { font-size:16px; font-weight:600; }
.bk2-doc-t small { font-size:13px; color:var(--muted); }
.bk2-doc-go { color:var(--link); font-weight:600; }
.bk2-docs-s { margin-top:20px; padding:22px 24px; }
@media (max-width: 767px) { .bk2-docs-g { grid-template-columns:1fr; } .bk2-docs-s { padding:18px; } }
body.mh2-on #mkt-hero, body.mh2-on .layout > .sidebar, body.mh2-on #pane-browse > :not(#mkt-more) { display:none !important; }
body.mh2-on .layout { display:block !important; min-height:0 !important; }
body.mh2-on .layout .main-content { max-width:1440px; margin:0 auto; padding:0 40px; box-sizing:border-box; }
@media (max-width: 767px) { body.mh2-on .layout .main-content { padding:0 16px; } }
.bk2-mh { max-width:1440px; margin:0 auto; padding:36px var(--pad-x) 8px; box-sizing:border-box; font-family:var(--font-sans); line-height:1.6; }
.bk2-mh-hero { display:grid; grid-template-columns:1.6fr 1fr; gap:28px; }
.bk2-mh-main { position:relative; overflow:hidden; background:var(--sand); border-radius:var(--r-hero); padding:40px; min-width:0; }
.bk2-mh-k { position:relative; margin:0; font-size:13px; letter-spacing:.08em; color:var(--muted-on-sand); }
.bk2 .bk2-mh-h { position:relative; margin:8px 0 22px; font-size:44px; line-height:1.25; color:var(--ink); max-width:560px; }
.bk2-mh-s { position:relative; display:flex; align-items:center; gap:10px; height:60px; padding:0 7px 0 18px; background:var(--surface);
  border:1px solid var(--track-sand); border-radius:16px; box-shadow:0 6px 20px rgba(90,68,48,.08); box-sizing:border-box; color:var(--muted); }
.bk2-mh-s input { flex:1; min-width:0; height:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:16px; }
.bk2 .bk2-mh-s input:focus-visible { outline:none; }
.bk2-mh-s:focus-within { box-shadow:0 0 0 2px var(--brand), 0 6px 20px rgba(90,68,48,.08); }
.bk2-mh-s .bk2-btn { min-height:46px; }
.bk2-mh-chips { position:relative; display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.bk2 .bk2-mh-chip { display:inline-flex; align-items:center; height:38px; padding:0 14px; border-radius:var(--r-pill); background:var(--sand-inner);
  color:var(--ink); font-size:14px; text-decoration:none; }
.bk2 .bk2-mh-chip:hover { color:var(--ink); background:var(--surface); }
@media (max-width: 767px) { .bk2 .bk2-mh-chip { height:44px; } }
.bk2-mh .bk2-wx { position:relative; margin-top:18px; }
.bk2-mh-side { display:flex; flex-direction:column; gap:12px; }
.bk2 .bk2-mh-sc { flex:1; display:flex; align-items:center; gap:14px; padding:14px 18px; border-radius:var(--r-card); background:var(--surface);
  border:1px solid var(--border); color:var(--ink); text-decoration:none; }
.bk2 .bk2-mh-sc:hover { color:var(--ink); }
.bk2-mh-sci, .bk2-mh-sti { width:44px; height:44px; border-radius:12px; background:var(--sand); color:var(--link); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.bk2-mh-sct { flex:1; min-width:0; display:flex; flex-direction:column; }
.bk2-mh-sct b { font-size:15px; font-weight:600; }
.bk2-mh-sct small { font-size:13px; color:var(--muted); }
.bk2-mh-sc > span:last-child { color:var(--link); font-weight:600; }
.bk2-mh-sec { margin-top:40px; }
.bk2-mh-sech { display:flex; align-items:flex-end; justify-content:space-between; gap:12px 20px; flex-wrap:wrap; margin-bottom:16px; }
.bk2 .bk2-mh-sech h2 { margin:0; font-size:26px; line-height:1.3; color:var(--ink); }
.bk2-mh-n { font-size:16px; color:var(--muted); font-family:var(--font-sans); font-weight:400; }
.bk2-mh-sub { margin:4px 0 0; font-size:13px; color:var(--muted); }
.bk2-mh-cats { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:12px; }
.bk2 .bk2-mh-cat { display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 6px 12px; border-radius:var(--r-tile); background:var(--surface);
  border:1px solid var(--border); color:var(--ink); font-size:14px; text-align:center; text-decoration:none; line-height:1.35; }
.bk2 .bk2-mh-cat:hover { color:var(--ink); }
.bk2-mh-cati { width:52px; height:52px; border-radius:14px; background:var(--sand); color:var(--link); display:inline-flex; align-items:center; justify-content:center; }
.bk2-mh-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.bk2 .bk2-pc { background:var(--surface); border:1px solid var(--border); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.bk2 .bk2-pc-open { border:0; background:none; padding:0; margin:0; width:100%; text-align:left; cursor:pointer; color:inherit; font:inherit; }
.bk2-pc-img { height:150px; background:var(--img-bg); border-bottom:1px solid var(--divider); display:flex; align-items:center; justify-content:center; color:var(--muted); }
.bk2-pc-img img { width:100%; height:100%; object-fit:contain; background:#FFFFFF; }
.bk2-pc-b { padding:12px 14px 12px; display:flex; flex-direction:column; gap:6px; flex:1; }
.bk2-pc-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.bk2-pc-pct { font-size:12px; font-weight:600; color:var(--muted); white-space:nowrap; }
.bk2-pc-pct.is-down { color:var(--ok); } .bk2-pc-pct.is-up { color:var(--warn); }
.bk2 .bk2-pc-n { margin:0; font-size:14px; font-weight:400; line-height:1.5; min-height:3em; font-family:var(--font-sans) !important; }
.bk2 .bk2-pc-n .bk2-pc-open { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bk2 .bk2-pc-p { font-size:20px; color:var(--ink); }
.bk2-pc-row small { font-size:12px; color:var(--muted); }
.bk2-pc-s { display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:8px; border-top:1px solid var(--divider); font-size:13px; color:var(--muted); }
.bk2-pc-s a { font-weight:600; text-decoration:none; min-height:24px; }
.bk2-mh-more { margin:10px 0 0; text-align:right; }
.bk2-mh-two { display:grid; grid-template-columns:2fr 1fr; gap:20px; }
.bk2-mh-two.is-solo { grid-template-columns:1fr; }
.bk2-mh-stores { padding:20px 22px; border-radius:var(--r-card); }
.bk2-mh-sgrid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
.bk2 .bk2-mh-store { display:flex; gap:12px; padding:14px; border-radius:16px; border:1px solid var(--border); background:var(--surface); color:var(--ink); text-decoration:none; }
.bk2 .bk2-mh-store:hover { color:var(--ink); }
.bk2-mh-stt { min-width:0; display:flex; flex-direction:column; gap:2px; }
.bk2-mh-stt b { font-size:15px; font-weight:600; }
.bk2-mh-stt small { font-size:13px; color:var(--muted); }
.bk2-mh-stb { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.bk2-mh-stb .bk2-chip .bk2-i { margin-right:2px; }
.bk2-mh-green { background:var(--ok-bg); color:#243320; border-radius:var(--r-card); padding:24px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
html[data-theme="dark"] .bk2-mh-green { color:var(--ink); }
.bk2 .bk2-mh-green h2 { margin:0; font-size:22px; line-height:1.35; color:inherit; }
.bk2 .bk2-mh-green a { color:var(--ok); font-weight:600; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; gap:6px; }
.bk2-alert { background:var(--warn-bg); border-bottom:1px solid #EBCFB2; color:var(--alert-text); font-family:var(--font-sans); }
html[data-theme="dark"] .bk2-alert { border-bottom-color:var(--border); }
.bk2-alert-in { max-width:1440px; margin:0 auto; padding:12px var(--pad-x); display:flex; align-items:center; gap:10px; font-size:14px; box-sizing:border-box; }
.bk2-alert-t { flex:1; min-width:0; }
.bk2 .bk2-alert a { color:var(--alert-text); font-weight:600; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.bk2 .bk2-alert-x { width:44px; height:44px; border:0; background:none; color:var(--alert-text); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; flex:0 0 auto; }
.bk2 .bk2-alert-x:hover { background:rgba(122,69,32,.08); }
@media (max-width: 1199px) {
  .bk2-mh-hero { grid-template-columns:1fr; }
  .bk2-mh-side { display:grid; grid-template-columns:1fr 1fr; }
  .bk2-mh-side > .bk2-mh-sc:last-child:nth-child(odd) { grid-column:1 / -1; }
  .bk2-mh-cats { grid-template-columns:repeat(6, minmax(0,1fr)); }
  .bk2-mh-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .bk2-mh-two { grid-template-columns:1fr; }
  .bk2-mh-sgrid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 767px) {
  .bk2-mh { padding-top:18px; }
  .bk2-mh-main { padding:22px 18px; border-radius:22px; }
  .bk2 .bk2-mh-h { font-size:28px; margin-bottom:16px; }
  .bk2-mh-s { height:56px; padding-left:12px; }
  .bk2-mh-s > .bk2-i { display:none; }
  .bk2-mh-s .bk2-btn { padding:0 14px; }
  .bk2-mh-side { display:flex; flex-direction:row; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
  .bk2 .bk2-mh-sc { flex:0 0 78%; scroll-snap-align:start; }
  .bk2-mh-cats { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:4px; }
  .bk2 .bk2-mh-cat { flex:0 0 96px; scroll-snap-align:start; }
  .bk2-mh-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
  .bk2-pc-img { height:120px; }
  .bk2-pc-b { padding:10px; }
  .bk2 .bk2-pc-p { font-size:17px; }
  .bk2-pc-row { flex-wrap:wrap; row-gap:4px; }
  .bk2-mh-sgrid { grid-template-columns:1fr; }
  .bk2-mh-sec { margin-top:28px; }
  .bk2 .bk2-mh-sech h2 { font-size:22px; }
  .bk2-alert-in { padding:10px 16px; flex-wrap:wrap; }
}
.bk2 .bk2-ai-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 12px; }
.bk2 .bk2-ai-last { min-height:44px; padding:0; border:0; background:transparent; color:var(--link); font:inherit; font-size:13px;
  text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:3px; max-width:100%; overflow-wrap:anywhere; }
.bk2 .bk2-ai-last[hidden] { display:none; }
.bk2 a.bk2-hist-i { text-decoration:none; }
#mkt-hero.mh-lite { background:var(--nav) !important; color:var(--ink) !important; border-bottom:1px solid var(--border); padding:12px var(--pad-x) !important; }
#mkt-hero.mh-lite > div:not(.mh-row):not(.mh-pills), #mkt-hero.mh-lite .mh-pills, #mkt-hero.mh-lite .mh-sub { display:none !important; }
#mkt-hero.mh-lite h1 { color:var(--ink); font-family:var(--font-serif); font-weight:600; font-size:clamp(1.1rem, 2vw, 1.4rem); }
#mkt-hero.mh-lite h1 span { color:var(--link) !important; }
#mkt-hero.mh-lite .mh-btn { background:var(--surface) !important; color:var(--link) !important; border:1px solid var(--border-strong) !important; min-height:44px; }
#mkt-hero.mh-lite .mh-btn:hover { background:var(--tile) !important; }
.bk2 .bk2-star { color:#7A5C00; font-size:.9em; }   
html[data-theme="dark"] .bk2 .bk2-star { color:#E8C547; }
