.DashboardCards__cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));margin:0;padding:0;list-style:none;display:grid}.DashboardCards__card{align-content:start;gap:var(--space-1);width:100%;height:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-inset);color:var(--color-text);font:inherit;text-align:left;display:grid}button.DashboardCards__card{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}button.DashboardCards__card:hover{border-color:var(--color-brass)}button.DashboardCards__card:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.DashboardCards__label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-brass-text);font-weight:700}.DashboardCards__value{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700}.DashboardCards__detail{font-size:var(--text-sm);color:var(--color-text-muted)}.BuildingIcon__icon{place-items:center;width:100%;height:100%;display:grid}.BuildingIcon__icon[data-size=lg]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:clamp(5rem,22vw,7.5rem);height:clamp(5rem,22vw,7.5rem)}.BuildingIcon__icon img{object-fit:contain;width:100%;height:100%}.BuildingIcon__fallback{width:55%;height:55%;color:var(--color-brass-text)}.BuildingLevelList__groups{gap:var(--space-6);display:grid}.BuildingLevelList__group{gap:var(--space-3);display:grid}.BuildingLevelList__heading{font-family:var(--font-heading);font-size:var(--text-lg);margin:0;font-weight:700}.BuildingLevelList__rows{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.BuildingLevelList__row{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.BuildingLevelList__name{align-items:center;gap:var(--space-3);font-family:var(--font-heading);color:var(--color-text);justify-self:start;font-weight:700;text-decoration:none;display:inline-flex}.BuildingLevelList__icon{flex:none;width:2.5rem;height:2.5rem}.BuildingLevelList__name:hover,.BuildingLevelList__name:focus-visible{color:var(--color-accent-text);text-decoration:underline}.BuildingLevelList__copies{gap:var(--space-1) var(--space-4);display:grid}.BuildingLevelList__row[data-copies] .BuildingLevelList__copies{grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.BuildingLevelList__opens{color:var(--color-text-muted);margin:0}.BuildingLevelList__single>label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.BuildingLevelList__extras{gap:var(--space-1) var(--space-4);grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));display:grid}.HeroBonusTable__factions{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.HeroBonusTable__table{--faction:var(--color-faction-warrior);border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.HeroBonusTable__table[data-faction=Ranger]{--faction:var(--color-faction-ranger)}.HeroBonusTable__table[data-faction=Warlock]{--faction:var(--color-faction-warlock)}.HeroBonusTable__caption{padding-bottom:var(--space-2);border-bottom:2px solid var(--faction);font-family:var(--font-heading);text-align:left;color:var(--faction);font-weight:700}.HeroBonusTable__table th,.HeroBonusTable__table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);text-align:right}.HeroBonusTable__table th[scope=row],.HeroBonusTable__table thead th:first-child{text-align:left;font-weight:600}.HeroBonusTable__table thead th{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-faint)}.HeroBonusTable__table tfoot th,.HeroBonusTable__table tfoot td{border-bottom:0;font-weight:700}.HeroBonusTable__pct{color:var(--color-herb-text);display:block}.SanctuaryForm__form{gap:var(--space-3);max-width:28rem;display:grid}.SanctuaryForm__field{gap:var(--space-1);display:grid}.SanctuaryForm__label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-faint);font-weight:700}.SanctuaryForm__input{width:100%;min-height:var(--tap-target);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700}.SanctuaryForm__input::placeholder{color:var(--color-text-faint);font-weight:400}.SanctuaryForm__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.SanctuaryForm__remove{color:var(--color-accent-text);margin-left:auto}.SanctuaryPicker__picker{gap:var(--space-1);display:grid}.SanctuaryPicker__label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-faint);font-weight:700}.SanctuaryPicker__row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.SanctuaryPicker__select{min-width:0;min-height:var(--tap-target);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:var(--font-heading);font-size:var(--text-base);flex:12rem;font-weight:700}.MooCommentary__commentary{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.MooCommentary__head{align-items:flex-start;gap:var(--space-3);display:flex}.MooCommentary__moo{object-fit:contain;flex:none;width:4.5rem;height:4.5rem}.MooCommentary__heading{margin:0 0 var(--space-1);font-family:var(--font-heading);font-size:var(--text-xl);line-height:var(--leading-tight)}.MooCommentary__intro{color:var(--color-text-muted);line-height:var(--leading-normal)}.MooCommentary__intro>:first-child{margin-top:0}.MooCommentary__intro>:last-child{margin-bottom:0}.MooCommentary__block{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.MooCommentary__blockTitle{margin:0 0 var(--space-3);color:var(--color-brass-text);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase;font-weight:700}.MooCommentary__muted{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.MooCommentary__items{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.MooCommentary__item{padding-left:var(--space-3);border-left:4px solid var(--color-brass)}.MooCommentary__item[data-tone=fix]{border-left-color:var(--color-accent)}.MooCommentary__itemTitle{font-weight:700;line-height:var(--leading-snug);margin:0}.MooCommentary__itemDetail{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.MooCommentary__go{min-height:var(--tap-target);margin-top:var(--space-1);color:var(--color-accent-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-weight:700;display:inline-flex}.MooCommentary__go svg{width:1rem;height:1rem}.MooCommentary__go:focus-visible,.MooCommentary__captureButton:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.MooCommentary__capture{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.MooCommentary__captureButton{align-items:flex-start;gap:var(--space-2);width:100%;min-height:var(--tap-target);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.MooCommentary__captureButton:hover{background:var(--color-surface-raised)}.MooCommentary__captureButton svg{width:1.25rem;height:1.25rem;color:var(--color-text-faint);flex:none;margin-top:2px}[data-done] .MooCommentary__captureButton svg{color:var(--color-herb-text)}.MooCommentary__captureLabel{font-weight:700;display:block}[data-done] .MooCommentary__captureLabel{color:var(--color-text-muted)}.MooCommentary__captureHow{color:var(--color-text-muted);font-size:var(--text-sm);display:block}.PhoneFrame__phone{width:100%;max-width:26rem;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:calc(var(--radius-md) * 4);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);margin-inline:auto}.PhoneFrame__screen{border-radius:calc(var(--radius-md) * 3);background:var(--color-surface);flex-direction:column;min-height:40rem;display:flex;overflow:hidden}.PhoneFrame__top{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-tab);color:var(--color-tab-ink);display:flex}.PhoneFrame__back,.PhoneFrame__backSpace{width:var(--tap-target);height:var(--tap-target);flex:none}.PhoneFrame__back{border-radius:var(--radius-pill);color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.PhoneFrame__back:hover{background:var(--color-surface-raised)}.PhoneFrame__back:focus-visible,.PhoneFrame__navButton:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.PhoneFrame__titles{flex:auto;min-width:0}.PhoneFrame__title{font-family:var(--font-heading);font-size:var(--text-lg);line-height:var(--leading-tight);margin:0}.PhoneFrame__account{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.PhoneFrame__might{align-items:center;gap:var(--space-1);flex:none;margin:0;font-weight:700;display:flex}.PhoneFrame__might img{width:1.5rem;height:1.5rem}.PhoneFrame__body{padding:var(--space-3);flex:auto}.PhoneFrame__nav{border-top:1px solid var(--color-border-strong);background:var(--color-tab)}.PhoneFrame__navList{padding:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;list-style:none;display:grid}.PhoneFrame__navButton{width:100%;min-height:var(--tap-target);padding:var(--space-1) 0;border-radius:var(--radius-sm);color:var(--color-tab-ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;display:flex}.PhoneFrame__navButton[aria-current=page]{background:var(--color-tab-selected);color:var(--color-text)}.PhoneFrame__navIcon{object-fit:contain;width:2rem;height:2rem}.PhoneFrame__navLabel{text-align:center;font-size:.625rem;font-weight:700;line-height:1.1}
