html,body{height:100%}#root{min-height:100%}:root{--pink-0: #fff7fb;--pink-1: #ffe0ee;--pink-2: #ffb8d5;--yellow-1: #fff2b8;--yellow-2: #ffd86b;--ink: #2b2b2b;--muted: #6b6b6b;--card: #ffffff;--shadow: 0 8px 30px rgba(33, 10, 20, .12);--radius: 18px}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 600px at 20% 0%,var(--pink-1),transparent 60%),radial-gradient(900px 600px at 80% 10%,var(--yellow-1),transparent 55%),linear-gradient(180deg,var(--pink-0),#ffffff 65%);color:var(--ink)}a{color:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;padding:14px 14px 10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa6;border-bottom:1px solid rgba(0,0,0,.06)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}.brandTitle{font-size:20px;font-weight:800;letter-spacing:.2px}.brandSubtitle{font-size:12px;color:var(--muted)}.daisy{width:34px;height:34px;position:relative;flex:none}.daisy span{position:absolute;left:50%;top:50%;width:16px;height:10px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:999px;transform-origin:0 50%;box-shadow:0 2px 8px #0000000f}.daisy span:nth-child(1){transform:translate(-50%,-50%) rotate(0) translate(10px)}.daisy span:nth-child(2){transform:translate(-50%,-50%) rotate(45deg) translate(10px)}.daisy span:nth-child(3){transform:translate(-50%,-50%) rotate(90deg) translate(10px)}.daisy span:nth-child(4){transform:translate(-50%,-50%) rotate(135deg) translate(10px)}.daisy span:nth-child(5){transform:translate(-50%,-50%) rotate(180deg) translate(10px)}.daisy span:nth-child(6){transform:translate(-50%,-50%) rotate(225deg) translate(10px)}.daisy span:nth-child(7){transform:translate(-50%,-50%) rotate(270deg) translate(10px)}.daisy span:nth-child(8){transform:translate(-50%,-50%) rotate(315deg) translate(10px)}.daisy:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;background:var(--yellow-2);border-radius:999px;transform:translate(-50%,-50%);border:1px solid rgba(0,0,0,.08)}.dayPicker{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px}.dayCenter{display:grid;justify-items:center;gap:4px}.dayPretty{font-weight:700}.dayInput{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:8px 10px;background:#fffc;color:var(--ink);font-size:14px}.ghost{border:1px solid rgba(0,0,0,.12);background:#ffffffbf;border-radius:12px;height:40px;width:40px;font-size:22px;line-height:1;cursor:pointer}.content{padding:14px 14px 90px;max-width:520px;width:100%;margin:0 auto}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.06);overflow:hidden}.cardHeader{padding:14px 14px 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px dashed rgba(0,0,0,.1)}.cardTitle{font-weight:800}.cardMeta{color:var(--muted);font-size:12px}.eventList{list-style:none;margin:0;padding:6px}.eventRow{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:14px}.eventRow:not(:last-child){border-bottom:1px solid rgba(0,0,0,.06)}.eventTime{font-variant-numeric:tabular-nums;font-weight:800;color:#b02b5a}.eventType{font-weight:700}.deleteBtn{border:1px solid rgba(176,43,90,.25);background:#ffe0eea6;color:#9a254f;border-radius:999px;padding:8px 10px;cursor:pointer;font-size:12px;font-weight:700}.fab{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:999px;border:0;background:linear-gradient(180deg,var(--yellow-2),#ffbf4a);color:#442100;font-size:32px;font-weight:900;box-shadow:0 18px 40px #ffbf4a80;cursor:pointer}.notice{padding:10px 12px;margin:10px 0;background:#ffffffd9;border:1px solid rgba(0,0,0,.1);border-radius:14px;color:var(--muted)}.notice.danger{border-color:#b02b5a40;background:#ffe0ee8c;color:#9a254f}.empty{padding:22px 14px;text-align:center}.emptyTitle{font-weight:800}.emptyHint{color:var(--muted);margin-top:6px}.modalBackdrop{position:fixed;inset:0;background:#170e126b;display:grid;place-items:end center;padding:14px}.modal{width:min(520px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 70px #00000059;border:1px solid rgba(0,0,0,.1);overflow:hidden}.modalHeader{padding:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:linear-gradient(180deg,#ffe0ee8c,#fff0)}.modalTitle{font-weight:900;font-size:18px}.modalSubtitle{color:var(--muted);font-size:12px;margin-top:2px}.form{display:grid;gap:12px;padding:14px}.field{display:grid;gap:6px;font-size:13px;color:var(--muted)}.field input,.field select{height:44px;border-radius:14px;border:1px solid rgba(0,0,0,.14);padding:10px 12px;font-size:16px;color:var(--ink);background:#ffffffe6}.modalActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border-top:1px dashed rgba(0,0,0,.1)}.btnPrimary,.btnSecondary{height:46px;border-radius:16px;font-size:16px;font-weight:800;cursor:pointer}.btnSecondary{border:1px solid rgba(0,0,0,.14);background:#ffffffe6}.btnPrimary{border:0;background:linear-gradient(180deg,var(--pink-2),#ff8bbb);color:#4a0d23;box-shadow:0 14px 30px #ff8fbb59}button:disabled{opacity:.6;cursor:not-allowed}@media(min-width:700px){.fab{right:26px;bottom:26px}}
