.searchbox{margin:4px 0 12px}.searchrow{display:flex;gap:8px;align-items:center}.searchrow input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;color:var(--text);font:inherit;font-size:15px;outline:none}.searchrow input:focus{border-color:var(--c-main)}.aibtn{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--mut);cursor:pointer}.aibtn.active{background:var(--card2);color:var(--c-main);border-color:var(--c-main)}.chiprow{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px}.catchip{flex:none;font-size:12.5px;color:var(--mut);background:transparent;border:1px solid var(--line);border-radius:20px;padding:5px 14px;cursor:pointer;font-family:inherit}.catchip.active{background:var(--card2);color:var(--text);border-color:var(--c-main)}.crowlist{display:grid;gap:10px;margin-top:10px}.crow{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;border-left:4px solid var(--cat);text-decoration:none;color:var(--text)}.crow-name{flex:1;min-width:0;font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crow .chev{color:var(--mut);font-size:22px;flex:none;line-height:1}.appbar-t{flex:1;min-width:0}.appbar-t h1{margin:0;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-t .sub{color:var(--mut);font-size:12.5px}.note{display:flex;gap:10px;background:color-mix(in srgb,var(--c-soup) 10%,transparent);border:1px solid color-mix(in srgb,var(--c-soup) 30%,transparent);border-radius:14px;padding:12px 14px;font-size:13.5px;color:var(--text);margin:12px 0 16px;line-height:1.5}.note b{color:var(--c-soup)}.tbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-decoration:none;color:inherit}.tname{font-size:15px;font-weight:600;line-height:1.35}.tmeta{font-size:12px;color:var(--mut)}.tmeta.carry{color:var(--c-hearty);font-weight:700}.tile input:checked~.tbody .tname{color:var(--ok)}.tiles.onecol{grid-template-columns:1fr}.selectrow{display:flex;gap:8px;margin:0 0 12px}.selectbtn{border:none;background:none;color:var(--mut);font-size:12.5px;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px;font-family:inherit}.selectbtn:hover{color:var(--c-main)}.bolt{margin-left:6px;color:var(--c-x1)}.cta{margin-top:26px;display:grid;gap:10px}.cta .go{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ok);color:#10240f;font-weight:800;border-radius:20px;padding:16px;border:none;cursor:pointer;font-family:inherit;font-size:15.5px;width:100%}.cta .skip{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:20px;color:var(--mut);padding:14px;cursor:pointer;font-family:inherit;font-size:14px;background:transparent;width:100%}.cathead .del{border:none;background:none;color:var(--mut);font-size:12px;cursor:pointer;padding:4px 0 4px 8px;text-decoration:underline;text-underline-offset:3px;font-family:inherit}.cathead .del:hover{color:var(--c-main)}.acts{display:flex;gap:4px;flex:none}.acts button{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-size:14px;cursor:pointer;display:grid;place-items:center;padding:0;font-family:inherit}.acts button:hover{border-color:var(--c-main);color:var(--c-main)}.acts button.mut{color:var(--mut)}.acts button:disabled{opacity:.4;pointer-events:none}.tile.add{border:1.5px dashed var(--line);border-left:1.5px dashed var(--line);background:transparent;color:var(--mut);cursor:pointer;min-height:70px;justify-content:center;gap:10px;font-family:inherit}.tile.add:hover{border-color:var(--c-main);color:var(--c-main)}.tile.add .plus{font-size:20px;line-height:1}.tile.add .lbl{font-size:13.5px;font-weight:700}.addcat{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 4px;border:1.5px dashed var(--line);border-radius:18px;padding:15px;color:var(--mut);font-size:14px;font-weight:700;text-decoration:none;width:100%;background:transparent;cursor:pointer;font-family:inherit}.addcat:hover{border-color:var(--c-main);color:var(--c-main)}.addform{margin:18px 0 4px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:12px}.addform .chiprow{flex-wrap:wrap;overflow:visible;margin-bottom:0;padding-bottom:0}.addform .chiprow .catchip{font-size:14.5px;font-weight:600;padding:12px 18px;background:var(--card2);color:var(--text)}.addform .chiprow .catchip.active{border-color:var(--c-main);color:var(--c-main)}.addform .formrow{display:flex;gap:8px}.addform .formrow button{font-family:inherit;cursor:pointer;border-radius:14px;padding:10px 16px;font-size:13.5px;font-weight:700}.addform .formrow .cancel{background:transparent;border:1px solid var(--line);color:var(--mut)}.addform .formrow button:disabled{opacity:.5;pointer-events:none}.addform .formrow .go{background:var(--ok);border:none;color:#10240f}.spinner{flex:none;width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.busyrow{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--mut);font-size:14px}.busyhint{flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;color:var(--mut);font-size:12.5px}.retry{font-family:inherit;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:11px 18px;font-size:14px;font-weight:700}.retry:hover{border-color:var(--c-main);color:var(--c-main)}.replaceform{grid-column:1 / -1;margin:0}.replaceform input{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:10px 14px;color:var(--text);font:inherit;font-size:14px;outline:none}.replaceform input:focus{border-color:var(--c-main)}.actionbar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(transparent,var(--bg) 30%);padding:26px 14px calc(14px + env(safe-area-inset-bottom));display:flex;gap:10px}.actionbar .inner{max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px;width:100%}.actionbar .again{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);border-radius:18px;color:var(--text);padding:15px;font-size:14.5px;background:var(--card);cursor:pointer;font-family:inherit}.actionbar .approve{flex:2;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--ok);color:#10240f;font-weight:800;border:none;border-radius:18px;padding:15px;font-size:14.5px;cursor:pointer;font-family:inherit}.actionbar .approve:disabled,.actionbar .again:disabled{opacity:.5;cursor:default}button.crow{font:inherit;width:100%;text-align:left;cursor:pointer}.crow.disabled{opacity:.45;pointer-events:none}.crow-meta{color:var(--mut);font-size:12px;flex:none}.buy.draft{padding-left:14px}.tiles{display:grid;gap:10px}@media(min-width:640px){.tiles{grid-template-columns:1fr 1fr}}.tile{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;border-left:4px solid var(--cat)}.tile>label{display:flex;align-items:center;cursor:pointer;flex:none;padding:2px}.tile input{display:none}.tile .chk{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:transparent;font-size:15px}.tile:has(input:checked) .chk{background:var(--ok);border-color:var(--ok);color:#10240f}.tlink{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none}.tile-body{flex:1;min-width:0;display:flex;flex-direction:column}.tile-name{font-size:15.5px;font-weight:600;line-height:1.35;color:var(--text)}.tile-meta{font-size:12.5px;color:var(--mut);margin-top:3px}.tile:has(input:checked) .tile-name{text-decoration:line-through;opacity:.65}.tile:has(input:checked) .tile-meta{color:var(--ok)}.chev{color:var(--mut);font-size:22px;flex:none;line-height:1}.empty{margin:64px 20px 0;text-align:center}.empty .glyph{font-size:40px;color:var(--mut);line-height:1;margin-bottom:18px;font-weight:200}.empty h2{font-size:19px;margin:0 0 8px}.empty p{color:var(--mut);font-size:14px;margin:0 auto 26px;max-width:300px;line-height:1.55}.empty a.cta{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ok);color:#10240f;font-weight:800;border-radius:20px;padding:16px;text-decoration:none;font-size:15.5px;max-width:340px;margin:0 auto}.empty .sub{margin-top:12px;color:var(--mut);font-size:12.5px}.cathead .badge{font-size:11.5px;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:2px 11px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.buy{display:flex;align-items:center;border-bottom:1px solid var(--line)}.buy:last-child{border-bottom:none}.buy label{display:flex;align-items:center;flex:1;cursor:pointer;min-width:0;padding:4px 4px 4px 12px}.buy input{display:none}.buy .chk{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);flex:none;display:grid;place-items:center;color:transparent;font-size:12px;margin-right:12px}.buy input:checked~.chk{background:var(--ok);border-color:var(--ok);color:#10240f}.buy input:disabled~.chk{opacity:.55}.bbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:8px 0}.bname{font-size:14.5px;font-weight:600}.buy input:checked~.bbody .bname{text-decoration:line-through;opacity:.6}.bmeta{font-size:11.5px;color:var(--mut)}.buy .amt{flex:none;padding:8px 14px 8px 8px;font-size:13.5px;color:var(--mut);white-space:nowrap}.hint{text-align:center;color:var(--mut);font-size:12.5px;margin:20px 4px 0}.redit{display:grid;gap:10px;margin-top:6px}.redit h2{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:14px 4px 0;display:flex;align-items:center;gap:8px}.redit h2 .redit-cnt{font-size:11.5px;letter-spacing:0;background:var(--card2);color:var(--mut);border-radius:20px;padding:1px 9px}.redit-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:4px 14px 10px}.redit-titlecard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:4px 14px 12px;display:grid;gap:4px}.redit-title{width:100%;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:20px;font-weight:800;line-height:1.3;padding:10px 4px 8px;border-radius:10px}.redit-title:focus{background:var(--card2)}.redit-title::placeholder{color:var(--mut);opacity:.7;font-weight:700}.redit-cats{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.redit-cat{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:600;color:var(--mut);border:1px solid var(--line);background:transparent;border-radius:20px;padding:6px 12px;cursor:pointer;font-family:inherit}.redit-cat .dot{width:9px;height:9px;border-radius:50%;background:var(--cat-color, var(--c-hearty));flex:none}.redit-cat.on{color:var(--text);background:var(--card2);border-color:var(--cat-color, var(--c-hearty))}.redit-label{display:block;color:var(--mut);font-size:12px;padding:8px 6px 0}.redit-empty{color:var(--mut);font-size:13.5px;margin:6px 0}.redit-ing{display:flex;align-items:center;gap:5px;padding:4px 0;flex-wrap:wrap}.redit-ing+.redit-ing{border-top:1px dashed var(--line)}.redit-ing .name{flex:1;min-width:110px;background:transparent;border:none;outline:none;color:var(--text);font:inherit;padding:8px 6px;border-radius:10px}.redit-ing .name:focus{background:var(--card2)}.redit-ing .name::placeholder{color:var(--mut);opacity:.7}.redit-ing .amt{flex:none;background:transparent;border:none;outline:none;color:var(--mut);font:inherit;text-align:right;padding:8px 6px;border-radius:10px;min-width:58px}.redit-ing .amt:focus{background:var(--card2);color:var(--text)}.redit-ing .amt::placeholder{opacity:.55}.redit-ing.struck .name{text-decoration:line-through;text-decoration-color:var(--c-x2);text-decoration-thickness:1.5px}.redit-flag{flex:none;font:inherit;font-size:11.5px;font-weight:700;color:var(--mut);background:transparent;border:1px dashed var(--line);border-radius:13px;padding:3px 8px;cursor:pointer;opacity:.85;font-family:inherit}.redit-flag:hover{opacity:1}.redit-flag.on{color:var(--text);background:var(--card2);border:1px solid var(--c-main);opacity:1}.redit-del{flex:none;width:26px;height:26px;border:none;background:transparent;color:var(--mut);opacity:.45;cursor:pointer;font-size:13px;font-family:inherit;border-radius:8px}.redit-del:hover{opacity:1;color:var(--c-x2)}.redit-del:disabled{pointer-events:none}.redit-add{border:1.5px dashed var(--line);border-radius:14px;padding:9px;margin:8px 0 2px;color:var(--mut);font-size:13px;font-weight:700;width:100%;background:transparent;cursor:pointer;font-family:inherit}.redit-add:hover{border-color:var(--c-main);color:var(--c-main)}.redit-add:disabled{opacity:.5;pointer-events:none}.redit-proc{position:relative;border:1px solid var(--line);border-radius:16px;padding:2px 12px 8px;margin:12px 0 4px;background:var(--card)}.redit-proc:before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:3px;border-radius:2px;background:var(--c-main);opacity:.5}.redit-proc-head{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:4px}.redit-proc-head input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:14.5px;font-weight:700;padding:6px 4px;border-radius:10px}.redit-proc-head input:focus{background:var(--card2)}.redit-proc-head input::placeholder{color:var(--mut);opacity:.7}.redit-badge{flex:none;font-size:11.5px;background:var(--card2);color:var(--mut);border-radius:20px;padding:2px 9px;white-space:nowrap}.redit-step{display:flex;gap:8px;padding:4px 0}.redit-step+.redit-step{border-top:1px dashed var(--line)}.redit-step .n{flex:none;width:22px;text-align:right;color:var(--c-main);font-weight:800;font-size:14px;padding-top:10px}.redit-step textarea{flex:1;min-width:0}.redit-step .redit-del{align-self:flex-start;margin-top:6px}.redit-fld{padding:4px 0 2px}.redit-fld+.redit-fld{border-top:1px dashed var(--line)}.redit-fld textarea{width:100%}.redit-fold{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:0 14px}.redit-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:13px 0;font-weight:700;font-size:14px}.redit-fold>summary::-webkit-details-marker{display:none}.redit-fold .redit-fold-meta{color:var(--mut);font-weight:500;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.redit-fold .chev{margin-left:auto;color:var(--mut);transition:transform .15s;flex:none}.redit-fold[open] .chev{transform:rotate(90deg)}.redit-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:4px}.redit-fold .redit-fold-body{padding:4px 0 12px}.redit-fold textarea{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--mut);font:inherit;font-size:13px;resize:vertical;min-height:110px;overflow:auto}.redit textarea{background:transparent;border:none;outline:none;color:var(--text);font:inherit;resize:none;overflow:hidden;padding:8px 6px;border-radius:10px}.redit textarea:focus{background:var(--card2)}.redit textarea::placeholder{color:var(--mut);opacity:.7}.redit-warn{border:1px solid color-mix(in srgb,var(--c-x1) 55%,transparent);background:var(--card);border-radius:14px;padding:10px 14px;margin:4px 0 0;font-size:13.5px}.redit-actions{position:fixed;left:50%;transform:translate(-50%);bottom:14px;z-index:30;display:flex;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--pill-shadow, 0 12px 32px rgba(0, 0, 0, .45));width:min(calc(100% - 24px),640px)}.redit-actions button{font-family:inherit;cursor:pointer;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;min-width:0}.redit-actions .go{flex:1.3;background:var(--ok);border:none;color:#10240f}[data-theme=light] .redit-actions .go{color:#fff}.redit-actions .ghost,.redit-actions .cancel{flex:1;background:transparent;border:1px solid var(--line);color:var(--mut)}.redit-actions .cancel.long{flex:2.4;font-size:13px}.redit-actions button:disabled{opacity:.5;pointer-events:none}.appbar .redit-appbar-h1{flex:1;min-width:0;margin:0;display:grid}.appbar .redit-appbar-h1 .k{font-size:11.5px;font-weight:700;color:var(--mut);letter-spacing:.07em;text-transform:uppercase}.appbar .redit-appbar-h1 .n{font-size:16px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.redit-preview{margin:4px 0 6px}.redit-preview h1{margin:6px 4px 0;font-size:21px;line-height:1.15}.redit-preview p{margin:10px 4px 0;font-size:14.5px}.redit-preview h3{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:18px 4px 8px}.recipe .hero{display:flex;gap:14px;align-items:center;margin:12px 0 16px}.recipe .chips{display:flex;gap:6px;flex-wrap:wrap}.recipe .chip{font-size:11.5px;color:var(--mut);border:1px solid var(--line);border-radius:20px;padding:3px 11px}.recipe .chip.c{color:var(--rc, var(--c-soup));border-color:color-mix(in srgb,var(--rc, var(--c-soup)) 40%,transparent)}.recipe .cooked{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);border-radius:18px;padding:13px 16px;margin-bottom:20px;cursor:pointer}.recipe .cooked input{display:none}.recipe .cooked .big{width:28px;height:28px;border-radius:50%;border:2px solid var(--ok);display:grid;place-items:center;color:transparent;font-size:14px;flex:none}.recipe .cooked input:checked+.big{background:var(--ok);color:#10240f}.recipe .cooked .t{font-weight:700;font-size:15px}.recipe .cooked input:checked~.t{text-decoration:line-through;opacity:.75}.recipe .cooked .when{margin-left:auto;color:var(--ok);font-size:12.5px}.recipe h2{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:22px 4px 10px}.recipe .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:6px 16px}.recipe ul.ing{list-style:none;margin:0;padding:8px 0}.recipe ul.ing li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14.5px;border-bottom:1px solid var(--line)}.recipe ul.ing li:last-child{border-bottom:none}.recipe ul.ing .amt{color:var(--mut);white-space:nowrap}.recipe ul.ing .struck{text-decoration:line-through;opacity:.6}.recipe ul.ing .opt{color:var(--mut)}.recipe ol.steps{list-style:none;counter-reset:st;margin:8px 0;padding:0;display:grid;gap:8px}.recipe ol.steps li{counter-increment:st;display:flex;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px 15px;font-size:14.5px}.recipe ol.steps li:before{content:counter(st,decimal-leading-zero);font-size:12px;font-weight:800;color:var(--rc, var(--c-soup));background:color-mix(in srgb,var(--rc, var(--c-soup)) 15%,transparent);border-radius:8px;min-width:30px;height:26px;display:grid;place-items:center;flex:none}.settings-block{margin-top:20px}.settings-block h2{font-size:15.5px;margin:0 4px 10px}.settings-line{margin:0 4px;color:var(--mut)}.settings-line b{color:var(--text)}.settings-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0 4px}.settings-entry p{margin:0;color:var(--mut)}.settings-seg{display:flex;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px}.settings-seg button{flex:1;padding:11px 0;border-radius:12px;border:none;background:none;color:var(--mut);font-weight:700;font-size:14px;cursor:pointer}.settings-seg button.active{background:var(--card2);color:var(--text)}.settings-logout{width:100%;padding:12px 0;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:15px;cursor:pointer}.settings-logout:hover{border-color:var(--c-main)}.suggestbanner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 4px;padding:14px 16px;background:color-mix(in srgb,var(--c-main) 10%,var(--card));border:1px solid color-mix(in srgb,var(--c-main) 35%,transparent);border-radius:16px;color:var(--text);text-decoration:none;font-weight:600;font-size:14.5px}.suggestbanner:after{content:"›";color:var(--mut);font-size:20px;line-height:1}.crow.picked{background:color-mix(in srgb,var(--cat) 12%,var(--card));border-color:var(--cat)}.crow .crow-pick{flex:none;min-width:22px;text-align:center;color:var(--cat);font-size:17px;font-weight:800}.suggest-counter{margin:2px 0 0;color:var(--mut);font-size:13px}.suggest-hint{margin:6px 0 0;color:var(--c-x2);font-size:13px;font-weight:600}:root{--bg: #131519;--card: #1c212a;--card2: #232a35;--text: #edf0f4;--mut: #96a0ae;--line: #2c3440;--c-main: #f6a15c;--c-soup: #6fb4e8;--c-veg: #8cc98f;--c-hearty: #c08ae0;--c-x1: #e8c46b;--c-x2: #e8a0b4;--c-x3: #7fc8c8;--ok: #8cc98f;--g-meat: #f6a15c;--g-veg: #8cc98f;--g-milk: #6fb4e8;--g-grocery: #c08ae0;--g-spice: #e8c46b;--pill: #1a1f27;--pill-shadow: 0 12px 32px rgba(0, 0, 0, .45)}[data-theme=light]{--bg: #f6f6f4;--card: #ffffff;--card2: #e9ebe6;--text: #1c1e23;--mut: #71787f;--line: #e3e4e0;--pill: #ffffff;--c-main: #d97b26;--c-soup: #3e8bc8;--c-veg: #3e9b47;--c-hearty: #9a5bb8;--c-x1: #b98a00;--c-x2: #c25e7e;--c-x3: #3e8fa0;--ok: #3e9b47;--g-meat: #d97b26;--g-veg: #3e9b47;--g-milk: #3e8bc8;--g-grocery: #9a5bb8;--g-spice: #b98a00;--pill-shadow: 0 10px 26px rgba(25, 35, 25, .14)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Roboto,system-ui,sans-serif;font-size:15px;line-height:1.5}main{max-width:760px;margin:0 auto;padding:0 14px 160px}.statemsg{color:var(--mut);margin:48px 20px 0;text-align:center}header.top{display:flex;align-items:center;gap:10px;padding:22px 0 14px}.weekswitch{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.weeknav{width:48px;height:48px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);text-decoration:none;display:grid;place-items:center;font-size:26px;line-height:1;flex:none}.weeknav:hover{border-color:var(--c-main);color:var(--c-main)}.weeknav.disabled{opacity:.3;pointer-events:none}.h-left{flex:1;min-width:0;text-align:center}.h-left .kicker{color:var(--mut);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}.h-left h1{margin:3px 0 0;font-size:24px;line-height:1.1}.h-right{display:flex;gap:10px;align-items:center;flex:none}.ring{position:relative;width:58px;height:58px;flex:none}.ring svg{transform:rotate(-90deg);display:block}.ring .val{position:absolute;inset:0;display:grid;place-items:center;font-size:12.5px;font-weight:800;color:var(--ok)}.ring .track{stroke:var(--line)}.ring .fill{stroke:var(--ok)}.wtabs{display:flex;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px;margin:2px 0 8px}.wtabs a{flex:1;text-align:center;padding:11px 0;border-radius:12px;color:var(--mut);font-weight:700;font-size:14px;text-decoration:none}.wtabs a.active{background:var(--card2);color:var(--text)}.themebtn{width:42px;height:42px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:17px;cursor:pointer;display:grid;place-items:center;flex:none}.themebtn:hover{border-color:var(--c-main)}.appbar{display:flex;align-items:center;gap:10px;padding:16px 2px 10px}.appbar .close{width:42px;height:42px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:16px;display:grid;place-items:center;flex:none;cursor:pointer}.appbar h1{margin:0;font-size:21px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catblock{margin-top:14px}.cathead{display:flex;align-items:center;gap:10px;margin:16px 4px 10px}.cathead .dot{width:10px;height:10px;border-radius:50%;flex:none}.cathead h2{font-size:15.5px;margin:0;flex:1;letter-spacing:.02em}nav.pill{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(80%,300px);background:var(--pill);border:1px solid var(--line);border-radius:26px;display:flex;padding:8px;box-shadow:var(--pill-shadow)}.pill a{flex:1;text-align:center;text-decoration:none;color:var(--mut);font-size:13px;font-weight:700;padding:12px 0;border-radius:19px}.pill a.active{background:var(--card2);color:var(--text)}.statusbar{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--card2);padding:9px 14px;font-size:13px;text-align:center}.statusbar a{color:var(--c-main);font-weight:700;text-decoration:none}.login{margin:18vh auto 0;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 20px;text-align:center}.login h1{margin:0;font-size:24px}.login-sub{margin:0;color:var(--mut)}.login-error{color:var(--text);background:var(--card2);border-radius:12px;padding:10px 14px}.loginbtn{margin-top:10px;padding:13px 22px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:15px}.loginbtn:hover{border-color:var(--c-main)}
