:root{--ink:#173c32;--ink-soft:#52645d;--evergreen:#075943;--evergreen-deep:#064735;--cream:#f4f0e7;--paper:#fffdf8;--line:#dcd8cc;--focus:#9d4f00;--safe-bottom:max(16px,env(safe-area-inset-bottom))}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100%}body{margin:0;min-height:100dvh}a,button,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{background:var(--paper);border-radius:8px;color:var(--ink);left:12px;padding:10px 14px;position:fixed;top:12px;transform:translateY(-180%);z-index:20}.skip-link:focus{transform:translateY(0)}.app-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding-top:env(safe-area-inset-top)}.topbar{align-items:center;display:flex;justify-content:space-between;padding:18px 20px}.member-menu{align-items:flex-end;display:flex;flex-direction:column;font-size:.8rem;gap:2px;text-align:right}.member-menu form{margin:0}.brand{align-items:center;color:var(--ink);display:inline-flex;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:700;gap:9px;letter-spacing:-.02em;min-height:44px;text-decoration:none}.brand img{height:34px;object-fit:contain;width:34px}.private-pill{align-items:center;background:rgb(255 255 255/58%);border:1px solid rgb(23 60 50/13%);border-radius:999px;color:var(--ink-soft);display:flex;font-size:.72rem;font-weight:650;gap:7px;padding:8px 10px}.status-dot{background:#258b6c;border-radius:50%;box-shadow:0 0 0 3px rgb(37 139 108/13%);height:7px;width:7px}.app-shell>main{align-items:center;display:flex;justify-content:center;padding:24px 20px 38px}.covered-card{margin:0 auto;max-width:610px;text-align:center}.covered-mark{align-items:center;background:var(--evergreen);border-radius:31% 31% 34% 34%;box-shadow:0 18px 45px rgb(7 89 67/17%);display:flex;height:88px;justify-content:center;margin:0 auto 28px;transform:rotate(45deg);width:88px}.covered-mark svg{fill:none;height:70px;stroke:var(--paper);stroke-linecap:round;stroke-linejoin:round;stroke-width:7;transform:rotate(-45deg);width:70px}.eyebrow{color:var(--evergreen);font-size:.74rem;font-weight:750;letter-spacing:.14em;margin:0 0 12px;text-transform:uppercase}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,10vw,4.25rem);font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0;text-wrap:balance}.lede{color:var(--ink-soft);font-size:clamp(1rem,3vw,1.12rem);line-height:1.65;margin:22px auto 28px;max-width:540px}.foundation-note{align-items:center;background:rgb(255 253 248/75%);border:1px solid var(--line);border-radius:16px;display:inline-flex;gap:12px;padding:12px 17px;text-align:left}.foundation-note>span{align-items:center;background:#dceddf;border-radius:50%;color:var(--evergreen-deep);display:flex;font-weight:800;height:32px;justify-content:center;width:32px}.foundation-note p,.foundation-note small,.foundation-note strong{display:block;margin:0}.foundation-note strong{font-size:.86rem}.foundation-note small{color:var(--ink-soft);font-size:.75rem;margin-top:2px}.bottom-nav{background:rgb(255 253 248/88%);border-top:1px solid rgb(23 60 50/10%);display:grid;grid-template-columns:repeat(4,1fr);padding:7px max(8px,env(safe-area-inset-right)) var(--safe-bottom) max(8px,env(safe-area-inset-left))}.bottom-nav a{align-items:center;border-radius:12px;color:#67746f;display:flex;flex-direction:column;font-size:.68rem;font-weight:650;gap:3px;justify-content:center;min-height:50px;text-decoration:none}.bottom-nav a.active{color:var(--evergreen)}.bottom-nav svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:22px}.bottom-nav .active svg path{fill:rgb(7 89 67/10%)}.update-toast{align-items:center;background:var(--ink);border-radius:14px;bottom:calc(84px + env(safe-area-inset-bottom));box-shadow:0 16px 40px rgb(0 0 0/24%);color:white;display:flex;gap:14px;justify-content:space-between;left:50%;max-width:min(420px,calc(100% - 28px));padding:12px 12px 12px 16px;position:fixed;transform:translateX(-50%);width:max-content;z-index:10}.update-toast p{font-size:.86rem;margin:0}.button,.update-toast button{background:var(--paper);border:0;border-radius:9px;color:var(--evergreen-deep);font:inherit;font-size:.82rem;font-weight:750;padding:12px 15px}.button,.danger-button,.primary-button,.secondary-button,.text-button,.update-toast button{cursor:pointer;display:inline-flex;justify-content:center;min-height:44px;text-decoration:none}.danger-button,.primary-button,.secondary-button,.text-button{border:0;border-radius:10px;font:inherit;font-weight:750;padding:12px 16px}.primary-button{background:var(--evergreen);color:white;width:100%}.danger-button:disabled,.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{background:var(--paper);border:1px solid var(--line);color:var(--evergreen-deep)}.danger-button{background:#8a2f25;color:white}.text-button{background:transparent;color:var(--evergreen-deep);min-height:40px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}.auth-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 20px max(18px,env(safe-area-inset-bottom))}.auth-shell>.privacy-note,.auth-shell>header,.auth-shell>main{margin-inline:auto;max-width:520px;width:100%}.auth-shell>main{align-items:center;display:flex;justify-content:center;padding-block:28px}.auth-card{background:rgb(255 253 248/82%);border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgb(23 60 50/9%);padding:clamp(24px,7vw,42px);width:100%}.admin-page h1,.auth-card h1{font-size:clamp(2.25rem,10vw,3.8rem);line-height:1.02}.auth-lede{margin:18px 0 24px}.auth-form{display:grid;gap:10px}.auth-form label{font-size:.83rem;font-weight:750}.auth-form input{background:white;border:1px solid #9ca8a3;border-radius:10px;color:var(--ink);font:inherit;min-height:48px;padding:10px 12px;width:100%}.auth-form .primary-button{margin-top:8px}.admin-page>p,.auth-form>p,.auth-status p{color:var(--ink-soft);line-height:1.6}.notice{background:#f8e8c8;border-left:4px solid var(--focus);border-radius:6px;color:var(--ink);line-height:1.5;padding:12px 14px}.privacy-note{color:var(--ink-soft);font-size:.75rem;text-align:center}.admin-page{margin:0 auto;max-width:760px;min-height:100dvh;padding:max(32px,env(safe-area-inset-top)) 20px max(40px,env(safe-area-inset-bottom))}.admin-page>.eyebrow{margin-top:48px}.member-list{display:grid;gap:12px;list-style:none;margin:30px 0 0;padding:0}.member-list>li{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;gap:20px;justify-content:space-between;padding:16px}.member-list span,.member-list strong{display:block}.member-list span{color:var(--ink-soft);font-size:.8rem;margin-top:4px}.confirm-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.confirm-row>span{flex-basis:100%;text-align:right}.loading-shell,.offline-page{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;min-height:100dvh;padding:max(36px,env(safe-area-inset-top)) 24px max(36px,env(safe-area-inset-bottom));text-align:center}.offline-page h1{font-size:clamp(2.5rem,12vw,4.5rem)}.offline-page>p:not(.eyebrow){color:var(--ink-soft);line-height:1.65;margin:20px auto 25px;max-width:440px}.offline-page .button{background:var(--evergreen);color:white;min-width:130px}.offline-mark{border:3px solid var(--evergreen);border-radius:50%;height:72px;margin-bottom:28px;position:relative;width:72px}.offline-mark span,.offline-mark:after,.offline-mark:before{background:var(--evergreen);border-radius:999px;content:"";height:4px;left:20px;position:absolute;width:27px}.offline-mark:before{top:22px}.offline-mark span{top:32px}.offline-mark:after{top:42px}.loading-shell{color:var(--ink-soft);gap:16px}.loading-mark{border-radius:50%;border:3px solid rgb(7 89 67/16%);border-top:3px solid var(--evergreen);height:38px;width:38px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:760px){.app-shell{grid-template-columns:108px 1fr;grid-template-rows:auto 1fr}.topbar{grid-column:1/-1;padding:22px 32px}.app-shell>main{padding:40px 44px 80px}.bottom-nav{align-content:start;border-right:1px solid rgb(23 60 50/10%);border-top:0;grid-row:2;grid-template-columns:1fr;padding:25px 12px}.bottom-nav a{min-height:70px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}