:root{--bg:#fafaf7;--fg:#1f2a24;--sub:#5b6660;--line:#e3e7e1;--brand:#187a62;--brand-soft:#e4f2ec;--accent:#ffd25e}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0}body{font-family:var(--font-maru), sans-serif;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,p{margin:0}.shell{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.page{flex-direction:column;flex:1;gap:16px;padding:16px 20px 24px;display:flex}.field label,.label{color:var(--sub);margin-bottom:8px;font-size:14px;font-weight:700;display:block}.input{width:100%;height:52px;color:var(--fg);background:#fff;border:1px solid #8a948d;border-radius:14px;padding:0 16px;font-size:18px}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:26px;justify-content:center;align-items:center;width:100%;min-height:52px;font-size:16px;font-weight:700;display:flex}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--fg);background:#fff;border:1px solid #8a948d}.btn.dark{background:var(--fg)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:44px;color:var(--fg);cursor:pointer;background:#fff;border:1px solid #d5dbd3;border-radius:22px;align-items:center;padding:0 18px;font-size:15px;display:inline-flex}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.chip.new{border:1px dashed var(--brand);color:var(--brand);background:0 0;font-weight:700}.card{background:var(--brand-soft);border-radius:20px;padding:20px}.err{color:#b3261e;font-size:14px}.muted{color:var(--sub);font-size:13px}.tabbar{border-top:1px solid var(--line);background:#fff;height:72px;display:flex;position:sticky;bottom:0}.tabbar a{color:var(--sub);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex}.tabbar a.on{color:var(--brand);font-weight:700}
