@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Montserrat:wght@400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";
:root{--bg-dark:#0a0a0a;--bg-card:#ffffff0f;--border-color:#ffffff24;--text-main:#f0f0f0;--text-muted:#999;--accent-color:#39c5bb;--accent-color-dark:#39c5bb26;--accent-color-hover:#4edad0;--font-en:"Montserrat", sans-serif;--font-ja:"Noto Sans JP", sans-serif;--font-logo:"Cinzel", serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-ja);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,h5,h6{color:#fff;font-weight:500;line-height:1.4}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.glass-panel{-webkit-backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 8px 32px #0006}.btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-color);color:#000;border:1px solid var(--accent-color)}.btn-primary:hover{background:var(--accent-color-hover)}.btn-outline{color:var(--accent-color);border:1px solid var(--accent-color);background:0 0}.btn-outline:hover{background:var(--accent-color-dark)}.form-group{margin-bottom:20px}.form-label{color:#ccc;margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);color:#fff;background:#00000080;border-radius:8px;width:100%;padding:12px 15px;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-control:focus{border-color:var(--accent-color);outline:none}.scroll-hint{text-align:right;color:var(--accent-color);margin-bottom:8px;font-size:.75rem;animation:2s ease-in-out infinite scrollPulse;display:block}@keyframes scrollPulse{0%{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(5px)}to{opacity:.5;transform:translate(0)}}@media (min-width:768px){.scroll-hint{display:none}}@media print{@page{size:A4 portrait;margin:15mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{color:#000!important;background-color:#fff!important;font-size:11pt!important}.no-print,body .no-print,.site-header,nav,.header-nav,.scroll-hint{display:none!important}.print-only{display:block!important}.container{max-width:100%!important;margin:0!important;padding:0!important}.main-content{padding:0!important}.glass-panel.no-print{display:none!important}.glass-panel{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;flex:unset!important;width:100%!important;min-width:unset!important;max-height:unset!important;background:#fff!important;border:none!important;border-radius:0!important;padding:0!important;position:static!important;overflow:visible!important}:not(.no-print)[style*="display: flex"]{display:block!important}h1,h2,h3,h4,h5,h6,p,span,td,th,div,[style*="color: var(--accent-color)"],[style*="color: #39C5BB"]{color:#000!important}.page-break{page-break-before:always}table{page-break-inside:avoid}}.app-wrapper{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid var(--border-color);z-index:100;background:#0a0a0ae6;padding:15px 0;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-logo);color:#fff;letter-spacing:.1em;font-size:1.5rem}.sys-name{font-family:var(--font-en);color:var(--accent-color);letter-spacing:.15em;vertical-align:middle;margin-left:10px;font-size:.8rem}.header-nav{align-items:center;gap:20px;display:flex}.header-nav a{font-family:var(--font-ja);color:#ccc;font-size:.9rem;transition:color .2s}.header-nav a:hover{color:#fff}.header-nav a.nav-highlight{color:var(--accent-color);border:1px solid var(--accent-color);border-radius:4px;padding:5px 12px}.header-nav a.nav-highlight:hover{background:var(--accent-color-dark)}.main-content{flex:1;padding:40px 0}@media (max-width:768px){.main-content{padding:20px 0}.container{padding:0 12px}.header-nav{gap:12px}.header-nav a{font-size:.8rem}.logo{font-size:1.2rem}}
