:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--cream: #FAF8F3;--cream-dark: #F0EDE5;--terracotta: #E07A5F;--terracotta-dark: #C45F47;--navy: #2D3142;--navy-light: #3D4152;--sage: #81B29A;--amber: #F4A261;--charcoal: #1A1B26;--shadow-sm: 0 2px 8px rgba(45, 49, 66, .06);--shadow-md: 0 4px 20px rgba(45, 49, 66, .08);--shadow-lg: 0 8px 32px rgba(45, 49, 66, .12);--shadow-xl: 0 16px 48px rgba(45, 49, 66, .16)}*{box-sizing:border-box}body{background:var(--cream);color:var(--navy);font-family:Outfit,-apple-system,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(45,49,66,.01) 2px,rgba(45,49,66,.01) 4px);pointer-events:none;z-index:1}.app{max-width:1600px;margin:0 auto;padding:3rem 2rem;position:relative;z-index:2;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(224,122,95,.08) 0%,transparent 70%);border-radius:50%;z-index:-1;pointer-events:none}header{text-align:center;margin-bottom:5rem;animation:slideDown .8s ease-out .2s both}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}header h1{font-family:Crimson Pro,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:1rem;color:var(--navy);letter-spacing:-.02em;line-height:1.1}header p{color:var(--navy-light);font-size:1.2rem;font-weight:300;max-width:600px;margin:0 auto}main{display:grid;grid-template-columns:450px 1fr;gap:3rem;align-items:start}@media(max-width:1200px){main{grid-template-columns:400px 1fr;gap:2rem}}@media(max-width:900px){main{grid-template-columns:1fr}}.input-section{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:var(--shadow-lg);position:sticky;top:2rem;border:1px solid rgba(45,49,66,.06);transition:all .3s ease;animation:slideRight .8s ease-out .4s both}@keyframes slideRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.input-section:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.input-section h2{font-family:Crimson Pro,serif;font-size:2rem;font-weight:700;margin:0 0 2rem;color:var(--navy)}.form-group{margin-bottom:1.75rem}.form-group label{display:block;margin-bottom:.75rem;color:var(--navy);font-size:.95rem;font-weight:500;letter-spacing:.01em}.form-group textarea,.form-group select{width:100%;padding:1rem 1.25rem;background:var(--cream);border:2px solid var(--cream-dark);border-radius:16px;color:var(--navy);font-family:Outfit,sans-serif;font-size:1rem;transition:all .3s ease;outline:none}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-group textarea:focus,.form-group select:focus{border-color:var(--terracotta);background:#fff;box-shadow:0 0 0 4px #e07a5f1a}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%232D3142' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.25rem center;padding-right:3rem}.generate-btn{width:100%;padding:1.25rem 2rem;background:var(--terracotta);color:#fff;border:none;border-radius:16px;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #e07a5f4d;position:relative;overflow:hidden}.generate-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.generate-btn:hover:not(:disabled):before{width:300px;height:300px}.generate-btn:hover:not(:disabled){background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:0 8px 24px #e07a5f66}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{background:var(--cream-dark);color:var(--navy-light);cursor:not-allowed;box-shadow:none;opacity:.6}.exploration-context{background:#81b29a1a;border-left:3px solid var(--sage);padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem}.context-label{font-size:.9rem;color:var(--navy-light);margin:0 0 .75rem;font-style:italic}.start-fresh-btn{background:#fff;border:2px solid var(--sage);color:var(--sage);padding:.65rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Outfit,sans-serif}.start-fresh-btn:hover{background:var(--sage);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #81b29a4d}.results-section{min-height:400px;animation:slideLeft .8s ease-out .6s both}@keyframes slideLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.results-section h2{font-family:Crimson Pro,serif;font-size:2rem;font-weight:700;margin:0 0 2rem;color:var(--navy)}.empty-state{color:var(--navy-light);text-align:center;padding:5rem 2rem;font-size:1.1rem;font-weight:300;opacity:.6}.nodes-list{display:flex;flex-direction:column;gap:2rem}.tree-container,.tree-item{display:flex;flex-direction:column;gap:1.5rem}.children-container{margin-left:2.5rem;padding-left:2rem;border-left:3px solid var(--cream-dark);display:flex;flex-direction:column;gap:1.5rem;position:relative}.children-container:before{content:"";position:absolute;left:-3px;top:0;width:3px;height:100%;background:linear-gradient(180deg,var(--sage) 0%,transparent 100%);opacity:.5}.node-card{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:var(--shadow-md);border:1px solid rgba(45,49,66,.06);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:cardAppear .6s ease-out both}.node-card.active{border-color:var(--terracotta);box-shadow:var(--shadow-xl),0 0 0 3px #e07a5f1a}.node-card.has-children{border-left:4px solid var(--sage)}@keyframes cardAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.node-card:nth-child(1){animation-delay:.1s}.node-card:nth-child(2){animation-delay:.2s}.node-card:nth-child(3){animation-delay:.3s}.node-card:nth-child(4){animation-delay:.4s}.node-card:nth-child(5){animation-delay:.5s}.node-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,var(--terracotta),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.node-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}.node-card:hover:before{transform:scaleX(1)}.node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.node-header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.heuristic-badge{background:linear-gradient(135deg,var(--terracotta),var(--amber));color:#fff;padding:.5rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em;box-shadow:0 2px 8px #e07a5f4d}.depth-badge{background:var(--sage);color:#fff;padding:.35rem .85rem;border-radius:8px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.active-badge{background:var(--terracotta);color:#fff;padding:.35rem .85rem;border-radius:8px;font-size:.75rem;font-weight:700;letter-spacing:.02em;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #e07a5f66}50%{box-shadow:0 0 0 4px #e07a5f00}}.timestamp{color:var(--navy-light);font-size:.875rem;font-weight:400;opacity:.7}.node-prompt{color:var(--navy-light);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.7;font-style:italic;padding-left:1.5rem;border-left:3px solid var(--cream-dark)}.ideas-list{display:grid;gap:1.25rem}.idea-item{background:var(--cream);padding:1.75rem 3.5rem 1.75rem 1.75rem;border-radius:16px;border-left:4px solid var(--sage);transition:all .3s ease;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem}.idea-item:hover{background:#fff;border-left-color:var(--terracotta);transform:translate(8px);box-shadow:var(--shadow-sm)}.idea-content{flex:1}.idea-item strong{display:block;color:var(--navy);font-size:1.35rem;font-weight:600;margin-bottom:.75rem;font-family:Crimson Pro,serif;letter-spacing:-.01em}.reasoning{color:var(--navy-light);font-size:.95rem;margin:0;line-height:1.6;font-weight:300}.explore-btn{background:transparent;border:2px solid var(--cream-dark);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;color:var(--navy-light);position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}.explore-btn:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff;transform:translateY(-50%) scale(1.1)}.idea-item:hover .explore-btn{border-color:var(--terracotta);color:var(--terracotta)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.results-section p:first-child{animation:pulse 1.5s ease-in-out infinite}@media(max-width:900px){.app{padding:2rem 1.5rem}header{margin-bottom:3rem}header h1{font-size:2.5rem}.input-section{position:static;margin-bottom:2rem}.node-card{padding:2rem}}@media(max-width:600px){.app{padding:1.5rem 1rem}header h1{font-size:2rem}.input-section,.node-card{border-radius:20px;padding:1.5rem}.idea-item strong{font-size:1.2rem}}@media print{.input-section{display:none}.node-card{break-inside:avoid;box-shadow:none;border:1px solid var(--cream-dark)}}
