/* Terrain Sûr — Guide */
html.ts-grand{font-size:112.5%}
html.ts-grand body{font-size:17.5px}
.tg-fab{position:fixed;right:20px;bottom:20px;z-index:880;display:none;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1px solid rgba(246,240,228,.14);
  background:rgba(30,27,22,.86);color:#F6F0E4;font:700 14px/1 var(--body,system-ui);cursor:pointer;box-shadow:0 14px 34px -12px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);transition:transform .2s}
.tg-fab:hover{transform:translateY(-2px)}
.tg-fab:focus-visible{outline:3px solid var(--gold,#E9B220);outline-offset:3px}
@media (min-width:900px){.tg-fab{display:inline-flex}}
.tg-hint{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(96px + env(safe-area-inset-bottom));z-index:890;max-width:min(92vw,380px);
  background:var(--ink,#1E1B16);color:var(--paper,#FBF7EF);font:600 14px/1.4 var(--body,system-ui);padding:10px 14px;border-radius:14px;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);animation:tgIn .35s ease}
@media (min-width:900px){.tg-hint{left:auto;right:20px;transform:none;bottom:76px}}
@keyframes tgIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}

dialog.tg{border:0;padding:0;margin:auto auto 0;width:100%;max-width:560px;max-height:min(86vh,720px);border-radius:24px 24px 0 0;
  background:var(--card,#fff);color:var(--ink,#1E1B16);box-shadow:0 -10px 50px -10px rgba(0,0,0,.4);overflow:auto;overscroll-behavior:contain}
@media (min-width:640px){dialog.tg{margin:auto;border-radius:24px}}
dialog.tg[open]{animation:tgUp .3s cubic-bezier(.2,.9,.25,1.1)}
@keyframes tgUp{from{transform:translateY(30px);opacity:.4}to{transform:none;opacity:1}}
dialog.tg::backdrop{background:rgba(20,18,14,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.tg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 4px;position:sticky;top:0;background:var(--card,#fff);z-index:1}
.tg-eye{margin:0;font-size:12.5px;font-weight:700;color:var(--orange-deep,#B9500B);letter-spacing:.02em}
.tg-head h2{margin:2px 0 0;font-family:var(--display);font-size:24px;line-height:1.1}
.tg-x{border:0;background:var(--contour,#F2EBDD);color:inherit;width:40px;height:40px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;flex:none}
.tg-q{display:flex;gap:6px;margin:12px 20px 0;padding:5px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line,#E8DFCF);background:var(--card,#fff)}
.tg-q input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16px;padding:8px 8px;color:inherit}
.tg-q input:focus{outline:none}
.tg-q:focus-within{box-shadow:inset 0 0 0 2px var(--orange,#E8701A)}
.tg-mic,.tg-go{border:0;border-radius:10px;cursor:pointer;font:700 14px/1 var(--body,system-ui);min-width:44px;min-height:44px}
.tg-mic{background:var(--contour,#F2EBDD);color:inherit;display:grid;place-items:center}
.tg-mic.on{background:var(--hi-soft,#FBE3E3);color:var(--hi,#C0262D)}
.tg-go{background:var(--ink,#1E1B16);color:var(--paper,#FBF7EF);padding:0 14px}
.tg-body{padding:12px 20px calc(22px + env(safe-area-inset-bottom))}
.tg-tip{margin:0 0 12px;font-size:14px;color:var(--muted,#6B6358);background:var(--contour,#F2EBDD);border-radius:12px;padding:10px 12px}
.tg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.tg-chip{text-align:left;border:0;cursor:pointer;min-height:52px;padding:10px 12px;border-radius:14px;background:var(--card,#fff);color:inherit;
  box-shadow:inset 0 0 0 1.5px var(--line,#E8DFCF);font:600 14.5px/1.3 var(--body,system-ui);transition:box-shadow .15s,background .15s}
.tg-chip:hover,.tg-chip:focus-visible{box-shadow:inset 0 0 0 2px var(--orange,#E8701A);background:var(--orange-soft,#FCE9DA);outline:none}
.tg-ans{padding:14px;border-radius:14px;background:var(--contour,#F2EBDD);margin-bottom:10px}
.tg-ans b{font-family:var(--display);font-size:18px}
.tg-ans p{margin:6px 0 0;font-size:15px;line-height:1.5}
.tg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tg-btn{border:0;cursor:pointer;min-height:44px;padding:0 16px;border-radius:12px;background:var(--ink,#1E1B16);color:var(--paper,#FBF7EF);font:700 14px/1 var(--body,system-ui)}
.tg-back{border:0;background:none;color:var(--link,#B9500B);text-decoration:underline;cursor:pointer;font:600 14px var(--body,system-ui);padding:8px 0;min-height:44px}
.tg-none{margin:0 0 10px;font-size:15px}
.tg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){dialog.tg[open],.tg-hint{animation:none}.tg-fab{transition:none}}
@media print{.tg-fab,.tg-hint{display:none}}
