/* Settingstone Legal — shared shell for the tool pages.
   Adds three things to every tool without touching the tool itself:
   the "All tools" switcher in the topbar, the "About this tool" drawer,
   and a common footer with the Terms link. Every class is prefixed ss-
   so nothing here can collide with a tool's own styles. */

/* The tool topbars are single flex rows; with two more controls in them they must be allowed to wrap. */
.topbar{flex-wrap:wrap}

/* ── switcher ── */
.ss-switch{position:relative;display:inline-block}
.ss-switch-btn{font-family:'Cinzel',Georgia,serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#e2c47a;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.35);border-radius:3px;padding:6px 10px;cursor:pointer;white-space:nowrap;line-height:1}
.ss-switch-btn:hover,.ss-switch-btn[aria-expanded="true"]{background:rgba(201,168,76,.18);color:#fff}
.ss-switch-btn:focus-visible{outline:2px solid #e2c47a;outline-offset:2px}
.ss-menu{position:absolute;left:0;top:calc(100% + 10px);min-width:300px;max-width:min(92vw,360px);max-height:min(76vh,640px);overflow:auto;background:#0f1d33;border:1px solid rgba(201,168,76,.3);box-shadow:0 18px 48px rgba(6,13,26,.45);border-radius:6px;padding:8px 0 6px;z-index:60;font-family:'Inter',system-ui,sans-serif;text-align:left}
.ss-menu[hidden]{display:none!important}
.ss-menu a{display:block;padding:7px 16px;color:#e8ecf4;text-decoration:none;font-size:.86rem;line-height:1.3}
.ss-menu a small{display:block;color:rgba(220,230,245,.55);font-size:.72rem;margin-top:1px}
.ss-menu a:hover,.ss-menu a:focus-visible{background:rgba(201,168,76,.12);color:#fff;outline:none}
.ss-menu a[aria-current="page"]{color:#e2c47a}
.ss-menu a[aria-current="page"]::before{content:"◆ ";font-size:.6rem;vertical-align:2px}
.ss-menu-home{border-bottom:1px solid rgba(201,168,76,.18);margin-bottom:4px;padding-bottom:9px!important;font-weight:600}
.ss-menu-label{font-family:'Cinzel',Georgia,serif;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:#c9a84c;padding:10px 16px 3px}
a.ss-menu-label{display:block;text-decoration:none;font-size:.56rem!important;line-height:1.3}
a.ss-menu-label span{color:rgba(220,230,245,.55);letter-spacing:.06em;text-transform:none;font-family:'Inter',system-ui,sans-serif;font-size:.7rem;margin-left:6px}
a.ss-menu-label:hover span,a.ss-menu-label:focus-visible span{color:#fff}
/* The Atlas topbars are dark too; the switcher takes the same place beside the brand. */
.topbar .ss-switch{margin-right:4px}

/* ── about button + drawer ── */
.ss-about-btn{font-family:'Cinzel',Georgia,serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(220,230,245,.85);background:none;border:1px solid rgba(220,230,245,.28);border-radius:3px;padding:6px 10px;cursor:pointer;white-space:nowrap;line-height:1}
.ss-about-btn:hover{color:#fff;border-color:rgba(220,230,245,.6)}
.ss-about-btn:focus-visible{outline:2px solid #e2c47a;outline-offset:2px}
.ss-about-btn .ss-short{display:none}
.ss-about-veil{position:fixed;inset:0;background:rgba(10,22,40,.55);z-index:900;backdrop-filter:blur(2px)}
.ss-about-veil[hidden],.ss-about[hidden]{display:none!important}
.ss-about{position:fixed;top:0;right:0;bottom:0;width:min(440px,94vw);background:#fbf8f1;color:#14213a;z-index:901;box-shadow:-18px 0 48px rgba(10,22,40,.35);padding:28px 30px 34px;overflow:auto;font-family:'Inter',system-ui,sans-serif;font-size:.9rem;line-height:1.55;border-left:3px solid #c9a84c}
.ss-about-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:1px solid #d9d2c1;background:#fff;border-radius:50%;cursor:pointer;font-size:.95rem;color:#14213a;line-height:1}
.ss-about-close:hover{background:#0a1628;color:#fff;border-color:#0a1628}
.ss-about-close:focus-visible{outline:2px solid #c9a84c;outline-offset:2px}
.ss-about-kicker{font-family:'Cinzel',Georgia,serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#a8862e;margin-bottom:8px}
.ss-about h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:1.7rem;line-height:1.1;margin:0 0 10px;color:#0a1628}
.ss-about-job{margin:0 0 20px;font-size:.98rem;color:#14213a}
.ss-about dl{margin:0;border-top:1px solid #e3ddcd}
.ss-about dt{font-family:'Cinzel',Georgia,serif;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#a8862e;padding:14px 0 4px}
.ss-about dd{margin:0 0 6px;color:#2b3346}
.ss-about-foot{margin:22px 0 0;padding-top:14px;border-top:1px solid #e3ddcd;font-size:.78rem;color:#6b6a63;font-style:italic}
.ss-about-foot a{color:#0a1628}

/* ── footer ── */
.ss-foot{background:#0a1628;color:#dfe5f0;font-family:'Inter',system-ui,sans-serif;margin-top:56px;border-top:3px solid #c9a84c}
.ss-foot-inner{max-width:1180px;margin:0 auto;padding:36px 28px 30px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px 40px;align-items:start}
.ss-foot-brand a{font-family:'Cinzel',Georgia,serif;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none}
.ss-foot-brand a span{color:#c9a84c}
.ss-foot-tag{font-size:.8rem;color:rgba(220,230,245,.6);margin-top:6px}
.ss-foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;justify-self:end;font-family:'Cinzel',Georgia,serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.ss-foot-links a{color:#e2c47a;text-decoration:none;white-space:nowrap}
.ss-foot-links a:hover{color:#fff}
.ss-foot-disc{grid-column:1/-1;font-size:.76rem;line-height:1.55;color:rgba(220,230,245,.6);margin:0;max-width:78ch}
.ss-foot-disc a{color:#c9a84c}
.ss-foot-copy{grid-column:1/-1;font-size:.72rem;color:rgba(220,230,245,.45)}

@media (max-width:720px){
  .ss-about-btn .ss-long{display:none}
  .ss-about-btn .ss-short{display:inline}
  .ss-menu{position:fixed;left:12px;right:12px;top:64px;min-width:0;max-width:none;max-height:calc(100vh - 80px)}
  .topbar .topbar-note{display:none}
  .ss-foot-inner{grid-template-columns:1fr;padding:28px 20px 26px}
  .ss-foot-links{justify-self:start}
}
@media print{.ss-switch,.ss-about-btn,.ss-about,.ss-about-veil,.ss-foot{display:none!important}}

/* ── restore banner (Pass 2) ── */
.ss-restore{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fbf3dc;color:#3b3320;border-bottom:1px solid #e6d7a8;padding:8px 26px;font-family:'Inter',system-ui,sans-serif;font-size:.8rem}
.ss-restore-text{flex:1 1 320px}
.ss-restore-fresh{font-family:'Cinzel',Georgia,serif;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;background:#0a1628;color:#fff;border:0;border-radius:3px;padding:7px 12px;cursor:pointer}
.ss-restore-fresh:hover{background:#1c2f52}
.ss-restore-x{background:none;border:0;color:#7a6a3a;cursor:pointer;font-size:.9rem;padding:4px 6px}
@media print{.ss-restore{display:none!important}}
/* Chrome's scroll anchoring nudges the page down when the banner is inserted above the content; hold the top while it is shown. */
html:has(.ss-restore),html:has(.ss-restore) body{overflow-anchor:none}

/* ── sample label + start blank (Pass 2) ── */
.ss-sample{font-size:.74rem;color:#7a6a3a;margin-top:6px;line-height:1.5}
.ss-sample[hidden]{display:none!important}
.ss-link{background:none;border:0;padding:0;color:#0a1628;font:inherit;text-decoration:underline;cursor:pointer}
.ss-pill{display:inline-block;vertical-align:middle;margin-left:8px;font-family:'Cinzel',Georgia,serif;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#7a6a3a;background:#fbf3dc;border:1px solid #e6d7a8;border-radius:3px;padding:3px 7px;position:relative;top:-4px}
.ss-pill[hidden]{display:none!important}

/* ── AI note under an AI button (Pass 2) ── */
.ss-ai-note{font-size:.7rem;color:#6b7280;line-height:1.5;margin:-4px 0 8px;font-family:'Inter',system-ui,sans-serif}

/* ── glossary terms (Pass 2) ── */
.ss-term{text-decoration:underline dotted;text-decoration-color:#b8933a;text-underline-offset:3px;cursor:help}
.ss-term:focus-visible{outline:2px solid #c9a84c;outline-offset:2px}
.ss-tip{position:fixed;z-index:950;max-width:320px;background:#0f1d33;color:#e8ecf4;border:1px solid rgba(201,168,76,.35);border-radius:6px;padding:10px 12px;font-family:'Inter',system-ui,sans-serif;font-size:.78rem;line-height:1.5;box-shadow:0 12px 32px rgba(6,13,26,.35);pointer-events:none}
.ss-tip b{color:#e2c47a;display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-family:'Cinzel',Georgia,serif}
.ss-about .ss-words dt{padding-top:10px}
