:root{--gold-a: #E9C77E;--gold-b: #C99B4E;--gold-ink: #2E1B06;--gold-text: #B98B41;--blue: #8FA9C4;--lilac: #BF95CC;--rosewood: #E1A79F;--grey: #9E8C97;--alert: #DB5A3C;--cap-bg: #F3EDFA;--cap-line: #D9C8EC;--cap-ink: #6B4E8F;--cap-deep: #4E3670;--pill-due: #B4482C;--pill-due-bg: #FBEAE5;--pill-soon: #9A7430;--pill-soon-bg: #FBF3E2;--pill-wait: #5E4C78;--pill-wait-bg: #F0EAF7;--pill-fam: #3F5B78;--pill-fam-bg: #EFF4F9;--font: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--ground: #FBF6EE;--ink: #2E2233;--dim: #7C6B80;--sec: #9A879E;--line: #EDE2D6;--card: #fff;--deep: #2E2233;--deep-ink: #FBF6EE;--radius: 16px;--tab-on: #B98B41}body[data-band=teen]{--ground: #F4F2F6;--ink: #241E2A;--dim: #7E7488;--sec: #8B8296;--line: #E2DEE8;--card: #fff;--deep: #241E2A;--deep-ink: #F4F2F6;--radius: 13px;--tab-on: #9A7430}*{box-sizing:border-box}html,body{margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}:root{--top-inset: 0px}html.native{--top-inset: env(safe-area-inset-top, 0px)}#app{max-width:430px;margin:0 auto;min-height:100dvh;padding:calc(1rem + var(--top-inset)) .9rem calc(5.2rem + env(safe-area-inset-bottom));overflow-x:clip}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--gold-a);outline-offset:2px}.btn-gold{background:linear-gradient(135deg,var(--gold-a),var(--gold-b));color:var(--gold-ink);border:0;border-radius:12px;padding:.6rem 1rem;font-size:.9rem;font-weight:800}.btn-gold:disabled{opacity:.45;cursor:default}.btn-line{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:.55rem 1rem;font-size:.88rem;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .8rem;margin-bottom:.5rem}.sec{font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sec);margin:1.05rem .2rem .45rem;display:flex;justify-content:space-between;align-items:baseline}.sec:first-child{margin-top:0}.sec em{font-style:normal;color:var(--sec);opacity:.8;font-weight:600;letter-spacing:.02em;font-size:.66rem;text-transform:none}.list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.row{display:flex;gap:.6rem;align-items:center;padding:.58rem .7rem;border:0;border-bottom:1px solid var(--line);width:100%;font-family:inherit;text-align:left;background:none;color:var(--ink);font-size:.9rem}.row:last-child{border-bottom:0}.row .tm{flex:none;width:48px;font-size:.76rem;font-weight:800;color:var(--dim)}.row .tx{flex:1;min-width:0}.row .tx b{font-weight:700}.row .mt{font-size:.7rem;color:var(--sec);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .chev{flex:none;color:var(--sec)}.pill{flex:none;font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.14rem .48rem}.pill.due{color:var(--pill-due);background:var(--pill-due-bg)}.pill.soon{color:var(--pill-soon);background:var(--pill-soon-bg)}.pill.wait{color:var(--pill-wait);background:var(--pill-wait-bg)}.pill.fam{color:var(--pill-fam);background:var(--pill-fam-bg)}.pill.you{color:#fff;background:var(--lilac)}.pill.un{color:#fff;background:var(--alert)}.pill.pts{color:var(--gold-text);background:var(--pill-soon-bg)}.av{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;position:relative;letter-spacing:.02em}.av .dot{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;border-radius:999px;background:var(--alert);color:#fff;font-size:.58rem;font-weight:800;display:grid;place-items:center;border:2px solid var(--card);padding:0 .2rem}.job{display:flex;align-items:center;gap:.7rem;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:.75rem .8rem;margin-bottom:.5rem;width:100%;text-align:left;color:var(--ink);transition:transform .14s}.job:active{transform:scale(.985)}.job .box{width:30px;height:30px;border-radius:10px;border:2.5px solid #D9C9BC;flex:none;display:grid;place-items:center;font-size:1rem;color:transparent}.job .nm{flex:1;min-width:0;font-size:1.02rem;font-weight:600}.job .nm small{display:block;font-size:.72rem;color:var(--dim);font-weight:500}.job.done{border-color:var(--gold-a);background:#fdf8ee}.job.done .box{background:linear-gradient(135deg,var(--gold-a),var(--gold-b));border-color:transparent;color:var(--gold-ink)}.job.done .nm{color:var(--sec);text-decoration:line-through}.job.back{border-color:var(--pill-due)}.peek{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;border-radius:14px;padding:.6rem .7rem;border:1px solid var(--line);background:var(--card);color:var(--ink)}.peek .pav{width:38px;height:38px}.peek .pn{display:block;font-size:.86rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peek .pm{display:block;font-size:.72rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border-radius:14px;padding:.7rem .75rem;border:1.5px dashed #E0CFA4;background:#fbf7ee;color:var(--ink)}.scan .si{width:36px;height:36px;border-radius:11px;flex:none;display:grid;place-items:center;font-size:1.05rem;background:linear-gradient(135deg,var(--gold-a),var(--gold-b));color:var(--gold-ink)}.scan .sn{display:block;font-size:.9rem;font-weight:700}.scan .sm{display:block;font-size:.7rem;color:var(--dim)}.askrow{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.9rem}.askrow button{border:0;border-radius:14px;padding:.65rem .3rem;font-size:.82rem;font-weight:800;line-height:1.25}.askrow button span{display:block;font-size:1rem;margin-bottom:.1rem}.askrow .need{background:var(--blue);color:#fff}.askrow .ask{background:var(--deep);color:var(--deep-ink)}.faces{display:flex;gap:.5rem;overflow-x:auto;padding:.1rem .1rem .3rem}.face{flex:none;width:66px;text-align:center;background:none;border:0;padding:0;color:var(--ink)}.face .av{width:54px;height:54px;margin:0 auto .28rem;font-size:1rem;border:3px solid transparent}.face.on .av{border-color:var(--gold-b)}.face .nm{font-size:.68rem;font-weight:700;color:var(--dim);line-height:1.2}.msg{max-width:82%;padding:.58rem .74rem;border-radius:16px;margin-bottom:.42rem;font-size:.93rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.msg.them{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:5px}.msg.me{background:var(--deep);color:var(--deep-ink);margin-left:auto;border-bottom-right-radius:5px}.msg .who{display:block;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sec);margin-bottom:.1rem}.msg .at{display:block;font-size:.6rem;opacity:.55;text-align:right;margin-top:.1rem}.kept{display:flex;justify-content:center;margin:.35rem 0}.kept div{font-size:.78rem;color:var(--cap-ink);background:var(--cap-bg);border:1px solid var(--cap-line);border-radius:10px;padding:.3rem .7rem;max-width:88%}.kept button{display:block;margin-top:.3rem;background:none;border:1px solid var(--cap-line);border-radius:999px;color:var(--cap-ink);font-size:.72rem;padding:.15rem .55rem;font-weight:700}.cap-card{border-radius:14px;padding:.7rem .75rem;margin:.5rem 0 .45rem;background:var(--cap-bg);border:1px solid var(--cap-line)}.cap-card .ch{font-size:.56rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cap-ink);margin-bottom:.4rem}.cap-card .cb{background:#fff;border:1px solid #E4D9F2;border-radius:10px;padding:.5rem .6rem;margin-bottom:.5rem}.cap-card .cn{font-size:.9rem;font-weight:700;color:#241e2a}.cap-card .cm{font-size:.7rem;color:#6f6579;margin-top:.08rem}.cap-card .match{font-size:.7rem;color:var(--cap-ink);margin-bottom:.5rem;line-height:1.4}.cap-card .match b{color:var(--cap-deep)}.cap-card .cact{display:flex;gap:.35rem}.cap-card .cact button{flex:1;border-radius:9px;padding:.44rem .3rem;font-size:.76rem;font-weight:700;border:1px solid var(--cap-line);background:#fff;color:var(--cap-deep)}.cap-card .cact button.p{background:var(--cap-ink);border-color:transparent;color:#fff}.composer{display:flex;gap:.4rem;align-items:center;position:sticky;bottom:calc(4.6rem + env(safe-area-inset-bottom));background:var(--ground);padding:.4rem 0}.composer input{flex:1;min-width:0;border-radius:999px;padding:.58rem .85rem;font-size:.9rem;border:1px solid var(--line);background:var(--card);color:var(--ink)}.composer input:focus{outline:none;border-color:var(--gold-b)}.composer .send{flex:none;border:0;border-radius:999px;padding:.58rem .95rem;font-weight:800;font-size:.84rem;background:linear-gradient(135deg,var(--gold-a),var(--gold-b));color:var(--gold-ink)}.composer .ic{flex:none;background:none;border:0;font-size:1.15rem;padding:.2rem}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:.4rem .4rem calc(.5rem + env(safe-area-inset-bottom));z-index:30}.tabs .in{display:flex;width:100%;max-width:430px}.tab{flex:1;background:none;border:0;text-align:center;padding:.2rem 0;position:relative;color:var(--sec)}.tab .te{font-size:1.25rem;display:block;line-height:1.2;filter:grayscale(1);opacity:.5}.tab .tn{font-size:.6rem;font-weight:800;letter-spacing:.04em;display:block;margin-top:.08rem}.tab.on .te{filter:none;opacity:1}.tab.on .tn{color:var(--tab-on)}.tab .badge{position:absolute;top:-2px;left:calc(50% + 8px);min-width:17px;height:17px;border-radius:999px;background:var(--alert);color:#fff;font-size:.6rem;font-weight:800;display:grid;place-items:center;padding:0 .25rem;border:2px solid var(--card)}.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c188c;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:430px;background:var(--ground);border-radius:20px 20px 0 0;padding:1rem 1rem calc(1.2rem + env(safe-area-inset-bottom));max-height:88dvh;overflow-y:auto}.sheet h3{margin:0 0 .2rem;font-size:1.05rem;font-weight:800}.sheet p{margin:0 0 .7rem;color:var(--dim);font-size:.8rem}.sheet input,.sheet textarea,.sheet select{width:100%;border-radius:12px;padding:.6rem .75rem;font-size:.95rem;border:1px solid var(--line);background:var(--card);color:var(--ink);margin-bottom:.5rem}.chips{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem}.chip{border-radius:999px;padding:.28rem .65rem;font-size:.74rem;font-weight:700;border:1px solid var(--line);background:var(--card);color:var(--dim)}.chip.on{background:var(--pill-soon-bg);border-color:var(--gold-a);color:var(--gold-text)}.toast{position:fixed;left:50%;bottom:calc(5.4rem + env(safe-area-inset-bottom));transform:translate(-50%);max-width:390px;width:calc(100% - 2rem);z-index:70;background:var(--deep);color:var(--deep-ink);border-radius:12px;padding:.65rem .9rem;font-size:.8rem;box-shadow:0 8px 24px #00000040}.ing{border-radius:14px;padding:.7rem .75rem;margin-top:.45rem;background:var(--cap-bg);border:1px solid var(--cap-line)}.ing .ib{display:flex;gap:.5rem;align-items:center;background:#fff;border:1px solid #E4D9F2;border-radius:10px;padding:.42rem .55rem;margin-bottom:.32rem}.ing .k{flex:none;font-size:.56rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.12rem .42rem}.ing .k.t{color:var(--pill-soon);background:var(--pill-soon-bg)}.ing .k.e{color:var(--pill-fam);background:var(--pill-fam-bg)}.ing .v{font-size:.8rem;color:#241e2a;flex:1;min-width:0}.ing .isend{width:100%;margin-top:.35rem;background:var(--cap-ink);color:#fff;border:0;border-radius:9px;padding:.55rem;font-weight:700;font-size:.82rem}.ing .inote{font-size:.66rem;color:var(--cap-ink);text-align:center;margin-top:.35rem;font-style:italic}@media(prefers-reduced-motion:reduce){.job{transition:none}}.kl.svelte-tp7h3z{display:block;font-size:.78rem;font-weight:700;margin:.1rem 0 .2rem}.krow.svelte-tp7h3z{display:flex;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.krow.svelte-tp7h3z span:where(.svelte-tp7h3z):first-child{color:var(--dim);min-width:5.8rem}.kl.svelte-74owl9{display:block;font-size:.78rem;font-weight:700;margin:.1rem 0 .2rem}.krow.svelte-74owl9{display:flex;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.krow.svelte-74owl9 span:where(.svelte-74owl9):first-child{color:var(--dim);min-width:5.8rem}
