/* shop.css — お客様サイト(A)・スタッフ受注(B) 共通スタイル
   設計束（お客様サイトLP/注文フロー/スタッフ受注）のトークンを実CSS化 */

:root {
  --orange: #DD8A2E;
  --orange-deep: #C2741F;
  --paper: #F7F1E7;
  --paper-warm: #FBF6EC;
  --cream: #FBF3E7;
  --ink: #3E2C1E;
  --ink-deep: #2C1B10;
  --brown: #7A6149;
  --muted: #9A8470;
  --line: #E7DAC6;
  --line-soft: #EEE3D2;
  --green: #5BA85A;
  --red: #C9462E;
  --serif: 'Shippori Mincho', serif;
  --sans: 'Zen Kaku Gothic New', sans-serif;
  --garamond: 'Cormorant Garamond', serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: var(--sans); color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
input, select, button, textarea { font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--orange) !important; }
::selection { background: var(--orange); color: #fff; }
a { color: inherit; }
img { max-width: 100%; }

/* ===== 共通パーツ ===== */
.btn-primary {
  display: inline-block; border: none; cursor: pointer; text-decoration: none; text-align: center;
  background: var(--orange); color: #fff; font-weight: 800; font-family: var(--serif);
  letter-spacing: .06em; border-radius: 12px; padding: 15px 34px; font-size: 15px;
  box-shadow: 0 14px 24px -12px rgba(221,138,46,.85);
}
.btn-primary:active { transform: translateY(1px); }
.btn-ghost {
  display: inline-block; cursor: pointer; text-decoration: none; text-align: center;
  background: transparent; color: var(--brown); font-weight: 700; font-size: 13px;
  border: 1px solid var(--line); border-radius: 10px; padding: 11px 20px;
}
.photo-ph { /* 写真プレースホルダ（実写真差替までの上品な枠） */
  background:
    linear-gradient(160deg, rgba(221,138,46,.16), rgba(122,74,38,.20)),
    repeating-linear-gradient(45deg, rgba(122,97,73,.07) 0 12px, transparent 12px 24px), #EADCC6;
  display: flex; align-items: center; justify-content: center;
  color: #A98F6E; font-size: 11px; letter-spacing: .28em; font-family: var(--garamond);
}
.badge-season {
  display: inline-block; font-size: 10px; font-weight: 800; color: #fff;
  background: #C0392B; padding: 3px 9px; border-radius: 10px; letter-spacing: .05em;
}

/* ===================================================== */
/* LP                                                     */
/* ===================================================== */
.lp-nav {
  position: sticky; top: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between;
  padding: 12px 24px; background: rgba(247,241,231,.92); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.lp-nav .logo img { height: 44px; display: block; }
.lp-nav-links { display: flex; align-items: center; gap: 26px; font-size: 13.5px; font-weight: 700; color: var(--brown); }
.lp-nav-links a { text-decoration: none; }
.lp-nav .btn-primary { padding: 11px 22px; font-size: 13.5px; border-radius: 10px; }

.lp-hero {
  position: relative; min-height: 640px; display: flex; align-items: center;
  background: linear-gradient(155deg, #7A4A26 0%, #4A2E18 55%, #2C1B10 100%); color: #F4E4CE;
  overflow: hidden;
}
.lp-hero-inner { max-width: 1200px; margin: 0 auto; padding: 90px 48px; position: relative; z-index: 2; }
.lp-hero .kicker { font-size: 13px; letter-spacing: .34em; color: #E0974A; font-weight: 700; margin-bottom: 22px; font-family: var(--garamond); }
.lp-hero h1 { font-family: var(--serif); font-size: 54px; font-weight: 800; line-height: 1.5; margin: 0 0 24px; color: #FBF3E7; }
.lp-hero p { font-size: 15px; line-height: 2.1; color: #D8C2A6; max-width: 560px; margin: 0 0 36px; }
.lp-hero-photo { position: absolute; right: -40px; top: 50%; transform: translateY(-50%); width: 520px; height: 560px; border-radius: 6px; opacity: .9; box-shadow: 0 40px 70px -34px rgba(0,0,0,.6); }

.lp-section { max-width: 1200px; margin: 0 auto; padding: 96px 48px; }
.lp-label { font-size: 12px; letter-spacing: .3em; color: var(--orange-deep); font-weight: 800; font-family: var(--garamond); margin-bottom: 14px; }
.lp-h2 { font-family: var(--serif); font-size: 34px; font-weight: 800; margin: 0 0 18px; }
.lp-lead { font-size: 14.5px; line-height: 2.2; color: var(--brown); max-width: 640px; }
.lp-center { text-align: center; }
.lp-center .lp-lead { margin: 0 auto; }

.lp-seasonal { display: flex; gap: 56px; align-items: center; }
.lp-seasonal .photo-ph { flex: 0 0 460px; height: 400px; border-radius: 6px; box-shadow: 0 40px 70px -34px rgba(120,80,40,.5); }

.lp-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 42px; }
.lp-card { text-decoration: none; }
.lp-card .photo-ph, .lp-card .photo-img { aspect-ratio: 4/5; border-radius: 3px; margin-bottom: 16px; width: 100%; background-size: cover; background-position: center; position: relative; }
.lp-card .name { font-family: var(--serif); font-size: 17px; font-weight: 600; margin-bottom: 5px; }
.lp-card .desc { font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.lp-card .price { font-size: 15px; font-weight: 700; }
.lp-card .badge-season { position: absolute; top: 10px; left: 10px; }

.lp-flow { background: #3A271A; color: #EBD9C0; }
.lp-flow .lp-section { max-width: 1100px; }
.lp-flow .lp-h2 { color: #FBF3E7; }
.lp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px; margin-top: 48px; }
.lp-step .num { font-family: var(--garamond); font-size: 40px; color: #E0974A; line-height: 1; margin-bottom: 14px; }
.lp-step h3 { font-family: var(--serif); font-size: 17px; font-weight: 700; margin: 0 0 10px; color: #FBF3E7; }
.lp-step p { font-size: 12.5px; line-height: 1.9; color: #C9B299; margin: 0; }

.lp-shop { display: flex; gap: 56px; align-items: flex-start; }
.lp-shop .photo-ph { flex: 0 0 480px; height: 360px; border-radius: 6px; }
.lp-shop table { border-collapse: collapse; font-size: 14px; margin-top: 20px; }
.lp-shop th { text-align: left; color: var(--orange-deep); font-weight: 800; padding: 10px 26px 10px 0; vertical-align: top; white-space: nowrap; font-size: 12.5px; }
.lp-shop td { padding: 10px 0; color: var(--ink); line-height: 1.8; }

.lp-cta { background: linear-gradient(120deg, #DD8A2E, #B5681A); color: #fff; text-align: center; }
.lp-cta .lp-section { padding: 80px 48px; }
.lp-cta h2 { font-family: var(--serif); font-size: 30px; font-weight: 800; margin: 0 0 14px; color: #fff; }
.lp-cta p { font-size: 14px; opacity: .9; margin: 0 0 30px; }
.lp-cta .btn-primary { background: #fff; color: var(--orange-deep); box-shadow: 0 16px 30px -14px rgba(0,0,0,.4); }

.lp-footer { background: var(--ink-deep); color: #C9B299; text-align: center; padding: 44px 24px; font-size: 12px; }
.lp-footer img { height: 40px; margin-bottom: 14px; opacity: .95; }

@media (max-width: 899px) {
  .lp-nav { padding: 10px 16px; }
  .lp-nav .logo img { height: 36px; }
  .lp-nav-links a { display: none; }
  .lp-hero { min-height: 0; }
  .lp-hero-inner { padding: 56px 24px 40px; }
  .lp-hero h1 { font-size: 34px; }
  .lp-hero p { font-size: 13.5px; }
  .lp-hero-photo { position: static; transform: none; width: 100%; height: 240px; margin-top: 26px; border-radius: 10px; }
  .lp-section { padding: 56px 24px; }
  .lp-h2 { font-size: 25px; }
  .lp-seasonal { flex-direction: column; gap: 26px; }
  .lp-seasonal .photo-ph { flex: none; width: 100%; height: 230px; }
  .lp-products { grid-template-columns: 1fr 1fr; gap: 16px; }
  .lp-steps { grid-template-columns: 1fr; gap: 26px; }
  .lp-shop { flex-direction: column; gap: 26px; }
  .lp-shop .photo-ph { flex: none; width: 100%; height: 220px; }
}

/* ===================================================== */
/* 注文フロー (of-) ＆ スタッフ (st-) 共通                  */
/* ===================================================== */
.of-topbar {
  position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 12px;
  padding: 10px 16px; background: #33271C; color: #F4E4CE;
}
.of-topbar img { height: 34px; }
.of-topbar .title { font-family: var(--serif); font-size: 15px; font-weight: 700; color: #FBF3E7; }
.of-topbar .back { background: transparent; border: 1px solid #5A4636; color: #C9B299; border-radius: 8px; padding: 7px 12px; font-size: 13px; cursor: pointer; }
.of-topbar .spacer { flex: 1; }

.of-steps { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px 10px; background: var(--cream); border-bottom: 1px solid var(--line-soft); }
.of-step { display: flex; align-items: center; gap: 6px; }
.of-step .dot { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; background: #E2D2B8; color: #A08769; }
.of-step.on .dot { background: var(--orange); color: #fff; }
.of-step .lbl { font-size: 11px; font-weight: 700; color: #A08769; }
.of-step.on .lbl { color: var(--ink); }
.of-step .line { width: 24px; height: 2px; background: #E2D2B8; }

.of-wrap { max-width: 1160px; margin: 0 auto; padding: 20px 16px 120px; }
.of-cols { display: flex; gap: 24px; align-items: flex-start; }
.of-main { flex: 1; min-width: 0; }
.of-side { flex: 0 0 320px; position: sticky; top: 84px; display: none; }
@media (min-width: 900px) { .of-side { display: block; } .of-wrap { padding: 28px 32px 60px; } }

.of-cats { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 14px; }
.of-cat { flex: 0 0 auto; padding: 9px 18px; border-radius: 20px; font-size: 13px; font-weight: 700; cursor: pointer; border: 1px solid var(--line); background: #fff; color: var(--brown); white-space: nowrap; }
.of-cat.on { background: #33271C; color: #FBF3E7; border-color: #33271C; }

.of-plist { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 900px) { .of-plist { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } }
.of-pcard { background: #fff; border: 1px solid var(--line-soft); border-radius: 13px; padding: 13px; display: flex; gap: 13px; align-items: center; }
.of-pcard .ph { width: 84px; height: 84px; border-radius: 10px; flex: 0 0 84px; background-size: cover; background-position: center; position: relative; overflow: hidden; }
.of-pcard .ph .badge-season { position: absolute; top: 5px; left: 5px; }
.of-pcard .info { flex: 1; min-width: 0; }
.of-pcard .name { font-size: 14.5px; font-weight: 700; }
.of-pcard .price { font-size: 13px; color: var(--orange-deep); font-weight: 800; margin-top: 3px; font-family: var(--serif); }
.of-pcard .ctrl { display: flex; align-items: center; gap: 9px; margin-top: 9px; }
.of-qbtn { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--brown); font-size: 17px; cursor: pointer; line-height: 1; }
.of-qbtn.plus { background: var(--orange); border-color: var(--orange); color: #fff; }
.of-qty { min-width: 22px; text-align: center; font-weight: 800; font-size: 15px; }
.of-optbtn { padding: 9px 18px; border-radius: 20px; border: 1.5px solid var(--orange); background: #fff; color: var(--orange-deep); font-size: 13px; font-weight: 800; cursor: pointer; }

.of-card { background: #fff; border: 1px solid var(--line-soft); border-radius: 16px; padding: 20px; margin-bottom: 16px; }
.of-card h3 { font-family: var(--serif); font-size: 15px; font-weight: 700; margin: 0 0 14px; padding-bottom: 9px; border-bottom: 2px solid #EAD9BE; }
.of-lbl { display: block; font-size: 12.5px; color: var(--brown); font-weight: 700; margin: 0 0 6px; }
.of-input, .of-select, .of-ta {
  width: 100%; padding: 12px; border: 1.5px solid #DECBAE; border-radius: 10px;
  font-size: 15px; background: #FCF8F0; color: var(--ink);
}
.of-ta { min-height: 74px; resize: vertical; }
.of-row { display: flex; gap: 12px; }
.of-row > div { flex: 1; }
.of-stores { display: flex; gap: 10px; }
.of-store { flex: 1; padding: 13px 8px; border-radius: 11px; font-size: 13.5px; font-weight: 700; cursor: pointer; text-align: center; border: 1.5px solid var(--line); background: #fff; color: var(--brown); }
.of-store.on { background: #33271C; color: #FBF3E7; border-color: #33271C; }
.of-note { font-size: 11.5px; color: #A8927A; margin-top: 8px; line-height: 1.7; }
.of-err { color: var(--red); font-size: 12.5px; font-weight: 700; min-height: 18px; margin-top: 8px; }

.of-bottombar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 55;
  display: flex; align-items: center; gap: 14px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: #fff; border-top: 1px solid var(--line);
}
.of-bottombar .sum { font-size: 12px; color: var(--brown); font-weight: 700; }
.of-bottombar .amt { font-family: var(--serif); font-size: 19px; font-weight: 800; color: var(--orange-deep); }
.of-bottombar .btn-primary { flex: 1; padding: 14px 10px; font-size: 14.5px; }
@media (min-width: 900px) { .of-bottombar { display: none; } }

.of-cartbox { background: var(--paper-warm); border: 1px solid var(--line); border-radius: 16px; padding: 18px; }
.of-cartbox h3 { font-family: var(--serif); font-size: 15px; font-weight: 700; margin: 0 0 12px; }
.of-line { display: flex; align-items: flex-start; gap: 8px; padding: 9px 0; border-bottom: 1px solid #F1E8D8; }
.of-line .nm { flex: 1; font-size: 13px; font-weight: 700; }
.of-line .sub { font-size: 11px; color: var(--muted); margin-top: 3px; line-height: 1.6; font-weight: 500; }
.of-line .yen { font-size: 13px; font-weight: 800; white-space: nowrap; font-family: var(--serif); }
.of-line .del { width: 26px; height: 26px; border: 1px solid #EBD6D2; background: #FBEEEB; color: var(--red); border-radius: 7px; font-size: 13px; cursor: pointer; flex: 0 0 26px; }
.of-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; font-weight: 800; }
.of-total .amt { font-family: var(--serif); font-size: 20px; color: var(--orange-deep); }

.of-info-banner { background: #EAF3FA; border: 1px solid #BBD7EA; color: #2A6FDB; border-radius: 12px; padding: 12px 14px; font-size: 12.5px; font-weight: 700; margin-bottom: 16px; }
.of-sumrow { display: flex; padding: 9px 0; border-bottom: 1px solid #F1E8D8; font-size: 13.5px; }
.of-sumrow .k { flex: 0 0 110px; color: var(--orange-deep); font-weight: 800; font-size: 12.5px; }
.of-done { text-align: center; padding: 46px 20px; }
.of-done .ck { width: 78px; height: 78px; border-radius: 50%; background: var(--orange); color: #fff; font-size: 38px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.of-done h2 { font-family: var(--serif); font-size: 22px; font-weight: 800; margin: 0 0 10px; }
.of-resno { display: inline-block; background: #33271C; color: #FBF3E7; border-radius: 12px; padding: 14px 26px; margin: 14px 0 8px; }
.of-resno .cap { font-size: 10px; letter-spacing: .3em; color: #C9B299; font-family: var(--garamond); }
.of-resno .no { font-family: var(--garamond); font-size: 26px; letter-spacing: .06em; }

/* ===== オプションモーダル ===== */
.opt-overlay { position: fixed; inset: 0; z-index: 80; background: rgba(44,27,16,.5); display: flex; align-items: flex-end; justify-content: center; }
.opt-sheet { width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; background: #fff; border-radius: 20px 20px 0 0; }
@media (min-width: 900px) { .opt-overlay { align-items: center; } .opt-sheet { border-radius: 20px; max-height: 88vh; } }
.opt-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: #fff; border-bottom: 1px solid var(--line-soft); }
.opt-head .ttl { font-family: var(--serif); font-size: 16px; font-weight: 800; }
.opt-head .x { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: #fff; font-size: 15px; cursor: pointer; color: var(--brown); }
.opt-body { padding: 16px 18px 110px; }
.opt-sec { margin-bottom: 20px; }
.opt-sec .h { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; margin-bottom: 10px; }
.opt-req { font-size: 10px; font-weight: 800; color: #fff; background: var(--red); padding: 2px 8px; border-radius: 9px; }
.opt-sizes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.opt-size { padding: 12px 10px; border-radius: 11px; border: 1.5px solid var(--line); background: #fff; cursor: pointer; text-align: left; }
.opt-size.on { border-color: var(--orange); background: #FDF3E3; }
.opt-size .l { font-size: 13.5px; font-weight: 800; }
.opt-size .s { font-size: 10.5px; color: var(--muted); margin-top: 2px; }
.opt-size .p { font-size: 13px; font-weight: 800; color: var(--orange-deep); margin-top: 4px; font-family: var(--serif); }
.opt-toggle { width: 46px; height: 26px; border-radius: 15px; border: none; cursor: pointer; position: relative; background: #D9CBB3; }
.opt-toggle.on { background: var(--green); }
.opt-toggle span { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; display: block; transition: left .15s; }
.opt-toggle.on span { left: 23px; }
.opt-plates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.opt-plate { padding: 10px 6px; border-radius: 10px; border: 1.5px solid var(--line); background: #fff; cursor: pointer; font-size: 11px; font-weight: 700; text-align: center; line-height: 1.5; color: var(--brown); }
.opt-plate.on { border-color: var(--orange); background: #FDF3E3; color: var(--ink); }
.opt-langs { display: flex; gap: 8px; margin-top: 10px; }
.opt-lang { flex: 1; padding: 9px; border-radius: 9px; border: 1.5px solid var(--line); background: #fff; font-size: 12.5px; font-weight: 700; cursor: pointer; color: var(--brown); }
.opt-lang.on { background: #33271C; color: #FBF3E7; border-color: #33271C; }
.opt-count { text-align: right; font-size: 11px; color: var(--muted); margin-top: 5px; }
.opt-foot {
  position: sticky; bottom: 0; padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
  background: #fff; border-top: 1px solid var(--line-soft); display: flex; align-items: center; gap: 12px;
}
.opt-foot .sum { flex: 1; font-size: 11.5px; color: var(--brown); font-weight: 700; line-height: 1.5; }
.opt-foot .btn-primary { padding: 13px 22px; font-size: 14px; white-space: nowrap; }

/* ===================================================== */
/* スタッフ (st-)                                          */
/* ===================================================== */
.st-gate { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: linear-gradient(160deg, #4A2E18, #2C1B10); }
.st-gate-card { width: 100%; max-width: 340px; background: #fff; border-radius: 20px; padding: 30px 26px; text-align: center; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.st-gate-card img { height: 48px; margin-bottom: 10px; }
.st-gate-card .ttl { font-family: var(--serif); font-size: 17px; font-weight: 800; margin-bottom: 16px; }
.st-pins { display: flex; justify-content: center; gap: 12px; margin-bottom: 8px; }
.st-pin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #DECBAE; }
.st-pin.on { background: var(--orange); border-color: var(--orange); }
.st-pinerr { min-height: 18px; font-size: 12px; color: var(--red); font-weight: 700; margin-bottom: 6px; }
.st-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.st-key { padding: 16px 0; border-radius: 12px; border: 1px solid var(--line); background: #FCF8F0; font-size: 20px; font-weight: 800; cursor: pointer; font-family: var(--serif); color: var(--ink); }
.st-key:active { background: #F1E4CE; }
.st-key.fn { font-size: 14px; color: var(--brown); }
.st-hint { font-size: 11px; color: var(--muted); margin-top: 14px; }

.st-board { display: flex; gap: 0; min-height: calc(100vh - 58px); }
.st-left { flex: 1.5; min-width: 0; padding: 18px; }
.st-right { flex: 0 0 400px; background: var(--paper-warm); border-left: 1px solid var(--line); padding: 18px; }
.st-sec-h { font-size: 12px; font-weight: 900; color: #8A6A3E; letter-spacing: .04em; margin: 0 0 10px; }
.st-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.st-quick button { background: #fff; border: 1px solid var(--line-soft); border-radius: 12px; padding: 12px 8px; cursor: pointer; text-align: center; box-shadow: 0 8px 16px -12px rgba(122,80,40,.4); }
.st-quick .nm { font-size: 12.5px; font-weight: 700; }
.st-quick .pr { font-size: 13px; font-weight: 800; color: var(--orange-deep); margin-top: 4px; font-family: var(--serif); }
.st-chtoggle { display: flex; gap: 8px; }
.st-ch { padding: 8px 16px; border-radius: 18px; font-size: 12.5px; font-weight: 700; cursor: pointer; border: 1px solid #5A4636; background: transparent; color: #C9B299; }
.st-ch.on { background: var(--orange); border-color: var(--orange); color: #fff; }
.st-ticket-sec { background: #fff; border: 1px solid var(--line-soft); border-radius: 13px; padding: 14px; margin-bottom: 12px; }
.st-ticket-sec h4 { font-size: 13px; font-weight: 800; margin: 0 0 10px; color: var(--ink); }
.st-register { width: 100%; padding: 16px; border: none; border-radius: 12px; background: var(--green); color: #fff; font-size: 15px; font-weight: 800; font-family: var(--serif); letter-spacing: .06em; cursor: pointer; box-shadow: 0 12px 22px -10px rgba(91,168,90,.8); }
.st-caption { text-align: center; font-size: 11px; color: var(--muted); margin-top: 10px; }

.st-done-overlay { position: fixed; inset: 0; z-index: 90; background: rgba(44,27,16,.55); display: flex; align-items: center; justify-content: center; padding: 20px; }
.st-done { width: 100%; max-width: 420px; background: #fff; border-radius: 20px; padding: 30px 26px; text-align: center; }
.st-done .ck { width: 70px; height: 70px; border-radius: 50%; background: var(--green); color: #fff; font-size: 34px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.st-done h2 { font-family: var(--serif); font-size: 19px; font-weight: 800; margin: 0 0 6px; }
.st-done .sub { font-size: 12px; color: var(--muted); margin-bottom: 16px; }

@media (max-width: 899px) {
  .st-board { display: block; }
  .st-right { flex: none; border-left: none; padding: 14px; }
  .st-left { padding: 14px; }
  .st-quick { grid-template-columns: 1fr 1fr; }
}
