/* Runtime token owner: existing CSS variables, mirrored by DESIGN.md. */
:root[data-ilca-theme="light"]{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#e9eef2;--ink:#121b24;--ink-2:#3a4150;--mut:#53616c;--line:#d2dce3;--line-2:#e4e9ee;--accent:#0b667c;--accent-ink:#fff;--accent-soft:#e0f1f5;--warn-soft:#fbeae4;--rwb:#c0453d;--green:#3f8f6b;--priv:#a9792e;--ok:#2f8f5b;--warn:#c0563a;--i4:#7b5ea7;--i6:#2f7fa8;--i7:#b5722a;--tile-weather:#233b4a;--tile-on:#fff;--scroll-thumb:#83939f;--scroll-track:#e9eef2}
:root[data-ilca-theme="dark"]{color-scheme:dark;--bg:#10161d;--surface:#19222c;--surface-2:#202e3a;--ink:#edf3f6;--ink-2:#c3cdd5;--mut:#abb9c5;--line:#384651;--line-2:#2a3742;--accent:#8fdff0;--accent-ink:#04222b;--accent-soft:#17323e;--warn-soft:#3b261f;--rwb:#d76a62;--green:#5aa886;--priv:#c99a4e;--ok:#76cea6;--warn:#f2a488;--i4:#b19adc;--i6:#79bddf;--i7:#dcac70;--tile-weather:#233b4a;--tile-on:#fff;--scroll-thumb:#788f9f;--scroll-track:#202e3a}
:root{--header:#0e1116;--header-ink:#fff;--header-mut:#a6b2bd;--font-ui:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;--tile-action:#0b667c;--radius:10px;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:auto;scroll-padding-top:94px}
*{scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:var(--scroll-track)}
*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:10px}
*::-webkit-scrollbar-thumb:hover{background:var(--mut)}
body{padding-bottom:calc(76px + env(safe-area-inset-bottom));font-family:Georgia,"Times New Roman",serif}
header.app{display:flex;align-items:center;gap:12px;min-height:76px;padding:10px 18px}
header.app .brand .logo{width:79px;height:42px;background-image:url('./icon-master-1024.png');background-size:120px 120px;background-position:center;background-repeat:no-repeat}
.brand-copy{flex:1;font:600 14px/1.35 var(--font-ui);color:var(--header-ink)}
.brand-copy>span{display:block;font-size:11px;font-weight:400;color:var(--header-mut);margin-top:3px}
.settings-gear{background:transparent;border:0;color:var(--header-ink);width:44px;height:44px;display:grid;place-items:center;border-radius:8px}
.settings-gear svg,.rf-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.settings-gear[aria-pressed="true"]{background:#233b4a}
nav.tabs{position:fixed;top:auto;bottom:0;inset-inline:0;z-index:30;padding:0 8px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;gap:0;flex-wrap:nowrap;min-height:65px}
nav.tabs button{flex:1;min-width:0;min-height:64px;border:0;border-radius:0;padding:9px 3px;background:transparent;color:var(--mut);font:600 12px/1.1 var(--font-ui);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
nav.tabs button.on{color:var(--accent);background:var(--accent-soft)}
nav.tabs button svg{width:21px;height:21px}
main{max-width:1024px;padding:20px 18px 24px;margin:auto}
button,.tap,a.btn{cursor:pointer;touch-action:manipulation}
button:hover:not(:disabled),a.btn:hover{filter:brightness(1.07)}
button:active:not(:disabled){filter:brightness(.94)}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
textarea{resize:none;min-height:100px}
input,select,textarea{font-family:var(--font-ui)}
.card{border-radius:var(--radius)}
.btn,.tap{min-height:44px}
.tap{font-family:var(--font-ui)}
.rf-page-head{margin:0 0 20px;font-family:var(--font-ui)}
.rf-eyebrow{font:500 11px/1.5 var(--font-ui);text-transform:uppercase;letter-spacing:1.6px;color:var(--mut);margin-bottom:5px}
.rf-page-head h1{font:300 38px/1.1 var(--font-ui);letter-spacing:-1.2px;margin:0;overflow-wrap:anywhere}
.rf-page-head p{font:400 13px/1.5 var(--font-ui);color:var(--mut);margin:8px 0 0}
.rf-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:760px;margin:0 auto;font-family:var(--font-ui)}
.rf-home-head{max-width:760px;margin-inline:auto}
.rf-tile{background:var(--surface-2);color:var(--ink);border:0;border-radius:0;padding:18px;min-height:140px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:15px;text-align:left;font-family:var(--font-ui)}
.rf-tile.rf-wide{grid-column:1/-1;min-height:152px}
.rf-tile.rf-weather{background:var(--tile-weather);color:var(--tile-on)}
.rf-tile.rf-action{background:var(--tile-action);color:var(--tile-on)}
.rf-tile-top,.rf-tile-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}
.rf-tile-title{display:block;font:300 25px/1.2 var(--font-ui);letter-spacing:-.6px;overflow-wrap:anywhere}
.rf-tile-sub{display:block;font:400 12px/1.5 var(--font-ui);margin-top:5px}
.rf-tile-kicker{font:500 11px/1.4 var(--font-ui);text-transform:uppercase;letter-spacing:1.2px}
.rf-wind{font:300 34px/1.1 var(--font-ui);letter-spacing:-.7px}
.rf-wind small{font-size:16px;letter-spacing:0}
.rf-weather-meta{text-align:right;font:400 11px/1.5 var(--font-ui);max-width:45%}
.rf-rigs{font:500 11px/1.4 var(--font-ui);letter-spacing:.5px;margin-top:8px}
.rf-status{font:400 13px/1.5 var(--font-ui);color:var(--mut);min-height:22px;margin:10px 0 0}
.rf-status.error{color:var(--warn)}
.rf-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.rf-grid-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.rf-grid-fields .full{grid-column:1/-1}
.rf-grid-fields label{font-size:13px}
.rf-theme-mode[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.rf-calendar{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}
.rf-calendar td{padding:0;border:0;vertical-align:top}
.rf-calendar th{text-align:center;padding:7px 0;font-size:11px}
.rf-calendar-cell{width:100%;min-height:79px;padding:8px;background:var(--surface-2);color:var(--ink);border:1px solid transparent;border-radius:3px;text-align:left;font:400 13px/1.3 var(--font-ui);display:flex;flex-direction:column;gap:5px}
.rf-calendar-cell[aria-pressed="true"]{border:2px solid var(--accent);padding:7px}
.rf-calendar-cell.today .rf-date-number{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.rf-calendar-marker{font-size:11px;line-height:1.3;background:var(--accent-soft);color:var(--ink);padding:3px 4px;overflow-wrap:anywhere}
.rf-calendar-list{font-family:var(--font-ui);list-style:none;padding:0;margin:0}
.rf-calendar-list li{border-bottom:1px solid var(--line);padding:12px 0}
.rf-calendar-list button{background:transparent;border:0;color:var(--accent);padding:6px 0;font:600 15px/1.4 var(--font-ui);min-height:44px;text-align:left}
.rf-calendar-list small{display:block;color:var(--mut);font-size:12px;margin:2px 0 0}
.rf-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.rf-table-wrap table{min-width:500px}
.rf-help-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rf-help-links button{text-align:left}
.rf-save-progress{font:400 12px/1.5 var(--font-ui);color:var(--mut);margin-top:8px}
@media(min-width:850px){.rf-tile{min-height:155px;padding:22px}.rf-tile.rf-wide{min-height:167px}.rf-wind{font-size:39px}}
@media(max-width:420px){main{padding:18px 12px}.rf-tile{padding:14px;min-height:130px}.rf-tile-title{font-size:23px}.rf-wind{font-size:29px}.rf-calendar-cell{padding:5px;min-height:63px}.rf-calendar-cell[aria-pressed="true"]{padding:4px}.rf-calendar-marker{font-size:10px;padding:2px}.rf-grid-fields{grid-template-columns:1fr}.rf-grid-fields .full{grid-column:auto}.rf-help-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto;transition:none;animation:none}}
@media(forced-colors:active){:root,*{scrollbar-color:auto}.rf-tile,.rf-calendar-cell{border:1px solid CanvasText}.rf-calendar-cell[aria-pressed="true"]{border:2px solid Highlight}}
