:root{--bg:#f4f1e9;--card:#fffdf8;--ink:#26342d;--muted:#748077;--line:#dfe4df;--accent:#1c7454;--red:#dc2f3f;--shadow:0 8px 28px #233c3020;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}.loading{display:grid;min-height:100vh;place-items:center}.auth{max-width:420px;margin:8vh auto;padding:24px}.brand{color:var(--accent);font-size:30px}.panel{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}label{display:grid;gap:6px;margin:12px 0;font-size:12px;font-weight:700;color:var(--muted)}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}button{cursor:pointer}.primary{width:100%;padding:13px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:800}.error{color:var(--red);font-size:13px}.app-header{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 10px 0;background:#fffdf8f2;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.app-header strong{color:var(--accent)}.app-header nav{display:flex;flex:1;justify-content:center}.app-header nav button,.icon-button{padding:9px;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.app-header nav button.active{color:var(--accent)}.shell{max-width:720px;margin:auto;padding:calc(70px + env(safe-area-inset-top)) 10px 40px}.month-head{display:flex;align-items:center;justify-content:space-between;padding:10px}.month-head button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--card)}.calendar{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}.week,.grid{display:grid;grid-template-columns:repeat(7,1fr)}.week span{padding:7px;text-align:center;color:var(--muted);font-size:11px;font-weight:800}.day{min-width:0;height:90px;padding:5px 3px;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:transparent;text-align:left;overflow:hidden}.day.blank{background:#f3f2ed}.day.selected{box-shadow:inset 0 0 0 2px var(--accent)}.num{display:block;margin-bottom:3px;font-size:12px;font-weight:800}.event{display:block;overflow:hidden;margin:2px 0;padding:2px 3px;border-radius:3px;background:#2878d0;color:#fff;font-size:9px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}.public-dot{color:var(--red);font-size:10px}.agenda-head{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.add{width:46px;height:46px;border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:28px}.event-card{display:flex;width:100%;gap:10px;margin:8px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-align:left}.event-card small{margin-left:auto;color:var(--muted)}.overlay{position:fixed;z-index:20;inset:0;display:grid;align-items:end;background:#13231c80}.sheet{max-height:90vh;overflow:auto;padding:18px;border-radius:24px 24px 0 0;background:var(--card)}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head button{border:0;background:transparent;color:var(--accent)}.check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.check input{width:auto}.red-help{color:var(--red);font-size:11px}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.danger{padding:12px;border:1px solid #efb6bd;border-radius:12px;background:#fff;color:var(--red)}.member{padding:12px;border-bottom:1px solid var(--line)}.invite-box{padding:10px;border-radius:10px;background:#edf5f1;font-size:12px;word-break:break-all}.empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:520px){.app-header strong{font-size:11px}.app-header nav button{padding:5px;font-size:10px}.day{height:86px}.shell{padding-left:6px;padding-right:6px}}
