:root{--gold:#d4a017;--gold2:#f1c75b;--bg:#0d0d12;--surface:#13131a;--surface2:#1a1a24;--border:rgba(255,255,255,.08);--border-gold:rgba(212,160,23,.35);--text:#f0ede8;--muted:#817b75;--danger:#ff6b6b;--success:#4fd195;--display:'Syne',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:15px/1.6 var(--body)}
.concept-shell{width:100%;max-width:1160px;flex:1 0 auto;margin:0 auto;padding:52px 22px 90px}.footer{width:100%;max-width:none;flex-shrink:0}.concept-hero{text-align:center;max-width:760px;margin:0 auto 38px}.concept-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--gold);border:1px solid var(--border-gold);background:rgba(212,160,23,.08);border-radius:999px;padding:5px 12px;font:800 10px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}.concept-kicker:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px var(--gold)}
.concept-hero h1{font:800 clamp(32px,6vw,58px)/1.03 var(--display);letter-spacing:-.045em;margin:0 0 15px;background:linear-gradient(120deg,#fff 20%,var(--gold2));-webkit-background-clip:text;color:transparent}.concept-hero p{color:var(--muted);max-width:650px;margin:0 auto;font-size:16px}
.concept-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}.concept-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.concept-card-head{padding:13px 17px;border-bottom:1px solid var(--border);font:800 10px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#777}.concept-card-body{padding:18px}
.concept-drop{min-height:260px;border:1.5px dashed rgba(212,160,23,.32);border-radius:11px;background:linear-gradient(145deg,#191922,#111118);display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;position:relative;cursor:pointer;overflow:hidden}.concept-drop.drag{border-color:var(--gold);background:rgba(212,160,23,.07)}.concept-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}.concept-drop-icon{width:54px;height:54px;margin:0 auto 12px;border:1px solid var(--border-gold);border-radius:15px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:24px}.concept-drop strong{display:block;font:700 15px var(--display);margin-bottom:5px}.concept-drop span{font-size:12px;color:var(--muted)}.concept-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.concept-drop.has-image:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 35%,rgba(5,5,8,.86))}.concept-drop.has-image .concept-drop-copy{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}.concept-drop.has-image .concept-drop-icon{display:none}
.concept-field{margin-top:15px}.concept-field label{display:block;color:#9b958e;font:700 10px var(--display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.concept-field textarea,.concept-field select,.concept-field input[type=text]{width:100%;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:9px;padding:12px;font:13px/1.5 var(--body);outline:none}.concept-field textarea{min-height:88px;resize:vertical}.concept-field textarea:focus,.concept-field select:focus,.concept-field input:focus{border-color:var(--border-gold)}
.target-chips,.mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.target-chip,.mode-card{border:1px solid var(--border);background:var(--surface2);color:#aaa;border-radius:9px;padding:10px;text-align:left;cursor:pointer;font:700 11px/1.3 var(--display)}.target-chip small,.mode-card small{display:block;color:#666;font:400 10px/1.4 var(--body);margin-top:4px}.target-chip.active,.mode-card.active{border-color:var(--gold);background:rgba(212,160,23,.08);color:var(--gold)}
.concept-primary{width:100%;min-height:49px;margin-top:16px;border:0;border-radius:9px;background:var(--gold);color:#0d0d12;font:800 12px var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.concept-primary:hover{filter:brightness(1.08)}.concept-primary:disabled{background:#292933;color:#666;cursor:not-allowed}.concept-error{display:none;margin-top:11px;padding:10px 12px;border:1px solid rgba(255,107,107,.25);background:rgba(255,107,107,.07);color:var(--danger);border-radius:8px;font-size:12px}.concept-error.visible{display:block}
.concept-empty{min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;padding:35px;color:#555}.concept-empty-icon{font-size:35px;color:rgba(212,160,23,.3);margin-bottom:12px}.concept-empty h2{font:800 17px var(--display);color:#777;margin:0 0 6px}.concept-empty p{font-size:12px;max-width:300px;margin:0 auto}.concept-loading{display:none;min-height:520px;align-items:center;justify-content:center;text-align:center}.concept-loading.visible{display:flex}.concept-orbit{width:58px;height:58px;border:1px solid rgba(212,160,23,.2);border-top-color:var(--gold);border-radius:50%;margin:0 auto 15px;animation:concept-spin 1s linear infinite;position:relative}.concept-orbit:after{content:'';position:absolute;width:9px;height:9px;background:var(--gold);border-radius:50%;top:5px;right:5px;box-shadow:0 0 14px var(--gold)}@keyframes concept-spin{to{transform:rotate(360deg)}}.concept-loading strong{font:700 14px var(--display)}.concept-loading p{color:var(--muted);font-size:12px}
.analysis-results{display:none}.analysis-results.visible{display:block}.analysis-hero{padding:22px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(212,160,23,.08),transparent)}.analysis-route{font:800 9px var(--display);letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}.analysis-hero h2{font:800 25px/1.15 var(--display);margin:0 0 8px}.analysis-hero p{color:#aaa39a;font-size:13px;margin:0}.analysis-section{padding:18px 20px;border-bottom:1px solid var(--border)}.analysis-section h3{font:800 11px var(--display);letter-spacing:.1em;text-transform:uppercase;color:#817b75;margin:0 0 12px}.dna-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dna-item{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:11px}.dna-item span{display:block;color:#666;font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.dna-item strong{font-size:12px;color:#ddd}.palette{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:42px}.swatch-color{height:32px;border-radius:7px;border:1px solid rgba(255,255,255,.15)}.swatch span{display:block;font-size:9px;color:#777;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.direction-list{display:flex;flex-direction:column;gap:9px}.direction{border:1px solid var(--border);background:var(--surface2);border-radius:10px;padding:13px;cursor:pointer}.direction.active{border-color:var(--gold);background:rgba(212,160,23,.07)}.direction-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.direction h4{font:700 13px var(--display);margin:0}.direction em{font-style:normal;color:#666;font-size:9px;text-transform:uppercase}.direction p{color:#8f8982;font-size:12px;margin:7px 0 0}.brief-editor{width:100%;min-height:130px;background:#101016;color:#ddd;border:1px solid var(--border);border-radius:9px;padding:12px;font:12px/1.6 var(--body);resize:vertical}.route-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-btn{min-height:43px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:#ddd;font:700 10px var(--display);cursor:pointer}.route-btn.recommended{grid-column:1/-1;background:var(--gold);border-color:var(--gold);color:#0d0d12}.route-btn:hover{border-color:var(--border-gold)}
.generator-stage{min-height:520px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,rgba(116,70,160,.15),transparent 45%),var(--surface2);position:relative}.generator-stage img{width:100%;display:none}.generator-stage img.visible{display:block}.generator-empty{text-align:center;color:#5f5964;padding:35px}.generator-empty .sigil{font-size:48px;color:rgba(212,160,23,.28);margin-bottom:10px}.generator-empty h3{font:800 17px var(--display);margin:0 0 6px}.generator-empty p{font-size:12px;max-width:280px}.generator-loading{display:none;text-align:center}.generator-loading.visible{display:block}.generator-actions{display:none;padding:12px;border-top:1px solid var(--border);gap:8px;flex-wrap:wrap}.generator-actions.visible{display:flex}.small-btn{border:1px solid var(--border);background:var(--surface2);color:#ddd;border-radius:7px;padding:8px 11px;font:700 10px var(--display);cursor:pointer;text-decoration:none}.small-btn.gold{border-color:var(--gold);color:var(--gold)}
.credits-line{text-align:center;margin-top:10px;color:#777;font-size:11px}.ratio-row{display:flex;gap:7px}.ratio-btn{flex:1;border:1px solid var(--border);background:var(--surface2);color:#777;border-radius:8px;padding:9px;cursor:pointer;font:700 10px var(--display)}.ratio-btn.active{border-color:var(--gold);color:var(--gold)}
@media(max-width:800px){.concept-grid{grid-template-columns:1fr}.concept-shell{padding:35px 15px 70px}.concept-empty,.concept-loading,.generator-stage{min-height:360px}.route-actions{grid-template-columns:1fr}.route-btn.recommended{grid-column:auto}}
@media(max-width:480px){.target-chips,.mode-grid,.dna-grid{grid-template-columns:1fr}.concept-hero p{font-size:14px}.concept-card-body{padding:14px}}
