:root{--bg: #FAF7F2;--bg-2: #F4F0E8;--surface: #FFFFFF;--ink: #1A1A1A;--ink-2: #3A3A3A;--muted: #7A7568;--line: #E8E2D5;--line-2: #D9D2C2;--teal: #2F7A6B;--teal-2: #246357;--teal-soft: #E3EDE9;--orange: #E87A3E;--orange-2: #D56A2E;--orange-soft: #FBE8D8;--gi-low: #2F7A6B;--gi-med: #D99E2B;--gi-high: #C85450;--gi-low-soft: #E3EDE9;--gi-med-soft: #F7EBD0;--gi-high-soft: #F4DEDB;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--font-ui: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px);--device-width: 393px}[data-theme=dark]{--bg: #141311;--bg-2: #1C1B18;--surface: #1F1E1B;--ink: #F2EEE4;--ink-2: #CFC9BA;--muted: #8F8876;--line: #2B2925;--line-2: #3A3731;--teal: #4FA896;--teal-2: #62BCAA;--teal-soft: #1E2D2A;--orange: #ED8A53;--orange-2: #F39966;--orange-soft: #2E2219;--gi-low: #4FA896;--gi-med: #E0B04A;--gi-high: #D97A74;--gi-low-soft: #1E2D2A;--gi-med-soft: #2E2619;--gi-high-soft: #2D1F1D}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:12px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}body{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,select,textarea{font-family:inherit;color:inherit}.phone-shell{position:relative}.phone-notch-wrap,.phone-home-indicator{display:none}.app{width:100%;max-width:var(--device-width);margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:calc(96px + var(--safe-bot));position:relative}.topbar{position:sticky;top:0;z-index:20;background:var(--bg);padding:calc(var(--safe-top) + 14px) 20px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:border-color .2s}.topbar.scrolled{border-bottom-color:var(--line)}.topbar h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.topbar h1 em{color:var(--teal);font-style:normal;font-weight:600}.topbar.brand-topbar{justify-content:center;padding:calc(var(--safe-top) + 6px) 20px 2px}.brand-logo{height:60px;width:auto;display:block;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,255,255,.16))}.topbar-actions{display:flex;gap:6px}.icon-btn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);background:transparent}.icon-btn:active{background:var(--bg-2)}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 4px;color:var(--ink-2);font-size:12px}.screen{padding:4px 20px 20px}.hdr{padding:8px 0 16px}.eyebrow{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.hdr h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.035em;line-height:1.08}.hdr h2.today-title{font-size:24px}.hdr h2 em{color:var(--teal);font-style:normal;font-weight:600}.hdr p{margin:6px 0 0;color:var(--muted);font-size:11.5px}.today-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;margin-top:4px}.today-top{display:grid;grid-template-columns:108px 1fr;gap:18px;align-items:start}.today-ring-col{display:flex;flex-direction:column;align-items:center;gap:8px}.ring-wrap{position:relative;width:108px;height:108px}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-kcal{font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1;letter-spacing:-.03em}.ring-sub{font-family:var(--font-mono);font-size:7.5px;color:var(--muted);margin-top:4px;letter-spacing:.06em}.today-ring-col .remaining{font-size:11px;color:var(--ink-2);text-align:center}.today-ring-col .remaining b{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.025em}.today-ring-col .remaining span{color:var(--muted);font-size:10px}.today-meta{display:flex;align-items:center;min-height:108px}.spike-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:999px;font-size:10px;background:var(--gi-med-soft);color:#8a6312;border:1px solid rgba(217,158,43,.2);width:-moz-fit-content;width:fit-content}.spike-pill b{font-family:var(--font-mono);font-weight:500}.spike-pill.low{background:var(--gi-low-soft);color:var(--gi-low);border-color:#2f7a6b2e}.spike-pill.high{background:var(--gi-high-soft);color:var(--gi-high);border-color:#c8545038}[data-theme=dark] .spike-pill{color:var(--gi-med)}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.today-meta .macros{display:flex;flex-direction:column;gap:9px;margin-top:0;margin-left:18px;padding-top:0;border-top:0;width:100%;max-width:228px}.today-meta .macro{width:100%}.macro{display:flex;flex-direction:column;gap:5px}.macro .lbl{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}.macro .lbl b{color:var(--ink);font-weight:500;font-family:var(--font-ui)}.macro-bar{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.today-meta .macro-bar{height:4px}.macro-bar>i{display:block;height:100%}.macro.carbs .macro-bar>i{background:var(--orange)}.macro.protein .macro-bar>i{background:var(--teal)}.macro.fat .macro-bar>i{background:#d1b068}.macro.fibre .macro-bar>i{background:#8f6ab0}.gi-strip{margin-top:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.gi-strip-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.gi-strip-top .lbl{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gi-strip-top .val{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.025em}.gi-strip-top .val small{font-family:var(--font-mono);font-size:8px;color:var(--muted);margin-left:6px;letter-spacing:.06em}.gi-scale{position:relative;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--gi-low) 0%,var(--gi-low) 30%,var(--gi-med) 55%,var(--gi-high) 100%)}.gi-marker{position:absolute;top:-4px;width:3px;height:14px;background:var(--ink);border-radius:2px;transform:translate(-50%);box-shadow:0 0 0 2px var(--surface)}.gi-ticks{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--font-mono);font-size:7.5px;color:var(--muted);letter-spacing:.04em}.section-label{display:flex;justify-content:space-between;align-items:baseline;margin:24px 4px 10px}.section-label .t{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.025em}.section-label .m{font-family:var(--font-mono);font-size:8.5px;color:var(--muted);letter-spacing:.06em}.meal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden}.meal-card-head{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;transition:background .12s}.meal-card-head:active{background:var(--bg-2)}.meal-card-title{display:flex;flex-direction:column;gap:2px}.meal-card-title .t{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.meal-card-title .s{font-family:var(--font-mono);font-size:8.5px;color:var(--muted);letter-spacing:.06em}.meal-kcal{font-family:var(--font-mono);font-size:10px;color:var(--ink-2);text-align:right}.meal-kcal b{color:var(--ink);font-weight:500}.meal-kcal .bar{display:block;width:50px;height:2px;background:var(--line);border-radius:2px;margin-top:4px;overflow:hidden}.meal-kcal .bar>i{display:block;height:100%;background:var(--orange)}.meal-add-btn{width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;transition:transform .12s,background .15s}.meal-add-btn:active{transform:scale(.92)}.meal-card-items{border-top:1px solid var(--line);padding:6px 16px 12px}.meal-item{display:grid;grid-template-columns:8px 1fr auto auto;gap:10px;align-items:center;padding:8px 0;cursor:pointer}.meal-item+.meal-item{border-top:1px dashed var(--line)}.meal-item .dot-gi{width:8px;height:8px;border-radius:50%}.gi-dot-low{background:var(--gi-low)}.gi-dot-med{background:var(--gi-med)}.gi-dot-high{background:var(--gi-high)}.meal-item .name{font-size:11.5px;color:var(--ink)}.meal-item .sub{font-family:var(--font-mono);font-size:8.5px;color:var(--muted);margin-top:2px;letter-spacing:.03em}.meal-item .kcal{font-family:var(--font-mono);font-size:10px;color:var(--ink-2)}.meal-item-action{width:24px;height:24px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);display:grid;place-items:center}.meal-item-action:active{background:var(--bg-2);color:var(--ink)}.coach-tip{margin-top:18px;padding:14px 16px;background:var(--teal-soft);border:1px solid rgba(47,122,107,.15);border-radius:var(--radius-lg);display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:flex-start}.coach-tip .ico{width:32px;height:32px;border-radius:10px;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:11px;font-weight:600}.coach-tip .tag{display:inline-block;font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:2px}.coach-tip p{margin:0;color:var(--teal-2);font-size:11px;line-height:1.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:var(--radius);font-size:12px;font-weight:500;border:1px solid transparent;transition:background .12s,border-color .12s,transform .08s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--orange);color:#fff}.btn-primary:active{background:var(--orange-2)}.btn-teal{background:var(--teal);color:#fff}.btn-teal:active{background:var(--teal-2)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.btn-secondary:active{background:var(--bg-2)}.btn-block{width:100%}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1413118c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:50;display:none}.overlay.open{display:block;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--device-width);background:var(--bg);border-radius:24px 24px 0 0;z-index:51;display:flex;flex-direction:column;max-height:92vh;animation:slideUp .28s cubic-bezier(.2,.9,.2,1);padding-bottom:var(--safe-bot)}@keyframes slideUp{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.sheet-handle{width:40px;height:4px;background:var(--line-2);border-radius:2px;margin:8px auto 2px}.sheet-head{padding:10px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.sheet-head h2{margin:0;font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.025em}.sheet-body{padding:18px 20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.sheet-foot{padding:12px 20px calc(12px + var(--safe-bot));border-top:1px solid var(--line);display:flex;gap:10px;background:var(--bg)}.sheet-foot .btn{flex:1}.x-btn{width:32px;height:32px;border-radius:8px;color:var(--muted);display:grid;place-items:center}.x-btn:active{background:var(--bg-2);color:var(--ink)}.method-list{display:flex;flex-direction:column;gap:10px}.method{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer}.method-ico{width:48px;height:48px;border-radius:14px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}.method.ai .method-ico{background:var(--orange-soft);color:var(--orange)}.method h3{margin:0;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.method h3 .tag{font-family:var(--font-mono);font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:4px}.method.ai h3 .tag{background:var(--orange-soft);color:var(--orange-2)}.method.manual h3 .tag{background:var(--teal-soft);color:var(--teal)}.method p{margin:4px 0 0;color:var(--muted);font-size:10.5px}.method:disabled{opacity:.58;cursor:not-allowed}.method:disabled .method-ico{background:var(--bg-2);color:var(--muted)}.slot-list{display:flex;flex-direction:column;gap:8px}.slot{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer}.cam{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:#111}.cam-label{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#00000080;padding:4px 8px;border-radius:4px;z-index:2}.cam-corners{position:absolute;top:20px;right:20px;bottom:20px;left:20px;pointer-events:none;z-index:2}.cam-corners i{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.9)}.cam-corners i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none}.cam-corners i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none}.cam-corners i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none}.cam-corners i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none}.cam-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--teal),transparent);box-shadow:0 0 12px var(--teal);animation:scan 2.4s linear infinite;z-index:2}@keyframes scan{0%{top:10%}50%{top:88%}to{top:10%}}.cam-actions{display:flex;gap:8px;margin-top:10px}.cam-actions .btn{flex:1}.analysis-log{margin-top:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-family:var(--font-mono);font-size:9px;color:var(--ink-2);line-height:1.65}.analysis-log .tag{display:inline-block;width:50px;color:var(--muted)}.analysis-log .tag.ok{color:var(--teal)}.analysis-log .tag.info{color:var(--orange-2)}.detected{display:flex;flex-direction:column;gap:8px;margin-top:14px}.detected-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:8px;letter-spacing:.04em;padding:3px 7px;border-radius:4px;background:var(--bg-2);color:var(--ink-2)}.chip.low{background:var(--gi-low-soft);color:var(--gi-low)}.chip.med{background:var(--gi-med-soft);color:#8a6312}.chip.high{background:var(--gi-high-soft);color:var(--gi-high)}.mini-tabs{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);margin-bottom:14px}.mini-tabs button{flex:1;padding:10px 6px;font-size:10.5px;color:var(--muted);display:flex;justify-content:center;align-items:center;gap:6px;border-right:1px solid var(--line)}.mini-tabs button.active{background:var(--teal-soft);color:var(--teal);font-weight:500}.manual-search{display:flex;gap:10px;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.manual-search input{flex:1;border:none;outline:none;background:none;font-size:12px}.search-results{margin-top:12px}.search-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer}.recent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px}.recent-card{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer}.edit-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.serving-control{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);overflow:hidden}.serving-control button{width:34px;height:34px;display:grid;place-items:center}.serving-control .val{min-width:44px;text-align:center;font-family:var(--font-mono);font-size:11px}.nutri-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.nutri-cell{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.nutri-cell .k{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nutri-cell .v{font-family:var(--font-display);font-size:18px;font-weight:600;margin-top:2px}.spike-card{margin-top:14px;padding:14px 16px;border-radius:var(--radius);background:var(--gi-med-soft);border:1px solid rgba(217,158,43,.25)}.spike-card.low{background:var(--gi-low-soft)}.spike-card.high{background:var(--gi-high-soft)}.spike-head{display:flex;justify-content:space-between;align-items:baseline}.spike-meter{height:6px;border-radius:3px;background:#00000014;margin:10px 0 6px;overflow:hidden}.spike-meter>i{display:block;height:100%;background:var(--gi-med)}.target-summary-card{margin-top:14px;background:#1f1e1b;color:#f2eee4;border:1px solid #34312a;border-radius:16px;padding:14px}.target-summary-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.target-title-wrap{min-width:0}.target-title{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.02em}.target-sub{margin-top:4px;color:#a39a88;font-size:11px}.target-serving-control{background:#26231f;border-color:#3b352c}.target-serving-control .val{min-width:52px;color:#f2eee4}.target-calorie-card{margin-top:12px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;border:1px solid #3b352c;background:#26231f}.target-calorie-card span{color:#a39a88;font-size:12px}.target-calorie-card b{font-family:var(--font-display);font-size:28px;line-height:1}.target-macro-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.target-macro-cell{border:1px solid #3b352c;border-radius:12px;padding:8px 6px;background:#26231f;text-align:center}.target-macro-cell span{color:#a39a88;font-size:10px}.target-macro-cell b{display:block;margin-top:2px;font-size:16px}.target-gi-card{margin-top:12px;border:1px solid #316454;border-radius:12px;padding:10px;background:#1e2d2a}.target-gi-row{display:flex;justify-content:space-between;align-items:center}.target-gi-row span{color:#9fc9bb;font-size:11px}.target-gi-row b{color:#d4efe6;font-size:11px}.target-gi-bar{position:relative;margin-top:8px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--gi-low) 0%,var(--gi-low) 30%,var(--gi-med) 55%,var(--gi-high) 100%)}.target-gi-bar i{position:absolute;top:-3px;width:3px;height:12px;border-radius:2px;background:#f2eee4;transform:translate(-50%)}.target-gi-ticks{margin-top:5px;display:flex;justify-content:space-between;color:#9fc9bb;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.target-item-list{margin-top:14px;border-top:1px solid #3b352c;padding-top:10px}.target-item-row{display:flex;justify-content:space-between;color:#ece7dc;font-size:14px;padding:6px 0;gap:12px}.target-item-row+.target-item-row{border-top:1px dashed #3b352c}.target-item-main{display:flex;flex-direction:column;gap:6px}.target-item-qty{display:inline-flex;align-items:center;gap:6px;border:1px solid #3b352c;border-radius:999px;background:#26231f;width:-moz-fit-content;width:fit-content;padding:2px 6px}.target-item-qty button{width:20px;height:20px;display:grid;place-items:center;color:#d8d1c3}.target-item-qty span{font-family:var(--font-mono);font-size:10px;color:#c7bdab}.target-item-qty-input{width:42px;border:1px solid #3b352c;border-radius:8px;background:#1f1e1b;color:#d9d0c1;font-family:var(--font-mono);font-size:10px;text-align:center;outline:none;padding:2px 4px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.target-item-qty-input::-webkit-outer-spin-button,.target-item-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.target-item-unit{border:1px solid #3b352c;border-radius:8px;background:#1f1e1b;color:#d9d0c1;font-family:var(--font-mono);font-size:10px;padding:2px 6px;outline:none}.logged-detail-image-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:10px;background:var(--bg-2)}.logged-detail-image{width:100%;height:180px;-o-object-fit:cover;object-fit:cover;display:block}.logged-detail-image-empty{height:120px;display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.confirm-wrap{text-align:center;padding:12px 6px 6px}.confirm-ring{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin:0 auto 12px;font-size:26px}.confirm-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.confirm-stat{padding:10px;border:1px solid var(--line);border-radius:var(--radius);text-align:center}.history-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0 20px}.history-empty-line{grid-column:1 / -1;white-space:nowrap}.history-day{padding:8px 4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center}.history-day .bar{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.history-day .bar>i{display:block;height:100%;background:var(--teal)}.history-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--device-width);background:var(--surface);border-top:1px solid var(--line);padding:8px 16px calc(8px + var(--safe-bot));display:flex;justify-content:space-around;z-index:25}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;color:var(--muted);font-size:8.5px;font-family:var(--font-display);font-weight:500;border-radius:10px}.tab.active{color:var(--teal)}.tweaks-panel{position:fixed;right:16px;bottom:calc(100px + var(--safe-bot));width:240px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 10px 30px #0003;padding:14px;z-index:60;display:none}.tweaks-panel.open{display:block}.tweaks-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:11px}.switch{width:36px;height:20px;border-radius:999px;background:var(--line-2);position:relative;cursor:pointer}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:var(--teal)}.switch.on:after{transform:translate(16px)}.row{display:flex;align-items:center;gap:10px}.mono{font-family:var(--font-mono)}.text-muted{color:var(--muted)}@media (min-width: 900px){body{background:#070b14;overflow:hidden}.phone-shell{width:var(--device-width);max-width:calc(100vw - 20px);height:calc(100vh - 24px);margin:12px auto;border-radius:44px;border:3px solid #2f3442;background:var(--bg);box-shadow:0 0 60px #000000a6,inset 0 0 0 1px #363b4a;overflow:hidden}.phone-notch-wrap{display:flex;justify-content:center;padding:10px 0 4px;position:relative;z-index:3;background:var(--bg)}.phone-notch{width:120px;height:28px;border-radius:999px;background:#0f131e;box-shadow:inset 0 1px 3px #0000008c}.app{max-width:none;width:100%;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(98px + var(--safe-bot));scrollbar-width:none}.app::-webkit-scrollbar{display:none}.tabbar{position:absolute;left:0;right:0;bottom:8px;transform:none;width:auto;max-width:none;margin:0 10px;border-radius:16px;border:1px solid var(--line)}.phone-home-indicator{display:block;position:absolute;left:50%;bottom:4px;transform:translate(-50%);width:134px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 28%,transparent);z-index:3}}
