/* ============================================================
   THE PIRATES' TREASURE — Bright EngMath  |  style.css
   ============================================================ */

:root{
  --navy:#0b1437;
  --navy2:#131d4d;
  --purple:#3a2a6d;
  --ocean:#1560bd;
  --ocean2:#0e4a94;
  --turq:#26c6da;
  --turq-dark:#0e8a9c;
  --gold:#ffcf4d;
  --gold-deep:#e8a417;
  --cream:#fff7e6;
  --coral:#ff6f61;
  --coral-dark:#e2503f;
  --ink:#eaf0ff;
  --ink-soft:#b6c2e6;
  --card:#182459;
  --card-2:#1f2c6b;
  --line:rgba(255,255,255,.10);
  --good:#37d67a;
  --bad:#ff5d6c;
  --warn:#ffb547;
  --shadow:0 18px 40px rgba(0,0,0,.35);
  --radius:20px;
  --sidebar-w:270px;
  --font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, "Noto Sans Thai", "Sarabun", sans-serif;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font);
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(38,198,218,.18), transparent 60%),
    radial-gradient(900px 500px at 0% 100%, rgba(255,111,97,.14), transparent 55%),
    linear-gradient(160deg,#0a1230 0%, #0b1437 45%, #14224f 100%);
  background-attachment:fixed;
  min-height:100vh;
  line-height:1.6;
}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;}
a{color:var(--turq);}
::selection{background:var(--gold);color:#3a2a00;}

/* ---------- SIDEBAR ---------- */
.sidebar{
  position:fixed; top:0; left:0; width:var(--sidebar-w); height:100vh;
  background:linear-gradient(180deg,#0a1130,#111a45);
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; z-index:60;
  transition:transform .28s ease;
}
.brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid var(--line);}
.brand-logo{
  width:44px;height:44px;border-radius:12px;flex:none;
  display:grid;place-items:center;font-size:22px;color:#3a2a00;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  box-shadow:0 6px 16px rgba(232,164,23,.5);
}
.brand-name{font-weight:800;font-size:19px;letter-spacing:.3px;}
.brand-name span{color:var(--turq);}
.brand-tag{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:1.5px;}
.nav-list{flex:1;overflow-y:auto;padding:10px 10px 20px;}
.nav-list::-webkit-scrollbar{width:8px;}
.nav-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px;}
.nav-item{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:9px 12px;margin:2px 0;border:none;border-radius:12px;
  background:transparent;color:var(--ink-soft);font-size:13.5px;font-family:inherit;
  cursor:pointer;text-align:left;transition:.15s;position:relative;
}
.nav-item:hover{background:rgba(255,255,255,.06);color:var(--ink);}
.nav-item.active{background:linear-gradient(90deg,rgba(38,198,218,.22),rgba(38,198,218,.05));color:#fff;font-weight:700;}
.nav-item.active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--gold);}
.nav-ico{width:20px;text-align:center;flex:none;}
.nav-check{margin-left:auto;color:var(--good);font-weight:800;opacity:0;transition:.2s;}
.nav-item.done .nav-check{opacity:1;}
.nav-footer{padding:14px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-soft);}
.mini-progress{height:7px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden;margin-bottom:6px;}
.mini-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--turq),var(--gold));transition:width .5s;}

.sidebar-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55;}

/* ---------- MAIN ---------- */
.main-wrap{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column;}
.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:14px;
  padding:12px 22px;background:rgba(10,17,44,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.hamburger{display:none;background:none;border:none;color:var(--ink);font-size:24px;cursor:pointer;}
.topbar-title{font-weight:700;font-size:16px;flex:1;}
.coin-counter{
  display:flex;align-items:center;gap:7px;padding:6px 14px;border-radius:30px;
  background:linear-gradient(135deg,rgba(255,207,77,.2),rgba(232,164,23,.1));
  border:1px solid rgba(255,207,77,.4);font-weight:800;color:var(--gold);
}
.coin-ico{font-size:16px;}
.content{flex:1;padding:30px clamp(16px,4vw,46px);max-width:1080px;width:100%;margin:0 auto;}
.site-footer{
  padding:22px;text-align:center;color:var(--ink-soft);font-size:12.5px;
  border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;
}

/* ---------- SECTIONS ---------- */
.section{animation:fade .4s ease;}
@keyframes fade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.section-head{margin-bottom:22px;}
.eyebrow{display:inline-block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--turq);font-weight:800;margin-bottom:6px;}
.section h1{font-size:clamp(26px,4vw,38px);}
.section h2{font-size:clamp(20px,3vw,26px);}
.lead{color:var(--ink-soft);font-size:16px;max-width:70ch;}

/* ---------- CARDS ---------- */
.card{
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow);margin-bottom:18px;
}
.card.pad-lg{padding:28px;}
.grid{display:grid;gap:16px;}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 22px;border-radius:14px;border:none;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:700;transition:.18s;
  background:linear-gradient(135deg,var(--turq),var(--turq-dark));color:#04252b;
  box-shadow:0 8px 20px rgba(38,198,218,.28);
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);}
.btn:active{transform:translateY(0);}
.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#3a2600;box-shadow:0 8px 20px rgba(232,164,23,.3);}
.btn.coral{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;box-shadow:0 8px 20px rgba(255,111,97,.3);}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none;}
.btn.ghost:hover{background:rgba(255,255,255,.06);}
.btn.sm{padding:8px 15px;font-size:13px;border-radius:11px;}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:30px;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.08);border:1px solid var(--line);}
.chip.gold{background:rgba(255,207,77,.16);color:var(--gold);border-color:rgba(255,207,77,.35);}
.chip.turq{background:rgba(38,198,218,.16);color:var(--turq);border-color:rgba(38,198,218,.35);}

/* ---------- HOME ---------- */
.hero{
  position:relative;overflow:hidden;border-radius:26px;padding:44px;
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(255,207,77,.22), transparent 60%),
    linear-gradient(135deg,#152a6b,#1c1350 60%, #241a5e);
  border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:24px;
}
.hero::after{content:"🗺️";position:absolute;right:-10px;bottom:-24px;font-size:150px;opacity:.10;transform:rotate(-12deg);}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.hero h1{font-size:clamp(30px,6vw,50px);margin-bottom:8px;}
.hero .subtitle{font-size:18px;color:var(--gold);font-weight:700;margin-bottom:14px;}
.hero .desc{max-width:60ch;color:var(--ink-soft);font-size:16px;margin-bottom:24px;}
.hero .btn-row{position:relative;z-index:2;}
.stat-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
.stat{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:16px;padding:14px 18px;min-width:120px;}
.stat b{display:block;font-size:22px;color:var(--gold);}
.stat span{font-size:12px;color:var(--ink-soft);}

.progress-wrap{margin-top:22px;}
.progress-outer{height:14px;border-radius:10px;background:rgba(255,255,255,.1);overflow:hidden;}
.progress-inner{height:100%;width:0;background:linear-gradient(90deg,var(--turq),var(--gold));transition:width .6s;border-radius:10px;}
.obj-list{list-style:none;padding:0;margin:10px 0 0;}
.obj-list li{display:flex;gap:10px;padding:7px 0;color:var(--ink-soft);}
.obj-list li::before{content:"✦";color:var(--gold);}

.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:8px;}
.map-card{
  display:flex;flex-direction:column;gap:6px;text-align:left;
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;transition:.18s;
  color:var(--ink);font-family:inherit;position:relative;
}
.map-card:hover{transform:translateY(-3px);border-color:rgba(38,198,218,.5);box-shadow:0 12px 26px rgba(0,0,0,.3);}
.map-card .mc-ico{font-size:24px;}
.map-card .mc-title{font-weight:700;font-size:15px;}
.map-card .mc-sub{font-size:12px;color:var(--ink-soft);}
.map-card .mc-done{position:absolute;top:12px;right:12px;color:var(--good);font-weight:800;opacity:0;}
.map-card.done .mc-done{opacity:1;}

/* ---------- QUIZ ---------- */
.q-block{margin-bottom:16px;}
.q-num{font-size:12px;color:var(--turq);font-weight:800;letter-spacing:1px;}
.q-text{font-size:17px;font-weight:600;margin:4px 0 14px;}
.q-text .en-frag{color:var(--gold);font-style:italic;}
.opt{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:13px 16px;margin:8px 0;border-radius:13px;cursor:pointer;font-family:inherit;
  font-size:15px;background:rgba(255,255,255,.05);border:1.5px solid var(--line);color:var(--ink);
  transition:.15s;
}
.opt:hover:not(.locked){background:rgba(255,255,255,.1);border-color:rgba(38,198,218,.4);}
.opt .opt-key{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-weight:800;font-size:13px;}
.opt.correct{background:rgba(55,214,122,.16);border-color:var(--good);}
.opt.correct .opt-key{background:var(--good);color:#053a1c;}
.opt.wrong{background:rgba(255,93,108,.14);border-color:var(--bad);}
.opt.wrong .opt-key{background:var(--bad);color:#3a0008;}
.opt.locked{cursor:default;}
.opt.chosen{border-color:var(--turq);}

.feedback{margin-top:12px;padding:13px 16px;border-radius:12px;font-size:14px;display:none;}
.feedback.show{display:block;animation:fade .25s;}
.feedback.ok{background:rgba(55,214,122,.12);border:1px solid rgba(55,214,122,.4);}
.feedback.no{background:rgba(255,93,108,.12);border:1px solid rgba(255,93,108,.4);}
.feedback .fb-th{color:var(--ink-soft);display:block;margin-top:4px;}

.input-line{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0;}
.text-in{
  padding:11px 15px;border-radius:12px;border:1.5px solid var(--line);
  background:rgba(255,255,255,.06);color:var(--ink);font-family:inherit;font-size:15px;min-width:160px;
}
.text-in:focus{outline:none;border-color:var(--turq);}

.quiz-progress{font-size:13px;color:var(--ink-soft);}
.scorebar{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 20px;border-radius:16px;margin-top:18px;
  background:linear-gradient(135deg,rgba(255,207,77,.14),rgba(38,198,218,.08));
  border:1px solid rgba(255,207,77,.3);
}
.scorebar .big{font-size:30px;font-weight:800;color:var(--gold);}

/* ---------- TF/NG buttons ---------- */
.tfng-row{display:flex;gap:8px;flex-wrap:wrap;}
.tfng-btn{padding:9px 16px;border-radius:11px;border:1.5px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink);font-family:inherit;font-weight:700;cursor:pointer;font-size:13.5px;transition:.15s;}
.tfng-btn:hover{background:rgba(255,255,255,.1);}
.tfng-btn.pick{border-color:var(--turq);background:rgba(38,198,218,.15);}
.tfng-btn.correct{background:rgba(55,214,122,.18);border-color:var(--good);}
.tfng-btn.wrong{background:rgba(255,93,108,.16);border-color:var(--bad);}

/* ---------- FLASHCARDS ---------- */
.flash-stage{display:flex;flex-direction:column;align-items:center;gap:16px;}
.flash{
  width:100%;max-width:460px;height:250px;perspective:1200px;cursor:pointer;
}
.flash-inner{position:relative;width:100%;height:100%;transition:transform .55s;transform-style:preserve-3d;}
.flash.flipped .flash-inner{transform:rotateY(180deg);}
.flash-face{
  position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;
  border:1px solid var(--line);box-shadow:var(--shadow);
}
.flash-front{background:linear-gradient(160deg,#1c2c72,#25348a);}
.flash-front .fw{font-size:34px;font-weight:800;}
.flash-front .fipa{color:var(--turq);font-size:16px;}
.flash-front .fpos{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:2px;}
.flash-back{background:linear-gradient(160deg,#3a2a6d,#4a2f7a);transform:rotateY(180deg);}
.flash-back .fth{font-size:26px;font-weight:800;color:var(--gold);}
.flash-back .fdef{font-size:14px;color:var(--ink-soft);}
.flash-back .fex{font-size:13px;font-style:italic;margin-top:6px;}
.flash-hint{font-size:12px;color:var(--ink-soft);}

/* ---------- MATCHING ---------- */
.match-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.match-col{display:flex;flex-direction:column;gap:10px;}
.match-item{
  padding:12px 15px;border-radius:12px;border:1.5px solid var(--line);
  background:rgba(255,255,255,.05);cursor:pointer;transition:.15s;font-size:14.5px;
}
.match-item:hover{background:rgba(255,255,255,.1);}
.match-item.sel{border-color:var(--turq);background:rgba(38,198,218,.15);}
.match-item.done{opacity:.55;border-color:var(--good);background:rgba(55,214,122,.1);cursor:default;}
.match-item.badflash{animation:shake .4s;border-color:var(--bad);}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-6px);}75%{transform:translateX(6px);}}

/* ---------- TIMELINE DRAG ---------- */
.timeline-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.tl-item{
  display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;
  background:linear-gradient(160deg,var(--card),var(--card-2));border:1.5px solid var(--line);
  cursor:grab;transition:.12s;
}
.tl-item.dragging{opacity:.4;}
.tl-item.over{border-color:var(--turq);}
.tl-item.correct{border-color:var(--good);background:rgba(55,214,122,.1);}
.tl-item.wrong{border-color:var(--bad);background:rgba(255,93,108,.1);}
.tl-handle{color:var(--ink-soft);font-size:18px;cursor:grab;}
.tl-num{width:28px;height:28px;flex:none;border-radius:8px;background:rgba(255,207,77,.2);color:var(--gold);display:grid;place-items:center;font-weight:800;}
.tl-text{flex:1;font-size:14.5px;}
.tl-move{display:flex;flex-direction:column;gap:2px;}
.tl-move button{background:rgba(255,255,255,.08);border:none;color:var(--ink);border-radius:6px;width:26px;height:20px;cursor:pointer;font-size:11px;}
.tl-move button:hover{background:var(--turq);color:#04252b;}

/* ---------- READ ALOUD / STORY ---------- */
.story-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.part-dots{display:flex;gap:6px;flex-wrap:wrap;}
.part-dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer;transition:.15s;}
.part-dot.active{background:var(--gold);transform:scale(1.3);}
.part-dot.seen{background:var(--turq);}
.en-para{font-size:16.5px;line-height:1.8;}
.hard-words{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;}
.hard-word{padding:5px 12px;border-radius:20px;background:rgba(255,207,77,.14);border:1px solid rgba(255,207,77,.3);font-size:13px;}
.hard-word b{color:var(--gold);}
.th-box{margin-top:12px;padding:14px 16px;border-radius:12px;background:rgba(38,198,218,.08);border:1px solid rgba(38,198,218,.25);display:none;}
.th-box.show{display:block;animation:fade .25s;}

/* ---------- TABLE / VOCAB LIST ---------- */
.vocab-table{width:100%;border-collapse:collapse;font-size:14px;}
.vocab-table th,.vocab-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;}
.vocab-table th{color:var(--turq);font-size:12px;text-transform:uppercase;letter-spacing:1px;}
.vocab-table tr:hover td{background:rgba(255,255,255,.03);}
.vocab-table .vw{font-weight:800;font-size:15px;}
.vocab-table .vipa{color:var(--turq);font-size:12px;}
.vocab-table .vth{color:var(--gold);}
.spk{background:rgba(38,198,218,.15);border:1px solid rgba(38,198,218,.3);color:var(--turq);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px;}
.spk:hover{background:var(--turq);color:#04252b;}

/* ---------- TABS ---------- */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.tab{padding:9px 16px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink-soft);font-family:inherit;font-weight:700;cursor:pointer;font-size:13.5px;transition:.15s;}
.tab:hover{color:var(--ink);}
.tab.active{background:linear-gradient(135deg,var(--turq),var(--turq-dark));color:#04252b;border-color:transparent;}

/* ---------- MOCK NAVIGATOR ---------- */
.mock-layout{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start;}
.navigator{position:sticky;top:80px;}
.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0;}
.nav-cell{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--ink-soft);font-weight:700;font-size:13px;cursor:pointer;transition:.12s;}
.nav-cell:hover{border-color:var(--turq);}
.nav-cell.answered{background:rgba(38,198,218,.25);color:#fff;border-color:var(--turq);}
.nav-cell.current{outline:2px solid var(--gold);}
.nav-cell.flagged{background:rgba(255,181,71,.3);border-color:var(--warn);}
.nav-cell.flagged::after{content:"⚑";position:absolute;}
.legend{font-size:11.5px;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px;}
.legend span{display:flex;align-items:center;gap:6px;}
.dot{width:12px;height:12px;border-radius:4px;display:inline-block;}

/* ---------- RESULTS DASHBOARD ---------- */
.perf-banner{border-radius:20px;padding:28px;text-align:center;margin-bottom:20px;background:linear-gradient(135deg,#152a6b,#241a5e);border:1px solid var(--line);}
.perf-banner .score-big{font-size:56px;font-weight:800;color:var(--gold);line-height:1;}
.perf-banner .level{font-size:20px;font-weight:700;margin-top:8px;}
.ring-row{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;}
.ring{position:relative;width:120px;height:120px;}
.ring svg{transform:rotate(-90deg);}
.ring .ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ring .ring-pct{font-size:22px;font-weight:800;}
.ring .ring-name{font-size:11px;color:var(--ink-soft);}

/* ---------- PRINT SHEET ---------- */
.print-sheet{background:#fff;color:#1a1a1a;border-radius:14px;padding:30px;}
.print-sheet h2,.print-sheet h3{color:#0b1437;}
.print-sheet .ps-section{margin-bottom:18px;}
.print-sheet ul{margin:6px 0;padding-left:20px;}
.print-sheet .ps-vocab{columns:2;font-size:13px;}
.print-sheet .checklist{list-style:none;padding:0;}
.print-sheet .checklist li::before{content:"☐ ";}

.callout{border-left:4px solid var(--gold);padding:12px 16px;background:rgba(255,207,77,.08);border-radius:0 12px 12px 0;margin:14px 0;}
.callout.info{border-color:var(--turq);background:rgba(38,198,218,.08);}
.small{font-size:13px;color:var(--ink-soft);}
.hidden{display:none !important;}
.center{text-align:center;}
.mt{margin-top:18px;}

/* ---------- TOAST ---------- */
.toast{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120px);
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#3a2600;
  padding:13px 22px;border-radius:30px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.4);
  z-index:100;transition:transform .35s cubic-bezier(.2,1.4,.4,1);display:flex;gap:8px;align-items:center;
}
.toast.show{transform:translateX(-50%) translateY(0);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  :root{--sidebar-w:0px;}
  .sidebar{transform:translateX(-100%);width:280px;}
  .sidebar.open{transform:translateX(0);}
  .sidebar-scrim.open{display:block;}
  .main-wrap{margin-left:0;}
  .hamburger{display:block;}
  .mock-layout{grid-template-columns:1fr;}
  .navigator{position:static;}
  .match-grid{grid-template-columns:1fr;}
  .print-sheet .ps-vocab{columns:1;}
}
@media (max-width:520px){
  .hero{padding:28px 20px;}
  .content{padding:22px 16px;}
  .flash{height:220px;}
}

/* ---------- PRINT ---------- */
@media print{
  @page{size:A4;margin:14mm;}
  body{background:#fff !important;color:#000;}
  .sidebar,.topbar,.site-footer,.sidebar-scrim,.toast,.no-print,.btn{display:none !important;}
  .main-wrap{margin:0;}
  .content{max-width:100%;padding:0;}
  .print-sheet{box-shadow:none;border-radius:0;padding:0;color:#000;}
  .card{box-shadow:none;border:1px solid #ccc;break-inside:avoid;background:#fff;color:#000;}
  .section:not(#sec-review){display:none;}
}
