@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-serif-4-latin-500-normal-CUHe9xxf.woff2) format("woff2"),url(/assets/source-serif-4-latin-500-normal-DVVamBqs.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff) format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-serif-4-latin-700-normal-CGGdTIBe.woff2) format("woff2"),url(/assets/source-serif-4-latin-700-normal-3V4Pv1hj.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2) format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2) format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2) format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff) format("woff")}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2) format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff) format("woff")}:root{--color-body-bg: #0C0D0C;--color-bg: #142A16;--color-surface: #345830;--color-surface-raised: #223B24;--color-panel: #1B331D;--color-rule: #4A7856;--color-ink: #E9EDE7;--color-text: #DCE4D9;--color-text-muted: #7E9280;--color-caption: #A3BFA0;--color-accent: #A5531E;--color-on-accent: #E8EAEC;--color-focus: #D98A4A;--color-header-bg: #32352F;--color-header-ink: #EDEFF0;--color-header-text: #C3C7CA;--color-input-bg: #9A9D91;--color-input-border: #94978B;--color-input-text: #1C1F19;--color-input-placeholder: #4E5248;--overlay-hover: rgba(255, 255, 255, .06);--overlay-hover-strong: rgba(255, 255, 255, .08);--overlay-row-hover: rgba(255, 255, 255, .03);--overlay-photo-border: rgba(255, 255, 255, .15);--overlay-scrim: rgba(0, 0, 0, .6);--tint-caption: rgba(163, 191, 160, .1);--color-danger: #9C4A3E;--color-notice: #D9A640;--color-notice-tint: rgba(217, 166, 64, .14);--status-progress: #C9962E;--status-progress-tint: rgba(201, 150, 46, .1);--status-ghost-line: #97AC9A;--status-metal-mid: #ABAFA5;--status-metal-dark: #767A70;--status-metal-light: #D6D9D1;--status-metal-shade: #8A8E84;--status-complete-border: #E4E7DF;--status-complete-text: #F2F4EE;--status-complete-sheen-top: rgba(214, 217, 209, .16);--status-complete-sheen-bottom: rgba(214, 217, 209, .03);--status-complete-glow: rgba(214, 217, 209, .4);--status-paint-body: #E7DFC9;--status-paint-ink: #3A3226;--status-paint-light: #F1EAD8;--status-paint-shade: #CDC2A0;--font-display: "Source Serif 4", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--font-caption: Georgia, serif;--weight-body: 400;--weight-caption: 400;--weight-chip: 500;--weight-display: 600;--weight-button: 600;--weight-tab: 600;--weight-number: 600;--weight-hero: 700;--text-hero: 52px;--text-wordmark: 26px;--text-wordmark-sm: 20px;--text-title: 22px;--text-body: 16px;--text-field: 15px;--text-tab: 14.5px;--text-sm: 14px;--text-xs: 13px;--text-chip: 12.5px;--text-micro: 12px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-page: 8px;--radius-pill: 999px;--shadow-page: 0 8px 30px rgba(0, 0, 0, .4);--shadow-plate: 0 8px 20px rgba(0, 0, 0, .3);--shadow-popover: 0 4px 16px rgba(0, 0, 0, .3);--shadow-part: drop-shadow(0 1.5px 1.5px rgba(0, 0, 0, .4))}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:40px 20px;background:var(--color-body-bg);color:var(--color-text);font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}@media (max-width: 480px){body{padding:0}}button,input,textarea,select{font-family:var(--font-body)}button{cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.page{position:relative;z-index:0;max-width:760px;margin:0 auto;padding:32px 20px 48px;background:var(--color-bg);border-radius:var(--radius-page);box-shadow:var(--shadow-page);overflow:hidden}@media (max-width: 480px){.page{padding:20px 16px 48px;border-radius:0;box-shadow:none}}.header-band{margin:-32px -20px 0;padding:16px 20px 13px;background:var(--color-header-bg);border-bottom:1px solid var(--color-rule)}@media (max-width: 480px){.header-band{margin:-20px -16px 0;padding:14px 16px 11px}}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.header-left{display:flex;align-items:center;gap:14px;min-width:0}.plane-photo{flex-shrink:0;width:72px;height:54px;object-fit:cover;border-radius:var(--radius-sm);border:2px solid var(--overlay-photo-border);transform:rotate(-2deg)}.plane-photo-default{transform:none}.wordmark{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-wordmark);color:var(--color-header-ink);margin:0}.project-name{font-family:var(--font-caption);font-weight:var(--weight-caption);font-size:var(--text-field);color:var(--color-header-text);margin:4px 0 0}@media (max-width: 480px){.wordmark{font-size:var(--text-wordmark-sm)}.project-name{font-size:var(--text-xs)}}.header-menu{position:relative;flex-shrink:0}.kebab-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-header-ink);opacity:.75}.kebab-btn:hover,.kebab-btn[aria-expanded=true]{opacity:1;background:var(--overlay-hover-strong)}.kebab-dropdown{position:absolute;top:100%;right:0;z-index:10;min-width:180px;margin-top:6px;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);overflow:hidden}.kebab-item{display:block;width:100%;padding:10px 14px;background:none;border:none;text-align:left;font-size:var(--text-sm);color:var(--color-text)}.kebab-item:hover{background:var(--overlay-hover)}.kebab-item+.kebab-item{border-top:1px solid var(--color-rule)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.toggle{flex:1 1 84px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px 7px 9px;font-size:var(--text-chip);font-weight:var(--weight-chip);white-space:nowrap;color:var(--color-text);background:var(--color-panel);border:1px solid var(--color-rule);border-radius:var(--radius-pill);transition:background .2s ease,border-color .2s ease,color .2s ease}.toggle[data-state=progress]{border-style:dashed;border-color:var(--status-progress);color:var(--status-progress)}.toggle[data-state=complete]{background:linear-gradient(180deg,var(--status-complete-sheen-top),var(--status-complete-sheen-bottom)),var(--color-panel);border-style:solid;border-color:var(--status-complete-border);color:var(--status-complete-text);box-shadow:inset 0 0 9px var(--status-complete-glow)}.toggle:disabled{cursor:default}.milestone-btn[data-state=complete]{background:var(--status-paint-body);border-style:solid;border-color:var(--status-paint-body);color:var(--status-paint-ink);box-shadow:none}.plate{margin-top:18px;padding:16px 16px 20px;background:var(--color-surface-raised);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-plate)}.plate .drawing{display:block;width:100%;height:auto}.plate .panel-label{font-family:var(--font-caption);font-size:var(--text-micro);letter-spacing:.1em;text-transform:uppercase;fill:var(--color-text-muted)}.plate .plate-divider{stroke:var(--color-rule);stroke-width:1}.plate .metal-top{stop-color:var(--status-metal-light)}.plate .metal-bottom{stop-color:var(--status-metal-shade)}.plate .paint-top{stop-color:var(--status-paint-light)}.plate .paint-bottom{stop-color:var(--status-paint-shade)}.plate [data-part] *{fill:none;stroke:var(--status-ghost-line);stroke-width:1.6;stroke-dasharray:4 3;transition:fill .45s ease,stroke .35s ease,stroke-width .3s ease,stroke-dasharray .3s ease,filter .4s ease,opacity .3s ease}.plate [data-part].state-progress *{stroke:var(--status-progress);stroke-width:2;stroke-dasharray:3 2}.plate [data-part].state-complete{filter:var(--shadow-part)}.plate [data-part].state-complete .fillable{fill:url(#metalGrad);stroke:var(--color-ink);stroke-width:1.3;stroke-dasharray:none}.plate [data-part].state-complete .ring{fill:none;stroke:var(--status-metal-mid);stroke-width:2.6;stroke-dasharray:none}.plate [data-part].state-complete .hairline{stroke:var(--status-metal-dark);stroke-width:1;stroke-dasharray:none}.plate .rivet{fill:var(--status-metal-dark);stroke:none;opacity:0}.plate [data-part].state-complete .rivet{opacity:.6}.plate .painted [data-part]:not([data-part=instruments]).state-complete .fillable{fill:url(#paintGrad)}.plate .painted [data-part]:not([data-part=instruments]).state-complete .fillable.trim{fill:var(--color-accent)}.plate .painted [data-part].state-complete .rivet{opacity:0}.mini-progress-wrap{max-height:140px;opacity:1;overflow:hidden;transition:max-height .32s ease,opacity .22s ease}.mini-progress-wrap.collapsed{max-height:0;opacity:0;transition:max-height .32s ease,opacity .18s ease}.mini-progress{margin-top:14px;padding:14px 16px;background:var(--color-surface-raised);border:1px solid var(--color-rule);border-radius:var(--radius-lg)}.mini-progress .chip-row{margin-top:0}@media (max-width: 480px){.mini-progress-wrap{display:none}}.hero-banner{display:none;height:110px;margin-top:14px;position:relative;z-index:0;overflow:hidden}.hero-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:url(/assets/hero-blueprint-BO4HcRp3.png) no-repeat center / auto 100%,var(--color-bg);opacity:.75}@media (max-width: 480px){.hero-banner{display:block}.hero:before{display:none}}.tab-bar{display:flex;gap:4px;margin-top:18px;border-bottom:1px solid var(--color-rule)}.tab-btn{margin-right:20px;padding:10px 4px;background:none;border:none;border-bottom:2px solid transparent;font-size:var(--text-tab);font-weight:var(--weight-tab);color:var(--color-text-muted)}.tab-btn.active{color:var(--color-ink);border-bottom-color:var(--color-accent)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-top:36px;padding-bottom:32px;border-bottom:2px solid var(--color-ink);position:relative;z-index:0;overflow:hidden}.hero:before{content:"";position:absolute;top:10px;right:0;bottom:10px;left:0;z-index:-1;pointer-events:none;background:url(/assets/hero-blueprint-BO4HcRp3.png) no-repeat 25% 50% / auto 125%;opacity:.22}.hero-stat{position:relative;top:6px}.hero-number{font-family:var(--font-body);font-weight:var(--weight-hero);font-size:var(--text-hero);line-height:1;color:var(--color-accent)}.hero-label{font-family:var(--font-caption);font-size:var(--text-field);color:var(--color-caption);margin-top:4px}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-sm);padding:10px 18px;font-size:var(--text-field);font-weight:var(--weight-button)}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{display:inline-block;background:transparent;color:var(--color-caption);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:8px 14px;font-size:var(--text-sm)}.btn-plain{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--text-sm);padding:8px 14px}.btn-danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:var(--radius-sm);padding:8px 14px;font-size:var(--text-sm)}.btn-danger:hover{background:var(--color-danger);color:var(--color-on-accent)}.ledger{margin-top:8px}.ledger-row{display:grid;grid-template-columns:76px 56px 1fr auto;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--color-rule);cursor:pointer;transition:background .1s ease}.ledger-row:hover{background:var(--overlay-row-hover)}.ledger-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width: 480px){.ledger-row{grid-template-columns:1fr auto;grid-template-areas:"date hours" "desc desc" "photos photos";row-gap:6px}.ledger-date{grid-area:date}.ledger-hours{grid-area:hours;text-align:right}.ledger-desc{grid-area:desc}.ledger-photos{grid-area:photos}}.ledger-date{font-size:var(--text-field);font-weight:var(--weight-chip);color:var(--color-caption);white-space:nowrap}.ledger-hours{font-variant-numeric:tabular-nums;font-weight:var(--weight-number);color:var(--color-accent)}.ledger-desc{color:var(--color-text)}.ledger-tag{display:inline-block;margin-top:4px;padding:2px 8px;font-size:var(--text-micro);letter-spacing:.04em;color:var(--color-caption);background:var(--tint-caption);border:1px solid var(--color-rule);border-radius:var(--radius-pill)}.ledger-photos{display:flex;gap:4px}.ledger-thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-rule)}.ledger-empty{padding:40px 0;color:var(--color-text-muted);font-size:var(--text-field);border-bottom:1px solid var(--color-rule)}.entry-screen{padding-top:24px}.entry-screen-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-title);color:var(--color-ink);margin:0 0 20px}.form-row{display:flex;gap:16px;margin-bottom:16px}@media (max-width: 480px){.form-row{flex-direction:column}}.field{display:flex;flex-direction:column;gap:6px;flex:1}.field>label{font-family:var(--font-caption);font-size:var(--text-field);color:var(--color-caption)}.field input,.field textarea,.field select{font-size:var(--text-field);padding:9px 11px;border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-input-text)}.field input::placeholder,.field textarea::placeholder{color:var(--color-input-placeholder)}.field-narrow{flex:.5}.field-spaced{margin-bottom:16px}.field textarea{min-height:140px;resize:vertical}.field input:disabled,.field textarea:disabled,.field select:disabled{background:transparent;border-color:transparent;padding-left:0;color:var(--color-text);-webkit-text-fill-color:var(--color-text);opacity:1;cursor:default;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field textarea:disabled{resize:none}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger)}.form-error{font-family:var(--font-caption);font-size:var(--text-xs);color:var(--color-danger);margin:10px 0 0}.photo-input-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.photo-preview{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-rule)}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-rule)}.form-actions-right{display:flex;gap:10px}.ledger-expenses .ledger-row{grid-template-columns:76px 96px 1fr auto}@media (max-width: 480px){.ledger-expenses .ledger-row{grid-template-columns:1fr auto}}.field-amount{flex:.6}.field-category{flex:.7}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--overlay-scrim)}.modal{width:100%;max-width:380px;padding:22px 22px 18px;background:var(--color-bg);border:1px solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}.modal-title{font-family:var(--font-display);font-weight:var(--weight-display);font-size:var(--text-title);color:var(--color-ink);margin:0 0 10px}.modal-text{font-size:var(--text-field);color:var(--color-text);line-height:1.45;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.field-tail{flex:.6}.profile-photo-preview{width:96px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-rule)}.sync-text,.sync-note{font-size:var(--text-field);color:var(--color-text);line-height:1.45;margin:0 0 16px}.sync-note{color:var(--color-text-muted);margin:0}.sync-providers{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.sync-details{display:grid;grid-template-columns:max-content 1fr;gap:10px 20px;margin:0}.sync-details dt{font-family:var(--font-caption);font-size:var(--text-field);color:var(--color-caption)}.sync-details dd{margin:0;font-size:var(--text-field);color:var(--color-text)}.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 14px;background:var(--color-panel);border:1px solid var(--color-rule);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text)}.notice-banner{display:flex;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;background:var(--color-notice-tint);border:1px solid var(--color-notice);border-left-width:5px;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text)}.notice-icon{flex-shrink:0;width:26px;height:26px;color:var(--color-notice)}.notice-body{flex:1}.notice-body p{margin:0;line-height:1.4}.notice-body .notice-title{margin-bottom:2px;font-size:var(--text-field);font-weight:var(--weight-button);color:var(--color-notice)}.notice-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.notice-dismiss{padding:2px 6px;background:none;border:none;font-size:20px;line-height:1;color:var(--color-text-muted)}@media (max-width: 480px){.notice-banner{flex-wrap:wrap;align-items:flex-start}.notice-body{flex:1 1 0}.notice-actions{flex-basis:100%;justify-content:flex-end}}.modal-scrim-bottom{flex-direction:column;justify-content:flex-end;padding-bottom:14px}.install-arrow{width:0;height:0;margin-top:6px;border-left:14px solid transparent;border-right:14px solid transparent;border-top:16px solid var(--color-notice)}.install-steps{display:flex;flex-direction:column;gap:14px;margin:6px 0 0;padding:0;list-style:none}.install-steps li{display:flex;align-items:flex-start;gap:12px}.install-step-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-rule);color:var(--color-ink)}.install-step-icon svg{width:24px;height:24px}.install-menu-text{font-size:var(--text-sm);font-weight:var(--weight-button)}.install-step-title{display:block;font-size:var(--text-field);font-weight:var(--weight-button);color:var(--color-ink)}.install-step-note{display:block;margin-top:2px;font-size:var(--text-sm);color:var(--color-caption);line-height:1.4}
