@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@700&family=Noto+Sans+JP:wght@400;700&display=swap";:root{--bg-color: #1a1a1a;--surface-color: #2c2c2c;--text-color: #e0e0e0;--heading-color: #ffffff;--accent-color-1: #ff00ff;--accent-color-2: #00ffff;--accent-color-3: #00ff00;--border-color: #444444;--font-primary: "Noto Sans JP", sans-serif;--font-display: "JetBrains Mono", monospace;--shadow-glow: 0 0 8px var(--accent-color-2, #00ffff)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--bg-color);color:var(--text-color);line-height:1.7;font-size:16px}.container{max-width:1200px;margin:0 auto;padding:20px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--heading-color);margin-bottom:.8em;line-height:1.3}h1{font-size:2.8rem;color:var(--accent-color-1)}h2{font-size:2rem;color:var(--accent-color-2)}h3{font-size:1.5rem}p{margin-bottom:1.2em}a{color:var(--accent-color-2);text-decoration:none;transition:color .3s ease,text-shadow .3s ease}a:hover{color:var(--accent-color-1);text-shadow:0 0 5px var(--accent-color-1)}ul,ol{margin-left:20px;margin-bottom:1.2em}li{margin-bottom:.5em}.site-header{background-color:var(--surface-color);border-bottom:2px solid var(--border-color);padding:20px 0;margin-bottom:30px}.site-header .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.site-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700}.site-title a{color:var(--heading-color);text-shadow:0 0 8px var(--accent-color-1)}.main-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:25px}.main-nav a{font-family:var(--font-display);font-weight:700;font-size:1rem;padding:5px 10px}.main-layout{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:768px){.main-layout{grid-template-columns:3fr 1fr}}.main-content{background-color:var(--surface-color);padding:30px;border:1px solid var(--border-color)}.page-header h1,.article-header h1{margin-bottom:20px}.article-meta{font-size:.9em;color:#aaa;margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.article-content a{font-weight:700;border-bottom:1px dotted var(--accent-color-2)}.article-content a:hover{border-bottom-style:solid}.article-content img{max-width:100%;height:auto;margin:20px 0}.articles-grid{display:grid;grid-template-columns:1fr;gap:30px}@media(min-width:600px){.articles-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.articles-grid{grid-template-columns:repeat(3,1fr)}}.article-card{background-color:var(--surface-color);border:1px solid var(--border-color);padding:20px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.article-card:hover{transform:translateY(-5px);box-shadow:0 0 15px var(--accent-color-1)}.article-card h3{font-size:1.3rem;margin-bottom:15px}.article-card p{flex-grow:1;font-size:.95em}.read-more{display:inline-block;margin-top:15px;font-family:var(--font-display);font-weight:700;background-color:var(--accent-color-1);color:var(--bg-color);padding:8px 15px;text-align:center;transition:background-color .3s ease}.read-more:hover{background-color:var(--accent-color-2);text-shadow:none}.sidebar{padding-top:30px}.widget{background-color:var(--surface-color);border:1px solid var(--border-color);padding:20px;margin-bottom:30px}.widget-title{font-family:var(--font-display);font-size:1.4rem;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--accent-color-1);color:var(--accent-color-1)}.widget ul{list-style:none;margin:0;padding:0}.widget li{margin-bottom:10px}.widget li a:before{content:">> ";color:var(--accent-color-2);font-weight:700}.cta-section{background-color:var(--surface-color);border:2px solid var(--accent-color-2);padding:30px;margin:40px 0;text-align:center;box-shadow:var(--shadow-glow)}.cta-section h3{color:var(--accent-color-2)}.site-footer{background-color:var(--surface-color);border-top:2px solid var(--border-color);color:#aaa;padding:40px 0;margin-top:40px;text-align:center;font-size:.9em}.footer-links{list-style:none;display:flex;justify-content:center;gap:20px;margin:0 0 15px;padding:0}@media(max-width:767px){h1{font-size:2.2rem}h2{font-size:1.8rem}.site-header .container{flex-direction:column;gap:20px}.main-layout{grid-template-columns:1fr}.sidebar{padding-top:0}}
