@font-face{font-family:System Japanese;src:local(Noto Sans CJK JP),local(IPAGothic),local(Hiragino Kaku Gothic ProN),local(Yu Gothic),local(Meiryo),local(MS Gothic);font-display:block}:root{--color-primary:#0ea5e9;--color-primary-light:#38bdf8;--color-primary-dark:#0284c7;--color-secondary:#8b5cf6;--color-accent:#f59e0b;--color-white:#fff;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-yellow-400:#facc15;--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-600);--color-text-muted:var(--color-gray-400);--color-background:var(--color-white);--color-surface:var(--color-gray-50);--color-border:var(--color-gray-200);--color-maincolor:var(--color-gray-900);--color-archive-title:#ff8f00;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}.dark-theme{--color-text-primary:var(--color-gray-100);--color-text-secondary:var(--color-gray-300);--color-text-muted:var(--color-gray-500);--color-background:var(--color-gray-900);--color-surface:var(--color-gray-800);--color-border:var(--color-gray-700);--color-maincolor:var(--color-gray-100)}@media (prefers-color-scheme:dark){:root:not(.light-theme){--color-text-primary:var(--color-gray-100);--color-text-secondary:var(--color-gray-300);--color-text-muted:var(--color-gray-500);--color-background:var(--color-gray-900);--color-surface:var(--color-gray-800);--color-border:var(--color-gray-700);--color-maincolor:var(--color-gray-100)}}@media (prefers-contrast:high){:root{--color-primary:#06c;--color-text-primary:#000;--color-text-secondary:#333;--color-background:#fff;--color-border:#000}.dark-theme,:root:not(.light-theme){--color-primary:#66b3ff;--color-text-primary:#fff;--color-text-secondary:#ccc;--color-background:#000;--color-border:#fff}}*{box-sizing:border-box;margin:0;padding:0}:focus{outline:2px solid var(--color-primary);outline-offset:2px;transition:outline var(--transition-fast)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background-color:var(--color-background);font-family:Inter,Inter Fallback\: System Japanese,Inter Fallback\: Noto Sans JP,Inter Fallback\: Noto Sans CJK JP,Inter Fallback\: IPAGothic,Inter Fallback\: IPAPGothic,Inter Fallback\: Hiragino Kaku Gothic ProN,Inter Fallback\: Hiragino Sans,Inter Fallback\: Yu Gothic,Inter Fallback\: Meiryo,Inter Fallback\: MS Gothic,Inter Fallback\: MS PGothic,Inter Fallback\: MS UI Gothic,Inter Fallback\: DejaVu Sans,Inter Fallback\: Liberation Sans,Inter Fallback\: Droid Sans Fallback,Inter Fallback\: Takao Gothic,Inter Fallback\: VL Gothic,Inter Fallback\: TakaoPGothic,Inter Fallback\: Ubuntu,Inter Fallback\: -apple-system,Inter Fallback\: BlinkMacSystemFont,Inter Fallback\: Segoe UI,Inter Fallback\: Roboto,Inter Fallback\: Helvetica Neue,Inter Fallback\: Arial,Inter Fallback\: Noto Sans,System Japanese,Noto Sans JP,Noto Sans CJK JP,IPAGothic,IPAPGothic,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,MS Gothic,MS PGothic,MS UI Gothic,DejaVu Sans,Liberation Sans,Droid Sans Fallback,Takao Gothic,VL Gothic,TakaoPGothic,Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;font-family:Inter,Inter Fallback\: System Japanese,Inter Fallback\: Noto Sans JP,Inter Fallback\: Noto Sans CJK JP,Inter Fallback\: IPAGothic,Inter Fallback\: IPAPGothic,Inter Fallback\: Hiragino Kaku Gothic ProN,Inter Fallback\: Hiragino Sans,Inter Fallback\: Yu Gothic,Inter Fallback\: Meiryo,Inter Fallback\: MS Gothic,Inter Fallback\: MS PGothic,Inter Fallback\: MS UI Gothic,Inter Fallback\: DejaVu Sans,Inter Fallback\: Liberation Sans,Inter Fallback\: Droid Sans Fallback,Inter Fallback\: Takao Gothic,Inter Fallback\: VL Gothic,Inter Fallback\: TakaoPGothic,Inter Fallback\: Ubuntu,Inter Fallback\: Arial,Inter Fallback\: Segoe UI,Inter Fallback\: Helvetica Neue,Inter Fallback\: Noto Sans,System Japanese,Noto Sans JP,Noto Sans CJK JP,IPAGothic,IPAPGothic,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,MS Gothic,MS PGothic,MS UI Gothic,DejaVu Sans,Liberation Sans,Droid Sans Fallback,Takao Gothic,VL Gothic,TakaoPGothic,Ubuntu,Arial,sans-serif;font-weight:600;line-height:1.2}h1{font-size:var(--text-5xl);font-weight:700}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}.container{max-width:1200px;padding:0 var(--space-6);margin:0 auto}@media (width<=768px){.container{padding:0 var(--space-4)}}.section{padding:var(--space-20) 0}@media (width<=768px){.section{padding:var(--space-16) 0}}.grid{gap:var(--space-8);display:grid}.flex{gap:var(--space-4);align-items:center;display:flex}.card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-normal)}.dark-theme .card{background:var(--color-surface)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);border:none;font-weight:500;text-decoration:none;display:inline-flex}.btn.btn-primary{background:var(--color-primary);color:#fff}.btn.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn.btn-secondary:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}.btn.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn.btn-ghost:hover{background:var(--color-surface);color:var(--color-text-primary)}.flex-center{justify-content:center;align-items:center;display:flex}.text-shadow{text-shadow:1px 1px 2px #000c}.error-card{text-align:center;color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:8px;margin:20px;padding:20px}.dark-theme .error-card{color:#fcc;background-color:#422;border-color:#644}.error-card p{margin:0;font-size:16px}.error-card .retry-button{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background-color var(--transition-fast);border:none}.error-card .retry-button:hover{background-color:var(--color-primary-dark)}
