@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_fe7774{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_fe7774{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/3d165c286d94e27c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e54d16b9f2c4535b-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/7c21074d9bafed1b-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/916860560b9a2bc2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/591e43f23f51e5a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/97ac91773d3121b2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Source Serif 4 Fallback";src:local("Times New Roman");ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.00%;size-adjust:117.91%}.__className_a6f46a{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.__variable_a6f46a{--font-display:"Source Serif 4","Source Serif 4 Fallback"}:root{--bg0:#0f1c18;--bg1:#163028;--bg2:#1e3d33;--surface:rgba(245,241,232,0.06);--surface-solid:#f4efe4;--ink:#10231c;--ink-muted:#5a6b63;--line:rgba(16,35,28,0.12);--accent:#c45c26;--accent-2:#2f6f5e;--ok:#2f6f5e;--warn:#b7791f;--danger:#a33b2b;--radius:14px;--shadow:0 18px 40px rgba(8,18,14,0.28);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--touch:48px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-sans),system-ui,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#2a5a48 0,transparent 55%),radial-gradient(900px 500px at 100% 0,#c45c2633 0,transparent 45%),linear-gradient(165deg,var(--bg0),var(--bg1) 45%,var(--bg2));background-attachment:fixed;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.field input,.field textarea{font-size:16px}.app-shell{max-width:920px;margin:0 auto;padding:calc(1rem + var(--safe-top)) 1rem calc(3rem + var(--safe-bottom))}.brand{font-weight:600;color:#f7f2e8}.brand,.page-title{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em}.page-title{margin:0;font-size:1.45rem}.page-sub{margin:.35rem 0 0;line-height:1.4}.card{background:var(--surface-solid);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem}.card+.card{margin-top:.85rem}.card-header-mobile{display:flex;justify-content:space-between;align-items:flex-start;gap:.85rem}.muted{color:var(--ink-muted)}.empty-hint{margin:0;text-align:center;padding:1.25rem .5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:12px;min-height:var(--touch);padding:.75rem 1.1rem;cursor:pointer;font-weight:650;transition:transform .15s ease,opacity .15s ease;touch-action:manipulation}.btn-sm{min-height:40px;padding:.45rem .8rem;font-size:.9rem}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff8f2}.btn-secondary{background:#dfe8e3;color:var(--ink)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:#f7f2e8;border:1px solid rgba(247,242,232,.28)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field label{font-size:.85rem;font-weight:600;color:var(--ink-muted)}.field input,.field textarea{border:1px solid var(--line);border-radius:12px;padding:.85rem .9rem;background:#fff;color:var(--ink);min-height:var(--touch)}.field textarea{min-height:88px}.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--accent-2) 45%,transparent);border-color:var(--accent-2)}.row{flex-wrap:wrap;align-items:center}.row,.stack{display:flex;gap:.75rem}.stack{flex-direction:column}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:650;background:#e6efe9;color:var(--accent-2);white-space:nowrap}.badge.ok{background:#d8efe6;color:var(--ok)}.badge.danger{background:#f3d9d4;color:var(--danger)}.nav{flex-direction:column;margin-bottom:1rem;color:#f7f2e8}.nav,.nav-top{display:flex;gap:.75rem}.nav-top{justify-content:space-between;align-items:flex-start}.nav-brand{font-size:1.25rem}.nav-user{color:rgba(247,242,232,.65);font-size:.82rem;margin-top:.15rem}.nav-links{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-start}.btn-logout{flex-shrink:0;min-height:40px;padding:.45rem .95rem;border:none;border-radius:999px;background:#a33b2b;color:#fff8f5;font:inherit;font-size:.88rem;font-weight:700;letter-spacing:.02em;cursor:pointer;touch-action:manipulation}.btn-logout:active{transform:scale(.98);background:#8c3225}.nav-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(247,242,232,.22);background:rgba(247,242,232,.06);color:#f7f2e8;font-size:.85rem;font-weight:600;cursor:pointer}.nav-chip.is-active{background:rgba(247,242,232,.16);border-color:rgba(247,242,232,.4)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.photo-grid img{width:100%;border-radius:12px;object-fit:cover;max-height:280px;background:#d9e2dc}.list-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--line);min-height:var(--touch)}.list-item:last-child{border-bottom:none}.list-item-btn{width:100%;background:transparent;border:none;text-align:left;cursor:pointer;padding-left:0;padding-right:0;font:inherit;color:inherit}.error{color:var(--danger);font-size:.9rem;margin:.5rem 0}.hero-login{min-height:100dvh;display:grid;place-items:center;padding:calc(1.25rem + var(--safe-top)) 1rem calc(1.25rem + var(--safe-bottom))}.hero-login .card{width:min(420px,100%)}.hero-login h1{font-family:var(--font-display),Georgia,serif;font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 .35rem;letter-spacing:-.03em}.hero-login p{margin:0 0 1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-picker{border:1px solid var(--line);border-radius:14px;padding:.85rem;margin-bottom:.9rem;background:#fffefb}.photo-picker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.photo-picker-label{font-weight:700;color:var(--ink)}.photo-picker-hint{font-size:.82rem;margin-top:.15rem}.photo-picker-preview{width:100%;max-height:42vh;object-fit:contain;border-radius:12px;background:#e8efe9;display:block;margin-bottom:.75rem}.photo-picker-empty{display:grid;place-items:center;min-height:120px;border-radius:12px;background:#eef3ef;color:var(--ink-muted);font-size:.92rem;margin-bottom:.75rem;border:1px dashed color-mix(in srgb,var(--ink-muted) 35%,transparent)}.photo-picker-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.photo-picker-actions-single{grid-template-columns:1fr}.photo-picker-btn{width:100%;text-align:center;cursor:pointer}.photo-picker-meta{margin-top:.55rem;font-size:.8rem;word-break:break-all}.sticky-actions{display:flex;gap:.65rem;margin-top:1rem;position:-webkit-sticky;position:sticky;bottom:calc(.75rem + var(--safe-bottom));padding:.65rem;background:color-mix(in srgb,var(--surface-solid) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;box-shadow:0 8px 24px rgba(8,18,14,.12)}.sticky-actions .btn{flex:1 1}.history-entry-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit;transition:transform .15s ease}.history-entry-card:active{transform:scale(.99)}.history-entry-arrow{font-size:1.4rem;color:var(--ink-muted);font-weight:700}.pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.pagination-info{font-weight:650;color:var(--ink-muted);font-size:.9rem}.pagination .btn{flex:1 1;max-width:140px}.push-banner,.pwa-banner{position:fixed;left:.75rem;right:.75rem;bottom:calc(.75rem + var(--safe-bottom));z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.85rem .95rem;border-radius:14px;background:#10231c;color:#f7f2e8;box-shadow:0 12px 32px rgba(0,0,0,.35)}.push-banner{bottom:calc(5.2rem + var(--safe-bottom));background:#1a3428;border:1px solid rgba(232,200,120,.35)}.push-banner-text{flex:1 1 180px;font-size:.9rem;line-height:1.35}.push-banner-actions{display:flex;gap:.45rem;flex-wrap:wrap}.push-toast{position:fixed;left:.75rem;right:.75rem;top:calc(.75rem + var(--safe-top));z-index:60;display:flex;flex-direction:column;gap:.25rem;padding:.95rem 1.05rem;border-radius:14px;background:#2a1810;color:#fff6e8;border:1px solid rgba(232,160,90,.45);box-shadow:0 14px 36px rgba(0,0,0,.4);cursor:pointer;animation:push-toast-in .28s ease-out}.push-toast strong{font-size:.95rem}.push-toast span{font-size:.88rem;line-height:1.35;opacity:.92}@keyframes push-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pwa-banner-text{flex:1 1 180px;font-size:.9rem;line-height:1.35}.pwa-banner-actions{display:flex;gap:.45rem;flex-wrap:wrap}@media (max-width:640px){.app-shell{padding:calc(.75rem + var(--safe-top)) .7rem calc(2rem + var(--safe-bottom))}.card{padding:1rem .9rem;border-radius:16px}.nav{flex-direction:column;align-items:stretch}.nav-links{justify-content:flex-start}.card-header-mobile{flex-direction:column;align-items:stretch}.btn-block-mobile{width:100%}.row.actions{flex-direction:column;align-items:stretch}.row.actions .btn{width:100%}.photo-picker-actions{grid-template-columns:1fr}.sticky-actions{flex-direction:column}.list-item{flex-wrap:wrap}}