@font-face{font-family:Zen Maru Gothic;src:url(../assets/fonts/ZenMaruGothic-Light.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(../assets/fonts/ZenMaruGothic-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(../assets/fonts/ZenMaruGothic-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(../assets/fonts/ZenMaruGothic-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(../assets/fonts/ZenMaruGothic-Black.ttf)format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b10;--bg-deep:#05060a;--panel:#141822c7;--panel-border:#7882a03d;--card:linear-gradient(140deg,#121622e6,#0a0c14d9);--list-item:#ffffff08;--list-item-border:#ffffff0d;--callout-info-bg:#78dc8c1f;--callout-info-border:#78dc8c59;--callout-info-icon:#7dd38a;--callout-warn-bg:#ffd2781f;--callout-warn-border:#ffd27866;--callout-warn-icon:#f0c15d;--callout-error-bg:#ff82821f;--callout-error-border:#ff828266;--callout-error-icon:#f07c7c;--fold-bg:#ffffff08;--fold-border:#86f2ff2e;--fold-open-bg:#86f2ff14;--fold-open-border:#86f2ff59;--text:#e8e9f0;--muted:#9aa3b2;--accent:#86f2ff;--accent-deep:#0f6c7a;--glow:#86f2ff47;--shadow:#05060ab3;--radius:20px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f8;--bg-deep:#e6e9f2;--panel:#ffffffc7;--panel-border:#7882a03d;--card:linear-gradient(140deg,#ffffffe6,#f0f4fcf2);--list-item:#0f141e0d;--list-item-border:#0f141e14;--callout-info-bg:#b4ebbe99;--callout-info-border:#78c88cb3;--callout-info-icon:#2f7a3d;--callout-warn-bg:#ffebaa99;--callout-warn-border:#ebbe50b3;--callout-warn-icon:#9b7300;--callout-error-bg:#ffd2d299;--callout-error-border:#eb8c8cb3;--callout-error-icon:#b03131;--fold-bg:#0f141e0a;--fold-border:#0f6c7a33;--fold-open-bg:#0f6c7a14;--fold-open-border:#0f6c7a57;--text:#1d2130;--muted:#5f6b7a;--accent:#0f6c7a;--accent-deep:#0a3f49;--glow:#0f6c7a40;--shadow:#0f141e2e}*,:after,:before{box-sizing:border-box}body{background:radial-gradient(120% 120% at 10% 10%,#141825 0,var(--bg) 55%,var(--bg-deep) 100%);color:var(--text);letter-spacing:.01em;min-height:100vh;margin:0;font-family:Zen Maru Gothic,Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}[data-theme=light] body{background:radial-gradient(140% 140% at 10% 10%,#fff 0,var(--bg) 55%,var(--bg-deep) 100%)}a{color:inherit;text-decoration:none}a:focus-visible,a:hover{color:var(--accent)}.app{min-height:100vh;position:relative;overflow:hidden}.backdrop{filter:blur(10px);pointer-events:none;z-index:0;background:radial-gradient(40% 50% at 15% 20%,#86f2ff33,#0000 65%),radial-gradient(35% 40% at 85% 15%,#ff9b8226,#0000 60%),radial-gradient(30% 45% at 70% 75%,#828cff2e,#0000 70%),radial-gradient(25% 35% at 10% 85%,#5affbe1f,#0000 70%);position:fixed;inset:-20vh -20vw}.page-shell{z-index:1;max-width:920px;margin:0 auto;padding:40px 24px 96px;position:relative}.content{gap:32px;display:grid}.hero{flex-direction:column;gap:16px;display:flex}.title{letter-spacing:.02em;text-shadow:0 12px 32px var(--shadow);margin:0;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:600}.subtitle{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.35rem;font-weight:500}.block{gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:0 18px 40px var(--shadow),inset 0 0 0 1px #ffffff08;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px 28px}.lead{color:var(--text);margin:0 0 16px;font-size:1.1rem}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list li{background:var(--list-item);border:1px solid var(--list-item-border);color:var(--text);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.list li:before{content:"";background:radial-gradient(circle at 30% 30%,var(--accent),var(--accent-deep));width:8px;height:8px;box-shadow:0 0 12px var(--glow);border-radius:50%;flex:none}.list .link-row{border-radius:12px;align-items:center;gap:8px;width:100%;margin:-10px -14px;padding:10px 14px;display:flex}.list .link-row:focus-visible{outline-offset:2px;outline:2px solid #86f2ff99}.tag-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.tag-button{border:1px solid var(--panel-border);color:var(--text);letter-spacing:.08em;cursor:pointer;background:#ffffff08;border-radius:999px;padding:6px 12px;font-size:.85rem}.tag-button.is-active{border-color:#86f2ff80;box-shadow:0 0 14px #86f2ff2e}.month-group{gap:12px;display:grid}.month-group+.month-group{margin-top:20px}.month-title{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.95rem}.callout{background:#ffffff05;border:1px solid #0000;border-radius:14px;padding:16px 18px}.callout+.callout,.callout+.fold,.fold+.callout,.fold+.fold{margin-top:16px}.callout-head{align-items:center;gap:10px;margin-bottom:6px;font-weight:600;display:flex}.callout-icon{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:0 0 12px #0003}.callout-body :first-child{margin-top:0}.callout-body :last-child{margin-bottom:0}.callout-info{background:var(--callout-info-bg);border-color:var(--callout-info-border)}.callout-info .callout-icon{background:var(--callout-info-icon)}.callout-warn{background:var(--callout-warn-bg);border-color:var(--callout-warn-border)}.callout-warn .callout-icon{background:var(--callout-warn-icon)}.callout-error{background:var(--callout-error-bg);border-color:var(--callout-error-border)}.callout-error .callout-icon{background:var(--callout-error-icon)}.fold{border:1px solid var(--fold-border);background:var(--fold-bg);border-radius:14px;padding:14px 18px}.fold[open]{background:var(--fold-open-bg);border-color:var(--fold-open-border)}.fold-summary{cursor:pointer;align-items:center;gap:12px;font-weight:600;list-style:none;display:flex}.fold-summary::-webkit-details-marker{display:none}.fold-summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px}.fold-chevron{border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);flex:none;width:10px;height:10px;transition:transform .18s;transform:rotate(-45deg)}.fold[open] .fold-chevron{transform:rotate(45deg)}.fold-body{padding-top:10px}.fold-body :first-child{margin-top:0}.fold-body :last-child{margin-bottom:0}.site-footer,.site-header{z-index:2;position:relative}.site-header{padding:28px 24px 16px}.header-inner{justify-content:flex-end;align-items:center;max-width:920px;margin:0 auto;display:flex}.copyright{color:var(--muted);letter-spacing:.08em;font-size:.9rem}.site-footer{padding:24px 24px 64px}.footer-inner{background:var(--panel);border:1px solid var(--panel-border);border-radius:calc(var(--radius) + 4px);max-width:920px;box-shadow:0 18px 40px var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:18px 22px;display:flex}.footer-title{letter-spacing:.06em;font-size:1.25rem;font-weight:600}.footer-nav{text-transform:uppercase;letter-spacing:.12em;flex-wrap:wrap;gap:16px;font-size:.95rem;display:flex}.footer-nav a{background:#ffffff08;border:1px solid #0000;border-radius:999px;padding:6px 10px}.footer-nav a:focus-visible,.footer-nav a:hover{border-color:#86f2ff66;box-shadow:0 0 14px #86f2ff40}.theme-toggle{color:var(--text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#86f2ff14;border:1px solid #86f2ff59;border-radius:999px;padding:6px 14px;font-size:.85rem}[data-theme=light] .theme-toggle{background:#0f6c7a14;border-color:#0f6c7a4d}@media (width<=640px){.site-header{padding:20px 18px 12px}.page-shell{padding:32px 18px 56px}.content{gap:24px}.block,.hero{gap:12px}.card{padding:18px}.footer-inner{justify-content:flex-start;align-items:flex-start;gap:12px;padding:16px 18px}.footer-nav{flex-wrap:wrap;gap:10px}.theme-toggle{margin-left:auto}.site-footer{padding:16px 18px 40px}}
