@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--color-primary: #6200ea;--color-primary-light: #9d46ff;--color-secondary: #00e5ff;--color-secondary-dark: #00b2cc;--color-bg-main: #121212;--color-bg-panel: #1e1e1e;--color-bg-input: #2c2c2c;--color-text-main: #ffffff;--color-text-muted: #b0b0b0;--color-text-inverse: #000000;--color-status-success: #00c853;--color-status-error: #ff3d00;--color-status-warning: #ffd600;--font-family-base: "Inter", "Noto Sans JP", system-ui, -apple-system, sans-serif;--font-family-mono: "Fira Code", monospace;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--border-width-base: 1px;--transition-fast: .2s ease;--transition-normal: .3s ease;--z-header: 100;--z-modal: 1000;--z-overlay: 900}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-family-base);background-color:var(--color-bg-main);color:var(--color-text-main);line-height:1.6;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}#app{width:100%;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--spacing-md);line-height:1.2}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary-dark)}button{cursor:pointer;border:none;background:var(--color-primary);color:var(--color-text-main);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-family:inherit;font-size:var(--font-size-base);font-weight:500;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}button:hover{background-color:var(--color-primary-light);transform:translateY(-1px)}button:active{transform:scale(.98) translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.hidden{display:none!important}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{flex-shrink:0}.app-main{flex:1;display:flex;flex-direction:column;overflow-y:auto}.app-footer{flex-shrink:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}::selection{background:var(--color-primary);color:#fff}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary),0 0 10px var(--color-primary)}50%{box-shadow:0 0 20px var(--color-primary),0 0 40px var(--color-primary)}}@media(max-width:768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem}.container{padding:0 var(--spacing-sm)}h1{font-size:1.75rem}h2{font-size:1.5rem}}@media(max-width:480px){:root{--font-size-base: .9rem;--spacing-md: .75rem}button{padding:var(--spacing-sm) var(--spacing-md)}}
