:root{--color-bg: #fafaf9;--color-surface: #ffffff;--color-text: #1c1917;--color-text-muted: #78716c;--color-primary: #6366f1;--color-primary-light: #e0e7ff;--color-accent: #f59e0b;--color-border: #e7e5e4;--color-card: #ffffff;--font-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", sans-serif;--sidebar-width: 260px;--header-height: 80px;--content-max-width: 800px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition: all .2s ease}[data-theme=dark]{--color-bg: #0f172a;--color-surface: #1e293b;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-primary: #818cf8;--color-primary-light: #312e81;--color-border: #334155;--color-card: #1e293b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:100;display:flex;flex-direction:column}.logo{padding:24px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--color-border)}.logo-icon{font-size:28px}.logo-text{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-primary)}.nav-menu{list-style:none;padding:16px 0;flex:1}.nav-menu li{margin:2px 0}.nav-link{display:block;padding:10px 20px;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;transition:var(--transition);border-left:3px solid transparent}.nav-link:hover{color:var(--color-text);background:var(--color-bg)}.nav-link.active{color:var(--color-primary);background:var(--color-primary-light);border-left-color:var(--color-primary);font-weight:500}.sub-menu .nav-link{padding-left:40px;font-size:.85rem}.nav-footer{padding:16px 20px;border-top:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}.content{margin-left:var(--sidebar-width);flex:1;max-width:calc(100% - var(--sidebar-width));padding:40px 60px}.page-header{margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--color-border)}.page-header h1{font-family:var(--font-display);font-size:2.5rem;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:var(--color-text-muted)}.section{margin-bottom:64px}.section h2{font-family:var(--font-display);font-size:1.75rem;font-weight:600;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--color-primary-light)}.section h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:32px 0 16px;color:var(--color-text)}.section h4{font-size:1.1rem;font-weight:600;margin:24px 0 12px}.section p{margin-bottom:16px;color:var(--color-text-muted)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:32px 0}.feature-card{background:var(--color-card);border-radius:16px;padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon{font-size:40px;margin-bottom:16px;display:block}.feature-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0 0 8px}.feature-card p{font-size:.9rem;color:var(--color-text-muted);margin:0}.concept-box{background:linear-gradient(135deg,var(--color-primary-light),#fce7f3);border-radius:16px;padding:32px;margin:24px 0}.concept-box h3{margin-top:0;color:var(--color-primary)}.feature-list{list-style:none;margin:20px 0}.feature-list li{padding:12px 0 12px 32px;position:relative;border-bottom:1px solid var(--color-border)}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.screen-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin:32px 0}.screen-card{background:var(--color-card);border-radius:12px;padding:24px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition)}.screen-card:hover{border-color:var(--color-primary)}.screen-num{display:block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:8px}.screen-card h4{margin:0 0 4px;font-size:1rem}.screen-card p{margin:0;font-size:.85rem;color:var(--color-text-muted)}.screenshot-container{margin:32px 0;text-align:center}.screenshot{max-width:300px;border-radius:24px;box-shadow:var(--shadow-lg);border:8px solid var(--color-surface);transition:var(--transition)}.screenshot:hover{transform:scale(1.02)}.screenshot-small{max-width:200px;margin:0 10px}.screenshot-caption{margin-top:16px;font-size:.9rem;color:var(--color-text-muted)}.info-box{background:var(--color-card);border-radius:12px;padding:24px;margin:24px 0;border:1px solid var(--color-border)}.info-box h4{margin-top:0;color:var(--color-primary)}.info-box ul{margin:16px 0;padding-left:24px}.info-box li{margin:8px 0;color:var(--color-text-muted)}.data-table{width:100%;border-collapse:collapse;margin:16px 0}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:600;color:var(--color-text);background:var(--color-bg)}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge.required{background:#fecaca;color:#dc2626}.badge.auto{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.badge.optional{background:#d1fae5;color:#059669}.steps{counter-reset:step;list-style:none;padding:0;margin:20px 0}.steps li{position:relative;padding-left:48px;padding-bottom:20px;margin-bottom:4px}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.steps li:after{content:"";position:absolute;left:15px;top:36px;width:2px;height:calc(100% - 16px);background:var(--color-border)}.steps li:last-child:after{display:none}.data-structure{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:24px 0}.data-box{background:var(--color-card);border-radius:12px;padding:24px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary)}.data-box h4{margin-top:0;color:var(--color-primary);font-family:var(--font-display)}.data-box ul{margin:16px 0 0;padding-left:20px}.data-box li{margin:8px 0;color:var(--color-text-muted)}.warning-box{background:#fef3c7;border:1px solid #fbbf24;border-radius:12px;padding:24px;margin:24px 0}.note-box{background:#e0f2fe;border:1px solid #38bdf8;border-radius:12px;padding:24px;margin:24px 0}.note-box h4{color:#0369a1;margin-top:0}.note-box p{color:#0c4a6e;margin-bottom:0}.note-box strong{color:#0284c7}.warning-box p{color:#92400e}.warning-box ul{margin:12px 0 0;padding-left:24px}.warning-box li{color:#92400e;margin:8px 0}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:32px 0}.tip-card{background:var(--color-card);border-radius:12px;padding:24px;border:1px solid var(--color-border);transition:var(--transition)}.tip-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow)}.tip-card h4{margin:0 0 12px;color:var(--color-accent)}.tip-card p{margin:0;font-size:.9rem}.page-footer{margin-top:80px;padding-top:40px;border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted)}.page-footer p{margin:8px 0}.copyright{font-size:.85rem}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.content{margin-left:0;max-width:100%;padding:20px}.page-header h1{font-size:1.75rem}.feature-grid,.tips-grid{grid-template-columns:1fr}.screenshot{max-width:100%}.screenshot-small{max-width:45%}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary-light);color:var(--color-primary)}
