:root{color-scheme:light dark;--bg:#fbf5e6;--fg:#2a2547;--muted:#5a5370;--line:#e5dbc5;--accent:#473b9c;--accent-2:#8270c4;--accent-soft:#ece6f7;--th:#ddd4f3;--gold:#dca92f;--good:#1a6f45;--mid:#755a0a;--bad:#a93226;--good-soft:#dff2e6;--mid-soft:#f8efcd;--bad-soft:#fbe3df;--card:#fffdf8;--zebra:#f8f4f8;--field-line:#8a7bb8;--band-from:#e7e0f6;--band-to:#f8edcf;--shadow:0 2px 10px rgba(58,44,120,0.08);--night:linear-gradient(100deg,#1f1c4d,#372c78 70%,#4e3d8c);--night-fg:#fffaf0;--night-muted:#d9d2ee;--moon-gold:#f0c95c;--wood-bg:#d9f0dd;--wood-fg:#185434;--fire-bg:#fbdcd7;--fire-fg:#8e2418;--earth-bg:#f6e7b9;--earth-fg:#5f4606;--metal-bg:#e6e7ee;--metal-fg:#3c405a;--water-bg:#d6e6fa;--water-fg:#1a4580;--star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23dca92f' d='M12 1l2.800 8.200L23 12l-8.200 2.800L12 23l-2.800-8.200L1 12l8.200-2.800z'/%3E%3C/svg%3E");--moon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f0c95c' d='M14.500 2.600a10 10 0 1 0 5.900 12.800 8.500 8.500 0 0 1-5.900-12.800z'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--bg:#16142b;--fg:#f1edf8;--muted:#b9b3cc;--line:#38335a;--accent:#c4b5f2;--accent-2:#8f7fd6;--accent-soft:#2c2750;--th:#383168;--gold:#f0c95c;--good:#72d8a6;--mid:#e9ca6b;--bad:#f7a196;--good-soft:#183a2b;--mid-soft:#3a3014;--bad-soft:#43201d;--card:#201d3a;--zebra:#262245;--field-line:#8f7fd6;--band-from:#2c2750;--band-to:#3a2f5c;--shadow:0 2px 10px rgba(0,0,0,0.3);--wood-bg:#1e4630;--wood-fg:#bdeecd;--fire-bg:#57241f;--fire-fg:#ffcfc7;--earth-bg:#4c3c13;--earth-fg:#f6dd9a;--metal-bg:#383b50;--metal-fg:#e2e4f1;--water-bg:#1d3a63;--water-fg:#c1dcfb}}*{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)}img{max-width:100%}.wrap{max-width:860px;margin:0 auto;padding:0 16px}.grid a.card strong,.logo,button.primary,h1,h2,h3{font-family:Hiragino Maru Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic UI,system-ui,sans-serif}.site-header{background:var(--night);color:var(--night-fg)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;padding-top:6px;padding-bottom:6px}.logo{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;font-size:1.2rem;letter-spacing:.04em;color:var(--night-fg);text-decoration:none}.logo:before{content:"";width:24px;height:24px;background:var(--moon) center /contain no-repeat}.site-header nav{display:flex;flex-wrap:wrap;gap:0 14px}.site-header nav a{color:var(--night-fg);text-decoration:none;font-size:.95rem}.site-header nav a:hover{color:var(--moon-gold)}.menu-btn{display:none}main{padding-top:12px;padding-bottom:48px}h1{font-size:1.6rem;line-height:1.4;margin:12px 0 8px}main>h1{margin:6px 0 12px;padding:14px 54px 14px 18px;border-radius:14px;border-left:5px solid var(--gold);background:var(--moon) right 14px center /28px 28px no-repeat,linear-gradient(100deg,var(--band-from),var(--band-to))}h2{font-size:1.25rem;line-height:1.5;margin:36px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--line)}h2:before{content:"";display:inline-block;width:.85em;height:.85em;margin-right:.4em;vertical-align:-.04em;background:var(--star) center /contain no-repeat}h3{font-size:1.05rem;line-height:1.5;margin:22px 0 8px;padding-left:10px;border-left:4px solid var(--accent-2)}.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:16px;box-shadow:var(--shadow);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:hover{border-color:var(--accent-2)}.grid a.card strong{color:var(--accent);display:block;font-size:1.05rem}.grid a.card.card-ico{display:grid;grid-template-columns:52px 1fr;align-content:start;grid-gap:0 12px;gap:0 12px;padding:12px 14px;line-height:1.6}.card-ico img{grid-row:1/span 2;width:52px;height:52px}.card-ico span{font-size:.92rem}.hero{position:relative;overflow:hidden;margin:4px 0 16px;border-radius:20px;background:#1c1a4b;box-shadow:var(--shadow)}.hero-sky{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right center}.hero-text{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:212px;max-width:62%;padding:18px 0 22px 18px}.hero h1{margin:0 0 6px;font-size:2rem;letter-spacing:.06em;color:var(--night-fg)}.hero .lead{margin:0;font-size:.9rem;line-height:1.6;color:#f3effc}.feats{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));grid-gap:12px;gap:12px}.feats li{padding:14px 16px 14px 42px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);background:var(--star) 14px 19px /18px 18px no-repeat,var(--card)}.feats strong{display:block;color:var(--accent)}.card:has(>form.tool),form.tool.card{border:2px solid var(--accent-2);border-top:6px solid var(--gold);border-radius:18px;padding:20px 18px}form.tool{display:grid;grid-gap:14px;gap:14px}form.tool label{display:grid;grid-gap:6px;gap:6px;font-weight:700;font-size:1.02rem;color:var(--accent)}form.tool .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px}input[type=date],input[type=text],input[type=time],select{font:inherit;font-size:16px;font-weight:400;min-height:48px;padding:10px 12px;border:2px solid var(--field-line);border-radius:10px;background:var(--bg);color:var(--fg);width:100%}::placeholder{color:var(--muted);opacity:1}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}[aria-live]{scroll-margin-top:12px}.check{display:flex!important;align-items:center;gap:10px;min-height:44px;font-weight:400!important;font-size:.95rem!important;color:var(--fg)!important;line-height:1.5}.check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent-2)}button.primary{font:inherit;font-size:1.15rem;font-weight:700;letter-spacing:.04em;width:100%;min-height:58px;padding:12px 18px;border:0;border-radius:14px;background:linear-gradient(100deg,#3b3190,#5f47ac);box-shadow:0 3px 0 #29235f;color:#fff;cursor:pointer}button.primary:hover{background:linear-gradient(100deg,#453aa3,#6a52ba)}button.primary:disabled{cursor:default;background:#6d6793;box-shadow:none}.table-wrap{overflow-x:auto;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}.table-wrap>table{border-style:hidden}table{border-collapse:collapse;width:100%;font-size:.95rem}td,th{border:1px solid var(--line);padding:6px 8px;text-align:center;vertical-align:middle}th{background:var(--accent-soft);font-weight:600}thead th{background:var(--th)}tbody tr:nth-child(2n)>td{background:var(--zebra)}td.left,th.left{text-align:left}td.left{min-width:10em}td.left:has(a.pill){min-width:14em}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)}tbody tr:not(:has(a.pill))>td.r-吉{background:var(--good-soft)}tbody tr:not(:has(a.pill))>td.r-半吉{background:var(--mid-soft)}tbody tr:not(:has(a.pill))>td.r-凶{background:var(--bad-soft)}.note{font-size:.9rem;color:var(--muted)}.warn{border-left:5px solid var(--gold);padding:10px 14px;background:var(--mid-soft);border-radius:10px}.el{display:inline-block;padding:0 .45em;border-radius:6px}.el-木{background:var(--wood-bg);color:var(--wood-fg)}.el-火{background:var(--fire-bg);color:var(--fire-fg)}.el-土{background:var(--earth-bg);color:var(--earth-fg)}.el-金{background:var(--metal-bg);color:var(--metal-fg)}.el-水{background:var(--water-bg);color:var(--water-fg)}.ad{margin:24px 0;min-height:100px}.ad-label{font-size:.75rem;color:var(--muted);margin:0 0 4px}.site-footer{padding:20px 0 32px;background:var(--night);color:var(--night-muted);border-top:3px solid var(--gold)}.footer-nav{display:flex;flex-wrap:wrap;gap:0 16px;margin-bottom:8px}.footer-nav a{color:var(--night-fg);font-size:.9rem}.credit{font-size:.8rem;color:var(--night-muted);margin:4px 0}.credit a{color:var(--night-fg)}.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;justify-content:center;min-height:44px;padding:6px 2px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-decoration:none;color:var(--fg)}.kanji-list a:hover{border-color:var(--accent-2)}.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:10px;padding:4px 2px;background:var(--card)}.board{display:grid;grid-template-columns:repeat(3,78px);grid-gap:3px;gap:3px;margin:12px 0;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);width:max-content}.board .cell{height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;line-height:1.4}.board .dir{display:block;font-size:.75rem}.board .star{display:block;font-weight:700}.board .hl{box-shadow:inset 0 0 0 3px var(--accent)}.board .goou .star{color:var(--bad)}a.pill{display:inline-block;min-width:44px;min-height:44px;line-height:44px;padding:0 12px;margin:3px 6px 3px 0;text-align:center;text-decoration:none;font-size:.95rem}td a.pill{margin:2px;padding:0 8px}td:not(.left) a:not(.pill),th a{display:inline-block;min-width:44px;min-height:44px;line-height:44px;margin-block:-6px}.cal td a,.cal th a{margin-block:-4px}.crumbs a,.footer-nav a,.site-header nav a{display:inline-block;min-height:44px;line-height:44px}.crumbs a{min-width:44px;text-align:center}.crumbs a:first-child{text-align:left}summary{min-height:44px;line-height:44px;cursor:pointer}.cal th[scope=row]{font-weight:400;background:transparent}.credit a,main li a,main p a:not(.pill),td.left a:not(.pill){display:inline-block;min-height:24px;line-height:24px}.credit a,main h2 a,main h3 a,main li a,main p a:not(.pill),td.left a:not(.pill){position:relative}.credit a:after,main h2 a:after,main h3 a:after,main li a:after,main p a:not(.pill):after,td.left a:not(.pill):after{content:"";position:absolute;inset:-10px 0}main h2 a:after,main h3 a:after{inset:-14px -8px}main .kanji-list a:after{content:none}@media (max-width:360px){.hero-text{max-width:57%;padding-left:16px}.hero h1{font-size:1.7rem;letter-spacing:.02em;white-space:nowrap}.hero .lead{font-size:.85rem}}@media (min-width:640px){.grid a.card.card-ico{grid-template-columns:56px 1fr;align-items:center;padding:14px 16px}.card-ico img{grid-row:auto;width:56px;height:56px}.card-ico span{grid-column:1/-1;margin-top:8px}.hero-text{min-height:280px;max-width:58%;padding:32px 0 36px 36px}.hero h1{font-size:2.6rem}.hero .lead{font-size:1.02rem;line-height:1.7}.card:has(>form.tool),form.tool.card{padding: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(--night-fg);background:none;border:1px solid rgba(255,250,240,.55);border-radius:10px;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 rgba(255,250,240,.25)}td,th{padding:6px 5px}}