.tools-page{max-width:var(--wrap);flex-direction:column;gap:clamp(32px,5vw,56px);margin-inline:auto;padding-block:40px 80px;padding-inline:clamp(16px,5vw,48px);display:flex}.tools-hero{flex-direction:column;gap:16px;display:flex}.tools-hero h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(2.3rem,5.2vw,3.8rem);font-weight:800;line-height:1.03}.tools-crumb{font-family:var(--font-label);letter-spacing:.06em;color:var(--ink-2);align-items:center;gap:10px;font-size:.76rem;display:flex}.tools-crumb a{color:var(--ink-2)}.tools-crumb a:hover{color:var(--ink)}.tools-crumb .sep{color:var(--line-strong)}.tool-answer{border-left:2px solid var(--spark);max-width:62ch;color:var(--ink-2);text-wrap:pretty;margin:0;padding:12px 0 12px 17px;font-size:1.02rem;line-height:1.55}.tool-section{flex-direction:column;gap:16px;display:flex}.tool-section__head{flex-direction:column;gap:6px;display:flex}.tool-section__head h2{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(1.5rem,2.8vw,2.05rem);font-weight:700;line-height:1.08}.tool-workspace{flex-direction:column;gap:18px;display:flex}.tool-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tool-loc{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);color:var(--ink);align-items:center;gap:10px;min-height:44px;padding:8px 16px 8px 12px;display:inline-flex}.tool-loc__name{font-size:.95rem;font-weight:600}.tool-loc__detail{color:var(--ink-2);border-left:1px solid var(--line);padding-left:10px;font-size:.78rem}.tool-field{align-items:center;gap:8px;display:inline-flex}.tool-field__l{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:.66rem}.tool-select,.tool-date{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-pill);font:500 .9rem var(--font-body);min-height:44px;padding:9px 14px}.tool-date{font-family:var(--font-label)}.tool-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-pill);font:600 .9rem var(--font-body);cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:9px 16px;display:inline-flex}.tool-chip:hover:not(:disabled){border-color:var(--ink)}.tool-chip:disabled{opacity:.6;cursor:default}.tool-status{color:var(--ink-2);font-size:.78rem}.tool-select:focus-visible,.tool-date:focus-visible,.tool-chip:focus-visible{outline:2px solid var(--spark);outline-offset:2px}.tool-panel{border-radius:var(--r-lg);background:var(--app-surface);color:var(--app-ink);flex-direction:column;gap:22px;padding:28px clamp(18px,3vw,36px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -34px #0a0e148c,0 4px 14px -6px #0a0e1440}.tool-hero{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:30px;display:grid}.tool-hero--rev{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.tool-hero__main{flex-direction:column;gap:12px;min-width:0;display:flex}.tool-side{border-left:1px solid var(--app-line);flex-direction:column;gap:12px;min-width:0;padding-left:30px;display:flex}.tool-side--divide-right{border-left:none;border-right:1px solid var(--app-line);padding-left:0;padding-right:30px}@media (max-width:780px){.tool-hero,.tool-hero--rev{grid-template-columns:minmax(0,1fr)}.tool-side{border-left:none;border-top:1px solid var(--app-line);padding-top:18px;padding-left:0}.tool-side--divide-right{border-right:none;padding-right:0}}.tool-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tool-panel .kicker,.tool-side .kicker,.tool-hero__main .kicker{color:var(--app-ink-muted)}.tool-big{font-family:var(--font-label);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--app-ink);font-size:clamp(2.4rem,5.2vw,3.5rem);font-weight:500;line-height:1}.tool-big--soon{color:#e8a13a}.tool-big--muted{color:var(--app-ink-muted)}.tool-sub{color:var(--app-ink-muted);font-size:1rem}.tool-readout{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 22px;display:grid}.tool-readout--single{grid-template-columns:1fr;gap:10px}.tool-stat{flex-direction:column;gap:2px;display:flex}.tool-stat__l{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--app-ink-muted);font-size:.66rem}.tool-stat__v{font-family:var(--font-label);font-variant-numeric:tabular-nums;color:var(--app-ink);font-size:1.05rem}.tool-svg{width:100%;height:auto;display:block}.tool-svg--scrub{cursor:ew-resize;touch-action:pan-y}.tool-svg text{font-family:var(--font-label);font-variant-numeric:tabular-nums}.tool-legend{color:var(--app-ink);flex-wrap:wrap;gap:10px 20px;font-size:.85rem;display:flex}.tool-legend span{align-items:center;gap:8px;display:inline-flex}.tool-sw{border-radius:6px;flex:none;width:14px;height:8px;display:inline-block}.tool-tag{font-family:var(--font-label);letter-spacing:.04em;border:1px solid var(--app-line);border-radius:var(--r-pill);color:var(--app-ink-muted);align-items:center;gap:6px;padding:4px 10px;font-size:.7rem;display:inline-flex}.tool-tag--ok{color:#57c06a}.tool-compass-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.tool-compass-row svg text{fill:var(--app-ink-muted)}.tool-moonwrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.tool-moon{width:200px;height:200px;box-shadow:0 0 0 1px var(--app-line), 0 0 60px -12px #4f8fd659;background:#14171c;border-radius:50%}.tool-moonmeta{flex-direction:column;gap:4px;display:flex}.tool-moonname{font-family:var(--font-display);color:var(--app-ink);font-size:1.5rem;font-weight:600;line-height:1.15}.tool-moonsub{color:var(--app-ink-muted);font-size:.85rem}.tool-moonnext{color:#4f8fd6;margin-top:4px;font-size:.85rem}.tool-note-block{border-top:1px solid var(--app-line);flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;display:flex}.tool-note-block p{color:var(--app-ink-muted);max-width:58ch;margin:0;font-size:.92rem}.tool-strip-wrap{border-top:1px solid var(--app-line);flex-direction:column;grid-column:1/-1;gap:12px;padding-top:20px;display:flex}.tool-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.tool-day{border-radius:var(--r-md);border:1px solid var(--app-line);background:#22272e;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;display:flex}.tool-day--today{border-color:var(--app-ink-muted)}.tool-day__moon{background:#14171c;border-radius:50%;width:40px;height:40px}.tool-day__l{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--app-ink-muted);font-size:.64rem}.tool-day__v{font-family:var(--font-label);color:var(--app-ink);font-size:.76rem}@media (max-width:560px){.tool-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}.tool-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}@media (max-width:860px){.tool-tiles{grid-template-columns:1fr}}.tool-tile{border-radius:var(--r-lg);background:var(--app-surface);color:var(--app-ink);min-height:220px;text-decoration:none;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s;display:block;position:relative;overflow:hidden;box-shadow:0 30px 60px -34px #0a0e148c,0 4px 14px -6px #0a0e1440}.tool-tile:hover{transform:translateY(-3px);box-shadow:0 40px 70px -34px #0a0e1499}.tool-tile:focus-visible{outline:2px solid var(--spark);outline-offset:3px}.tool-tile__glow{pointer-events:none;position:absolute;inset:0}.tool-tile__body{flex-direction:column;gap:12px;height:100%;padding:24px;display:flex;position:relative}.tool-tile .kicker{color:var(--app-ink-muted)}.tool-tile__foot{border-top:1px solid var(--app-line);color:var(--app-ink-muted);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:.8rem;display:flex}.tool-tile__go{color:#e8a13a}.tool-tile__moonrow{align-items:center;gap:16px;display:flex}.tool-tile__moon{background:#14171c;border-radius:50%;flex:none;width:56px;height:56px}.tool-cta{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--paper-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px clamp(20px,3vw,32px);display:flex}.tool-cta__copy{flex-direction:column;gap:8px;max-width:60ch;display:flex}.tool-cta__h{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.3rem;font-weight:700}.tool-cta__p{color:var(--ink-2);margin:0;font-size:.98rem}.tool-cta__badges{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tool-cta__note{font-family:var(--font-label);color:var(--ink-2);font-size:.74rem}.tool-rule{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:16px;padding:26px;display:flex}.tool-rule__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-verify{font-family:var(--font-label);border:1px solid var(--line);border-radius:var(--r-pill);align-items:center;gap:6px;padding:4px 10px;font-size:.72rem;display:inline-flex}.tool-verify--ok{color:#3f7a48}.tool-verify--no{color:var(--spark-ink)}.tool-rule__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 28px;display:grid}.tool-rule__row{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding:12px 0;display:flex}.tool-rule__row strong{font-size:.95rem;font-weight:600}.tool-rule__row span{font-family:var(--font-label);color:var(--ink-2);font-size:.82rem}.tool-rule__notes{color:var(--ink-2);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.tool-honest{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;padding:24px 28px;display:flex}.tool-honest p{color:var(--ink-2);max-width:72ch;margin:0;font-size:.98rem}.tool-honest .tool-sources{font-family:var(--font-label);color:var(--ink-2);flex-wrap:wrap;gap:22px;margin-top:6px;font-size:.76rem;display:flex}.tool-statelinks{flex-wrap:wrap;gap:8px;display:flex}.tool-statelinks a{font-family:var(--font-label);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);padding:6px 12px;font-size:.8rem}.tool-statelinks a:hover{border-color:var(--ink);color:var(--ink)}.tool-tile .tool-big{font-size:clamp(1.9rem,4vw,2.5rem)}.tool-tile__foot span:first-child{text-overflow:ellipsis;white-space:nowrap;max-width:62%;overflow:hidden}
