:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-accent: #232734;--bg-glass: rgba(26, 29, 39, .7);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-accent: #3b82f6;--text-dim: #64748b;--accent-color: #3b82f6;--accent-glow: rgba(59, 130, 246, .5);--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--font-main: "LINE Seed JP", "Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Noto Serif JP", serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--glass-blur: blur(12px);--card-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--transition-speed: .3s;--border-radius: 12px}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #fdfdfd;--bg-accent: #f8fafc;--bg-glass: rgba(255, 255, 255, .9);--text-primary: #1e293b;--text-secondary: #475569;--text-accent: #2563eb;--text-dim: #94a3b8;--card-shadow: 0 4px 16px 0 rgba(148, 163, 184, .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-accent);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}to{box-shadow:0 0 5px var(--accent-glow)}}.glass-panel{background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.1);box-shadow:var(--card-shadow)}.noto-serif-jp-regular{font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.line-seed-jp-regular{font-family:LINE Seed JP,sans-serif;font-weight:400;font-style:normal}.kanban-container{height:100%;display:flex;flex-direction:column}.kanban-header{padding:16px 24px;background:#0003;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.kanban-board{flex:1;display:flex;gap:16px;padding:24px;overflow-x:auto}.kanban-column{flex:1;min-width:300px;max-width:400px;display:flex;flex-direction:column;padding:16px;background:#ffffff0d}.idea-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.idea-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003;background:#ffffff1a}.idea-title{font-weight:700;margin:0;flex:1}.idea-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.idea-preview{font-size:.8em;color:var(--text-dim);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{width:80%;max-width:800px;height:80vh;display:flex;flex-direction:column;background:#1e1e2e;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;padding:0;border-radius:12px;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px}.modal-title-input{flex:1;background:transparent;border:none;font-size:1.5rem;font-weight:700;color:var(--text-primary);outline:none}.modal-title-input:focus{background:#ffffff0d;border-radius:4px}.modal-body{flex:1;display:flex;flex-direction:column;padding:20px;gap:16px}.modal-meta{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:.9rem}.modal-meta select{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:4px 8px;border-radius:4px;outline:none}.modal-description-input{flex:1;background:#0003;border:1px solid rgba(255,255,255,.05);color:var(--text-primary);padding:16px;border-radius:8px;resize:none;font-size:1rem;line-height:1.6;outline:none}.modal-description-input:focus{border-color:var(--accent-color);background:#0000004d}.close-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.git-panel{display:flex;flex-direction:column;height:100%}.git-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.repo-title h3{margin:0;font-size:1.1rem}.repo-url{font-size:.8rem;color:var(--text-dim);background:#0003;padding:2px 6px;border-radius:4px}.header-actions{display:flex;gap:8px}.git-content{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:24px}.commit-section textarea{width:100%;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);padding:8px;margin:8px 0;resize:vertical}.commit-actions{display:flex;gap:12px}.log-list{display:flex;flex-direction:column;gap:12px}.commit-item{background:#ffffff0d;padding:12px;border-radius:6px;border-left:3px solid var(--accent-color)}.commit-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-dim);margin-top:4px}.git-auth,.repo-setup{height:100%;display:flex;flex-direction:column}.auth-hero,.auth-form{padding:30px;text-align:center}.panel-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.repo-browser{flex:1;display:flex;flex-direction:column;padding:20px;overflow:hidden}.repo-list{flex:1;overflow-y:auto;margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.repo-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:16px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;text-align:center}.repo-card:hover{background:#ffffff1a;border-color:var(--accent-color)}.repo-name{font-weight:600}.search-box{display:flex;align-items:center;background:#0003;border:1px solid rgba(255,255,255,.1);padding:8px 12px;border-radius:6px;gap:8px}.search-box input{background:transparent;border:none;color:var(--text-primary);width:100%;outline:none}.setup-steps{display:flex;flex-direction:column;gap:16px;padding:24px;max-width:500px;margin:0 auto;text-align:left}.step-item{display:flex;gap:16px;background:#ffffff0d;padding:16px;border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s}.step-item:hover{background:#ffffff14;border-color:#ffffff1a}.step-number{flex-shrink:0;width:32px;height:32px;background:linear-gradient(135deg,var(--accent-light, #646cff),var(--accent-color, #535bf2));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;box-shadow:0 2px 8px #0003}.step-content{flex:1}.step-content h4{margin:0 0 4px;font-size:1rem;color:var(--text-primary)}.step-content p{margin:0 0 8px;font-size:.85rem;color:var(--text-dim);line-height:1.4}.text-link{color:var(--accent-light, #747bff);text-decoration:none;font-size:.9rem;display:inline-flex;align-items:center;gap:4px}.text-link:hover{text-decoration:underline}.external-icon{font-size:.8em}.full-width{width:100%;margin-top:8px}.branch-viewer{height:100%;display:flex;flex-direction:column;overflow:hidden}.branch-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.branch-header h3{margin:0 0 12px;display:flex;align-items:center;gap:10px;font-size:1.2rem}.branch-stats{display:flex;gap:20px;font-size:.9rem}.stat-item{color:var(--text-dim)}.stat-item strong{color:var(--accent-color);margin-left:4px}.branch-list{flex:1;overflow-y:auto;padding:12px 0}.branch-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.branch-item:hover{background:#ffffff0d;border-left-color:var(--accent-color)}.branch-branch{background:#8b5cf60d}.branch-branch:hover{background:#8b5cf626}.branch-icon{flex-shrink:0;color:var(--text-dim)}.branch-branch .branch-icon{color:var(--accent-color)}.branch-content{flex:1;min-width:0}.branch-label{font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px}.child-count{font-size:.75rem;color:var(--text-dim);background:#ffffff1a;padding:2px 8px;border-radius:10px;font-weight:500}.branch-meta{font-size:.8rem;color:var(--text-dim)}.branch-arrow{flex-shrink:0;color:var(--text-dim);opacity:0;transition:opacity .2s}.branch-item:hover .branch-arrow{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-dim);gap:16px}.branch-tips{margin-top:32px;background:#ffffff0d;padding:20px;border-radius:8px;text-align:left;width:100%;max-width:400px}.branch-tips h4{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:1rem}.branch-tips p{margin:0 0 12px;font-size:.9rem}.code-block{background:#0000004d;padding:12px;border-radius:4px;font-family:monospace;cursor:pointer;position:relative;border:1px solid rgba(255,255,255,.1);transition:all .2s}.code-block:hover{border-color:var(--accent-color);background:#00000080}.code-block pre{margin:0;white-space:pre-wrap;font-size:.9rem;color:#a5b4fc}.copy-hint{position:absolute;top:8px;right:8px;font-size:.75rem;color:var(--text-dim);background:#00000080;padding:2px 6px;border-radius:4px;display:flex;align-items:center;gap:4px}.branch-list::-webkit-scrollbar{width:8px}.branch-list::-webkit-scrollbar-track{background:#0003}.branch-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.branch-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.app-container{display:flex;height:100vh;width:100vw;background:linear-gradient(135deg,var(--bg-primary) 0%,#1a1b26 100%)}.sidebar{width:280px;height:100%;display:flex;flex-direction:column;transition:transform var(--transition-speed) ease,width var(--transition-speed) ease;border-right:1px solid rgba(255,255,255,.05);z-index:10}.sidebar.closed{width:0;transform:translate(-100%)}.sidebar-header{padding:24px;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:700;font-size:1.2rem;letter-spacing:-.5px}.logo-accent{color:var(--accent-color)}.file-tree{flex:1;overflow-y:auto;padding:12px}.tree-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;color:var(--text-dim);margin-bottom:12px;letter-spacing:1px}.tree-header>div{display:flex;gap:4px}.tree-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .2s;color:var(--text-secondary)}.tree-item:hover{background:#ffffff0d;color:var(--text-primary)}.sidebar-footer{padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;border-top:1px solid rgba(255,255,255,.05)}.footer-btn{background:transparent;border:none;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s}.footer-btn span{font-size:.7rem}.footer-btn:hover{background:#ffffff0d;color:var(--accent-color)}.main-content{flex:1;display:flex;flex-direction:column;height:100%;position:relative}.main-header{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;margin:12px;border-radius:var(--border-radius)}.header-left,.header-right{display:flex;align-items:center;gap:16px}.breadcrumb{font-size:.9rem;color:var(--text-dim)}.editor-area{flex:1;padding:24px;overflow:hidden;display:flex;flex-direction:column}.vertical-view{flex-direction:row;overflow-x:auto;overflow-y:hidden}.vertical-view .editor-container{width:auto;min-width:100%;overflow:visible}.editor-container{flex:1;border-radius:var(--border-radius);overflow:hidden;display:flex;flex-direction:column}.tree-item.active{background:#3b82f61a;color:var(--accent-color);border-left:2px solid var(--accent-color)}.tool-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;padding:8px;border-radius:8px;transition:all .2s}.tool-btn:hover,.tool-btn.active{background:#ffffff0d;color:var(--accent-color)}.action-tag{background:#10b9811a;color:var(--success-color);border:1px solid rgba(16,185,129,.2);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s}.action-tag:hover{background:#10b98133;transform:translateY(-1px)}.footer-btn.active{color:var(--accent-color);background:#ffffff0d}.database-content{height:100%;display:flex;flex-direction:column;gap:20px;overflow:hidden}.db-list-header{padding:0;display:flex;justify-content:flex-start}.db-list-content{flex:1;display:flex;flex-direction:row;gap:24px;overflow-x:auto;padding-bottom:20px;align-items:flex-start}.db-list-content>.db-view-container{min-width:600px;max-width:800px;height:100%}.editor-layout-split{display:flex;gap:20px;height:100%}.emulator-side{flex:1;max-width:500px;overflow:hidden}.excel-btn{background:#10b98133}.text-accent{color:var(--accent-color)}.welcome-screen{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;animation:fadeIn .8s ease-out}.text-gradient{background:linear-gradient(to right,#60a5fa,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-screen h1{font-size:3rem;margin-bottom:16px}.welcome-screen p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px}.action-cards{display:flex;gap:24px}.card{width:240px;padding:32px;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:16px;cursor:pointer;transition:transform .3s,border-color .3s}.card:hover{transform:translateY(-8px);border-color:var(--accent-color)}.card h3{font-size:1.2rem}.card p{font-size:.85rem;margin-bottom:0}.icon-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:50%;transition:background .2s}.icon-btn:hover{background:#ffffff0d;color:var(--text-primary)}.theme-toggle{background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:8px;border-radius:12px;cursor:pointer}.hierarchy-content{height:100%;padding:32px;overflow-y:auto}.hierarchy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.hierarchy-card{padding:24px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden}.hierarchy-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent-color);opacity:0;transition:.3s}.hierarchy-card:hover{transform:translateY(-4px);background:#ffffff0d;border-color:var(--accent-color)}.hierarchy-card:hover:before{opacity:1}.card-line{font-family:var(--font-mono);font-size:.75rem;color:var(--accent-color);font-weight:700}.card-label{font-size:1.1rem;font-weight:600;line-height:1.4}
