*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--sand);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--burnt);text-underline-offset:3px}a:hover{color:var(--rust)}:focus-visible{outline:2px solid var(--rust);outline-offset:2px}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;font-weight:400}.auth-page{min-height:100dvh;padding:32px var(--pad);flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex}.auth-brand{color:var(--ink);align-items:center;gap:11px;text-decoration:none;display:flex}.auth-brand:hover{color:var(--ink)}.auth-brand-name{font-family:var(--display);letter-spacing:-.01em;font-size:22px}.auth-bars{align-items:flex-end;gap:3px;height:26px;display:flex}.auth-bars i{background:var(--rust);border-radius:999px;width:5px;display:block}.auth-bars i.o{background:var(--olive)}.auth-card{background:var(--cream);border-radius:28px;width:100%;max-width:440px;padding:40px 36px;box-shadow:0 10px 30px #2e2b251f}.auth-title{color:var(--forest);margin:0 0 10px;font-size:34px;line-height:1.1}.auth-lead{color:var(--ink-70);margin:0 0 26px;font-size:17px;line-height:1.5}.auth-email{color:var(--ink);word-break:break-all}.auth-form{flex-direction:column;display:flex}.auth-label{margin-bottom:8px;font-size:14px;font-weight:700}.auth-input{width:100%;font:inherit;color:var(--ink);background:var(--sand);border:1.5px solid #201e1d29;border-radius:14px;padding:14px 16px;font-size:17px}.auth-input::placeholder{color:var(--ink-50)}.auth-input:focus{outline:2px solid var(--forest);outline-offset:1px;border-color:var(--forest)}.auth-code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.auth-code::placeholder{letter-spacing:.3em}.auth-btn{width:100%;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 24px;font-size:16px;font-weight:700;transition:background .18s,transform .12s;display:flex}.auth-btn:active{transform:translateY(1px)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-btn-primary{background:var(--forest);color:var(--cream);margin-top:18px}.auth-btn-primary:hover:not(:disabled){background:#2f3822}.auth-btn-google{color:var(--ink);background:#fff;border:1.5px solid #201e1d29}.auth-btn-google:hover{background:var(--sand)}.auth-btn-apple{color:#fff;background:#000;border:1.5px solid #000;margin-top:12px}.auth-btn-apple:hover{background:#222}.auth-btn-facebook{color:#fff;background:#1877f2;border:1.5px solid #1877f2}.auth-btn-facebook:hover{background:#166fe0}.auth-btn-microsoft{color:var(--ink);background:#fff;border:1.5px solid #201e1d29}.auth-btn-microsoft:hover{background:var(--sand)}.auth-btn-github{color:#fff;background:#24292f;border:1.5px solid #24292f}.auth-btn-github:hover{background:#32383f}.auth-providers{flex-direction:column;gap:12px;display:flex}.auth-providers .auth-btn{margin-top:0}.auth-btn-secondary{color:var(--ink);background:#201e1d12}.auth-btn-secondary:hover{background:#201e1d21}.auth-or{color:var(--ink-60);align-items:center;gap:14px;margin:22px 0;font-size:14px;display:flex}.auth-or:before,.auth-or:after{content:"";background:#201e1d24;flex:1;height:1px}.auth-status{margin:12px 0 0;font-size:15px;line-height:1.4}.auth-error{color:#9b2c1a;font-weight:600}.auth-notice{color:var(--olive-dark);font-weight:600}.auth-aside{text-align:center;color:var(--ink-60);margin:22px 0 0;font-size:15px}.auth-link{font:inherit;color:var(--burnt);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline}.auth-link:hover:not(:disabled){color:var(--rust)}.auth-link:disabled{opacity:.6;cursor:default}.auth-fine{text-align:center;max-width:440px;color:var(--ink-60);margin:0;font-size:14px;line-height:1.5}@media (max-width:480px){.auth-card{border-radius:24px;padding:32px 22px}.auth-title{font-size:30px}}.acct-card{max-width:520px}.acct-kicker{font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);margin:0 0 6px;font-size:13px;font-weight:700}.acct-email{margin:0 0 22px;font-size:17px}.acct-alert{background:#f6e3dd;border-radius:12px;margin:0 0 18px;padding:12px 14px}.acct-plan-box{background:var(--sand);border-radius:18px;padding:20px 22px}.acct-plan{font-family:var(--display);letter-spacing:-.02em;color:var(--forest);align-items:center;gap:12px;margin:0;font-size:26px;line-height:1.2;display:flex}.acct-dot{background:var(--rust);border-radius:50%;flex:none;width:12px;height:12px}.acct-dot-pro{background:var(--olive)}.acct-note{color:var(--ink-70);margin:10px 0 0;font-size:15px;line-height:1.5}.acct-plan-box .acct-plan+.acct-note{margin-top:8px}.acct-note a,.acct-fine a{font-weight:600}.acct-section{border-top:1px solid #201e1d1f;margin-top:26px;padding-top:26px}.acct-subscribe{flex-direction:column;gap:12px;display:flex}.acct-fine{color:var(--ink-60);margin:14px 0 0;font-size:14px;line-height:1.5}.acct-activating{color:var(--forest);align-items:center;gap:12px;margin:22px 0 0;font-size:16px;font-weight:600;line-height:1.5;display:flex}.acct-spinner{border:2.5px solid #3d472b40;border-top-color:var(--forest);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite acct-spin}@keyframes acct-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.acct-spinner{animation-duration:2.4s}}.acct-h2{color:var(--ink);margin:0 0 4px;font-size:22px}.acct-danger .auth-form{margin-top:18px}.acct-btn-danger{color:#9b2c1a;background:#fff;border:1.5px solid #9b2c1a66;margin-top:14px}.acct-btn-danger:hover{background:#f6e3dd}@media (max-width:480px){.acct-plan{font-size:22px}.acct-plan-box{padding:18px}}.acct-subscribe .auth-btn-primary{margin-top:0}.acct-danger .acct-alert{margin:14px 0 0}.acct-devices{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.acct-device{background:var(--sand);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.acct-device-text{min-width:0}.acct-device-name{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:700;line-height:1.35}.acct-device-meta{color:var(--ink-60);margin:3px 0 0;font-size:14px;line-height:1.45}.acct-device-btn{white-space:nowrap;width:auto;padding:9px 16px;font-size:14px}#devices .acct-alert{margin:14px 0 0}.acct-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:480px){.acct-subscribe .auth-btn{padding-left:14px;padding-right:14px;font-size:15px}}.admin-shell{flex-direction:column;min-height:100dvh;display:flex}.admin-bar{padding:18px var(--pad);border-bottom:1px solid #201e1d1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 28px;display:flex}.admin-nav{gap:20px;font-size:15px;font-weight:600;display:flex}.admin-main{padding:32px var(--pad);flex-direction:column;flex:1;align-items:center;gap:24px;display:flex}.admin-qr{text-align:center;margin-bottom:22px}.admin-qr img{background:#fff;border-radius:14px;margin:0 auto;padding:10px;display:block}.admin-qr code{word-break:break-all;-webkit-user-select:all;user-select:all;margin-top:4px;font-size:13px;display:block}.admin-wide{flex-direction:column;gap:14px;width:100%;max-width:1100px;display:flex}.admin-title{color:var(--forest);flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:30px;line-height:1.15;display:flex}.admin-h2{color:var(--ink);margin:18px 0 0;font-size:20px}.admin-h3{font-family:var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-60);margin:0 0 8px;font-size:13px;font-weight:700}.admin-back{margin:0;font-size:14px}.admin-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.admin-filter{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-input{font:inherit;color:var(--ink);background:#fff;border:1px solid #201e1d38;border-radius:8px;min-width:0;padding:7px 10px;font-size:14px}.admin-input:focus{outline:2px solid var(--forest);outline-offset:1px}.admin-input-narrow{width:96px}.admin-filter input[type=search]{flex:220px;max-width:340px}.admin-btn{font:inherit;color:var(--cream);background:var(--forest);cursor:pointer;border:0;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:700}.admin-btn:hover:not(:disabled){background:#2f3822}.admin-btn:disabled{opacity:.6;cursor:default}.admin-btn-danger{background:#9b2c1a}.admin-btn-danger:hover:not(:disabled){background:#7d2214}.admin-btn-quiet{color:var(--ink);background:#201e1d14}.admin-btn-quiet:hover:not(:disabled){background:#201e1d26}.admin-link{font-size:14px;font-weight:600}.admin-count{color:var(--ink-60);margin:0;font-size:14px}.admin-table-wrap{background:var(--cream);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4}.admin-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-60);white-space:nowrap;border-bottom:1px solid #201e1d24;padding:8px 12px;font-size:12px;font-weight:700}.admin-table td{vertical-align:top;border-bottom:1px solid #201e1d14;padding:7px 12px}.admin-table tr:last-child td{border-bottom:0}.admin-break{overflow-wrap:anywhere}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.admin-empty{color:var(--ink-60);text-align:center}.admin-hint{color:var(--ink-60);font-size:13px;font-weight:400}.admin-badge{font-family:var(--body);letter-spacing:0;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.admin-badge-ok{color:var(--olive-dark);background:#e1e7cf}.admin-badge-warn{color:#9b2c1a;background:#f6e3dd}.admin-badge-off{color:var(--ink-70);background:#201e1d14}.admin-pager{justify-content:space-between;font-size:14px;font-weight:600;display:flex}.admin-facts{background:var(--cream);border-radius:12px;grid-template-columns:max-content 1fr;gap:5px 18px;margin:0;padding:14px 16px;font-size:14px;display:grid}.admin-facts dt{color:var(--ink-60)}.admin-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.admin-actions{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.admin-action{background:var(--cream);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.admin-action-danger{border:1px solid #9b2c1a4d}.admin-act{flex-direction:column;gap:8px;display:flex}.admin-fields{border:0;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;min-width:0;margin:0;padding:0;display:flex}.admin-field{flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.admin-field-grow{flex:180px}.admin-check{align-items:center;gap:8px;font-size:14px;display:flex}.admin-confirm{background:var(--sand);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-confirm-text{flex:100%;margin:0;font-size:14px;line-height:1.45}.admin-msg{color:var(--olive-dark);margin:0;font-size:14px;font-weight:600}.admin-msg-error{color:#9b2c1a}@media (max-width:600px){.admin-title{font-size:24px}.admin-facts{grid-template-columns:1fr;gap:0}.admin-facts dd{margin-bottom:8px}}.admin-id{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.admin-table .admin-btn{white-space:nowrap}.dash-note{color:var(--ink-60);margin:0;font-size:14px;line-height:1.5}.dash-tiles{grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:10px;display:grid}.dash-tile{background:var(--cream);border-radius:12px;flex-direction:column;gap:3px;min-width:0;padding:14px 16px;display:flex}.dash-tile-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-60);font-size:12px;font-weight:700}.dash-tile-value{font-family:var(--display);letter-spacing:-.02em;color:var(--forest);font-size:30px;line-height:1.15}.dash-tile-note{color:var(--ink-60);font-size:12.5px;line-height:1.4}.dash-tile-warn .dash-tile-value{color:#9b2c1a}.dash-tile a{font-weight:600}.dash-alerts{background:var(--cream);border:1px solid #9b2c1a4d;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.dash-alerts-clear{border-color:#0000}.dash-alerts .admin-h2{margin:0}.dash-alerts{min-width:0}.dash-events{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dash-event{background:var(--sand);border-radius:10px;grid-template-columns:minmax(0,1fr);gap:8px 20px;padding:12px 14px;font-size:14px;line-height:1.4;display:grid}.dash-event-what{flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:0;display:flex}.dash-event-type{overflow-wrap:anywhere;font-weight:700}.dash-event-id{white-space:normal;overflow-wrap:anywhere;color:var(--ink-60)}.dash-event-meta{color:var(--ink-60);overflow-wrap:anywhere;flex:100%;font-size:13px}.dash-reason{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13.5px}.dash-event-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.dash-event-buttons{flex-wrap:wrap;gap:6px;display:flex}@media (min-width:900px){.dash-event{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 230px;align-items:center}}.dash-event-actions .admin-confirm{padding:8px 10px}.dash-charts{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:12px;display:grid}.dash-chart{background:var(--cream);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.dash-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.dash-chart-title{font-family:var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-60);margin:0;font-size:13px;font-weight:700}.dash-chart-now{font-family:var(--display);letter-spacing:-.02em;color:var(--forest);font-size:22px}.dash-chart-now small{font-family:var(--body);letter-spacing:0;color:var(--ink-60);font-size:12px}@media (max-width:600px){.dash-tile-value{font-size:26px}.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-tile{padding:12px 13px}}.chart{color:var(--forest);margin:0}.chart-body{gap:6px;padding:8px 0;display:flex}.chart-y{width:46px;color:var(--ink-60);text-align:right;flex:none;font-size:12px;line-height:1;position:relative}.chart-y span{font-variant-numeric:tabular-nums;position:absolute;right:0;transform:translateY(-50%)}.chart-plot{flex:1;min-width:0;height:150px;position:relative}.chart-plot svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid{stroke:var(--ink-50);stroke-opacity:.28;stroke-width:1px;vector-effect:non-scaling-stroke}.chart-line{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-area{fill:currentColor;fill-opacity:.13;stroke:none}.chart-bar{fill:var(--olive)}.chart-bar-last{fill:var(--forest)}.chart-dot{width:10px;height:10px;box-shadow:0 0 0 3px var(--cream);background:currentColor;border-radius:50%;margin:-5px 0 0 -5px;position:absolute}.chart-hits{display:flex;position:absolute;inset:0}.chart-hits span{flex:1}.chart-x{height:16px;color:var(--ink-60);margin-left:52px;font-size:12px;line-height:16px;position:relative}.chart-x span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.chart-x .chart-x-first{left:0;transform:none}.chart-x .chart-x-last{right:0;transform:none}.page{flex-direction:column;min-height:100dvh;display:flex}.page-head{width:100%;max-width:var(--wrap);padding:22px var(--pad);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.page-nav{align-items:center;gap:8px;display:flex}.page-nav a{color:var(--ink);border-radius:999px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;transition:background .18s}.page-nav a:hover{color:var(--ink);background:#201e1d0f}.page-main{width:100%;max-width:var(--wrap);padding:24px var(--pad) 72px;flex:1;margin:0 auto}.page-title{text-wrap:balance;max-width:20ch;margin:0 0 16px;font-size:clamp(36px,5vw,64px);line-height:1.04}.page-lede{color:var(--ink-70);max-width:56ch;margin:0 0 44px;font-size:18px;line-height:1.6}.page-sec{margin-top:64px}.page-sec h2{margin:0 0 14px;font-size:clamp(26px,3.4vw,40px);line-height:1.1}.page-sec>p{color:var(--ink-70);max-width:66ch;margin:0 0 14px;font-size:16px;line-height:1.65}.page-foot{width:100%;max-width:var(--wrap);padding:0 var(--pad) 48px;color:var(--ink-60);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin:0 auto;font-size:15px;display:flex}.page-foot nav{flex-wrap:wrap;gap:8px 22px;display:flex}.page-foot a{color:var(--ink);text-decoration:none}.page-foot a:hover{color:var(--burnt);text-decoration:underline}.plan-table{border-collapse:separate;border-spacing:0;background:var(--cream);border-radius:24px;width:100%;font-size:15px;line-height:1.5;overflow:hidden;box-shadow:0 4px 18px #2e2b2512}.plan-table th,.plan-table td{text-align:left;vertical-align:top;border-top:1px solid #201e1d17;padding:16px 20px}.plan-table thead th{font-family:var(--display);letter-spacing:-.01em;border-top:0;font-size:20px;font-weight:400}.plan-table tbody th{color:var(--ink-60);width:20%;font-weight:700}.plan-table td{color:var(--ink-70);width:26.6%}.plan-table .is-pro{background:#c6713917}.plan-table .soon{color:var(--burnt);font-weight:700}@media (max-width:760px){.plan-table,.plan-table tbody,.plan-table tr,.plan-table th,.plan-table td{width:auto;display:block}.plan-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.plan-table tr{border-top:1px solid #201e1d17;padding:16px 20px}.plan-table tbody tr:first-child{border-top:0}.plan-table tbody th,.plan-table td{background:0 0;border-top:0;padding:0}.plan-table tbody th{margin-bottom:8px}.plan-table td{grid-template-columns:96px 1fr;gap:10px;padding:5px 0;display:grid}.plan-table td:before{content:attr(data-plan);color:var(--ink);font-weight:700}.plan-table .is-pro{background:0 0}}.page-prices{grid-template-columns:repeat(2,1fr);gap:20px;max-width:760px;margin:24px 0 20px;display:grid}@media (max-width:560px){.page-prices{grid-template-columns:1fr}}.page-price{background:var(--cream);border-radius:24px;padding:26px;box-shadow:0 4px 18px #2e2b2512}.page-price h3{font-family:var(--body);letter-spacing:0;color:var(--ink-60);margin:0 0 10px;font-size:15px;font-weight:700}.page-price p{margin:0}.page-amount{font-family:var(--display);font-size:42px;line-height:1.05}.page-price .page-per{color:var(--ink-60);font-size:15px;font-family:var(--body)}.page-price .page-note{color:var(--ink-70);margin-top:8px;font-size:15px}.page-cta{flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 14px;display:flex}.page-btn{white-space:nowrap;border-radius:999px;padding:15px 28px;font-size:16px;font-weight:700;text-decoration:none;transition:background .18s;display:inline-block}.page-btn-primary{background:var(--rust);color:var(--cream)}.page-btn-primary:hover{background:var(--rust-dark);color:var(--cream)}.page-btn-soft{color:var(--ink);background:#201e1d12}.page-btn-soft:hover{color:var(--ink);background:#201e1d21}.page-soon{color:var(--burnt);border-radius:999px;margin:0;padding:13px 26px;font-size:16px;font-weight:700;display:inline-block;box-shadow:inset 0 0 0 1.5px}.page-sec>.page-fine,.page-fine{color:var(--ink-60);font-size:14px;line-height:1.55}.page-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:900px){.page-cards{grid-template-columns:1fr}}.page-card{background:var(--cream);border-radius:24px;padding:26px;box-shadow:0 4px 18px #2e2b2512}.page-card h3{margin:0 0 8px;font-size:21px;line-height:1.2}.page-card p{color:var(--ink-70);margin:0;font-size:15px;line-height:1.6}.page-card p+p{margin-top:10px}.page-promise{background:var(--forest);color:var(--cream);border-radius:24px;max-width:760px;margin:18px 0;padding:24px 28px;font-size:17px;line-height:1.6}.page-faq{flex-direction:column;gap:12px;max-width:820px;margin-top:20px;display:flex}.page-faq details{background:var(--cream);border-radius:22px;padding:4px 26px;box-shadow:0 3px 14px #2e2b250f}.page-faq summary{cursor:pointer;padding:18px 0;font-size:17px;font-weight:700}.page-faq details p{color:var(--ink-70);margin:0;padding:0 0 20px;font-size:16px;line-height:1.65}.legal{max-width:720px}.legal .page-title{font-size:clamp(34px,4.6vw,54px)}.legal-draft{color:var(--forest);background:#7a8a5e38;border-radius:14px;margin:0 0 18px;padding:7px 14px;font-size:14px;font-weight:600;display:inline-block}.legal-note{background:var(--cream);color:var(--ink-70);border-radius:16px;margin:0 0 8px;padding:14px 18px;font-size:15px;line-height:1.55}.legal h2{margin:36px 0 10px;font-size:25px;line-height:1.2}.legal p,.legal li{color:var(--ink-70);font-size:16px;line-height:1.65}.legal p{margin:0 0 12px}.legal ul{margin:0 0 12px;padding-left:22px}.legal li{margin-bottom:6px}.legal .page-promise{color:var(--cream);font-size:16px}.consent-secondary{margin-top:12px}.consent-title{font-size:30px}.consent-title .auth-email{font-family:var(--body);letter-spacing:0;overflow-wrap:anywhere;word-break:normal;font-size:.6em;font-weight:700}a.auth-btn{text-decoration:none}a.auth-btn-primary:hover{color:var(--cream)}@media (max-width:480px){.consent-title{font-size:26px}}
