:root{--color-primary:#0b0042;--color-primary-light:#1a1068;--color-primary-lighter:#2d1d8e;--color-accent:#fafad2;--color-accent-hover:#fff4a3;--color-accent-blue:#4a6cf7;--color-bg:#fff;--color-bg-secondary:#f5f6fa;--color-bg-tertiary:#eef0f7;--color-bg-card:#fff;--color-bg-code:#f3f4f8;--color-bg-body:#e8eaf0;--color-text:#1a1a2e;--color-text-secondary:#4a4a6a;--color-text-muted:#8888a8;--color-text-inverse:#f1f1f1;--color-text-link:#2d5eff;--color-text-link-hover:#1a3fcc;--color-border:#e2e4ea;--color-border-strong:#c8cbd4;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-h1-bg:#e5e5f7;--color-h1-border:#010079;--color-h2-bg:#e0f2ff;--color-h2-text:#192393;--color-h3-bg:#fff45b;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-family:"Noto Sans JP","Inter","Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;--font-family-mono:"Consolas","Monaco",monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height:1.75;--line-height-tight:1.3;--max-width:1080px;--header-height:56px;--border-radius:6px;--border-radius-lg:12px;--shadow-sm:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 12px rgba(0,0,0,.1);--shadow-lg:0 8px 24px rgba(0,0,0,.12);--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--nav-bg:var(--color-accent);--nav-color:navy;--nav-hover-bg:var(--color-primary);--nav-hover-color:var(--color-accent)}[data-theme=dark]{--color-bg:#0d0d1a;--color-bg-secondary:#141428;--color-bg-tertiary:#1c1c36;--color-bg-card:#16162e;--color-bg-code:#1a1a34;--color-bg-body:#050510;--color-text:#e0e0f0;--color-text-secondary:#a8a8cc;--color-text-muted:#6868a0;--color-text-link:#6b8aff;--color-text-link-hover:#8da8ff;--color-border:#252550;--color-border-strong:#353568;--color-h1-bg:#12123a;--color-h1-border:#4040b0;--color-h2-bg:#0c1530;--color-h2-text:#6088ff;--color-h3-bg:#2e2a00;--nav-bg:#12103a;--nav-color:#c0c0e8;--nav-hover-bg:#2828a0;--nav-hover-color:#fff;--shadow-sm:0 1px 4px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 8px 32px rgba(0,0,0,.6)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;scroll-behavior:smooth}body{background-color:var(--color-bg-body);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-link-hover)}img{display:block;height:auto;max-width:100%}ol,ul{list-style-position:inside}#wrap{background-color:var(--color-bg);box-shadow:var(--shadow-lg);margin:0 auto;max-width:var(--max-width);min-height:calc(100vh - var(--header-height));width:100%}main{min-height:60vh;padding-bottom:var(--space-3xl);width:100%}#main-inner{letter-spacing:.03em;padding:var(--space-xl) var(--space-xl)}main p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height);padding:var(--space-sm) 0}.lab-h1{background-color:var(--color-h1-bg);border-bottom:2px solid var(--color-h1-border);border-left:6px solid var(--color-h1-border);border-radius:0 var(--border-radius) 0 0;color:var(--color-text);font-size:var(--font-size-3xl);line-height:var(--line-height-tight);margin:var(--space-xs) 0 var(--space-xl) 0}.lab-h1,.lab-h2{font-weight:var(--font-weight-bold);padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg)}.lab-h2{background-color:var(--color-h2-bg);border-left:4px solid var(--color-accent-blue);border-radius:var(--border-radius);color:var(--color-h2-text);font-size:var(--font-size-2xl);margin:var(--space-2xl) 0 var(--space-md) 0;position:relative}.lab-h2:after,.lab-h2:before{display:none}.lab-h3{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-top:var(--space-md);padding:var(--space-sm)}.sub-h3{border-bottom:1px dashed var(--color-text-muted);font-size:var(--font-size-lg);margin-bottom:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-sm) var(--space-sm) var(--space-xs) var(--space-sm)}.big-h3{background-color:var(--color-h3-bg);border-radius:var(--border-radius);color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-top:var(--space-xl);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-lg)}#main-inner ol,#main-inner ul{padding-left:var(--space-md)}#main-inner ol li,#main-inner ul li{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.6;margin:var(--space-sm) 0}.buttonlink{display:inline-block;margin:var(--space-md)}.buttonlink a{background:linear-gradient(135deg,var(--color-accent-blue),var(--color-primary-lighter));border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);color:#fff!important;display:inline-block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);min-width:240px;padding:var(--space-md) var(--space-2xl);text-align:center;text-decoration:none!important;transition:all var(--transition-base)}.buttonlink a:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.content{margin-bottom:var(--space-md)}.content h3{margin-top:var(--space-md)}.content h3 a{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.links-display{padding:var(--space-md) var(--space-sm)}.links-display p{display:inline-block;padding:var(--space-sm) var(--space-md)}.notice{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.notice,.notice a{color:var(--color-accent-blue)}.notice a:hover{color:var(--color-text-link-hover)}.imp{font-size:var(--font-size-xl);margin:var(--space-lg) 0;padding:var(--space-sm)}.imp,.quote{font-weight:var(--font-weight-bold)}.quote{color:var(--color-text-muted);display:inline-block;font-size:var(--font-size-xs);padding-top:var(--space-3xl);text-align:right;width:100%}.resp-ad{padding:var(--space-md) 0;text-align:center;width:100%}#hero{background:linear-gradient(180deg,var(--color-primary) 0,var(--color-bg) 100%);display:flex;height:auto;justify-content:center;overflow:hidden;padding:var(--space-2xl) var(--space-xl);width:100%}#hero h1{max-width:600px}#hero h1 img{filter:drop-shadow(0 4px 16px rgba(0,0,0,.3));height:auto;width:100%}details{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);margin:var(--space-lg) 0;padding:var(--space-md)}summary{color:var(--color-text-link);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--space-xs) 0;transition:color var(--transition-fast)}summary:hover{color:var(--color-text-link-hover)}.platform-link{border-radius:var(--border-radius);color:#fff!important;display:inline-block;font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-lg);text-decoration:none!important;transition:all var(--transition-base)}.platform-link.youtube{background:linear-gradient(135deg,red,#c00)}.platform-link.youtube:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.platform-link.niconico{background:linear-gradient(135deg,#333,#1a1a1a)}.platform-link.niconico:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}@media screen and (max-width:768px){.lab-h1{font-size:var(--font-size-2xl)}.lab-h2{font-size:var(--font-size-xl)}#main-inner{padding:var(--space-md) var(--space-md)}#main-inner ol,#main-inner ul{padding-left:var(--space-sm)}.buttonlink a{font-size:var(--font-size-base);min-width:200px}#hero{padding:var(--space-lg) var(--space-md)}}@media screen and (max-width:480px){.lab-h1{border-bottom-width:1px;border-left-width:4px;font-size:var(--font-size-xl)}.lab-h1,.lab-h2{padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md)}.lab-h2{font-size:var(--font-size-lg)}#hero{padding:var(--space-md) var(--space-sm)}}.page-enter-active,.page-leave-active{transition:opacity var(--transition-base)}.page-enter-from,.page-leave-to{opacity:0}.page-enter-active,.page-leave-active{transition:opacity .2s ease,transform .2s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}
