:root{--color-navy: #1a1f36;--color-navy-light: #2d3352;--color-accent: #e8772e;--color-accent-hover: #d4691f;--color-teal: #0d9488;--color-teal-light: #14b8a6;--color-bg: #f8f6f3;--color-bg-card: #ffffff;--color-text: #2c2c2c;--color-text-light: #6b7280;--color-text-muted: #9ca3af;--color-border: #e2ddd5;--color-border-light: #ece8e1;--color-cat-tools: #d97706;--color-cat-tools-bg: rgba(217, 119, 6, .08);--color-cat-gadgets: #0d9488;--color-cat-gadgets-bg: rgba(13, 148, 136, .08);--color-cat-ai: #4f46e5;--color-cat-ai-bg: rgba(79, 70, 229, .08);--color-cat-english: #e11d48;--color-cat-english-bg: rgba(225, 29, 72, .08);--color-cat-career: #059669;--color-cat-career-bg: rgba(5, 150, 105, .08);--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .05);--max-width: 1080px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-weight:400;font-size:16px;line-height:1.8;letter-spacing:.03em;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-navy);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--color-accent);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:700;font-size:.9rem;z-index:200;transition:top .2s ease}.skip-link:focus{top:0;color:#fff}.site-header{position:sticky;top:0;z-index:100;background:var(--color-navy);height:var(--header-height);display:flex;align-items:center;border-bottom:3px solid var(--color-accent);box-shadow:0 2px 8px #00000026}.header-inner{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.site-logo{display:flex;align-items:center;gap:.65rem;color:#fff;font-family:var(--font-serif);font-weight:700;font-size:1.25rem;letter-spacing:.03em}.site-logo:hover{color:#fff;opacity:.9}.logo-icon{display:inline-block;width:32px;height:32px;border:2px solid var(--color-accent);border-radius:50%;position:relative}.logo-icon:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:18px;background:var(--color-accent);transform:translate(-50%,-50%) rotate(20deg);border-radius:1px}.logo-icon:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:2px;background:#fff6;transform:translate(-50%,-50%);border-radius:1px}.global-nav{display:flex;gap:.25rem}.global-nav a{color:#ffffffde;font-size:.875rem;font-weight:500;padding:.5rem .75rem;position:relative;transition:color .2s ease}.global-nav a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--color-accent);transition:width .3s ease,left .3s ease}.global-nav a:hover{color:#fff}.global-nav a:hover:after{width:100%;left:0}.global-nav a[href="/category/tools"]:hover:after{background:var(--color-cat-tools)}.global-nav a[href="/category/gadgets"]:hover:after{background:var(--color-cat-gadgets)}.global-nav a[href="/category/ai"]:hover:after{background:var(--color-cat-ai)}.global-nav a[href="/category/english"]:hover:after{background:var(--color-cat-english)}.global-nav a[href="/category/career"]:hover:after{background:var(--color-cat-career)}.mobile-menu-btn{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px}.mobile-menu-btn span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .2s}.main-content{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 3rem;min-height:calc(100vh - var(--header-height) - 300px)}.site-footer{background:var(--color-navy);color:#ffffffb3;margin-top:4rem}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem 2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}.footer-heading{font-family:var(--font-serif);font-size:.9rem;font-weight:700;color:#fff;margin-bottom:.75rem;letter-spacing:.03em}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:.4rem}.footer-links a{color:#ffffffc7;font-size:.85rem;transition:color .2s;display:inline-block;padding:.2rem 0}.footer-links a:hover{color:var(--color-accent)}.footer-brand{font-family:var(--font-serif);font-weight:700;font-size:1.15rem;color:#fff;margin-bottom:.5rem;letter-spacing:.03em}.footer-tagline{font-size:.82rem;line-height:1.75;color:#ffffffb3}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:1.25rem 1.5rem;font-size:.8rem;color:#ffffffb3}.prose h2{font-family:var(--font-serif);font-size:clamp(1.25rem,1.15rem + .45vw,1.5rem);font-weight:700;margin-top:3rem;margin-bottom:1rem;padding-bottom:.4rem;border-bottom:2px solid var(--color-accent);color:var(--color-navy)}.prose h3{font-family:var(--font-serif);font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);font-weight:700;margin-top:2rem;margin-bottom:.75rem;color:var(--color-navy);padding-left:.75rem;border-left:3px solid var(--color-teal)}.prose p{margin-bottom:1.5rem;font-size:1rem;line-height:2}.prose ul{margin-bottom:1.5rem;padding-left:1.5rem;list-style-type:disc}.prose ol{margin-bottom:1.5rem;padding-left:1.5rem;list-style-type:decimal}.prose li{margin-bottom:.4rem;line-height:1.9;padding-left:.25rem}.prose ul ul{list-style-type:circle;margin-bottom:.5rem;margin-top:.3rem}.prose ol ol{list-style-type:lower-alpha;margin-bottom:.5rem;margin-top:.3rem}.prose pre{background:var(--color-navy);color:#e2e8f0;padding:1.25rem 1.5rem;border-radius:var(--radius-md);overflow-x:auto;margin-bottom:1.5rem;font-size:.875rem;line-height:1.7;font-family:var(--font-mono);border-left:3px solid var(--color-accent)}.prose code{font-family:var(--font-mono);font-size:.9em}.prose p code,.prose li code{background:#e8772e1a;color:var(--color-accent-hover);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.875em;font-family:var(--font-mono)}.prose blockquote{border-left:4px solid var(--color-teal);padding:1rem 1.25rem;background:#0d94880d;color:var(--color-text-light);margin-bottom:1.5rem;border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}.prose table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);min-width:480px}.prose th,.prose td{border:1px solid var(--color-border);padding:.75rem 1rem;text-align:left;font-size:.925rem;line-height:1.6;white-space:nowrap}.prose td{white-space:normal;word-break:break-all}.prose tr:nth-child(2n) td{background:#00000004}.prose th{background:var(--color-navy-light);color:#fff;font-weight:500;white-space:nowrap;letter-spacing:.02em}.prose img{border-radius:var(--radius-md);margin:1.5rem 0;box-shadow:var(--shadow-sm)}.fade-in{opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94)}.fade-in.is-visible{opacity:1;transform:translateY(0)}.stagger-in>*{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.stagger-in.is-visible>*:nth-child(1){transition-delay:0s;opacity:1;transform:translateY(0)}.stagger-in.is-visible>*:nth-child(2){transition-delay:.06s;opacity:1;transform:translateY(0)}.stagger-in.is-visible>*:nth-child(3){transition-delay:.12s;opacity:1;transform:translateY(0)}.stagger-in.is-visible>*:nth-child(4){transition-delay:.18s;opacity:1;transform:translateY(0)}.stagger-in.is-visible>*:nth-child(5){transition-delay:.24s;opacity:1;transform:translateY(0)}.stagger-in.is-visible>*:nth-child(n+6){transition-delay:.3s;opacity:1;transform:translateY(0)}.link-underline{position:relative;display:inline}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-accent);transition:width .3s ease}.link-underline:hover:after{width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.fade-in{opacity:1;transform:none}.stagger-in>*{opacity:1;transform:none}}@media(max-width:768px){.global-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-navy);flex-direction:column;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.global-nav.is-open{display:flex}.global-nav a{padding:.75rem 0;font-size:.95rem;min-height:44px;display:flex;align-items:center}.global-nav a:after{display:none}.mobile-menu-btn{display:flex}.main-content{padding:1.25rem 1rem 2rem}.footer-inner{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1rem}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose th,.prose td{padding:.6rem .75rem;font-size:.875rem}}.article-card[data-astro-cid-di2nlc57]{background:var(--color-bg-card, #ffffff);border-bottom:1px solid var(--color-border-light, #ece8e1);border-left:3px solid transparent;transition:background .2s ease,border-left-color .2s ease,box-shadow .2s ease}.article-card[data-astro-cid-di2nlc57]:hover{background:#00000003;border-left-color:var(--cat-color);box-shadow:0 2px 8px #0000000a}.card-link[data-astro-cid-di2nlc57]{display:flex;gap:1.25rem;padding:1.25rem 0;color:inherit;text-decoration:none}.card-link[data-astro-cid-di2nlc57]:hover{color:inherit}.card-thumb[data-astro-cid-di2nlc57]{flex-shrink:0;width:180px;height:120px;aspect-ratio:3 / 2;overflow:hidden;border-radius:var(--radius-md, 8px);position:relative}.card-category-overlay[data-astro-cid-di2nlc57]{position:absolute;top:6px;left:6px;background:var(--cat-color);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;letter-spacing:.04em;line-height:1.4;border-radius:var(--radius-sm, 4px)}.card-image[data-astro-cid-di2nlc57]{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.article-card[data-astro-cid-di2nlc57]:hover .card-image[data-astro-cid-di2nlc57]{transform:scale(1.05)}.card-image-placeholder[data-astro-cid-di2nlc57]{width:100%;height:100%;background:var(--cat-gradient);display:flex;align-items:center;justify-content:center}.placeholder-icon[data-astro-cid-di2nlc57]{display:block;width:32px;height:32px;border:2px solid rgba(255,255,255,.4);border-radius:50%;position:relative}.placeholder-icon[data-astro-cid-di2nlc57]:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:16px;background:#ffffff80;transform:translate(-50%,-50%) rotate(20deg);border-radius:1px}.placeholder-icon[data-astro-cid-di2nlc57]:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background:#ffffff4d;transform:translate(-50%,-50%);border-radius:1px}.card-body[data-astro-cid-di2nlc57]{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.card-meta[data-astro-cid-di2nlc57]{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--color-text-muted, #9ca3af);margin-bottom:.35rem}.card-title[data-astro-cid-di2nlc57]{font-family:var(--font-serif, "Noto Serif JP", serif);font-size:1.05rem;font-weight:700;line-height:1.5;margin-bottom:.4rem;color:var(--color-navy, #1a1f36);transition:color .2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card[data-astro-cid-di2nlc57]:hover .card-title[data-astro-cid-di2nlc57]{color:var(--cat-color, var(--color-accent, #e8772e))}.card-description[data-astro-cid-di2nlc57]{font-size:.85rem;color:var(--color-text-light, #6b7280);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.card-link[data-astro-cid-di2nlc57]{gap:.85rem}.card-thumb[data-astro-cid-di2nlc57]{width:110px;height:80px}.card-title[data-astro-cid-di2nlc57]{font-size:.925rem}.card-description[data-astro-cid-di2nlc57]{display:none}.placeholder-icon[data-astro-cid-di2nlc57]{width:24px;height:24px}.placeholder-icon[data-astro-cid-di2nlc57]:before{height:12px}.placeholder-icon[data-astro-cid-di2nlc57]:after{width:12px}}
