@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--color-primary: #0066CC;--color-primary-hover: #0052A3;--color-primary-light: #E6F2FF;--color-primary-lighter: #F5F9FF;--color-secondary: #666666;--color-secondary-light: #F5F5F5;--color-success: #00A040;--color-success-light: #E6F7ED;--color-warning: #FF8C00;--color-warning-light: #FFF4E6;--color-error: #E60012;--color-error-light: #FFE6E8;--color-text-primary: #1A1A1A;--color-text-secondary: #4A4A4A;--color-text-tertiary: #6B6B6B;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F8F9FA;--color-bg-tertiary: #F0F0F0;--color-border-primary: #B3B3B3;--color-border-secondary: #D4D4D4;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}*{box-sizing:border-box}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text-primary);background-color:var(--color-bg-secondary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer;border:1px solid transparent;text-decoration:none;font-size:16px;line-height:1.5;min-height:44px}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff;padding:12px 24px}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:#fff;color:var(--color-primary);border-color:var(--color-primary);padding:12px 24px}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-text{background-color:transparent;color:var(--color-primary);padding:8px 16px}.btn-text:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:none;padding:8px 12px}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-tertiary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary);padding:12px 24px}.btn-tertiary:hover:not(:disabled){background-color:var(--color-border-secondary)}.btn-small{font-size:14px;padding:8px 16px;min-height:36px}.btn-large{font-size:18px;padding:16px 32px;min-height:52px}.card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-secondary);padding:var(--spacing-lg)}.card:hover{box-shadow:var(--shadow-md)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:16px;line-height:1.5;background-color:#fff;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm)}.sidebar{background-color:var(--color-text-primary);color:#fff}.sidebar-item{padding:12px 16px;border-radius:var(--radius-md);transition:background-color .2s ease;color:#fffc}.sidebar-item:hover{background-color:#ffffff1a;color:#fff}.sidebar-item.active{background-color:var(--color-primary);color:#fff}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.border-primary{border-color:var(--color-border-primary)}.border-secondary{border-color:var(--color-border-secondary)}@media (max-width: 768px){.btn{font-size:14px;padding:10px 20px}.card{padding:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #06c3}@media (prefers-contrast: high){.focus-visible:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 6px #0066cc4d}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-stream-in{animation:streamIn .4s ease-out}.animate-pulse-subtle{animation:pulseSubtle 2s ease-in-out infinite}.animate-typing{animation:typing 1.5s steps(40,end) infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes streamIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.7}}@keyframes typing{0%,50%{opacity:1}51%,to{opacity:.3}}.streaming-status{background:linear-gradient(135deg,#f0f7ff,#e6f2ff);border:1px solid rgba(0,102,204,.2);border-radius:var(--radius-lg);position:relative;overflow:hidden}.streaming-status:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,102,204,.6),transparent);animation:streamingProgress 2s linear infinite}@keyframes streamingProgress{0%{left:-100%}to{left:100%}}.streaming-content{background:linear-gradient(145deg,#fffffff2,#f8fafcf2);border:1px solid rgba(0,102,204,.1);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative}.streaming-content.incomplete{border-style:dashed;border-color:#0066cc4d}.streaming-content.incomplete:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,102,204,.4),transparent);animation:streamingProgress 1.5s linear infinite}.thought-bubble{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid rgba(148,163,184,.3);border-radius:var(--radius-lg);position:relative;font-style:italic;color:var(--color-text-secondary)}.thought-bubble:before{content:"💭";position:absolute;left:-8px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.7}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#0000004d,#00000080)}.modal-content{background:linear-gradient(145deg,#fff,#f8fafc,#f1f5f9);border:1px solid rgba(226,232,240,.8);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fffc inset}.tab-nav{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid rgba(226,232,240,.6)}.tab-nav nav{background:#ffffffb3;border-radius:var(--radius-xl);padding:6px;box-shadow:0 2px 8px #0000000a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab-button{position:relative;padding:12px 20px;font-weight:600;font-size:14px;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.tab-button:hover:not(.active){color:var(--color-text-primary);background:#fff9;transform:translateY(-1px)}.tab-button.active{color:var(--color-primary);background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 4px 12px #0066cc26,0 2px 4px #0000000d;transform:translateY(-1px)}.flow-step-card{background:linear-gradient(145deg,#fff,#fefefe);border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-2xl);box-shadow:0 4px 16px #0000000a,0 1px 4px #00000005;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.flow-step-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(0,102,204,.1) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.flow-step-card:hover{box-shadow:0 12px 32px #00000014,0 4px 16px #0000000a;transform:translateY(-2px);border-color:#06c3}.flow-step-card:hover:before{opacity:1}.flow-step-card.ai-step{background:linear-gradient(145deg,#fefffe,#f0f7ff,#e6f2ff);border-color:#0066cc26}.flow-step-card.ai-step:before{background:linear-gradient(90deg,#06c3,#06c6,#06c3);opacity:.6}.step-icon-container{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(226,232,240,.6);border-radius:var(--radius-xl);box-shadow:0 4px 12px #0000000d,0 0 0 1px #fffc inset;transition:all .3s ease}.step-icon-container.ai-icon{background:linear-gradient(145deg,#f0f7ff,#e6f2ff);border-color:#06c3;box-shadow:0 4px 12px #0066cc1a,0 0 0 1px #0066cc1a inset}.tech-details{background:linear-gradient(145deg,#fafbfc,#f1f5f9);border:1px solid rgba(226,232,240,.8);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.tech-details:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#0066cc4d,#06c9,#0066cc4d)}.tech-details-header{display:flex;align-items:center;font-weight:700;font-size:15px;color:var(--color-text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(226,232,240,.6)}.code-block{background:linear-gradient(145deg,#1a1a1a,#2d2d2d);color:#e2e8f0;border-radius:var(--radius-md);padding:var(--spacing-md);font-family:SF Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;overflow-x:auto;border:1px solid #374151;box-shadow:0 4px 12px #0000004d inset}.json-block{background:linear-gradient(145deg,#f8fafc,#f1f5f9);color:var(--color-text-primary);border:1px solid rgba(226,232,240,.8);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:SF Mono,Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;overflow-x:auto;box-shadow:0 2px 4px #00000005 inset}.status-success{background:linear-gradient(145deg,#ecfdf5,#d1fae5);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-xl);color:#065f46;box-shadow:0 4px 12px #22c55e1a}.status-info{background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid rgba(226,232,240,.8);border-radius:var(--radius-xl);color:var(--color-text-primary);box-shadow:0 2px 8px #0000000a}.sub-step-card{background:linear-gradient(145deg,#ffffffe6,#f8fafce6);border:1px solid rgba(0,102,204,.1);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.sub-step-card:hover{background:linear-gradient(145deg,#fffffff2,#f8fafcf2);border-color:#06c3;transform:translate(4px)}.btn-icon-only{padding:8px;min-width:40px;min-height:40px}.btn-icon-only.btn-small{padding:6px;min-width:32px;min-height:32px}.flow-arrow{display:flex;align-items:center;justify-content:center;height:24px;color:var(--color-text-tertiary)}@media (max-width: 768px){.modal-content{margin:var(--spacing-md);max-height:calc(100vh - 32px)}.tab-button{padding:10px 12px;font-size:13px}.flow-step-card{padding:var(--spacing-md)}}
