@charset "UTF-8";:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;color:#dfe9f5;background:#091525;font-synthesis:none;--muted:#8293aa;--line:#233247;--panel:#111f32;--accent:#83dcdf;--level-0:#64d8d0;--level-1:#f0ce62;--level-2:#ff816f;--level-3:#b99aff;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 90% 0%,#142b40 0,transparent 36%),#091525}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,input,select,textarea{-webkit-appearance:none}button{touch-action:manipulation}input,select,textarea{border:1px solid var(--line);background:#0b192b;color:#e5edf5;min-width:0}input::placeholder,textarea::placeholder{color:#63768f;opacity:1}input[type=number]::-webkit-inner-spin-button{display:none}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2396adc0' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px!important}h1,h2,h3,p{margin:0}button{transition:background .18s,border-color .18s,transform .18s}button:active{transform:translateY(1px)}.app-shell{width:100%;max-width:520px;margin:0 auto;padding:30px 22px 22px}.brand-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{height:43px;width:43px;display:grid;place-items:center;border:1px solid #41606c;border-radius:14px;background:linear-gradient(140deg,#26434c,#152b3b);color:#a0e4e1;box-shadow:0 3px 16px #0002}.brand h1{font-size:21px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:7px}.brand-dot{width:4px;height:4px;background:#91d6d9;border-radius:50%;margin-top:4px}.brand p{font-size:10px;color:#859ab1;letter-spacing:1.8px;margin-top:5px}.icon-btn{width:36px;height:36px;display:grid;place-items:center;color:#9db1c5;border:1px solid #2a3c50;border-radius:50%}.avatar{display:grid;place-items:center;background:#284253;color:#b1dee2;width:36px;height:36px;font-size:14px;border-radius:50%;flex-shrink:0;font-weight:500}.panel{background:linear-gradient(145deg,#142338,#111e30);border:1px solid #29394f;border-radius:20px;box-shadow:0 8px 30px #020a1614}.calendar-panel{padding:21px 16px 15px;position:relative;overflow:hidden}.calendar-heading{display:flex;align-items:center;justify-content:space-between;padding:0 3px}.eyebrow{font-size:11px;letter-spacing:1.2px;color:#94a8c0;margin-bottom:9px}.calendar-heading h2{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.5px}.calendar-heading h2 span{font-size:13px;font-weight:400;color:#9eafc3;margin-left:3px}.month-controls{display:flex;align-items:center;gap:3px}.month-controls button{display:grid;place-items:center;width:28px;height:33px;color:#9eb1c7}.month-controls .this-month{border:1px solid #34465d;border-radius:7px;font-size:11px;width:40px;height:26px;color:#c4d5e5}.month-overview{margin:16px 3px 20px;display:flex;align-items:center;justify-content:space-between;color:#7e93ad;font-size:10px}.month-overview strong{font-size:12px;font-weight:500;color:#b4d9de;margin:0 3px}.month-overview>span:last-child{font-size:9px;letter-spacing:.6px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekdays{margin-bottom:12px;text-align:center;color:#7c91aa;font-size:10px}.weekdays span:nth-last-child(-n+2){color:#ae9f90}.calendar-grid{row-gap:7px}.calendar-day{height:46px;min-width:0;border-radius:9px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:500;background:#122035;border:1px solid transparent;position:relative;font-variant-numeric:tabular-nums}.calendar-day small{font-size:8px;font-weight:400;color:#45566e;line-height:10px;max-width:100%;overflow:hidden}.calendar-day.today{border-color:#679aab;color:#a7e3e6}.calendar-day.today small{color:#88c1c9;font-size:8px}.calendar-day:disabled{opacity:.28}.calendar-day.recorded{background:color-mix(in srgb,currentColor 11%,#122035);color:var(--level-color)}.calendar-day.recorded small{color:var(--level-color);font-size:8px;opacity:.8}.level-0{--level-color:var(--level-0)}.level-1{--level-color:var(--level-1)}.level-2{--level-color:var(--level-2)}.level-3{--level-color:var(--level-3)}.level--1{--level-color:#7d96ad}.calendar-day.selected{outline:1.5px solid #c2e6ea;outline-offset:2px}.calendar-legend{display:flex;justify-content:space-between;gap:4px;margin:22px 2px 0;font-size:9px;color:#92a3b9}.calendar-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--level-color)}.sober-dot{background:transparent;border:1px solid #7d96ad}.calendar-hint{text-align:center;font-size:8px;letter-spacing:.6px;color:#61758e;margin:13px 0 0;padding-top:12px;border-top:1px solid #233347}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.stat-card{padding:18px 15px 16px;background:linear-gradient(125deg,#132438,#111e31);border:1px solid #28394e;border-radius:16px;overflow:hidden}.stat-label{font-size:11px;display:flex;gap:7px;align-items:center;color:#a7b8ca;white-space:nowrap}.stat-mark{display:flex;width:13px;gap:2px;align-items:flex-end;height:13px}.streak-mark span{width:3px;background:#8bcdd0;border-radius:1px;height:5px}.streak-mark span:nth-child(2){height:9px}.streak-mark span:nth-child(3){height:13px}.circle-mark{width:12px;height:12px;border:1px solid #d3ba80;border-radius:50%;position:relative}.circle-mark:after{content:"";position:absolute;left:4px;top:2px;height:4px;width:3px;border-left:1px solid #d3ba80;border-bottom:1px solid #d3ba80}.stat-number{font-size:41px;font-weight:500;line-height:1.15;letter-spacing:-1px;margin-top:13px;color:#c6ecec;font-variant-numeric:tabular-nums}.stat-card:nth-child(2) .stat-number{color:#e1d4af}.stat-number span{font-size:11px;color:#91a3b8;letter-spacing:0;margin-left:7px;font-weight:400}.stat-card p{color:#697f99;font-size:8px;margin-top:10px;white-space:nowrap;letter-spacing:.3px}.checkin-button{width:100%;display:flex;align-items:center;gap:13px;padding:19px 20px;border-radius:15px;background:linear-gradient(105deg,#8edcdb,#6ec6d0);color:#102c3c;position:relative;overflow:hidden;box-shadow:0 6px 22px #09242e55}.checkin-button>span{position:relative;z-index:1}.checkin-plus{height:36px;width:36px;border-radius:50%;border:1px solid #23556155;display:grid;place-items:center}.checkin-button strong{font-size:17px;font-weight:600;letter-spacing:2px;display:block;text-align:left}.checkin-button small{display:block;font-size:9px;letter-spacing:1px;margin-top:5px;color:#2b626b;text-align:left}.checkin-arrow{margin-left:auto;z-index:1}.cta-lines{position:absolute;right:0;top:0;bottom:0;height:100%;width:150px;fill:none;stroke:#3c8c991f;stroke-width:1}.history-section{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2{font-size:17px;letter-spacing:1px;font-weight:500;display:flex;align-items:center;gap:10px}.section-heading h2 span{font-size:10px;letter-spacing:0;color:#697e99;font-weight:400}.history-symbol{color:#667e99}.search-field{height:43px;border:1px solid #26384f;border-radius:11px;display:flex;align-items:center;padding:0 13px;gap:9px;background:#111f32;color:#7389a4}.search-field input{border:0;background:transparent;flex:1;min-width:0;font-size:11px;height:100%;outline-offset:-3px}.search-field button{display:grid;place-items:center;padding:5px;color:#8399af}.filter-chip{font-size:11px;color:#a2d6dc;display:inline-flex;gap:10px;align-items:center;padding:7px 10px;border-radius:6px;background:#21384b;margin-top:13px}.filter-chip button{padding:0;display:flex}.history-list{display:flex;flex-direction:column;gap:13px;margin-top:15px}.history-card{background:#111f32;border:1px solid #25364b;padding:17px 15px 13px;border-radius:15px;animation:arrive .3s ease}.record-top{display:flex;align-items:center;gap:8px}.record-date{font-size:14px;font-weight:500;display:flex;gap:8px;align-items:center;flex:1}.record-date small{font-size:9px;font-weight:400;color:#748ba5}.level-badge{font-size:9px;display:flex;align-items:center;gap:5px;padding:5px 7px;background:color-mix(in srgb,var(--level-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--level-color) 20%,transparent);color:var(--level-color);border-radius:5px;white-space:nowrap}.level-badge i{width:4px;height:4px;background:var(--level-color);border-radius:50%}.record-menu{color:#7e92ab;padding:2px;display:grid;place-items:center;margin-right:-3px}.record-drinks{display:flex;flex-wrap:wrap;gap:13px;margin-top:17px}.record-drink{display:flex;gap:10px;align-items:center;min-width:45%}.drink-thumb{height:44px;width:42px;background:#1a2b3e;border-radius:9px;flex-shrink:0;display:grid;place-items:center}.drink-thumb svg{width:43px;height:39px}.record-drink strong{font-size:12px;font-weight:500;display:block}.record-drink span{display:block;font-size:11px;color:#a2b5c8;margin-top:5px}.record-drink small{font-size:9px;color:#6d859e}.record-note{font-size:11px;color:#8b9eb6;line-height:1.8;margin-top:14px;white-space:pre-wrap;overflow-wrap:anywhere}.record-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #223246;margin-top:16px;padding-top:10px;font-size:9px;color:#7188a3}.record-footer>span:first-child{display:flex;align-items:center;gap:6px}.tiny-avatar{width:17px;height:17px;display:inline-grid;place-items:center;background:#233a4c;border-radius:50%;color:#a5c7d2;font-size:8px}.record-footer>span:last-child:not(:first-child){background:#1a2b3d;padding:4px 6px;border-radius:4px;color:#8fa3bb}.sober-record{display:flex;gap:14px;align-items:center;color:#89a3b6;margin:22px 3px;font-size:12px}.empty-state{text-align:center;padding:30px 8px 24px}.empty-art{position:relative;color:#82a6bb;width:85px;height:67px;display:grid;place-items:center;margin:0 auto 13px}.empty-art:before,.empty-art:after{content:"";position:absolute;border:1px solid #2d445b;border-radius:50%;width:72px;height:20px;bottom:0}.empty-art:after{width:50px;height:13px;bottom:3px}.empty-art svg{margin-top:-8px}.empty-art span{position:absolute;right:6px;top:7px;height:4px;width:4px;border-radius:50%;background:#628a9c}.empty-art span:last-child{left:4px;top:27px;width:2px;height:2px}.empty-state h3{font-size:13px;font-weight:400;color:#a9c0d2;letter-spacing:1px}.empty-state p{font-size:10px;color:#617b96;margin-top:9px;line-height:1.8}.empty-state button{font-size:11px;color:#9cdbdf;display:flex;align-items:center;justify-content:center;gap:7px;margin:17px auto 0}.load-more{width:100%;padding:22px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#8da7bc}.history-end{text-align:center;font-size:9px;color:#546e88;margin-top:24px;letter-spacing:1px}.list-status{padding:26px;display:flex;gap:9px;align-items:center;justify-content:center;color:#90a7bc;font-size:11px}.page-footer{display:flex;align-items:center;justify-content:center;gap:10px;font-size:9px;color:#526d86;margin-top:24px;letter-spacing:2px}.page-footer span{height:1px;width:18px;background:#2c4055}.error-banner{background:#3d2935;border:1px solid #764654;border-radius:10px;padding:12px;margin-bottom:12px;font-size:12px;color:#edbdc8;display:flex;justify-content:space-between;gap:12px}.error-banner button{text-decoration:underline;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030a15c9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:20;display:flex;align-items:flex-end;justify-content:center;padding-top:24px;animation:fade .18s ease}.sheet{position:relative;background:#111f32;border:1px solid #304359;border-radius:25px 25px 0 0;padding:30px 24px max(28px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;width:100%;max-width:520px;box-shadow:0 -15px 90px #0004;animation:slide .25s ease}.sheet-grip{height:4px;width:32px;border-radius:3px;position:absolute;top:10px;left:calc(50% - 16px);background:#3a4d61}.close-sheet{position:absolute;right:17px;top:26px;width:30px;height:30px;display:grid;place-items:center;color:#8da6bb;z-index:2}.sheet h2{font-size:22px;font-weight:500;letter-spacing:1px;padding-right:20px;line-height:1.4}.sheet-description{font-size:12px;line-height:1.9;color:#8399b0;margin-top:9px;margin-bottom:24px}.account-options{display:flex;flex-direction:column;gap:9px;margin-top:20px}.account-options>button{display:flex;align-items:center;padding:13px 11px;gap:12px;text-align:left;background:#17293d;border:1px solid #2c4055;border-radius:12px}.account-options>button.active{border-color:#75b6c1;background:#1b3445}.account-options>button>span:nth-child(2){flex:1}.account-options strong{font-weight:500;font-size:14px;display:block}.account-options small{display:block;color:#7894ab;font-size:10px;margin-top:5px}.account-options svg{color:#94bdcc}.field-label{display:flex;flex-direction:column;gap:10px;color:#a9bfd0;font-size:12px;margin:20px 0}.field-label input,.field-label select{width:100%;height:48px;border-radius:9px;padding:10px 14px;font-size:16px}.password-input{letter-spacing:6px}.password-input::placeholder{font-size:13px;letter-spacing:2px}.primary-btn{background:#89d4d8;border-radius:11px;padding:16px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:#0f3140;font-size:14px;font-weight:600;letter-spacing:1px;margin-top:24px}.primary-btn:disabled{opacity:.55}.inline-error{background:#402b38;color:#eab9c3;border-radius:8px;font-size:12px;padding:12px;line-height:1.7;margin-top:14px}.privacy-note{color:#69849e;font-size:10px;line-height:1.9;margin-top:18px;text-align:center}.action-list{display:flex;flex-direction:column;gap:9px}.action-list button{background:#1a2c41;border:1px solid #2b4056;border-radius:11px;display:flex;align-items:center;gap:12px;text-align:left;padding:16px;font-size:13px}.action-list button>svg:last-child{margin-left:auto;color:#6e8aa4}.action-list .danger{color:#dba6b3}.delete-icon{width:53px;height:53px;display:grid;place-items:center;background:#422d3d;color:#dfa9b8;border-radius:16px;margin-bottom:18px}.confirm-row{display:flex;gap:12px}.confirm-row button{flex:1;padding:15px 10px;border-radius:11px;font-size:13px}.secondary-btn{background:#203349;color:#a3b6cb}.danger-btn{background:#ca8298;color:#231927}.toast{position:fixed;z-index:50;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#d5ecec;box-shadow:0 8px 30px #0005;color:#173741;border-radius:11px;padding:14px 20px;max-width:90%;font-size:12px;white-space:normal;width:max-content;animation:fade .15s}.editor-sheet{padding:30px 20px 0}.record-form .eyebrow{font-size:10px}.record-form h2{font-size:21px}.date-field{display:flex;align-items:center;gap:8px;background:#172a3e;border:1px solid #2d4259;border-radius:10px;padding:11px 12px;margin-top:20px;color:#8eabc0;font-size:11px}.date-field label{white-space:nowrap}.date-field input{margin-left:auto;max-width:155px;background:transparent;border:0;padding:0;font-size:13px;text-align:right;color:#c4dce5;min-height:24px}.status-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#0b192b;padding:4px;border-radius:9px;margin-top:15px}.status-toggle button{padding:10px 0;color:#7f98b0;font-size:12px;border:1px solid transparent;border-radius:6px}.status-toggle button.active{background:#254353;border-color:#426a77;color:#b4e1e4}.form-section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 13px}.form-section-title h3{font-size:13px;letter-spacing:.5px;font-weight:500}.form-section-title>span{font-size:9px;color:#7189a3}.optional{font-size:9px;font-weight:400;color:#7189a3;margin-left:8px}.drink-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.drink-picker button{position:relative;background:#192b40;border:1px solid #293e55;border-radius:11px;padding:5px 0 10px;min-width:0}.drink-picker svg{width:100%;height:57px}.drink-picker button>span{font-size:11px;color:#aabed1;display:block;margin-top:2px}.drink-picker button.active{background:#233e4b;border-color:#85bdc4}.drink-picker button.active>span{color:#c0e6e6}.drink-picker i{position:absolute;right:5px;top:5px;width:13px;height:13px;display:grid;place-items:center;background:#97d3d6;color:#183f49;border-radius:50%}.drink-picker i svg{height:10px;width:10px}.quantity-list{display:flex;flex-direction:column;gap:10px;margin-top:15px}.level-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.level-picker button{border:1px solid #2c4056;border-radius:10px;background:#192a3e;padding:13px 0 11px;color:#8fa7bf;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:9px}.level-picker button.active{color:var(--level-color);border-color:var(--level-color);background:color-mix(in srgb,var(--level-color) 9%,#15273a)}.level-bars{display:flex;gap:3px;height:19px;align-items:flex-end}.level-bars i{width:4px;background:#35465b;border-radius:2px;height:6px}.level-bars i:nth-child(2){height:10px}.level-bars i:nth-child(3){height:14px}.level-bars i:nth-child(4){height:18px}.level-bars i.filled{background:var(--level-color);opacity:.75}.scene-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.scene-picker button{border:1px solid #2c4056;border-radius:9px;background:#192a3e;padding:10px 0;color:#819bb2;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:8px}.scene-picker svg{height:23px;width:31px}.scene-picker .active{border-color:#78aeb9;color:#b4dae0;background:#223c4c}.record-form textarea{resize:vertical;min-height:86px;width:100%;border-radius:10px;padding:12px;font-size:12px;line-height:1.8}.form-save{position:sticky;bottom:0;background:#111f32;padding:14px 0 max(18px,env(safe-area-inset-bottom));margin-top:14px;z-index:3;border-top:1px solid #293e52}.form-save .primary-btn{margin:0;padding:15px}.sober-message{text-align:center;padding:30px 15px 10px;color:#a2c8d1}.sober-message h3{font-size:15px;font-weight:400;margin-top:12px}.sober-message p{font-size:10px;color:#7899af;margin-top:8px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translateY(30px);opacity:.5}to{transform:translateY(0);opacity:1}}@media(min-width:700px){.app-shell{padding-top:45px;padding-bottom:35px}.sheet{border-radius:25px;max-height:90dvh;margin-bottom:4dvh}.modal-backdrop{align-items:center}.editor-sheet{margin-bottom:0}.brand-header{margin-bottom:30px}.calendar-day{height:55px}.calendar-legend{font-size:10px}.calendar-day small,.calendar-hint{font-size:9px}.calendar-panel{padding:25px 22px 18px}.stat-card p{font-size:10px}.stat-label{font-size:12px}.stat-number{font-size:46px}.history-card{padding:20px}.record-date{font-size:15px}.record-date small{font-size:10px}}@media(max-width:360px){.app-shell{padding-left:15px;padding-right:15px}.calendar-panel{padding-left:12px;padding-right:12px}.calendar-grid,.weekdays{gap:4px}.calendar-day{height:44px}.stat-card{padding-left:12px;padding-right:10px}.stat-label{font-size:10px;gap:5px}.stat-card p{letter-spacing:0;font-size:7px}.record-date small{font-size:8px}.sheet{padding-left:18px;padding-right:18px}.editor-sheet{padding-left:15px;padding-right:15px}.quantity-inputs{gap:5px}.stepper input{width:36px}.stepper button{width:23px}.record-date{gap:5px}.brand h1,.record-form h2{font-size:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.install-callout{display:flex;align-items:center;border:1px solid #2b4656;border-radius:12px;background:#132b3b;margin:-10px 0 18px;padding:10px 8px 10px 11px}.install-callout-main{display:flex;align-items:center;gap:10px;flex:1;text-align:left;padding:0}.install-callout img{width:32px;height:32px;border-radius:9px}.install-callout strong{display:block;font-size:11px;font-weight:500;color:#b6dce0}.install-callout small{font-size:9px;color:#719aa9;display:block;margin-top:4px}.install-callout-main>svg{margin-left:auto;color:#80b4c1}.dismiss-install{padding:8px;display:grid;place-items:center;color:#5b8297;margin-left:5px}.install-preview{display:flex;align-items:center;gap:14px;padding:23px 0;border-bottom:1px solid #2a3d53;margin-bottom:20px}.install-preview>img{height:57px;width:57px;border-radius:15px;box-shadow:0 5px 18px #0003}.install-preview strong{font-size:16px;font-weight:500;letter-spacing:1px;display:block}.install-preview span{display:block;font-size:10px;color:#7d9ab0;margin-top:7px}.phone-outline{margin-left:auto;height:68px;width:40px;border:1px solid #45667b;border-radius:9px;display:grid;place-items:center;color:#80bfc9;position:relative;background:#0f2134}.phone-outline>span{position:absolute;width:12px;height:2px;top:2px;background:#45667b;left:13px;border-radius:2px}.install-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#0a192b;border-radius:9px;margin:18px 0}.install-tabs button{padding:10px 5px;font-size:12px;color:#718ea6;border-radius:6px}.install-tabs button.active{background:#274253;color:#b6e0e4}.install-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.install-steps li{display:flex;gap:12px;align-items:flex-start}.install-steps li>span{border:1px solid #4d7789;color:#a3d7dd;border-radius:50%;height:22px;width:22px;flex-shrink:0;display:grid;place-items:center;font-size:11px}.install-steps p{font-size:12px;color:#9bb3c8;line-height:1.8;flex:1}.install-note{background:#1b3446;padding:12px;border-radius:8px;font-size:11px;color:#92bdcc;line-height:1.8}.installed-note{display:flex;gap:8px;align-items:center;color:#a0d5d9;font-size:12px;line-height:1.8;padding:15px 0}.offline-notice{padding:12px;background:#3b3425;color:#ddc58b;border:1px solid #685538;border-radius:10px;font-size:11px;line-height:1.8;margin-bottom:15px}.update-notice{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#1d3948;border:1px solid #4f7d8c;border-radius:10px;font-size:11px;color:#a8d2db;margin-bottom:15px}.update-notice button{font-size:11px;color:#c7eeee;text-decoration:underline}.app-shell{padding-top:max(30px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}.sheet input,.sheet select,.sheet textarea,.stepper input,.quantity-inputs select,.volume-input input{font-size:16px}.date-field input{font-size:16px;max-width:165px}.search-field input{font-size:16px}.search-field input::placeholder{font-size:11px}.record-form textarea{font-size:16px}.record-form textarea::placeholder{font-size:12px}.field-label input::placeholder{font-size:12px}@media(display-mode:standalone){body{overscroll-behavior-y:none}.app-shell{padding-top:calc(env(safe-area-inset-top) + 22px)}}.account-entry{display:flex;align-items:center;gap:7px;max-width:43%;min-width:0;padding:6px 8px 6px 6px;border:1px solid #2c4357;border-radius:24px;background:#162a3c;color:#a7c4d5}.account-entry .avatar{width:27px;height:27px;font-size:11px;background:#294859}.account-entry-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-entry>svg{flex-shrink:0;color:#7f9db4}.brand-header{gap:12px}.brand{flex-shrink:0}.account-settings-actions{margin-top:22px}.quantity-list{gap:12px;margin-top:18px}.quantity-card{background:linear-gradient(130deg,#1b3245,#14273b);border:1px solid #304c61;border-radius:17px;padding:11px 16px 12px;position:relative;overflow:hidden}.serving-heading{display:flex;align-items:center;justify-content:space-between}.serving-drink{display:flex;align-items:center;gap:6px}.serving-drink svg{height:29px;width:29px}.serving-drink strong{font-size:12px;font-weight:500;letter-spacing:.5px;color:#bbd6df}.serving-heading>button{display:grid;place-items:center;color:#6b8ba2;padding:7px;margin-right:-5px}.serving-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 17px}.serving-controls>button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.serving-minus{border:1px solid #3c5b70;background:#1b3448;color:#9dbdce}.serving-plus{background:#9dd9dc;border:1px solid #b4e3e4;color:#173b49;box-shadow:0 3px 14px #66a9b014}.serving-amount{display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:0;flex:1}.sheet .serving-amount input{border:0;border-bottom:1px solid transparent;background:none;border-radius:0;width:87px;min-width:0;padding:0 1px;text-align:center;color:#d2eeef;font-size:43px;line-height:1.1;font-weight:500;letter-spacing:-2px;font-variant-numeric:tabular-nums}.serving-amount input:focus{border-bottom-color:#699aa7;outline:none}.sheet .serving-amount select{width:64px;border:0;border-radius:6px;background-color:#244051;font-size:13px;color:#aecdd6;padding:6px 24px 6px 10px!important;background-position:right 6px center;align-self:center;letter-spacing:.5px}.serving-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid #2d4559;padding-top:10px;color:#66879e}.serving-footer>small,.fixed-capacity{font-size:9px;line-height:1.7;white-space:nowrap}.capacity-settings{min-width:0}.capacity-settings summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:9px;line-height:1.7;color:#7999ad}.capacity-settings summary::-webkit-details-marker{display:none}.capacity-settings summary>svg{color:#648599;flex-shrink:0}.capacity-settings[open] summary{color:#a5ccd5}.capacity-settings label{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:10px;color:#8caabb}.sheet .capacity-settings input{height:34px;max-width:77px;width:65px;padding:3px 6px;text-align:center;border-radius:7px;border-color:#39576b;background:#102437;font-size:16px;color:#b7d9df}.record-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 19px}.record-form .record-heading-row h2{font-size:19px;letter-spacing:1px;padding:0;white-space:nowrap}.record-date-nav{display:flex;align-items:center;gap:1px}.record-date-nav>button{height:34px;width:27px;display:grid;place-items:center;color:#9dbfce;border-radius:8px}.record-date-nav>button:disabled{opacity:.24}.compact-date{position:relative;display:flex;align-items:center;padding:7px 5px;border-radius:8px;background:#1b3346;cursor:pointer}.compact-date>span{font-size:12px;color:#bed9e1;white-space:nowrap;font-weight:500}.compact-date small{font-size:9px;font-weight:400;color:#7e9fb4;margin-left:7px}.sheet .compact-date input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}.compact-date input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;margin:0;padding:0;cursor:pointer}.compact-date:focus-within{outline:1px solid #87beca;outline-offset:2px}.level-picker .level-face{height:36px;width:39px;color:var(--level-color);opacity:.65}.level-picker button.active .level-face{opacity:1}.level-picker button{gap:6px;padding:10px 0 12px;border-radius:12px}.record-form>.eyebrow{margin-bottom:7px}@media(max-width:360px){.record-form .record-heading-row h2{font-size:17px}.compact-date>span{font-size:11px}.compact-date small{margin-left:4px;font-size:9px}.record-date-nav>button{width:24px}.serving-controls{gap:8px}.serving-controls>button{height:36px;width:36px}.sheet .serving-amount input{width:76px;font-size:40px}.quantity-card{padding-left:13px;padding-right:13px}}.calendar-day.recorded:not(.level--1){background:color-mix(in srgb,var(--level-color) 25%,#122035);border-color:color-mix(in srgb,var(--level-color) 60%,#26384c);color:var(--level-color);box-shadow:inset 0 0 12px color-mix(in srgb,var(--level-color) 8%,transparent)}.calendar-day.recorded:not(.level--1)>span{font-weight:600}.calendar-day.recorded small{height:10px;display:flex;align-items:center;justify-content:center;overflow:visible;opacity:1}.calendar-level-mark{display:block;width:14px;height:3px;border-radius:3px;background:var(--level-color);box-shadow:0 0 7px color-mix(in srgb,var(--level-color) 25%,transparent)}.calendar-day.recorded.today{border-color:var(--level-color)}.brand-mark{border:0;background:none;box-shadow:none;overflow:hidden}.brand-mark img{display:block;height:43px;width:43px}.monthly-card-entry{display:flex;align-items:center;gap:12px;text-decoration:none;color:#bcd8d8;background:linear-gradient(115deg,#1c3643,#152c3b);border:1px solid #375461;border-radius:14px;padding:16px 14px;margin-top:15px}.monthly-entry-art{height:39px;width:39px;display:grid;place-items:center;border:1px solid #52707b;border-radius:11px;color:#b2cfbe}.monthly-card-entry>span:nth-child(2){flex:1}.monthly-card-entry strong{font-size:13px;font-weight:500;display:block;letter-spacing:.5px}.monthly-card-entry small{font-size:11px;color:#7f9fa9;display:block;margin-top:5px}.monthly-card-entry>svg{color:#8db8bc;flex-shrink:0}.record-actions{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:8px;align-items:stretch}.record-actions .checkin-button{min-width:0;padding:18px 14px;gap:10px}.record-actions .checkin-plus{flex-shrink:0}.record-actions .checkin-button small{letter-spacing:0}.record-actions .monthly-card-entry{margin:0;padding:10px 3px;border-radius:15px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;min-width:0;font-size:14px;line-height:1.3;letter-spacing:1px}.record-actions .monthly-card-entry>span{flex:none}.record-actions .monthly-card-entry>svg{color:#b2cfbe;flex-shrink:0}@media(max-width:360px){.record-actions .checkin-button{padding:17px 10px;gap:8px}.record-actions .checkin-button strong{font-size:16px}.record-actions .checkin-arrow{display:none}}.level-picker .level-face{width:64px;height:58px;max-width:100%;opacity:1}.level-picker button{font-size:13px;gap:5px;padding:10px 2px 12px;background:linear-gradient(160deg,#1b3045,#17283d);min-width:0}.level-picker button.active{background:color-mix(in srgb,var(--level-color) 14%,#15273a);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--level-color) 25%,transparent)}.scene-picker button{font-size:13px;gap:5px;padding:10px 2px 12px;background:linear-gradient(160deg,#1b3045,#17283d);min-width:0;border-radius:12px;color:#a5bccb}.scene-picker .scene-art{width:64px;height:58px;max-width:100%}.scene-picker button.active{border-color:#94d1ce;background:#233d4c;color:#cde9e8;box-shadow:inset 0 0 0 1px #8ac7c422}.scene-picker .scene-art,.level-picker .level-face{transition:transform .2s}.scene-picker button.active .scene-art,.level-picker button.active .level-face{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.scene-picker .scene-art,.level-picker .level-face{transition:none}}.calendar-legend span{color:var(--level-color)}.action-list .invite-friend-entry{margin:4px 0 12px;padding:12px;border:1px solid #3b5d69;border-radius:14px;background:linear-gradient(120deg,#243f4c,#172d40);gap:12px}.invite-friend-entry .invite-mark{width:48px;height:48px;flex-shrink:0;border-radius:12px;background:#12303e;display:grid;place-items:center}.invite-friend-entry .invite-mark .scene-art{width:48px;height:44px}.invite-entry-copy{flex:1;min-width:0}.invite-entry-copy strong{display:block;font-size:15px;font-weight:500;letter-spacing:1px;color:#d0e8e5}.invite-entry-copy small{display:block;font-size:12px;color:#8eafb9;margin-top:5px}.invite-heading{display:flex;align-items:center;gap:12px;margin:8px 0 24px;padding:0 0 8px}.invite-heading>div{flex:1;min-width:0}.invite-heading h2{padding-right:0}.invite-heading p{font-size:13px;line-height:1.8;color:#91adbb;margin-top:10px;max-width:17em}.invite-heading .scene-art{width:88px;height:80px;flex-shrink:0}.invite-heading~.field-label{font-size:14px}.invite-heading~.field-label input{font-size:16px;min-height:49px}@media(max-width:360px){.invite-heading{gap:5px}.invite-heading .scene-art{width:72px;height:66px}}.calendar-legend{font-size:12px;gap:8px;margin:20px 0 2px;line-height:1.5}.calendar-legend span{gap:6px}.calendar-legend .dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}@media(min-width:700px){.calendar-legend{font-size:13px}}@media(max-width:360px){.calendar-legend{font-size:12px;gap:5px}.calendar-legend span{gap:5px}}.toast.toast-error{top:50%;bottom:auto;transform:translate(-50%,-50%);background:#432d38;border:1px solid #936271;color:#ffe0e4;font-size:14px;line-height:1.6;text-align:center;padding:14px 22px;pointer-events:none}.drink-picker button>svg{height:66px}.level-picker .level-face{width:72px;height:72px}.scene-picker .scene-art{width:74px;height:74px}.level-picker button,.scene-picker button{gap:7px;padding:8px 2px 12px}.brand-mark img{border-radius:12px}.invite-heading .scene-art{width:96px;height:90px}.invite-friend-entry .invite-mark .scene-art{width:50px;height:48px}.empty-art{height:85px}.empty-art:before,.empty-art:after{display:none}.empty-art img{width:80px;height:80px;object-fit:contain}.phone-outline img{width:28px;height:28px;border-radius:6px}.scene-picker button.active .scene-art[data-cheers-rig]{transform:none;transition:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.avatar,.tiny-avatar{overflow:hidden;flex-shrink:0}.avatar img,.tiny-avatar img{width:100%;height:100%;object-fit:cover}.photo-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.photo-tile,.add-photo{aspect-ratio:1;border-radius:13px;position:relative;overflow:hidden}.photo-tile img{height:100%;width:100%;object-fit:cover}.photo-tile>button{position:absolute;right:5px;top:5px;background:#091525b8;border:1px solid #e4eff044;border-radius:50%;height:28px;width:28px;display:grid;place-items:center}.add-photo{border:1px dashed #49616b;background:#172d3c;color:#a9c9cd;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px}.record-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0}.record-photos>button{padding:0;aspect-ratio:1;border-radius:9px;overflow:hidden}.record-photos img{height:100%;width:100%;object-fit:cover}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#050d18f5;display:flex;align-items:center;justify-content:center;padding:65px 12px 90px}.photo-lightbox>img{max-width:100%;max-height:100%;object-fit:contain}.photo-close{position:absolute;right:18px;top:max(20px,env(safe-area-inset-top));width:44px;height:44px;display:grid;place-items:center}.photo-pagination{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:0;right:0;display:flex;gap:24px;justify-content:center;align-items:center;font-size:14px}.photo-pagination button{padding:12px}.text-action{color:#a2d2d3;font-size:13px;padding:6px 0}.place-entry{display:flex;align-items:center;gap:11px;width:100%;padding:15px 13px;text-align:left;border:1px solid #354d61;border-radius:13px;background:#152a3b;color:#a8c5d0}.place-entry>span{flex:1;min-width:0}.place-entry strong{display:block;font-size:14px;font-weight:500}.place-entry small{display:block;font-size:12px;line-height:1.6;margin-top:5px;color:#819daa}.place-entry>svg{flex-shrink:0}.place-search{margin-top:12px;padding:13px;background:#0c1b2b;border:1px solid #2c4358;border-radius:14px}.place-search-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-tabs{display:flex;gap:5px;flex-wrap:wrap}.map-tabs button{font-size:13px;min-height:38px;padding:7px 13px;border-radius:9px;color:#8ea9bc;border:1px solid transparent}.map-tabs button.active{color:#c8e6e2;background:#294553;border-color:#567a80}.nearby-button{display:flex;align-items:center;gap:4px;font-size:13px;color:#a7d7d8;min-height:44px;white-space:nowrap;padding:5px}.place-search-fields{display:flex;gap:6px;margin-top:12px}.place-search-fields input{border-radius:8px;min-height:44px;padding:9px;font-size:16px;width:100%;min-width:0}.place-search-fields input{flex:1;width:100%}.place-search-fields button{background:#284955;color:#b3dedd;border-radius:8px;width:44px;flex-shrink:0}.poi-list{max-height:270px;overflow:auto;overscroll-behavior:contain}.poi-list>button{display:flex;text-align:left;width:100%;align-items:center;gap:9px;padding:15px 0;border-top:1px solid #24394a;margin-top:3px}.poi-list>button>span{flex:1;min-width:0}.poi-list strong{font-size:14px;font-weight:500;color:#cadce5}.poi-list small{display:block;font-size:12px;line-height:1.7;color:#7e9aac;margin-top:5px}.poi-list em{font-size:12px;color:#a4c2c8;font-style:normal;white-space:nowrap}.place-status{font-size:13px;line-height:1.8;color:#9ab7c5;display:flex;gap:7px;align-items:center;margin:13px 0}.location-clear{margin-top:6px;font-size:12px}.history-place{display:flex;align-items:center;gap:6px;max-width:100%;padding:10px 0;font-size:13px;color:#a8cece;text-align:left}.history-place span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-place svg{flex-shrink:0}.footprint-section{margin-top:31px;border:1px solid #30475b;background:linear-gradient(150deg,#162b3a,#102132);border-radius:20px;overflow:hidden;padding:20px 0 0}.footprint-heading{display:flex;justify-content:space-between;align-items:center;padding:0 17px}.footprint-heading .eyebrow{color:#8fa8b1;letter-spacing:3px;font-size:11px;margin-bottom:7px}.footprint-heading h2{font-size:20px;font-weight:500;letter-spacing:1px}.footprint-heading>span{font-size:12px;color:#8ba9b8}.footprint-filters{padding:15px 12px 12px;gap:4px}.footprint-filters button{font-size:13px;flex:1}.footprint-map-frame{height:265px;position:relative;background:#0c1d2a}.footprint-map{height:100%;width:100%}.map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:20px;color:#89aebb;background:radial-gradient(ellipse at center,#1b3b4780,transparent 70%),#102331;text-align:center}.map-placeholder p{font-size:14px;line-height:1.8}.map-placeholder small{font-size:12px;line-height:1.8;color:#6e8c9e}.map-placeholder button{border:1px solid #577583;padding:10px 18px;border-radius:8px;color:#bdd8dc}.map-place-strip{display:flex;gap:7px;overflow-x:auto;padding:12px;scrollbar-width:thin}.map-place-strip button{border:1px solid #334e60;border-radius:9px;font-size:12px;display:flex;gap:9px;align-items:center;padding:10px;flex-shrink:0;max-width:230px;color:#a4bfca}.map-place-strip button.active{border-color:#94c6c4;background:#274452;color:#d2e5e0}.map-place-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-place-strip small{white-space:nowrap;color:#b9be9e}.map-place-detail{padding:17px;border-top:1px solid #2e4657}.map-place-title{display:flex;justify-content:space-between;gap:12px}.map-place-title h3{font-size:16px;font-weight:500}.map-place-title p{font-size:12px;line-height:1.8;color:#7e9ba9;margin-top:6px}.map-place-title>b{font-size:29px;font-weight:400;color:#c6d7be;white-space:nowrap}.map-place-title>b small{display:block;font-size:11px;color:#90aaa9;font-weight:400}.map-visitors{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 4px}.map-visitors>span{display:flex;gap:6px;align-items:center;font-size:12px;color:#a3c0cb}.map-visitors .avatar{height:26px;width:26px;font-size:11px}.map-visit-list{max-height:225px;overflow:auto}.map-visit-list button{display:flex;justify-content:space-between;gap:12px;width:100%;font-size:13px;min-height:44px;border-bottom:1px solid #273e4f;text-align:left;color:#aec8d1}.map-visit-list button>span{align-self:center}.amap-logo,.amap-copyright{opacity:.8}.avatar-placeholder{display:flex;justify-content:center;padding:25px}.avatar-placeholder>.avatar{height:140px;width:140px;font-size:52px}.avatar-crop{display:block;margin:20px auto;width:210px;height:210px;border-radius:50%;box-shadow:0 0 0 4px #42606b}.avatar-select{display:flex;justify-content:center;align-items:center;gap:8px;margin:15px auto;color:#bbd9d8;min-height:44px;padding:10px 18px;border:1px solid #3e5f70;border-radius:10px;font-size:14px}.crop-controls{margin:22px 0}.crop-controls label{display:flex;align-items:center;gap:16px;font-size:13px;color:#95b4c3;margin:15px 0}.crop-controls input{flex:1;min-width:0;accent-color:#9dd6d4}.account-settings-actions .avatar{width:25px;height:25px;font-size:12px}iframe.footprint-map{display:block;border:0}.record-photos:has(>button:only-child){grid-template-columns:1fr}.record-photos>button:only-child{aspect-ratio:16/10;max-height:230px}.record-photos:has(>button:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.nearby-title{font-size:14px;color:#b8d0d7;font-weight:500}
