/* Fantasy Calendar Builder — layered on Toponym Forge's style.css (copied to src/shared/tf-style.css). */
nav.suite{font-size:.85rem;color:var(--muted);margin-bottom:.4rem}nav.suite a,footer a{color:var(--accent);font-weight:600}
.skip{position:absolute;left:-999px}.skip:focus{left:.5rem;top:.5rem;background:#fff;padding:.4rem;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
h3{margin:.2rem 0;font-size:1rem;color:#4a2e1a}
.seg{display:inline-flex;gap:.6rem;border:1px solid var(--line);border-radius:6px;padding:.25rem .6rem;background:#fff}
.seg label{font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:.8rem;font-size:.85rem;color:var(--muted);margin:.3rem 0}
.legend .dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.25rem;vertical-align:-1px}
.calgrid{overflow-x:auto}
table.month{table-layout:fixed;min-width:280px}
table.month caption{font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:1.2rem;font-weight:700;color:#3a1f10;text-align:left;padding:.2rem 0}
table.month caption small{font-family:system-ui;font-weight:400;color:var(--muted);font-size:.8rem}
table.month th{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
table.month td{height:4.2rem;vertical-align:top;border:1px solid #eadcbf;padding:.2rem .3rem;background:#fffdf7}
table.month td.empty{background:transparent;border-color:transparent}
table.month td .d{font-weight:700;color:#3a1f10}
table.month td .ph{display:block;font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.month td.inter{background:#f6e7c6}
table.month td.today{box-shadow:inset 0 0 0 2px var(--accent)}
.yeargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--ymin,230px)),1fr));gap:1rem}
.yeargrid table.month td{height:auto;padding:.1rem;text-align:center;font-size:.8rem}
.yeargrid table.month td .ph{display:inline;font-size:.6rem}
.yeargrid table.month caption{font-size:1rem}
.interblock{border:1px dashed var(--gold);border-radius:8px;padding:.5rem;background:#f6e7c6}
#monthTable input[type=text],#weekTable input[type=text]{width:100%;min-width:8rem}
#monthTable td.gl,#weekTable td.gl{color:var(--muted);font-style:italic;font-size:.85rem}
.lock{background:none;border:1px solid transparent;font-size:1.05rem}.lock[aria-pressed=true]{border-color:var(--gold);background:#f3e4c4}
fieldset.leap{border:1px dashed var(--line);border-radius:8px;margin:.6rem 0 0}
.tool output{display:block;font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:1.1rem;min-height:1.5rem;color:#3a1f10}
.pro{margin-top:.6rem;padding:.6rem;border:2px dashed var(--gold);border-radius:8px;color:#6b5a48;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.printonly{display:none}
@media (max-width:700px){table.month td{height:3rem;font-size:.8rem}table.month td .ph{font-size:.6rem}.seg{width:100%}}
@media print{
  body{background:#fff}header.top,main,footer,.skip{display:none!important}
  .printonly{display:block!important}#printArea h1{font-size:1.6rem;text-align:center;margin:0 0 .5rem}
  #printArea .yeargrid{grid-template-columns:repeat(3,1fr);gap:.5rem}
  #printArea table.month{break-inside:avoid}#printArea td{border:1px solid #999!important;background:#fff!important}
  @page{margin:1cm}
}
.yeargrid .grouphead{grid-column:1/-1;margin:.6rem 0 0;padding-bottom:.15rem;border-bottom:1px solid var(--line);font-family:"Iowan Old Style",Palatino,Georgia,serif}
.yeargrid .grouphead.lvl0,.yeargrid .grouphead.lvlx{font-size:.95rem;border-bottom-style:dashed;margin-top:.2rem}
table.month caption .grp{font-weight:600;color:#6b3a1e}
#groupTable input[type=text]{min-width:8rem}#groupTable input[type=number]{width:5rem}
@media print{#printArea .grouphead{break-after:avoid}}
#monthTable td.grpcell{color:var(--muted);font-size:.8rem;white-space:nowrap}
