:root{--bg: #0b0d10;--s1: #14181d;--s2: #1d232a;--line: #2a323b;--text: #f1f4f7;--muted: #9aa4af;--on-accent: #0b0d10;--accent: #ff8a65;--sans: "Space Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--gap: 8px;--margin: 16px;--tocco: 56px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:400 15px/22px var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{display:block;flex:none}.app{display:grid;grid-template-columns:1fr;min-height:100vh}@media(min-width:960px){.app.nav-on{grid-template-columns:220px 1fr}}main{min-width:0;padding-block:calc(16px + env(safe-area-inset-top,0px)) 112px;padding-left:max(var(--margin),env(safe-area-inset-left,0px));padding-right:max(var(--margin),env(safe-area-inset-right,0px))}@media(min-width:960px){main{padding-block:32px 48px;padding-left:32px;padding-right:max(32px,env(safe-area-inset-right,0px))}}.inner{max-width:1320px;margin:0 auto}.loading{color:var(--muted)}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:center;background:var(--s1);border-top:1px solid var(--line);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}nav.tabs .brand,nav.tabs .rail-only{display:none}nav.tabs .items{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));width:100%;max-width:480px}nav.tabs button{position:relative;min-height:56px;border:0;border-radius:var(--r-md);background:transparent;cursor:pointer;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:500 12px/16px var(--sans)}nav.tabs button[aria-current=page]{color:var(--text);font-weight:600}nav.tabs .badge{position:absolute;top:4px;left:calc(50% + 8px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font:600 12px/18px var(--mono);text-align:center}nav.tabs .badge:empty{display:none}@media(min-width:960px){nav.tabs{position:sticky;top:0;height:100vh;flex-direction:column;justify-content:flex-start;gap:4px;border-top:0;border-right:1px solid var(--line);padding:28px 12px 20px max(12px,env(safe-area-inset-left,0px))}nav.tabs .brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}nav.tabs .items{display:flex;flex-direction:column;gap:4px;max-width:none}nav.tabs .rail-only{display:flex;margin-top:auto}nav.tabs button{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:0 12px;font-size:15px}nav.tabs button[aria-current=page]{background:var(--s2)}nav.tabs .badge{position:static;margin-left:auto}}.chip-app{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent)}.brand b{display:block;font:600 22px/28px var(--sans);overflow-wrap:anywhere}.eyebrow{margin:0 0 4px;font:600 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}h1{margin:0;font:600 28px/34px var(--sans);letter-spacing:-.02em;text-wrap:balance}h2.sec{display:flex;align-items:baseline;gap:10px;margin:0 0 var(--gap);font:600 12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}h2.sec .n{color:var(--text);letter-spacing:0;font-variant-numeric:tabular-nums}.head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.head>div{min-width:0}.sub{margin:4px 0 0;color:var(--muted);max-width:70ch}.iconbtn{width:48px;height:48px;flex:none;border-radius:var(--r-md);border:1px solid var(--line);background:var(--s2);color:var(--text);cursor:pointer;display:grid;place-items:center}.iconbtn:hover{border-color:var(--muted)}@media(min-width:960px){.head .iconbtn.settings{display:none}}.banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 16px;padding:10px 10px 10px 14px;border-radius:var(--r-md);background:var(--s2);border:1px solid var(--line);color:var(--muted);font-size:14px;line-height:20px}.banner p{margin:0;flex:1 1 240px}.quick{display:flex;gap:var(--gap);margin:0 0 20px}.quick input{flex:1;min-width:0;min-height:var(--tocco);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--s1);font-size:16px}.btn{min-height:48px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--s2);cursor:pointer;text-decoration:none;color:var(--text);font:600 15px/1 var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn.primary{min-height:var(--tocco);border-radius:var(--r-lg);background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.ghost{background:transparent;border-color:transparent}.btn.sm{min-height:44px;padding:0 12px;font-size:14px}.btn[disabled]{opacity:.45;cursor:default}.row{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center}.list{display:flex;flex-direction:column;gap:var(--gap);margin:0 0 24px}.it{display:grid;grid-template-columns:var(--tocco) minmax(0,1fr) auto;align-items:center;gap:0 8px;min-height:var(--tocco);padding:4px 8px 4px 0;border-radius:var(--r-md);background:var(--s2)}.it.done{opacity:.5}.it.done .tt{text-decoration:line-through}.it.ro{background:var(--s1);border:1px solid var(--line)}.chk{width:var(--tocco);height:var(--tocco);border:0;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--on-accent)}.chk i{width:26px;height:26px;border-radius:var(--r-sm);border:2px solid var(--muted);display:grid;place-items:center}.chk[aria-checked=true] i{background:var(--text);border-color:var(--text)}.hour{width:var(--tocco);text-align:center;font:600 14px/18px var(--mono);color:var(--text);font-variant-numeric:tabular-nums}.hour.allday{color:var(--muted)}.body{min-width:0;cursor:pointer;padding:6px 0;background:none;border:0;text-align:left;color:inherit;text-decoration:none;display:block}.tt{display:block;font:500 15px/22px var(--sans);overflow-wrap:anywhere}.mt{display:flex;flex-wrap:wrap;gap:0 10px;font:400 13px/20px var(--mono);color:var(--muted)}.mt .kind{text-transform:uppercase;letter-spacing:.08em}.mt .today{color:var(--text)}.mt .late{color:var(--bg);background:var(--text);padding:0 6px;border-radius:4px;font-weight:600}.who{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;border:1px solid var(--line);font:600 12px/1 var(--mono);color:var(--muted)}.who.all{color:var(--text)}.star{width:48px;height:48px;border:0;background:transparent;cursor:pointer;font-size:20px;color:var(--line)}.star[aria-pressed=true]{color:var(--accent)}.empty{padding:16px;border:1px dashed var(--line);border-radius:var(--r-md);color:var(--muted);margin:0 0 24px}.empty b{color:var(--text);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:var(--gap);margin:0 0 20px}.chip{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font:500 15px/1 var(--sans);color:var(--text)}.chip .p{font-family:var(--mono);margin-right:4px;color:var(--muted)}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.card{padding:20px;border-radius:var(--r-lg);background:var(--s2);margin:0 0 16px;max-width:760px}.card h2{margin:0 0 6px;font:600 22px/28px var(--sans)}.card p{margin:0 0 12px;color:var(--muted)}.today-grid{display:grid;grid-template-columns:1fr;gap:0 32px}@media(min-width:1100px){.today-grid{grid-template-columns:1fr 1fr}}@media(min-width:1500px){.today-grid{grid-template-columns:1fr 1fr 1fr}}.today-grid>section{min-width:0}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin:0 0 20px;max-width:640px}.summary div{padding:10px 12px;border-radius:var(--r-md);background:var(--s1);border:1px solid var(--line)}.summary b{display:block;font:600 30px/36px var(--mono);font-variant-numeric:tabular-nums}.summary span{font:600 12px/16px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.summary .hot b{color:var(--accent)}.cal-wrap{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1100px){.cal-wrap{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);align-items:start}}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 var(--gap)}.cal-head b{font:600 22px/28px var(--sans);text-transform:capitalize}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal .dow{text-align:center;font:600 12px/28px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.day{min-height:56px;padding:6px 4px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--s1);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}@media(min-width:1100px){.day{min-height:96px;align-items:flex-start;padding:8px}}.day .d{font:600 15px/1 var(--mono)}.day.other{opacity:.35}.day.today .d{color:var(--accent)}.day[aria-pressed=true]{border-color:var(--text);background:var(--s2)}.dots{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.dots i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.dots i.p{background:var(--muted)}.day .lbl{display:none}@media(min-width:1100px){.dots{display:none}.day .lbl{display:block;width:100%;font:500 13px/18px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 6px;border-radius:4px;text-align:left;background:color-mix(in srgb,var(--accent) 22%,transparent)}.day .lbl.p{background:transparent;color:var(--muted);padding-left:0}.day .more{font:500 13px/1 var(--mono);color:var(--muted);background:transparent;padding-left:0}}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;font:400 14px/20px var(--sans);color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:50%;background:var(--accent)}.legend i.p{background:var(--muted)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0009;display:flex;align-items:flex-end;justify-content:center}@media(min-width:720px){.scrim{align-items:center}}.sheet{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:var(--s1);border-top:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:20px max(20px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}@media(min-width:720px){.sheet{border-radius:var(--r-xl);border:1px solid var(--line)}}.sheet h2{margin:0 0 16px;font:600 22px/28px var(--sans)}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 12px;min-width:0}.field>span{font:500 13px/18px var(--sans);color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);font-size:16px}.field textarea{min-height:80px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{min-height:44px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:transparent;cursor:pointer;font:600 14px/1 var(--sans);color:var(--muted)}.seg button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px}.bar .r{display:flex;gap:8px;margin-left:auto}.hint{margin:-4px 0 12px;font-size:14px;line-height:20px;color:var(--muted)}.danger{color:var(--text);text-decoration:underline;text-underline-offset:3px}.btn.confirm{background:var(--text);border-color:var(--text);color:var(--bg)}.sheet{padding-top:16px;padding-bottom:0}.sheet h2{margin:0 0 12px;font:600 20px/26px var(--sans)}.sheet .field{gap:4px;margin:0 0 10px}.sheet .field>span{font:500 12px/16px var(--sans)}.sheet .field input,.sheet .field select,.sheet .field textarea{min-height:44px;padding:8px 12px;font-size:16px}.sheet .field textarea{min-height:44px;height:44px;resize:vertical}.sheet .field textarea:focus{height:88px}.sheet .seg{gap:4px}.sheet .seg button{min-height:40px;padding:0 12px;font-size:14px}.sheet .seg.types{display:grid;grid-template-columns:repeat(4,1fr)}.sheet .seg.types button{padding:0 4px}.sheet .seg.stores{display:grid;grid-template-columns:repeat(4,1fr)}.sheet .seg.stores button{padding:0 4px}.sheet .two{gap:0 8px}.sheet .bar{position:sticky;bottom:0;margin:4px -20px 0;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:var(--s1);border-top:1px solid var(--line)}.sheet .bar .btn.primary{min-height:48px}.people{display:flex;flex-direction:column;gap:var(--gap);margin:0 0 12px}.person{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.person span:last-child{color:var(--muted);font-size:14px;overflow-wrap:anywhere}label.chk2{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer}label.chk2 input{width:22px;height:22px;accent-color:var(--accent)}.login{max-width:520px;margin:12vh auto 0}.login h1{font:600 64px/64px var(--sans);letter-spacing:-.02em;margin-bottom:16px}.login p{color:var(--muted);margin:0 0 20px}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--r-md);background:var(--text);color:var(--bg);font:600 15px/22px var(--sans)}@media(min-width:960px){.toast{bottom:32px}}@media(prefers-reduced-motion:no-preference){.toast{animation:up .18s ease-out}@keyframes up{0%{opacity:0;transform:translate(-50%,10px)}}}.ac-wrap{align-items:flex-start}.ac-field{position:relative;flex:1;min-width:0}.ac-field input{width:100%;min-height:var(--tocco);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--s1);font-size:16px}.ac{position:absolute;z-index:8;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;border-radius:var(--r-md);background:var(--s1);border:1px solid var(--line);box-shadow:0 12px 28px #00000073}.ac li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:0 12px;border-radius:var(--r-sm);cursor:pointer}.ac li:hover,.ac li[aria-selected=true]{background:var(--s2)}.ac small,.chip .cnt{font:400 12px/16px var(--mono);color:var(--muted)}.chip .cnt{margin-left:6px}.iconbtn.mic{width:var(--tocco);height:var(--tocco)}.iconbtn.mic.rec{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media(prefers-reduced-motion:no-preference){.iconbtn.mic.rec{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 25%,transparent)}}}.iconbtn.sm{width:44px;height:44px}.iconbtn[disabled]{opacity:.3;cursor:default}.shop{max-width:720px;margin:0 auto}.shop-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.shop-head h1{font:600 40px/44px var(--sans)}.shop-count{margin:0 0 20px;font:400 15px/22px var(--mono);color:var(--muted)}.shop-count b{font:600 30px/36px var(--mono);color:var(--text)}.it.big{min-height:64px;grid-template-columns:64px minmax(0,1fr) auto}.it.big .chk{width:64px;height:64px}.it.big .chk i{width:30px;height:30px}.it.big .tt{font:500 19px/26px var(--sans)}.btn.wide{width:100%;margin:0 0 24px}.lists{display:flex;flex-direction:column;gap:var(--gap)}.lst{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border-radius:var(--r-md);background:var(--s2)}.lst b{display:block;font:600 15px/22px var(--sans);overflow-wrap:anywhere}.lst span{font:400 13px/20px var(--mono);color:var(--muted)}.sheet .field textarea#l-items{height:auto;min-height:160px}ol.giro{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-width:520px}ol.giro li{display:grid;grid-template-columns:32px minmax(0,1fr) 44px 44px;align-items:center;gap:4px;min-height:48px;padding:2px 4px 2px 8px;border-radius:var(--r-md);background:var(--s1)}ol.giro .n{font:600 13px/1 var(--mono);color:var(--muted)}ol.giro .r{font:500 15px/22px var(--sans)}ol.giro .iconbtn{background:transparent;border-color:transparent}.row.nowrap{flex-wrap:nowrap}@media(min-width:960px){.head .row .iconbtn.settings{display:none}}.card-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--bg);overflow:auto;display:flex;flex-direction:column;gap:16px;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.card-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.card-top h2{margin:0;font:600 40px/44px var(--sans)}.card-paper{background:#fff;color:#000;border-radius:var(--r-lg);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:640px;width:100%;align-self:center}.card-paper .code{width:100%}.card-paper .code svg{display:block;width:100%;height:auto;max-height:60vh}.card-num{margin:0;font:600 18px/24px var(--mono);color:#000;letter-spacing:.06em;overflow-wrap:anywhere;text-align:center}.code-err{color:#000;margin:0}.scan-video{width:100%;max-width:640px;align-self:center;border-radius:var(--r-lg);background:#000}.offers .list{gap:6px}.offer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 8px 8px 14px;border-radius:var(--r-md);background:var(--s2);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))}.offer b{display:block;font:600 15px/22px var(--sans);overflow-wrap:anywhere}.offer span{font:400 14px/20px var(--mono);color:var(--accent)}.mt .offer-tag{color:var(--accent)}.chip .x{color:var(--muted)}
