/* Native SwiftUI parity: Monitor surface, compact hierarchy and rounded panels. */
body{background:var(--navy);color:var(--paper)}a{color:var(--gold)}button,.button{background:var(--gold);color:var(--navy);border-radius:13px;border-color:transparent}.secondary,.text-button{background:transparent;color:var(--gold);border-color:var(--line)}.danger{background:transparent;color:#ffb3b3}.paper{background:var(--paper)}:focus-visible{outline-color:var(--ice)}.skip{background:var(--panel)}
.masthead{max-width:860px;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 22px 16px;border-bottom:0}.brand{color:var(--paper);font-size:17px;letter-spacing:0}.monogram{font-size:23px;letter-spacing:-.08em;border:1px solid var(--gold);border-radius:9px;padding:8px}.monogram span{display:none}.edition{font-size:8px}main{max-width:860px;padding:12px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.view{min-width:0}.section-heading{border:0;margin-bottom:22px;padding-bottom:0}.eyebrow{color:var(--gold);letter-spacing:.13em;text-transform:uppercase}h1{font-size:clamp(28px,6.5vw,37px);line-height:1.15;letter-spacing:-.03em;margin:16px 0 22px}h2{font-size:22px;margin:24px 0 14px}h3{font-size:23px;line-height:1.25}.panel,.empty-state,.ticket-card,.post,.admin-row{background:var(--panel);border:0;border-radius:18px;padding:20px;margin:20px 0}.issue-mark,.lead-rule,.journal-stamp{display:none}.empty-state{min-height:180px}.empty-state h3{font-size:26px;margin:20px 0 10px}.post h3{font-size:26px}.post img{border-radius:12px;background:var(--panel)}.post-body{font-size:16px}.ticket-card h2{font-size:27px}.notice{background:var(--panel);color:var(--gold)}.colophon{max-width:860px}.tabs{padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));gap:0;border-color:var(--line)}.tabs a{flex:1;max-width:150px;min-width:0;font-size:10px;min-height:58px;border:0}.tabs a[aria-current=page]{color:var(--gold)}
.roster-actions{display:grid;gap:12px;margin:16px 0 24px;min-width:0}.roster-actions>button{width:100%;min-width:0}.roster-actions>a{justify-self:start;font-size:13px;line-height:1.5}
label>input:not([type="checkbox"]):not([type="radio"]),label>select,label>textarea{display:block;margin-top:8px}
input,textarea,select{min-width:0;max-width:100%;border-radius:12px;background:var(--panel);color:var(--paper);border-color:var(--line);min-height:46px}form{margin:20px 0}form>button{margin-top:15px}.admin-row{margin:0}.form-message{color:#ffb3b3}.form-message.success{color:var(--ice)}
#home{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:12px;align-items:center}#home>*{grid-column:1 / -1}#home>a:first-child{grid-column:2;grid-row:1;background:var(--paper);color:var(--navy);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;text-decoration:none;font-weight:700;font-size:18px}#home>h1{grid-column:1;grid-row:1;padding-top:0;margin:0;font-size:clamp(23px,6.4vw,32px);overflow-wrap:anywhere}#home>a:not(:first-child),#profile>a{display:block;padding:15px 0;min-height:44px}#onboarding{position:fixed;inset:0;z-index:20;margin:0;border-radius:0;padding:calc(50px + env(safe-area-inset-top)) 26px calc(30px + env(safe-area-inset-bottom));background:var(--navy);overflow:auto;display:flex;flex-direction:column;justify-content:center}#onboarding h1{font-size:37px}#onboarding-form button{width:100%}.stats{display:flex;justify-content:space-between;gap:10px}.stats div{display:flex;flex-direction:column;gap:7px;text-align:center}.stats strong{font-size:29px}.stats div:last-child strong{color:var(--gold)}.stats span{font-size:9px;color:var(--slate)}.versus{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.versus strong{font-size:29px;color:var(--gold)}.crest{width:45px;height:45px;object-fit:contain;flex-shrink:0}.versus .crest{width:68px;height:68px}.match-card{text-align:center}.match-card h2{margin-top:12px}.match-card>button{width:100%}
.month-heading{display:flex;align-items:center;gap:10px;margin:16px 0}.month-heading button{width:44px;font-size:25px;flex-shrink:0;background:transparent;color:var(--gold);padding:5px}.month-heading input{text-align:center;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid button{padding:0;min-height:44px;height:44px;border-radius:7px;background:transparent;color:var(--paper);font-size:15px;font-weight:400;position:relative}.calendar-grid .weekday{text-align:center;font-size:10px;color:var(--slate);padding:10px 0}.calendar-grid .home,.legend .home{background:var(--gold);color:var(--navy);font-weight:700}.calendar-grid .away,.legend .away{background:var(--ice);color:var(--navy);font-weight:700}.calendar-grid [aria-pressed="true"]:after{content:'';position:absolute;inset:3px;border:2px solid var(--paper);border-radius:5px;pointer-events:none}.legend{display:flex;gap:20px;margin:17px 0}.legend span{font-size:11px;padding:5px 10px;border-radius:5px}.game-row,.person-row{background:transparent;color:var(--paper);border-radius:0;border-bottom:1px solid var(--line);width:100%;text-align:left;justify-content:flex-start;gap:14px;padding:16px 0;font-size:13px;font-weight:500;line-height:1.6}.person-row .avatar{width:73px;height:83px;object-fit:contain;border-radius:10px;background:white;flex-shrink:0}.portrait{display:block;width:100%;height:280px;object-fit:contain;background:white;border-radius:18px;margin-top:24px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:20px;font-size:13px}th{font-size:11px;color:var(--slate);font-weight:500}th,td{text-align:right;padding:13px 4px;border-bottom:1px solid var(--line)}th:nth-child(2),td:nth-child(2){text-align:left;width:48%;font-size:12px}tr.admiral{background:#D1B77F1f;color:var(--gold)}td:last-child{font-weight:700}.standing-team{display:flex;align-items:center;gap:8px}.standing-team .crest{width:26px;height:26px}.standing-team>span{min-width:0;overflow-wrap:anywhere}.data-stamp{margin-top:25px}
@media(min-width:760px){main{padding-top:24px}.masthead{padding-top:24px}.calendar-grid button{height:54px}.admin-layout{gap:30px}}
