:root{--paper:#f2eee6;--paper-2:#e8e2d5;--card:#fbf9f4;--ink:#111;--ink-2:#3b3934;--mute:#7a756b;--line:#d6cfc0;--alert:#e5261e;--amber:#ff9500;--ok:#00a36c;--blue:#2d5bff;--c:#111;--c-soft:rgba(17,17,17,.12);--c-mid:rgba(17,17,17,.3);--sans:"Roboto Condensed", "sans-serif-condensed", "Archivo Narrow", "Arial Narrow", Roboto, system-ui, -apple-system, "Segoe UI", sans-serif;--body:Roboto, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--serif:"Instrument Serif", "Noto Serif", Georgia, "Times New Roman", serif;--r:18px;--r-s:12px;--tap:52px;--rail:84px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:17px;line-height:1.35}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue)}.serif{font-family:var(--serif);font-weight:400}.muted{color:var(--mute)}.small{font-size:14px}.hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.spacer{flex:auto}.eyebrow{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0;font-size:14px;font-weight:700}.eyebrow.section{margin:26px 0 10px}.label{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:14px 0 6px;font-size:13px;font-weight:700}.btn{border:2px solid var(--ink);background:var(--card);min-height:44px;color:var(--ink);font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--ink);color:#fff}.btn.ghost{background:0 0;border-color:transparent}.btn.ghost:hover{background:var(--paper-2)}.btn.danger{color:var(--alert)}.btn.primary.danger{background:var(--alert);border-color:var(--alert);color:#fff}.btn.sm{min-height:36px;padding:0 12px;font-size:13px}.btn.wide{width:100%}.btn:disabled{opacity:.5}.icon-btn{width:40px;height:40px;color:var(--mute);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:26px;line-height:1}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.round-btn{border:2px solid var(--line);background:var(--card);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.round-btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}input,select,textarea{border:2px solid var(--line);border-radius:var(--r-s);background:#fff;width:100%;min-height:48px;padding:10px 14px}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}label{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;font-size:15px;font-weight:600;display:flex}label.check{flex-direction:row;flex:none;align-items:center;gap:10px;padding-top:24px}label.check input{width:24px;height:24px;min-height:24px}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row.end{justify-content:flex-end;align-items:center}.error{color:var(--alert);margin:0;font-weight:600}.notice{border-left:4px solid var(--amber);background:#fff1d0;border-radius:8px;margin:0 0 14px;padding:10px 14px;font-size:15px}.app{min-height:100vh}.nav{z-index:20;background:var(--card);border-top:2px solid var(--ink);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{cursor:pointer;min-width:0;font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:0 0;border:0;flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:8px 2px 6px;font-size:11px;font-weight:700;display:flex}.nav-item.active{background:var(--ink);color:#fff}.nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rail-clock{display:none}.main{max-width:1400px;margin:0 auto;padding:18px 16px 110px}.loading{text-align:center;color:var(--mute);padding:40px}.demo-banner{color:var(--ink);font-weight:700;font-family:var(--sans);letter-spacing:.03em;border-radius:var(--r-s);border:2px solid var(--ink);background:repeating-linear-gradient(-45deg,#ffc45c,#ffc45c 14px,#ffd98f 14px,#ffd98f 28px);margin-bottom:14px;padding:8px 14px}@media (min-width:900px){.nav{width:var(--rail);border-top:0;border-right:2px solid var(--ink);flex-direction:column;padding:8px 0;top:0;bottom:0;right:auto}.nav-item{flex:none;gap:4px;padding:12px 2px 10px;font-size:11px}.rail-clock{font-family:var(--sans);flex-direction:column;align-items:center;margin-top:auto;padding:10px 0;display:flex}.rail-clock strong{font-size:22px}.rail-clock span{color:var(--mute);font-size:12px;font-weight:700}.main{margin-left:var(--rail);padding:24px 28px 40px}}body.is-frame{user-select:none}body.is-frame .main{max-width:none}.view-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.view-head h1{margin:0;font-size:40px;line-height:1.05}.count-pill{background:var(--ink);color:#fff;font-family:var(--sans);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700}.empty-msg{color:var(--mute);text-align:center;border:2px dashed var(--line);border-radius:var(--r);flex-direction:column;gap:6px;margin:6px 0;padding:26px 18px;display:flex}.empty-msg strong{color:var(--ink-2);font-size:18px}.card{background:var(--card);border-radius:var(--r);padding:16px 18px}.card-head{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.count{font-family:var(--sans);font-size:22px;font-weight:800}.more{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;padding:6px 4px;font-size:13px;font-weight:700}.avatar{background:var(--c);color:#fff;width:34px;height:34px;font-family:var(--sans);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:inline-flex}.avatar.sm{width:26px;height:26px;font-size:12px}.today{flex-direction:column;gap:18px;display:flex}.today-top{flex-direction:column;gap:14px;display:flex}.clock-block{border-bottom:3px solid var(--ink);padding-bottom:8px}.clock{align-items:flex-start;line-height:.85;display:flex}.clock-main{font-family:var(--sans);letter-spacing:-.03em;font-size:96px;font-weight:800}.clock-period{font-family:var(--sans);margin:8px 0 0 8px;font-size:22px;font-weight:800}.clock-date{margin-top:10px;font-size:22px}.clock-date strong{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em}.who-block{border-bottom:3px solid var(--ink);flex-direction:column;gap:8px;padding-bottom:10px;display:flex}.who-row{align-items:center;gap:10px;min-width:0;display:flex}.who-row strong{font-size:19px}.who-meta{color:var(--mute);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;overflow:hidden}.today-grid{flex-direction:column;gap:18px;display:flex}.today-left,.today-right{flex-direction:column;gap:18px;min-width:0;display:flex}.next-card{background:var(--c);color:#fff;border-radius:var(--r);align-items:center;gap:16px;min-height:170px;padding:22px 24px;display:flex}.next-card .eyebrow{color:rgba(255,255,255,.85)}.next-text{flex:auto;min-width:0}.next-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0;font-size:46px;line-height:1.02;display:-webkit-box;overflow:hidden}.next-meta{color:rgba(255,255,255,.9);font-size:18px}.next-count{font-family:var(--sans);flex-direction:column;align-items:flex-end;line-height:.9;display:flex}.next-count strong{font-size:84px;font-weight:800}.next-count span{letter-spacing:.08em;margin-top:6px;font-size:20px;font-weight:800}.next-card.empty{background:var(--paper-2);color:var(--ink)}.next-card.empty .eyebrow,.next-card.empty .next-meta{color:var(--mute)}.next-card.empty .next-title{font-size:36px}.columns{gap:12px;display:flex;overflow-x:auto}.col{border-top:6px solid var(--c);flex-direction:column;flex:1 1 0;gap:8px;min-width:140px;padding-top:10px;display:flex}.col-head{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:2px;font-size:17px;font-weight:800;display:flex}.col-head .avatar{background:var(--c)}.chip{background:var(--c-soft);border-radius:var(--r-s);flex-direction:column;min-width:0;padding:9px 12px;display:flex}.chip small{font-family:var(--sans);letter-spacing:.04em;font-size:13px;font-weight:800}.chip span{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chip.now{background:var(--c);color:#fff}.chip.past{opacity:.5}.chip.empty{border:2px dashed var(--c-mid);color:var(--mute);background:0 0}.photo-card{border-radius:var(--r);background:var(--ink);cursor:pointer;height:230px;position:relative;overflow:hidden}.photo-card img{object-fit:cover;width:100%;height:100%;display:block}.photo-cap{color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6));padding:30px 18px 12px;font-size:22px;position:absolute;bottom:0;left:0;right:0}.photo-card.empty{background:var(--paper-2);justify-content:center;align-items:center;display:flex}.photo-card.empty .empty-msg{border:0}.pair-cards{gap:18px;display:flex}.pair-cards>.card{flex:1 1 0;min-width:0}.pair-cards>.todo-card{flex:1.5 1 0}.mini-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mini-list li{align-items:center;gap:10px;min-height:40px;display:flex}.mini-text{flex-direction:column;flex:auto;min-width:0;display:flex}.mini-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.2;overflow:hidden}.mini-list small{color:var(--mute);font-family:var(--sans);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.tick{border:3px solid var(--c);cursor:pointer;background:#fff;border-radius:50%;flex:none;width:32px;height:32px}.tick:active{background:var(--c)}.big-count{align-items:baseline;gap:8px;display:flex}.big-count strong{font-family:var(--sans);font-size:56px;font-weight:800;line-height:1}.big-count span{color:var(--mute);font-size:17px}.dot-list{margin:6px 0 0;padding-left:20px}.dot-list li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.notes-strip{cursor:pointer;gap:12px;display:flex}.notes-strip .sticky{flex:1 1 0;min-height:0}.notes-strip .sticky p{-webkit-line-clamp:3}.activity{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.activity li{border-left:4px solid var(--c);padding:2px 0 2px 10px;font-size:15px}.activity small{color:var(--mute)}.note-grid{flex-wrap:wrap;gap:14px;display:flex}.sticky{text-align:left;cursor:pointer;border:0;border-radius:6px 6px 22px;flex-direction:column;justify-content:space-between;gap:8px;width:220px;min-height:170px;padding:16px;display:flex;box-shadow:0 2px rgba(0,0,0,.08)}.sticky p{font-family:var(--serif);white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;font-size:22px;line-height:1.2;display:-webkit-box;overflow:hidden}.sticky small{color:rgba(17,17,17,.6);font-weight:600}.sticky.yellow,.swatch.yellow{background:#ffe27a}.sticky.pink,.swatch.pink{background:#ffb8cf}.sticky.blue,.swatch.blue{background:#b9d3ff}.sticky.green,.swatch.green{background:#b6ebc8}.sticky.orange,.swatch.orange{background:#ffc48a}.sticky.purple,.swatch.purple{background:#d9c4ff}.swatches{gap:10px;display:flex}.swatch{cursor:pointer;border:3px solid transparent;border-radius:50%;width:44px;height:44px}.swatch.on{border-color:var(--ink)}.list-view{max-width:860px}.add-form{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.add-form .row{flex-wrap:nowrap;align-items:stretch}.add-form input[name=title],.add-form input[name=name]{flex:auto}.add-form input[type=date]{flex:none;width:170px}.add-form .qty{flex:none;width:110px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.filters{margin-bottom:14px}.pchip{border:2px solid var(--c);background:var(--card);min-height:40px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.pchip.on{background:var(--c);color:#fff}.items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.item{background:var(--card);border-radius:var(--r-s);border-left:6px solid var(--c);align-items:center;gap:12px;padding:10px 12px;display:flex}.check-btn{border:3px solid var(--c);cursor:pointer;background:#fff;border-radius:50%;flex:none;width:40px;height:40px;position:relative}.is-done .check-btn{background:var(--c)}.is-done .check-btn:after{content:"";border:4px solid #fff;border-width:0 4px 4px 0;width:10px;height:18px;position:absolute;top:5px;left:11px;transform:rotate(45deg)}.item-body{cursor:pointer;flex:auto;min-width:0}.item-title{word-wrap:break-word;font-size:19px;font-weight:700}.is-done .item-title{color:var(--mute);text-decoration:line-through}.item-meta{color:var(--mute);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:14px;display:flex}.tag{background:var(--c-soft);color:var(--ink);border-radius:999px;padding:1px 10px;font-size:13px;font-weight:700}.tag.due{background:var(--paper-2)}.tag.late{background:var(--alert);color:#fff}.qty-tag{color:var(--mute);margin-left:8px;font-size:15px;font-weight:600}.week{flex-direction:column;gap:14px;display:flex}.day{min-width:0}.day-head{border-bottom:3px solid var(--ink);font-family:var(--sans);cursor:pointer;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:4px 8px 6px;display:flex}.day-head span{letter-spacing:.06em;font-size:16px;font-weight:800}.day-head strong{font-size:30px;font-weight:800}.day.is-today .day-head{background:var(--ink);color:#fff;border-radius:var(--r-s) var(--r-s) 0 0}.ev{text-align:left;cursor:pointer;background:var(--c-soft);border-radius:var(--r-s);border:0;flex-direction:column;align-items:flex-start;width:100%;min-height:48px;margin-bottom:8px;padding:8px 10px;display:flex}.ev small{font-family:var(--sans);align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.ev span{font-size:16px;font-weight:700;line-height:1.2}.ev .dot{background:var(--c);border-radius:50%;width:9px;height:9px;display:inline-block}.ev.all-day{background:var(--c);color:#fff}.ev.past{opacity:.55}.day-empty{color:var(--line);padding:4px 10px}.photo-grid{flex-wrap:wrap;gap:10px;display:flex}.thumb{border-radius:var(--r-s);cursor:pointer;background:var(--paper-2);border:0;width:160px;height:160px;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-full{object-fit:contain;border-radius:var(--r-s);background:var(--ink);width:100%;max-height:60vh}.slideshow{z-index:60;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.slideshow img{object-fit:contain;max-width:100%;max-height:100%}.slide-cap{color:#fff;font-size:30px;position:absolute;bottom:24px;left:30px}.settings-cols{flex-direction:column;gap:18px;display:flex}.settings-cols>div{flex-direction:column;gap:18px;min-width:0;display:flex}.settings-card h2{margin-bottom:12px}.settings-card p{margin:0 0 10px}.admin-list{flex-direction:column;gap:10px;margin:0 0 10px;padding:0;list-style:none;display:flex}.admin-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.code-input{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;font-size:26px;font-weight:800}.overlay{z-index:50;background:rgba(17,17,17,.45);justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--paper);border-radius:22px 22px 0 0;width:100%;max-width:560px;max-height:92vh;padding:18px 20px 26px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal-head h2{font-family:var(--serif);margin:0;font-size:30px;font-weight:400}.modal p{margin:0}.toast{opacity:0;pointer-events:none;z-index:70;background:var(--ink);color:#fff;border-radius:999px;max-width:92vw;padding:12px 20px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:90px;left:50%;transform:translate(-50%,30px)}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:var(--alert)}.toast.warn{background:#b45f00}.toast.ok{background:var(--ok)}@media (min-width:700px){.overlay{align-items:center}.modal{border-radius:22px}.toast{bottom:30px}}@media (min-width:900px){.today-top{flex-direction:row;align-items:stretch;gap:24px}.clock-block{flex:1.55 1 0}.who-block{flex:1 1 0;justify-content:center}.today-grid{flex-direction:row;align-items:flex-start;gap:22px}.today-left{flex:1.55 1 0}.today-right{flex:1 1 0}.clock-main{font-size:120px}.week{flex-direction:row;gap:10px}.day{flex:1 1 0}.settings-cols{flex-direction:row;align-items:flex-start}.settings-cols>div{flex:1 1 0}}@media (min-width:900px) and (max-height:860px){body.is-frame .main{height:100vh;padding:20px 24px;overflow-y:auto}body.is-frame .today{gap:14px;height:100%}body.is-frame .clock-main{font-size:104px}body.is-frame .today-grid{flex:auto;min-height:0}body.is-frame .today-left,body.is-frame .today-right{gap:14px}body.is-frame .next-card{min-height:150px}body.is-frame .photo-card{height:200px}body.is-frame .activity-card{display:none}body.is-frame .notes-strip .sticky{min-height:96px;padding:10px 12px}body.is-frame .notes-strip .sticky p{-webkit-line-clamp:2;font-size:18px}}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card,.pair-card{background:var(--card);border-radius:24px;width:100%;max-width:420px;padding:30px 28px}.auth-card h1,.pair-card h1{margin:10px 0 4px;font-size:42px}.brand{gap:6px;display:flex}.brand .dot{border-radius:50%;width:16px;height:16px}.d1{background:var(--alert)}.d2{background:var(--blue)}.d3{background:var(--amber)}.d4{background:var(--ok)}.pair-card{text-align:center;max-width:720px}.pair-card .brand{justify-content:center}.pair-card h1{font-size:56px}.pair-steps{text-align:left;margin:10px auto 6px;font-size:22px;display:inline-block}.pair-code{font-family:var(--sans);letter-spacing:.08em;background:var(--ink);color:#fff;border-radius:20px;margin:10px 0;padding:10px 20px;font-size:96px;font-weight:800}@media (max-width:600px){.pair-code{font-size:48px}.pair-card h1{font-size:40px}}@media (max-width:899px){.nav-item{letter-spacing:0;padding:7px 0 5px;font-size:9.5px}.clock-main{font-size:76px}.clock-date{font-size:19px}.next-card{min-height:0;padding:18px}.next-title{font-size:34px}.next-count strong{font-size:60px}.columns{flex-wrap:wrap}.col{min-width:40%}.demo-banner{padding:6px 10px;font-size:13px}.view-head h1{font-size:34px}.add-form .row{flex-wrap:wrap}.add-form input[name=title],.add-form input[name=name]{flex:100%}.add-form input[type=date]{flex:auto;width:auto}.pair-cards{flex-direction:column}.sticky{width:calc(50% - 7px);min-height:140px}.thumb{width:calc(33.33% - 7px);height:110px}}
