:root{--bg: #fbf3e4;--card: #fffaf0;--ink: #3b2f2a;--muted: #8a7a6c;--accent: #f6a13a;--accent-ink: #3b2200;--line: #ecdcc3;--radius: 24px;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}.screen{max-width:520px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 32px) 20px calc(env(safe-area-inset-bottom) + 24px);text-align:center}.logo{width:96px;height:96px}h1{margin:12px 0 4px;font-size:2rem;letter-spacing:-.02em}.tagline{margin:0 0 28px;color:var(--muted);font-size:1.05rem;line-height:1.5}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:24px 20px;display:grid;gap:12px}.card h2{margin:0;font-size:1.4rem}.card p{margin:0;line-height:1.5}.btn{font:inherit;font-size:1.1rem;font-weight:600;min-height:56px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.note{color:var(--muted);font-size:.95rem}.mode{margin-top:20px;color:var(--muted);font-size:.85rem}.field{display:block;text-align:left;margin:.6rem 0}.field span{display:block;font-size:.85rem;color:#7a6a55;margin-bottom:.25rem}.field input{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid #e3d3b8;border-radius:12px;font-size:1rem;background:#fffdf8}.error{color:#b3261e;font-size:.9rem}.members{list-style:none;padding:0;text-align:left}.members li{padding:.45rem 0;border-bottom:1px solid #f0e3cc}.members li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.row-actions{display:flex;gap:.4rem}.btn.small{padding:.35rem .8rem;font-size:.85rem;width:auto;margin:0}.field select{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid #e3d3b8;border-radius:12px;font-size:1rem;background:#fffdf8}.linkbox{background:#fff3dc;border-radius:16px;padding:.8rem;margin:1rem 0;text-align:left}.linkbox input{width:100%;box-sizing:border-box;padding:.6rem;border:1px solid #e3d3b8;border-radius:10px;font-size:.8rem;margin-bottom:.5rem}.input-wrap{position:relative}.input-wrap input{padding-right:3rem}.eye{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#7a6a55;padding:.5rem;cursor:pointer;line-height:0}.groupbox{background:#fff8ea;border:1px solid #f0e3cc;border-radius:16px;padding:.8rem;margin:.7rem 0;text-align:left}.grouphead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.chip{display:inline-flex;align-items:center;gap:.3rem;background:#ffe8c2;border:0;border-radius:999px;padding:.3rem .7rem;font-size:.9rem;color:#3b2f22}.chip button{background:none;border:0;font-size:1rem;cursor:pointer;color:#7a6a55;padding:0 .1rem}.chips.suggest .chip{cursor:pointer;background:#fff3dc;border:1px dashed #e3d3b8}.groupbox select{width:100%;padding:.6rem;border-radius:10px;border:1px solid #e3d3b8;background:#fffdf8;font-size:.95rem}.screen.tvscreen{max-width:none}h1.small{font-size:1.3rem;margin:0 0 .8rem}.card+.card{margin-top:1rem}.btn.danger{background:#c0392b;border-color:#c0392b;color:#fff}.btn.linkish{background:none;border:0;font-size:1.15rem;text-align:left;min-height:44px;padding:0}.linkbtn{background:none;border:0;color:#7a6a55;text-decoration:underline;cursor:pointer;font:inherit;font-size:.85rem}.inline{display:flex;gap:.5rem;align-items:center}.inline input,.card input:not([type=checkbox]):not([type=date]),.card select{flex:1;width:100%;padding:.6rem .7rem;border:1px solid #e3d3b8;border-radius:12px;font-size:1rem;background:#fffdf8}.card input[type=date]{padding:.55rem;border:1px solid #e3d3b8;border-radius:12px;background:#fffdf8;font-size:1rem}.check{display:flex;gap:.5rem;text-align:left;font-size:.9rem;align-items:center}.badge{background:#e05a47;color:#fff;border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:700}.bottomnav{position:fixed;left:0;right:0;bottom:0;display:flex;background:#fffaf0;border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}.bottomnav button{flex:1;background:none;border:0;padding:.5rem .1rem;font:inherit;font-size:.72rem;color:var(--muted);display:grid;gap:.1rem;cursor:pointer}.bottomnav button span{font-size:1.4rem}.bottomnav button.on{color:var(--ink);font-weight:700}.screen:has(.bottomnav){padding-bottom:96px}.tabbar{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem 0}.tabbar button{flex:1 0 auto;min-width:64px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:.5rem .6rem;font:inherit;font-size:.85rem;cursor:pointer;display:grid;gap:.1rem;justify-items:center}.tabbar button span{font-size:1.5rem}.tabbar button.on{background:var(--accent);border-color:var(--accent);font-weight:700}.tabbar.small button{min-width:0;font-size:.8rem;padding:.35rem .7rem;display:block}.chat{max-height:45vh;overflow-y:auto;display:grid;gap:.5rem;padding:.3rem}.bubble{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.5rem .8rem;text-align:left;justify-self:start;max-width:88%}.bubble.mine{background:#ffe8c2;justify-self:end}.bubble small{display:block;color:var(--muted);font-size:.72rem}.chip.pick{cursor:pointer;border:2px solid transparent;background:#fff3dc;font:inherit;font-size:.95rem}.chip.pick.on{background:var(--accent);border-color:#c97a10;font-weight:700}.chip.pick.big{font-size:1.3rem;padding:.6rem 1rem;display:grid;justify-items:center}.chip.pick small{font-size:.7rem;color:#6b5a3a}.swatch{width:38px;height:38px;border-radius:50%;border:3px solid #fff;cursor:pointer}.swatch.on{outline:3px solid var(--ink)}.hearts{font-size:1.8rem;letter-spacing:.15rem}.bigtext{font-size:1.4rem;font-weight:700;line-height:1.5}.bigcode{font-size:2.6rem;font-weight:800;letter-spacing:.3rem;margin:.4rem 0}.bigcodeinput{font-size:2rem!important;text-align:center;letter-spacing:.4rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#28190a8c;display:grid;place-items:center;z-index:20;padding:1rem}.overlay.stop{background:#e05a47}.bigcard{background:#fffaf0;border-radius:28px;padding:1.6rem 1.2rem;display:grid;gap:.8rem;max-width:460px;width:100%;text-align:center}.overlay.stop .bigcard{background:#fff}.overlay.stop h1{font-size:2.4rem}.kidrow{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.kidcard{background:#fff;border:4px solid var(--line);border-radius:22px;padding:.8rem 1rem;min-width:120px;display:grid;gap:.2rem;justify-items:center;cursor:pointer;font:inherit}.kidcard.on{background:#fff3dc}.kidcard .av,.tvkid .av{font-size:2.6rem}.kidrow.big .kidcard{min-width:150px;padding:1.2rem 1.4rem}.kidhead{display:flex;gap:.8rem;align-items:center;text-align:left;margin-bottom:.8rem}.kidhead h2{margin:0;font-size:1.3rem}.kidhead p{margin:0}.kidhead .btn{margin-left:auto}.avview{display:inline-grid;place-items:center;border-radius:50%;flex:none}.avview>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;position:relative}.avview .headgear{position:absolute;top:-12%;font-style:normal}.avview .outfit{position:absolute;bottom:-6%;font-style:normal}.bigcheck{display:flex;gap:.6rem;align-items:center;font:inherit;font-size:1.3rem;background:#fff;border:3px solid var(--line);border-radius:20px;padding:.9rem 1rem;width:100%;text-align:left;margin-bottom:.5rem;cursor:pointer}.bigcheck.on{background:#e6f6e6;border-color:#7fc4a0}.flash{color:#b86a00}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:.8rem}.cal b{color:var(--muted)}.cal .day{min-height:44px;border-radius:8px;background:#fff;border:1px solid var(--line);padding:2px;display:grid;align-content:start}.cal .day i{font-style:normal;font-size:.75rem}.cal .day.today{border-color:var(--accent);background:#fff3dc;font-weight:700}.chart{width:100%;background:#fff;border-radius:12px;border:1px solid var(--line)}.guide p{text-align:left;font-size:.95rem}.tv{text-align:center;padding:1rem}.tv h1{font-size:3rem}.tvrow{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.tvkid{border:8px solid var(--line);border-radius:32px;padding:1.5rem 2.5rem;font-size:2.4rem;background:#fff}.tvkid .av{font-size:5rem}.tvline{font-size:2.2rem;margin:1rem 0}.daychips{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.chip.pick.day{padding:.45rem 0;justify-content:center;min-width:0}.unitswitch .chip{flex:1;justify-content:center}.daychips{margin:.9rem 0 1rem}@media (min-width: 768px){.screen{max-width:760px}.screen:not(:has(.bottomnav)) .card{padding:28px}.kidcard{min-width:150px}.bigcheck{font-size:1.5rem}}@media (min-width: 1000px){.screen:has(.bottomnav){max-width:none;margin:0 0 0 200px;padding:36px 48px 48px}.screen:has(.bottomnav)>*{max-width:920px;margin-left:auto;margin-right:auto}.bottomnav{top:0;bottom:auto;right:auto;width:200px;height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:32px 0 0;border-top:0;border-right:2px solid var(--line)}.bottomnav button{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.4rem;font-size:1rem;text-align:left;flex:none}.bottomnav button span{font-size:1.4rem}.bottomnav button.on{background:#fff3dc;border-left:4px solid var(--accent)}.screen:has(.bottomnav) .card+.card{margin-top:1.4rem}.screen:has(.bottomnav) .chat{max-height:55vh}.screen:has(.bottomnav) h1.small{font-size:1.6rem;text-align:left}}.mealtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin:.5rem 0}.mealtabs .chip{justify-content:center}form>.btn{margin-top:.9rem}.devfooter{text-align:center;margin:1.2rem 0 .4rem}.board{display:grid;gap:1rem;margin-bottom:1rem}@media (min-width: 768px){.board{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.boardcard{border-width:4px;text-align:left}.boardcard .av{font-size:2.4rem}.bar{height:12px;background:#f0e3cc;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;border-radius:999px}.bottomnav button>span{position:relative;display:inline-block}.badge{position:absolute;top:-6px;right:-14px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e5484d;color:#fff;font-size:.7rem;line-height:18px;text-align:center;font-weight:700}.tvgrid{display:grid;gap:1rem;text-align:left;margin-top:1rem}.tvbox{background:#fff;border:4px solid var(--line);border-radius:24px;padding:1rem 1.4rem}.tvbox h2{margin:0 0 .4rem}.tvbox .tvline{margin:.4rem 0}@media (min-width: 900px) and (orientation: landscape){.screen.tvscreen{padding:1rem 2rem}.tv h1{font-size:2rem;margin:.3rem 0}.tvrow{gap:1rem}.tvkid{padding:.5rem 1.4rem;font-size:clamp(1.2rem,2.6vh,2rem);border-width:6px}.tvkid .av{font-size:clamp(2.4rem,7vh,4.5rem)}.tvgrid{grid-template-columns:repeat(auto-fit,minmax(22%,1fr));align-items:start}.tvbox h2{font-size:clamp(1.2rem,2.8vh,2rem)}.tvline{font-size:clamp(1.1rem,2.6vh,1.9rem)}.boardextra{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;align-items:start}.boardextra>.card{margin:0}.board{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.boardcard .members li{padding:.15rem 0}}.hub{display:grid;gap:1rem;text-align:left}.hubhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.hubgreet{display:flex;align-items:center;gap:.7rem}.hubgreet strong{display:block;font-size:1.5rem}.hubgreet small{color:var(--muted)}.hubback{width:3rem;height:3rem;border-radius:50%;border:0;background:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 2px 6px #0002}.hubclock{background:#fff;border-radius:999px;padding:.4rem 1.6rem;text-align:center;box-shadow:0 2px 8px #0002}.hubclock small{display:block;color:var(--muted);font-size:.75rem}.hubclock strong{font-size:1.7rem}.hubav{display:inline-grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:50%;font-size:2.4rem;flex:none;border:3px solid #fff}.hubkids{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;background:linear-gradient(#d9ecfb,#e4f5d6);border-radius:32px;padding:1rem}.hubkid{display:flex;align-items:center;gap:1rem;background:#ffffffb0;border:4px solid var(--line);border-radius:24px;padding:.8rem 1rem}.hubkid .hubav{width:5.4rem;height:5.4rem;font-size:3.2rem}.hubkidinfo h2{margin:0;font-size:1.5rem}.hubstar{margin:0;font-size:2.2rem;font-weight:800;line-height:1.1}.hubchip{margin:.2rem 0 0;background:#fff3c4;border-radius:999px;padding:.1rem .7rem;font-size:.95rem;width:fit-content}.hubtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.hubtile{display:grid;justify-items:center;align-content:center;gap:.3rem;min-height:9rem;border:3px dashed #fff;border-radius:28px;padding:.8rem;font:inherit;cursor:pointer;box-shadow:0 3px 10px #0002;color:var(--ink)}.hubtile .ti{font-size:2.8rem}.hubtile strong{font-size:1.4rem}.tmini{display:flex;flex-wrap:wrap;gap:.3rem .8rem;justify-content:center;font-weight:700;font-size:1rem}.t-todo{background:#e4e0fb}.t-meal{background:#ffe8a8}.t-grow{background:#d4f0c9}.t-med{background:#d7f2ee}.t-cal{background:#ffdde6}.hubevents{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;align-items:start}.hubevents>.card,.hubevents>section{margin:0}.hubcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.hubcol,.hubbox{background:#fffaf0;border:4px solid var(--line);border-radius:28px;padding:1rem}.hublist{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.5rem}.hublist li{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:18px;padding:.7rem 1rem;font-size:1.25rem;font-weight:700}.hublist li.done{background:#f1e7c8;text-decoration:line-through;color:var(--muted)}.hubmeals{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.hubdish{font-size:1.4rem;margin:.4rem 0;font-weight:700}@media (min-width: 900px) and (orientation: landscape){.hub{gap:.8rem}.hubtile{min-height:7.5rem}.hubtile .ti{font-size:2.2rem}.hubkids{padding:.7rem}}.hub.tv .hubtile{cursor:default}.sendwrap{display:grid;gap:.8rem;padding-bottom:6.5rem}.sendh{font-size:1.3rem;margin:.4rem 0 .2rem}.towrap{display:flex;flex-wrap:wrap;gap:.7rem}.tobtn{position:relative;display:grid;justify-items:center;gap:.2rem;width:6.6rem;padding:.6rem .3rem;border:4px solid transparent;border-radius:26px;background:#fff;font:inherit;cursor:pointer;box-shadow:0 2px 8px #0002}.tobtn .face{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:50%;font-size:1.8rem;font-weight:800;color:#fff}.tobtn strong{font-size:1rem}.tobtn.on{border-color:#e0457b;background:#ffe6ef}.tobtn.on:after,.ptile.on:after{content:"✓";position:absolute;top:-.4rem;right:-.2rem;width:1.7rem;height:1.7rem;border-radius:50%;background:#e0457b;color:#fff;font-size:1rem;line-height:1.7rem;text-align:center;font-weight:800}.sendgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.7rem}.ptile{position:relative;display:grid;justify-items:center;align-content:center;gap:.3rem;min-height:6.4rem;padding:.6rem .3rem;border:4px solid transparent;border-radius:26px;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;color:var(--ink);box-shadow:0 2px 8px #0002}.ptile .pe{font-size:2.3rem;line-height:1}.ptile.on{border-color:#e0457b;transform:scale(1.04)}.ptile:nth-child(6n+1){background:#ffe0e8}.ptile:nth-child(6n+2){background:#ffeebd}.ptile:nth-child(6n+3){background:#d9f0cf}.ptile:nth-child(6n+4){background:#d6ecfb}.ptile:nth-child(6n+5){background:#e6defa}.ptile:nth-child(6n){background:#d6f2ee}.sendbar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:#fffaf0;border-top:3px solid var(--line)}.sendbar .sendpreview{flex:1;font-size:1.05rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sendbar .btn{font-size:1.3rem;padding:.8rem 1.6rem;border-radius:999px}@media (min-width: 1000px){.sendbar{left:200px}}
