@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap";
@theme{--color-bg-primary: #fff; --color-bg-secondary: #f5f7fa; --color-bg-card: #fff; --color-bg-glass: #39c5bb0f; --color-border-glass: #39c5bb2e; --color-text-primary: #1a1a2e; --color-text-secondary: #4a5568; --color-text-muted: #8a94a6; --color-accent-miku: #39c5bb; --color-accent-rin: orange; --color-accent-len: #ffe211; --color-accent-luka: pink; --color-accent-meiko: #d80000; --color-accent-kaito: #00f; --color-accent-start: #39c5bb; --color-accent-mid: orange; --color-accent-end: pink; --font-family-sans: "Inter", "Noto Sans JP", system-ui, sans-serif;}:root{--color-bg-primary:#fff;--color-bg-secondary:#f5f7fa;--color-bg-card:#fff;--color-bg-glass:#39c5bb0f;--color-border-glass:#39c5bb2e;--color-text-primary:#1a1a2e;--color-text-secondary:#4a5568;--color-text-muted:#8a94a6;--color-accent-miku:#39c5bb;--color-accent-rin:orange;--color-accent-len:#ffe211;--color-accent-luka:pink;--color-accent-meiko:#d80000;--color-accent-kaito:#00f;--color-accent-start:#39c5bb;--color-accent-mid:orange;--color-accent-end:pink;--font-family-sans:"Inter", "Noto Sans JP", system-ui, sans-serif}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #39c5bb33}50%{box-shadow:0 0 40px #39c5bb59}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;line-height:1.7;overflow-x:hidden}.glass{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-glass)}.gradient-text{background:linear-gradient(135deg,#39c5bb,#00f,pink,#d80000);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-border{position:relative}.gradient-border:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#39c5bb,orange,pink);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.animate-fade-in{animation:.6s ease-out forwards fade-in}.animate-slide-up{animation:.8s ease-out forwards slide-up}.animate-float{animation:3s ease-in-out infinite float}.card-hover{transition:transform .3s,box-shadow .3s}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #39c5bb26}.section{max-width:1200px;margin:0 auto;padding:5rem 1.5rem}.section-title{letter-spacing:-.02em;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.section-subtitle{color:var(--color-text-secondary);max-width:600px;margin-bottom:3rem;font-size:1.125rem}.page-hero{text-align:center;padding:8rem 1.5rem 4rem;position:relative}.page-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#39c5bb1a 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:0;left:50%;transform:translate(-50%)}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#39c5bb,#2ab5ac);border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #39c5bb59}.btn-secondary{color:var(--color-text-primary);cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:12px;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-secondary:hover{background:var(--color-bg-secondary);color:#39c5bb;border-color:#39c5bb}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#39c5bb;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2ab5ac}.markdown-body{color:var(--color-text-secondary);overflow-wrap:break-word;font-size:.95rem;line-height:1.85}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 1rem}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--color-text-primary);margin:1.75rem 0 .75rem;font-weight:800;line-height:1.45}.markdown-body h1{font-size:1.45rem}.markdown-body h2{font-size:1.25rem}.markdown-body h3{font-size:1.1rem}.markdown-body h4{font-size:1rem}.markdown-body strong{color:var(--color-text-primary);font-weight:700}.markdown-body a{color:var(--color-accent-miku);text-underline-offset:2px;text-decoration:underline}.markdown-body ul,.markdown-body ol{margin:0 0 1rem;padding-left:1.25rem}.markdown-body li{margin-bottom:.45rem}.markdown-body li>input[type=checkbox]{margin-right:.4rem}.markdown-body blockquote{background:#39c5bb14;border-left:3px solid #39c5bb8c;border-radius:0 8px 8px 0;margin:0 0 1rem;padding:.75rem 1rem}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body code{color:var(--color-text-primary);background:#39c5bb1a;border-radius:4px;padding:.15em .4em;font-size:.88em}.markdown-body pre{background:var(--color-bg-secondary);border-radius:10px;margin:0 0 1rem;padding:1rem;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0;font-size:.85rem;line-height:1.6}.markdown-body img{border-radius:10px;max-width:100%;height:auto}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 1rem;font-size:.9rem;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--color-border-glass);text-align:left;padding:.5rem .75rem}.markdown-body th{background:var(--color-bg-glass);color:var(--color-text-primary);font-weight:700}.markdown-body hr{border:none;border-top:1px solid var(--color-border-glass);margin:1.75rem 0}@media (max-width:768px){.section{padding:3rem 1rem}.section-title{font-size:1.75rem}.page-hero{padding:6rem 1rem 3rem}}
