/* Igni Studio V2 — product polish layer */
:root{
  --igni-v2-warm:#ff5b2d;
  --igni-v2-hot:#ff382c;
  --igni-v2-ink:#080808;
  --igni-v2-soft:#b5b1aa;
}
body.igni-platform{background:
  radial-gradient(circle at 82% -8%,rgba(255,78,39,.16),transparent 31%),
  radial-gradient(circle at 32% 108%,rgba(255,111,45,.08),transparent 32%),
  #070707;
}
.igni-sidebar{background:linear-gradient(180deg,rgba(8,8,8,.97),rgba(5,5,5,.94));}
.igni-wordmark i,.igni-mobile-brand i{position:relative;overflow:hidden}
.igni-wordmark i:after,.igni-mobile-brand i:after{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 35%,#fff8 50%,transparent 65%);transform:translateX(-80%);animation:igniMarkSweep 5s ease-in-out infinite}
@keyframes igniMarkSweep{0%,66%{transform:translateX(-90%)}82%,100%{transform:translateX(90%)}}
.igni-content{position:relative}
.igni-page-head{padding:12px 0 4px}
.igni-page-head h1{max-width:820px;text-wrap:balance}
.igni-page-head p{font-size:12px;color:#97948e}
.igni-panel{position:relative;isolation:isolate;background:linear-gradient(145deg,rgba(18,18,18,.96),rgba(10,10,10,.98));box-shadow:0 30px 80px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025)}
.igni-panel:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.025),transparent 18%,transparent 82%,rgba(255,91,45,.018))}
.igni-model-card{overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.igni-model-card:hover{transform:translateY(-2px);border-color:#ffffff28}
.igni-model-card.is-active{box-shadow:inset 0 0 0 1px rgba(255,92,46,.08),0 16px 34px rgba(0,0,0,.18)}
.igni-textarea,.igni-input,.igni-select{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.igni-textarea:hover,.igni-input:hover,.igni-select:hover{background:#0b0b0b}
.igni-reference-zone{min-height:78px;position:relative;overflow:hidden}
.igni-reference-zone:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-70px;top:-80px;background:radial-gradient(circle,rgba(255,85,42,.14),transparent 68%);pointer-events:none}
.igni-generate-btn{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.igni-generate-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.2) 49%,transparent 73%);transform:translateX(-120%);transition:transform .55s ease}
.igni-generate-btn:hover:after{transform:translateX(120%)}
.igni-generate-btn:hover{box-shadow:0 18px 44px rgba(255,66,35,.27)}

/* Create canvas */
.igni-output-panel{min-height:620px}
.igni-output-panel .igni-panel-pad{height:100%;display:flex;flex-direction:column}
.igni-output-meta{display:flex;align-items:center;gap:8px;font-size:9px;color:#74716c}
.igni-output-meta i{width:7px;height:7px;border-radius:50%;background:#6f6f6a;box-shadow:0 0 0 4px #ffffff05}
.igni-output-meta.is-live i{background:#7bde9b;box-shadow:0 0 14px #6cdd9466}
.igni-canvas{position:relative;min-height:430px;border-radius:22px;overflow:hidden;border:1px solid #ffffff10;background:
  linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
  radial-gradient(circle at 72% 24%,rgba(255,84,42,.16),transparent 28%),
  radial-gradient(circle at 32% 82%,rgba(255,128,48,.07),transparent 26%),
  #090909;background-size:32px 32px,32px 32px,auto,auto,auto}
.igni-canvas:before{content:"";position:absolute;inset:-1px;background:linear-gradient(130deg,rgba(255,255,255,.04),transparent 28%,transparent 70%,rgba(255,85,39,.04));pointer-events:none;z-index:4}
.igni-canvas-orbit{position:absolute;width:290px;height:290px;border-radius:50%;border:1px solid #ffffff0d;left:50%;top:50%;transform:translate(-50%,-50%);animation:igniOrbit 18s linear infinite}
.igni-canvas-orbit:before,.igni-canvas-orbit:after{content:"";position:absolute;border-radius:50%}
.igni-canvas-orbit:before{width:7px;height:7px;background:#ff5c2f;left:29px;top:43px;box-shadow:0 0 18px #ff5c2f88}
.igni-canvas-orbit:after{inset:44px;border:1px dashed #ffffff0c}
@keyframes igniOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.igni-canvas-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:34px;z-index:3;transition:opacity .25s ease,transform .25s ease}
.igni-canvas-empty.is-hidden{opacity:0;transform:scale(.98);pointer-events:none}
.igni-canvas-empty-inner{max-width:310px}
.igni-canvas-mascot{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.45));animation:igniFloat 4.2s ease-in-out infinite}
@keyframes igniFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
.igni-canvas-empty b{display:block;font-size:17px;letter-spacing:-.035em;margin-top:7px}
.igni-canvas-empty p{font-size:10px;color:#77736e;line-height:1.6;margin:7px auto 0}
.igni-canvas-media{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#050505;opacity:0;transition:opacity .28s ease}
.igni-canvas-media.is-visible{opacity:1}
.igni-canvas-media img,.igni-canvas-media video{width:100%;height:100%;object-fit:contain;background:#050505}
.igni-canvas-state{position:absolute;left:14px;top:14px;z-index:5;border:1px solid #ffffff16;background:#080808b8;backdrop-filter:blur(14px);border-radius:999px;padding:8px 10px;font-size:9px;color:#aaa69f;display:flex;align-items:center;gap:7px}
.igni-canvas-state i{width:6px;height:6px;border-radius:50%;background:#777}
.igni-canvas[data-state="thinking"] .igni-canvas-state i{background:#f0cb64;box-shadow:0 0 13px #f0cb6466;animation:igniPulse 1s ease-in-out infinite}
.igni-canvas[data-state="success"] .igni-canvas-state i{background:#75df9a;box-shadow:0 0 13px #75df9a66}
.igni-canvas[data-state="error"] .igni-canvas-state i{background:#ff6a5b;box-shadow:0 0 13px #ff6a5b66}
@keyframes igniPulse{50%{opacity:.35;transform:scale(.72)}}
.igni-canvas-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.igni-canvas-action{border:1px solid #ffffff12;background:#0a0a0a;color:#8e8b84;border-radius:12px;padding:9px 11px;font:inherit;font-size:10px;cursor:pointer;transition:.18s}
.igni-canvas-action:hover:not(:disabled){color:#fff;border-color:#ffffff30;background:#101010}
.igni-canvas-action:disabled{opacity:.32;cursor:not-allowed}
.igni-queue-shell{margin-top:18px;padding-top:17px;border-top:1px solid #ffffff0b}
.igni-queue-shell-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.igni-queue-shell-head b{font-size:11px}.igni-queue-shell-head span{font-size:9px;color:#62605b}
.igni-output-panel .igni-empty{min-height:126px}
.igni-output-panel .igni-queue{max-height:235px;overflow:auto;padding-right:2px}
.igni-output-panel .igni-queue::-webkit-scrollbar{width:5px}.igni-output-panel .igni-queue::-webkit-scrollbar-thumb{background:#ffffff16;border-radius:9px}

/* Better cards */
.igni-section-grid,.igni-library-grid{align-items:stretch}
.igni-card,.igni-library-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.igni-card:hover,.igni-library-card:hover{transform:translateY(-3px);border-color:#ffffff24;box-shadow:0 22px 46px rgba(0,0,0,.28)}
.igni-add-card{background:radial-gradient(circle at 50% 20%,rgba(255,86,41,.06),transparent 38%)}
.igni-wallet-hero{position:relative;overflow:hidden}
.igni-wallet-hero:after{content:"IGNI";position:absolute;right:-12px;bottom:-35px;font-size:128px;font-weight:900;letter-spacing:-.09em;color:#ffffff05;pointer-events:none}
.igni-package{transition:transform .2s ease,border-color .2s ease}.igni-package:hover{transform:translateY(-3px);border-color:#ffffff24}

/* Mascot 2.0 */
.igni-companion{width:88px!important;height:88px!important;border-radius:28px!important;border:1px solid #ffffff18!important;background:radial-gradient(circle at 50% 35%,#21140f,#0a0a0a 72%)!important;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,92,45,.06) inset!important;transition:transform .2s ease,box-shadow .2s ease!important}
.igni-companion:hover{transform:translateY(-3px) rotate(-1deg)!important;box-shadow:0 25px 66px rgba(0,0,0,.56),0 0 36px rgba(255,86,42,.08)!important}
.igni-companion img{width:92%!important;height:92%!important;object-fit:contain!important;filter:drop-shadow(0 8px 16px #0008)}
.igni-companion[data-state="thinking"]{animation:igniCompanionThink 1.05s ease-in-out infinite}
.igni-companion[data-state="success"]{box-shadow:0 24px 64px rgba(0,0,0,.52),0 0 32px rgba(117,223,154,.13)!important}
.igni-companion[data-state="error"]{box-shadow:0 24px 64px rgba(0,0,0,.52),0 0 32px rgba(255,90,70,.14)!important}
@keyframes igniCompanionThink{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.igni-companion-bubble{max-width:300px!important;padding:13px 15px!important;border-radius:17px!important;background:rgba(12,12,12,.94)!important;border:1px solid #ffffff18!important;box-shadow:0 24px 70px rgba(0,0,0,.48)!important;backdrop-filter:blur(18px)!important;color:#d9d7d1!important;font-size:11px!important;line-height:1.5!important}
.igni-companion-bubble:before{content:"IGNI";display:block;font-size:8px;letter-spacing:.16em;color:#ff7248;margin-bottom:4px;font-weight:800}

.igni-v2-status-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}
.igni-v2-chip{border:1px solid #ffffff0f;border-radius:999px;padding:7px 9px;font-size:9px;color:#6e6c67;background:#090909}
.igni-v2-chip b{color:#aaa69f;font-weight:650}

@media(max-width:1100px){.igni-grid{grid-template-columns:1fr}.igni-output-panel{min-height:auto}.igni-canvas{min-height:460px}}
@media(max-width:720px){
  .igni-content{padding-top:23px}.igni-page-head{align-items:flex-start}.igni-page-head h1{font-size:42px}.igni-page-head p{font-size:11px}
  .igni-canvas{min-height:420px;border-radius:18px}.igni-canvas-mascot{width:102px;height:102px}.igni-output-panel .igni-panel-pad{padding:14px}
  .igni-companion{width:70px!important;height:70px!important;border-radius:23px!important;right:14px!important;bottom:83px!important}.igni-companion-bubble{right:12px!important;bottom:160px!important;max-width:260px!important}
}
