:root{--modal-accent: #3498db}.modal-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:3vh 1.5rem;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.modal-container.active{opacity:1;visibility:visible}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c1018b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:-webkit-backdrop-filter .3s ease;transition:backdrop-filter .3s ease;transition:backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease}.modal-container.active .modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal-card{position:relative;display:flex;flex-direction:column;width:min(900px,100%);max-height:92vh;background:var(--won-surface, rgba(17, 24, 39, .9));border:1px solid var(--won-border, rgba(148, 163, 184, .2));border-radius:22px;box-shadow:0 32px 80px #050a148c;overflow:hidden;transform:translateY(32px) scale(.95);transition:transform .35s cubic-bezier(.4,0,.2,1);color:var(--won-text-primary, #fff);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.modal-container.active .modal-card{transform:translateY(0) scale(1)}.modal-header{position:relative;padding:2.25rem 2.5rem 1.75rem;background:linear-gradient(135deg,#ffffff0a,#fff0 60%)}.modal-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--modal-accent, #3498db) 0%,transparent 70%);opacity:.18;pointer-events:none}.modal-header>*{position:relative;z-index:1}.modal-header-top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.modal-context{display:flex;align-items:center;gap:.75rem}.modal-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .85rem;border-radius:999px;background:#ffffff1f;color:var(--won-text-primary, #fff);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.modal-chip.complexity-chip{background:#ffffff24}.modal-chip.usage-chip{background:#38bdf829;color:#7dd3fc}.modal-chip.context-chip{background:#a855f729;color:#c084fc}.modal-counter{font-size:.8rem;color:var(--won-text-secondary, rgba(226, 232, 240, .7));padding-left:.75rem;border-left:1px solid rgba(255,255,255,.12)}.modal-header-actions{display:flex;align-items:center;gap:.5rem}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:var(--won-text-primary, #fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.icon-btn:hover{transform:translateY(-1px);background:#ffffff29;border-color:#ffffff4d}.modal-favorite{position:relative}.modal-favorite.active .material-symbols-rounded{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24;color:#fbbf24}.modal-title{font-size:1.85rem;font-weight:800;line-height:1.35;margin-bottom:.75rem}.modal-subtitle{font-size:1rem;color:var(--won-text-secondary, rgba(226, 232, 240, .78));margin-bottom:1.5rem;max-width:92%}.modal-subtitle.hidden{display:none}.modal-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.modal-badges.hidden{display:none}.modal-stats{display:flex;flex-wrap:wrap;gap:.75rem}.modal-stat{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:999px;background:#0f172a66;color:var(--won-text-secondary, rgba(226, 232, 240, .78));font-size:.82rem}.modal-stat .material-symbols-rounded{font-size:1.1rem;color:var(--modal-accent, #60a5fa)}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.modal-tags.hidden{display:none}.modal-tag{display:inline-flex;padding:.3rem .7rem;border-radius:10px;background:#94a3b829;color:var(--won-text-secondary, rgba(226, 232, 240, .78));font-size:.75rem;font-weight:600}.modal-content{position:relative;padding:2rem 2.5rem;overflow-y:auto;flex:1;background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 35%)}.modal-prompt p{margin-bottom:1.35rem;font-size:1.02rem;line-height:1.8;color:var(--won-text-secondary, rgba(229, 236, 244, .86))}.modal-prompt p:last-child{margin-bottom:0}.variant-assistant{margin-top:2.25rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#0f172a8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden}.variant-assistant.hidden{display:none}.assistant-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.5rem;background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 100%);border-bottom:1px solid rgba(255,255,255,.12)}.assistant-title{display:flex;align-items:center;gap:.6rem;font-weight:600;color:var(--won-text-primary, #fff)}.assistant-title .material-symbols-rounded{font-size:1.2rem;color:var(--modal-accent, #60a5fa)}.assistant-close{border:none;background:#ffffff1f;color:var(--won-text-primary, #fff);width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.assistant-close:hover{background:#ef4444bf;transform:rotate(90deg)}.assistant-body{padding:1.5rem;display:grid;gap:1rem}.assistant-row{display:flex;flex-direction:column;gap:.5rem}.assistant-row label{font-size:.85rem;font-weight:600;color:var(--won-text-secondary, rgba(226, 232, 240, .75));text-transform:uppercase;letter-spacing:.04em}.assistant-row select,.assistant-row textarea{width:100%;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#0f172aa6;color:var(--won-text-primary, #fff);padding:.65rem .85rem;font-family:inherit;resize:vertical}.assistant-row textarea{min-height:90px}.assistant-actions{display:flex;justify-content:flex-end}.assistant-actions button,.assistant-copy{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:12px;border:1px solid transparent;background:linear-gradient(135deg,var(--modal-accent, #3498db) 0%,rgba(255,255,255,.08) 100%);color:#fff;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.assistant-actions button:hover,.assistant-copy:hover{transform:translateY(-1px);box-shadow:0 10px 25px #3498db59}.assistant-result{border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#0f172a80;padding:1.1rem;display:grid;gap:.75rem}.assistant-result.hidden{display:none}.assistant-result-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.assistant-output{max-height:220px;overflow-y:auto;background:#0f172aa6;border-radius:10px;padding:1rem;font-family:JetBrains Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;white-space:pre-wrap;line-height:1.6;color:#e2e8f0eb}.modal-controls{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 2.5rem;border-top:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#ffffff05,#0f172abf);flex-shrink:0}.nav-buttons{display:flex;align-items:center;gap:.75rem}.nav-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0f172aa6;color:var(--won-text-primary, #fff);padding:.6rem 1rem;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease;font-weight:600}.nav-btn .material-symbols-rounded{font-size:1.2rem}.nav-btn:hover:not(.disabled){transform:translateY(-1px);border-color:#ffffff59;background:#0f172acc}.nav-btn.disabled,.nav-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.right-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.copy-btn,.variant-btn{display:inline-flex;align-items:center;gap:.55rem;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#0f172aa6;color:var(--won-text-primary, #fff);padding:.65rem 1.1rem;cursor:pointer;font-weight:600;transition:transform .2s ease,border-color .2s ease,background .2s ease}.copy-btn .material-symbols-rounded,.variant-btn .material-symbols-rounded{font-size:1.15rem}.copy-btn:hover,.variant-btn:hover{transform:translateY(-1px);border-color:#ffffff52;background:#0f172ad1}.copy-btn.copied{background:#22c55e33;border-color:#22c55e59}.hidden{display:none!important}@media (max-width: 768px){.modal-card{border-radius:18px}.modal-header,.modal-content,.modal-controls{padding:1.5rem}.modal-title{font-size:1.5rem}.modal-subtitle{max-width:100%}.modal-stats,.modal-badges,.modal-tags{gap:.5rem}.modal-controls{flex-direction:column;align-items:stretch}.right-controls{justify-content:stretch}.copy-btn,.variant-btn,.nav-btn{width:100%;justify-content:center}}
