:root{--bg:#fbfaf7;--fg:#22201c;--muted:#6b665d;--line:#e4dfd5;--accent:#6a3fa0;--accent-soft:#f1ebf8;--good:#1f7a4d;--mid:#8a6d12;--bad:#b03a2e;--card:#ffffff}@media (prefers-color-scheme:dark){:root{--bg:#17161a;--fg:#ebe8f0;--muted:#a39fab;--line:#34313b;--accent:#b89be0;--accent-soft:#2a2433;--good:#5fc896;--mid:#e0c060;--bad:#ef8a7e;--card:#1f1d24}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.8;font-size:16px}a{color:var(--accent)}.wrap{max-width:860px;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line);background:var(--card)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;padding-bottom:10px}.logo{font-weight:700;font-size:1.15rem;color:var(--fg);text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:14px}.site-header nav a{color:var(--fg);text-decoration:none;font-size:.95rem}.site-header nav a:hover{color:var(--accent)}.menu-btn{display:none}main{padding-top:16px;padding-bottom:48px}h1{font-size:1.6rem;line-height:1.4;margin:12px 0 8px}h2{font-size:1.25rem;margin:36px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--accent-soft)}h3{font-size:1.05rem;margin:22px 0 6px}.crumbs,.lead{color:var(--muted)}.crumbs{font-size:.85rem}.crumbs a{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.grid a.card{display:block;margin:0;text-decoration:none;color:var(--fg)}.grid a.card strong{color:var(--accent);display:block;font-size:1.05rem}form.tool{display:grid;grid-gap:12px;gap:12px}form.tool label{display:grid;grid-gap:4px;gap:4px;font-weight:600;font-size:.95rem}form.tool .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}input[type=date],input[type=text],input[type=time],select{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);width:100%}[aria-live]{scroll-margin-top:12px}.check{display:flex!important;align-items:center;gap:8px;font-weight:400!important}button.primary{font:inherit;font-weight:700;padding:12px 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}@media (prefers-color-scheme:dark){button.primary{color:#17161a}}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}td,th{border:1px solid var(--line);padding:6px 8px;text-align:center;vertical-align:top}th{background:var(--accent-soft);font-weight:600}td.left,th.left{text-align:left}td.left{min-width:10em}table:not(.cal) td:not(.left),table:not(.cal) th{white-space:nowrap}.big{font-size:1.5rem}.big,.r-吉{font-weight:700}.r-吉{color:var(--good)}.r-半吉{color:var(--mid)}.r-凶,.r-半吉{font-weight:700}.r-凶{color:var(--bad)}.note{font-size:.9rem;color:var(--muted)}.warn{border-left:4px solid var(--mid);padding:8px 12px;background:var(--accent-soft);border-radius:6px}.ad{margin:24px 0;min-height:100px}.ad-label{font-size:.75rem;color:var(--muted);margin:0 0 4px}.site-footer{border-top:1px solid var(--line);padding:20px 0 32px;background:var(--card)}.footer-nav{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:8px}.footer-nav a{color:var(--fg);font-size:.9rem}.credit{font-size:.8rem;color:var(--muted);margin:4px 0}.toc{font-size:.95rem}.pill{display:inline-block;padding:0 8px;border-radius:999px;background:var(--accent-soft);font-size:.85rem;margin-right:6px}.kanji-list{list-style:none;padding:0;margin:8px 0 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));grid-gap:6px;gap:6px}.kanji-list a{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border:1px solid var(--line);border-radius:8px;background:var(--card);text-decoration:none;color:var(--fg)}.kanji-list a:hover{border-color:var(--accent)}.kanji-char{font-size:1.5rem;line-height:1.3}.kanji-yomi{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cal td,.cal th{font-size:.85rem;padding:4px 6px}.cal .sun{color:var(--bad)}.cal .sat{color:var(--accent)}.kanji-list li>span{display:block;text-align:center}.kanji-list li:not(:has(a)){border:1px solid var(--line);border-radius:8px;padding:4px 2px;background:var(--card)}.board{display:grid;grid-template-columns:repeat(3,84px);grid-gap:0;gap:0;margin:12px 0;width:max-content}.board,.board .cell{border:1px solid var(--line)}.board .cell{height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.board .dir{display:block;font-size:.75rem;color:var(--muted)}.board .star{display:block;font-weight:700}.board .hl{background:var(--accent-soft);outline:2px solid var(--accent)}.board .goou{color:var(--bad)}a.pill{display:inline-block;min-height:28px;line-height:28px;padding:0 10px;margin:3px 6px 3px 0;text-decoration:none}td a,th a{min-width:24px}.crumbs a,.footer-nav a,.site-header nav a,td a,th a{display:inline-block;min-height:24px;line-height:24px}.crumbs a{margin:2px 0}summary{min-height:32px;line-height:32px;cursor:pointer}.cal th[scope=row]{font-weight:400;background:transparent}main li a,main p a:not(.pill){display:inline-block;min-height:24px;line-height:24px}@media (max-width:720px){.header-inner{min-height:52px;gap:0 12px;padding-top:4px;padding-bottom:4px}.menu-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font:inherit;font-size:.92rem;font-weight:700;color:var(--fg);background:none;border:1px solid var(--line);border-radius:8px;cursor:pointer}.site-header nav{display:none;width:100%;flex-direction:column;gap:0;padding:4px 0}.site-header nav.is-open{display:flex}.site-header nav a{display:flex;align-items:center;min-height:44px;line-height:1.4;border-top:1px solid var(--line)}td,th{padding:6px 5px}}