:root{--bg:#f6f6f9;--surface:#fff;--surface-2:#f0f1f5;--text:#1c1d22;--muted:#6b6f7b;--line:#e3e4ea;--accent:#5865f2;--accent-soft:#e8eafe;--accent-text:#fff;--danger:#d83c3e;--sun:#d83c3e;--sat:#2f6fdd;--today:#5865f2;--shadow:0 1px 2px #1416280f, 0 6px 24px #1416280f;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111216;--surface:#1b1c22;--surface-2:#23252d;--text:#ececf1;--muted:#9a9eab;--line:#2c2e37;--accent:#7983f5;--accent-soft:#2a2d4a;--accent-text:#0e0f14;--danger:#f06a6c;--sun:#f06a6c;--sat:#6b9cf0;--today:#7983f5;--shadow:0 1px 2px #0000004d, 0 6px 24px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--danger)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.icon{padding:6px 10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.input{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;outline:none;width:100%;padding:10px 12px;transition:border-color .15s,background .15s}.input:focus{border-color:var(--accent);background:var(--surface)}textarea.input{resize:vertical;min-height:70px}.error{color:var(--danger);margin:4px 0 12px;font-size:14px}.muted{color:var(--muted)}
