.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tool-sec{padding:2.5rem 1rem 0}
.tool-wrap{max-width:60rem;margin:0 auto}
.tool-card{padding:1.5rem}
.tool-grid{display:grid;gap:1.75rem;grid-template-columns:1fr}
@media(min-width:800px){.tool-grid{grid-template-columns:1fr 1fr;align-items:center}}
.tool-controls{display:flex;flex-direction:column;gap:.85rem}
.tool-controls .btn-primary,.tool-controls .btn-secondary{width:100%;justify-content:center;text-align:center;cursor:pointer}
.tool-or{text-align:center;color:rgba(255,255,255,.6);font-size:.85rem}
.tool-controls select.input,.tool-controls input.input{width:100%}
.tool-manual summary{cursor:pointer;color:var(--gold-light);font-size:.9rem}
.tool-manual .row{display:flex;gap:.6rem;margin-top:.7rem;flex-wrap:wrap}
.tool-manual .row input{flex:1;min-width:6rem}
.tool-status{min-height:1.5rem;font-size:.92rem;color:rgba(255,255,255,.8);line-height:1.5;margin:0}
.tool-status.ok{color:#34d399}.tool-status.err{color:#f87171}
.tool-result{display:flex;flex-direction:column;align-items:center;gap:1rem}
.compass{width:100%;max-width:19rem}
.compass svg{width:100%;height:auto;display:block}
.q-readout{text-align:center}
.q-deg{font-size:2.6rem;font-weight:700;color:var(--gold-light);line-height:1.1}
.q-dir{font-size:1.05rem;color:#fff;margin-top:.25rem}
.q-dist{font-size:.9rem;color:rgba(255,255,255,.7);margin-top:.25rem}
.cal-today{text-align:center;padding:1.75rem 1rem}
.cal-today .big{font-size:2.1rem;font-weight:700;color:var(--gold-light);line-height:1.2}
.cal-today .sub{color:#fff;font-size:1.1rem;margin-top:.4rem}
.cal-today .note{color:rgba(255,255,255,.65);font-size:.85rem;margin-top:.75rem}
.cal-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:1.25rem}
@media(min-width:800px){.cal-grid{grid-template-columns:1fr 1fr}}
.cal-panel{padding:1.4rem}
.cal-panel h2{font-size:1.15rem;margin:0 0 .9rem;color:var(--gold-light)}
.cal-panel label{display:block;font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:.3rem}
.cal-row{display:grid;grid-template-columns:5rem 1fr 6.5rem;gap:.6rem}
.cal-out{margin-top:1rem;font-size:1.05rem;font-weight:600;color:#fff;min-height:1.6rem}
.cal-events{list-style:none;padding:0;margin:.5rem 0 0}
.cal-events li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.cal-events li:last-child{border-bottom:0}
.cal-events .nm{font-weight:600;color:#fff}
.cal-events .dt{color:rgba(255,255,255,.8);font-size:.92rem}
.cal-events .in{color:var(--gold-light);font-size:.85rem;white-space:nowrap}
