@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_49a339;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_49a339;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_49a339{font-family:__Space_Grotesk_49a339,__Space_Grotesk_Fallback_49a339;font-style:normal}.__variable_49a339{--font-space-grotesk:"__Space_Grotesk_49a339","__Space_Grotesk_Fallback_49a339"}:root{--purple:#7c3aed;--purple-dark:#5b21b6;--yellow:#facc15;--green:#22c55e;--blue:#06b6d4;--red:#ef4444;--bg:#fffbef;--border:#111;--text:#111;--text-2:#555;--card:#fff;--radius:18px;--radius-sm:12px;--shadow:5px 5px 0 0 #111;--shadow-lg:8px 8px 0 0 #111;--shadow-sm:3px 3px 0 0 #111}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100vh}body{background-color:var(--bg);background-image:linear-gradient(90deg,hsla(0,0%,7%,.05) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,7%,.05) 1px,transparent 0);background-size:32px 32px;color:var(--text);font-family:var(--font-space-grotesk),"Segoe UI",system-ui,-apple-system,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}.app-shell{max-width:1200px;margin:0 auto;padding:1.5rem 1.5rem 5rem;min-height:100vh;display:flex;flex-direction:column}.header{justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1.25rem;margin-bottom:2.75rem;border-bottom:3px solid var(--border)}.header,.header-left{display:flex;align-items:center}.header-left{gap:.75rem}.logo-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--purple);color:#fff;font-size:1.4rem;border:3px solid var(--border);border-radius:12px;box-shadow:3px 3px 0 0 #111;flex-shrink:0}.logo-name{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:3px solid var(--border);border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;box-shadow:2px 2px 0 0 #111}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);animation:statusPulse 2s ease-out infinite}@keyframes statusPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#fff;border:3px solid var(--border);border-radius:12px;padding:.5rem .8rem;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.icon-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 #111}.icon-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 #111}.user-chip{display:inline-flex;align-items:center;gap:.55rem}.user-avatar{width:40px;height:40px;display:grid;place-items:center;background:var(--yellow);color:#111;font-weight:700;font-size:.95rem;border:3px solid var(--border);border-radius:50%;box-shadow:3px 3px 0 0 #111}.user-name{font-size:.85rem;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-left .status-pill{margin-left:.5rem}.icon-btn-label{white-space:nowrap}.icon-btn-support{background:var(--yellow);color:#111}.icon-btn-support:hover{box-shadow:5px 5px 0 0 var(--purple)}.user-menu{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.user-menu-trigger .user-avatar{transition:transform .15s,box-shadow .15s}.user-menu-trigger:hover .user-avatar{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 #111}.user-menu-chevron{display:inline-flex;font-size:.8rem;color:var(--text-2);transition:transform .18s ease}.user-menu-chevron.is-open{transform:rotate(180deg)}.user-menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:230px;z-index:40;background:#fff;border:3px solid var(--border);border-radius:14px;box-shadow:6px 6px 0 0 #111;padding:.6rem;animation:popIn .18s ease}.user-menu-header{padding:.4rem .6rem .6rem}.user-menu-name{font-weight:700;font-size:.95rem}.user-menu-email{font-size:.78rem;font-weight:500;color:var(--text-2);word-break:break-all}.user-menu-divider{border-top:2px solid var(--border);margin:.25rem 0 .5rem}.user-menu-item{width:100%;display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid transparent;border-radius:10px;padding:.55rem .7rem;font-family:inherit;font-size:.88rem;font-weight:700;color:var(--text);cursor:pointer;text-align:left;transition:background-color .15s,border-color .15s,transform .15s}.user-menu-item:hover{background:var(--yellow);border-color:var(--border);transform:translateX(2px)}.user-menu-logout{color:var(--red)}.user-menu-logout:hover{background:var(--red);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:3px solid var(--border);border-radius:14px;padding:.7rem 1.3rem;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;color:var(--text);background:#fff;box-shadow:4px 4px 0 0 #111;transition:transform .15s,box-shadow .15s,background-color .15s}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 #111}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 0 #111}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 0 #111}.btn-primary{background:var(--purple);color:#fff}.btn-danger{background:#fff;color:var(--red)}.card{background:var(--card);border:3px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.dashboard{display:flex;flex-direction:column;gap:2.75rem;flex:1 1}.hero{text-align:center;max-width:760px;margin:0 auto;padding:1rem 0 .25rem}.hero-kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);background:#fff;border:2px solid var(--purple);border-radius:999px;padding:.3rem .85rem;margin-bottom:1.15rem;box-shadow:2px 2px 0 0 var(--purple)}.hero-title{font-size:clamp(2rem,5.2vw,3.3rem);font-weight:700;line-height:1.04;letter-spacing:-.03em}.hero-title .accent{background:var(--purple);color:#fff;padding:0 .35rem;border-radius:10px;display:inline-block;box-shadow:4px 4px 0 0 #111;transform:rotate(-1.2deg)}.hero-sub{margin:1.1rem auto 0;max-width:560px;color:var(--text-2);font-size:1.05rem}.composer{max-width:820px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:1.25rem;padding:1.6rem}.input-wrap{position:relative}.prompt-input{width:100%;min-height:132px;resize:vertical;background:#fff;border:3px solid var(--border);border-radius:16px;box-shadow:4px 4px 0 0 #111;padding:1.15rem 1.3rem;font-size:1.08rem;font-family:inherit;color:var(--text);outline:none;transition:box-shadow .15s,transform .15s}.prompt-input:focus{box-shadow:6px 6px 0 0 var(--purple)}.prompt-input::placeholder{color:var(--text-2);opacity:.85}.fake-placeholder{position:absolute;top:1.25rem;left:1.4rem;pointer-events:none;color:var(--text-2);font-size:1.08rem;opacity:.9;transition:opacity .28s,transform .28s,filter .28s}.fake-placeholder.is-hidden{opacity:0;transform:translateY(5px);filter:blur(4px)}.composer-opts{display:flex;gap:1.75rem;flex-wrap:wrap}.opt-label{display:inline-flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:600;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.opt-label input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border:3px solid var(--border);border-radius:8px;background:#fff;box-shadow:2px 2px 0 0 #111;cursor:pointer;position:relative;transition:background-color .15s,box-shadow .15s,transform .15s}.opt-label input:hover{box-shadow:3px 3px 0 0 #111}.opt-label input:checked{background:var(--green)}.opt-label input:checked:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.05rem;font-weight:700;line-height:1}.emotion-control,.lyrics-controls{display:flex;flex-direction:column;gap:.8rem}.lyrics-controls{gap:1rem;padding-top:.15rem}.emotion-control-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.emotion-control-head>div{display:flex;flex-direction:column;gap:.1rem}.emotion-title{font-weight:800;font-size:.95rem}.emotion-subtitle{color:var(--text-2);font-size:.8rem}.emotion-current{flex-shrink:0;padding:.2rem .55rem;border:2px solid var(--border);border-radius:999px;background:var(--yellow);font-size:.72rem;font-weight:800;box-shadow:2px 2px 0 0 #111}.emotion-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:.7rem;gap:.7rem}.reference-format-hint{margin-top:.45rem;color:var(--text-2);font-size:.74rem}.emotion-option{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem .8rem;border:3px solid var(--border);border-radius:12px;background:#fff;color:var(--text);font-family:inherit;text-align:left;cursor:pointer;box-shadow:3px 3px 0 0 #111;transition:transform .15s,box-shadow .15s,background-color .15s}.emotion-option:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 0 #111}.emotion-option.is-selected{background:#ede9fe;box-shadow:4px 4px 0 0 var(--purple)}.emotion-option strong{font-size:.86rem}.emotion-option span{color:var(--text-2);font-size:.72rem;line-height:1.35}.emotion-option:disabled{cursor:not-allowed;opacity:.6}.genre-override-control,.vocal-arc-control{display:flex;flex-direction:column;gap:.28rem;padding:.85rem;border:3px solid var(--border);border-radius:12px;background:#f0fdfa;box-shadow:3px 3px 0 0 #111}.genre-override-control select,.vocal-arc-control select{width:100%;margin-top:.35rem;padding:.7rem .8rem;border:3px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-family:inherit;font-size:.88rem;font-weight:700;outline:none;cursor:pointer;box-shadow:2px 2px 0 0 #111}.genre-override-control select:focus,.vocal-arc-control select:focus{box-shadow:3px 3px 0 0 var(--blue)}.genre-override-control select:disabled,.vocal-arc-control select:disabled{cursor:not-allowed;opacity:.6}.vocal-arc-description{margin-top:.2rem;color:var(--text-2);font-size:.75rem;line-height:1.4}.btn-generate{width:100%;padding:1.15rem 1.5rem;font-size:1.2rem;background:var(--purple);color:#fff;border-radius:16px;box-shadow:6px 6px 0 0 #111;letter-spacing:-.01em}.btn-generate:hover{box-shadow:9px 9px 0 0 #111}.thinking{max-width:820px;margin:0 auto;width:100%}.thinking-head{display:flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;margin-bottom:1.15rem}.thinking-dot{width:13px;height:13px;border-radius:50%;background:var(--purple);animation:blink .9s ease-in-out infinite}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}.thinking-steps{list-style:none;display:flex;flex-direction:column;gap:.7rem}.thinking-steps li{display:flex;align-items:center;gap:.65rem;font-size:.95rem;color:var(--text-2);transition:color .2s}.thinking-steps li.active{color:var(--text);font-weight:700}.thinking-steps li.done{color:var(--green);font-weight:600}.step-marker{width:22px;height:22px;display:grid;place-items:center;border:2px solid var(--border);border-radius:50%;font-size:.7rem;background:#fff;flex-shrink:0}.thinking-steps li.active .step-marker{background:var(--yellow)}.thinking-steps li.done .step-marker{background:var(--green);color:#fff}.output{display:flex;flex-direction:column;gap:1.6rem;scroll-margin-top:1.5rem}.output-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.output-head h2{font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.result-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;padding:1rem 1.25rem;background:var(--yellow);box-shadow:4px 4px 0 0 #111}.result-title .btn-copy{flex-shrink:0}.result-title-text{display:flex;flex-direction:column;gap:.2rem}.result-title-text small{font-size:.7rem;font-weight:700;opacity:.72;text-transform:uppercase;letter-spacing:.035em}.creative-direction{display:flex;flex-direction:column;gap:.9rem;background:#f5f3ff;box-shadow:4px 4px 0 0 var(--purple)}.reference-resolution{display:flex;flex-direction:column;gap:.85rem;background:#eff6ff;box-shadow:4px 4px 0 0 var(--blue)}.reference-resolution.status-artist_unverified,.reference-resolution.status-track_unverified{background:#fff7ed;box-shadow:4px 4px 0 0 var(--yellow)}.artist-evidence{background:#f8fafc;box-shadow:4px 4px 0 0 #64748b}.artist-evidence summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.artist-evidence summary::-webkit-details-marker{display:none}.artist-evidence summary h3{font-size:1.05rem}.artist-evidence summary p{margin-top:.2rem;color:var(--text-2);font-size:.76rem}.artist-evidence-body{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem;padding-top:1rem;border-top:2px dashed #94a3b8}.artist-history{font-size:.84rem;line-height:1.6}.artist-history>span{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.artist-history p{margin:0}.artist-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.65rem;gap:.65rem}.artist-fact-grid>div{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .7rem;border:2px solid var(--border);border-radius:9px;background:#fff}.artist-fact-grid span{color:var(--text-2);font-size:.68rem;font-weight:700;text-transform:uppercase}.artist-fact-grid strong{font-size:.8rem;line-height:1.45}.artist-analysis{padding:.65rem .75rem;border:2px dashed var(--purple);border-radius:9px;background:#faf5ff;font-size:.78rem;line-height:1.5}.artist-analysis p{margin-top:.25rem}.artist-sources{display:flex;align-items:center;gap:.4rem;color:var(--text-2);font-size:.72rem}.artist-sources a{display:grid;width:24px;height:24px;place-items:center;border:2px solid var(--border);border-radius:50%;background:#fff;color:var(--text);font-weight:800;text-decoration:none}.reference-resolution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.reference-resolution-head h3{font-size:1.05rem}.reference-note,.reference-resolution-head p{margin-top:.2rem;color:var(--text-2);font-size:.76rem}.reference-status{flex-shrink:0;padding:.3rem .6rem;border:2px solid var(--border);border-radius:999px;background:#fff;box-shadow:2px 2px 0 0 #111;font-size:.73rem;font-weight:800}.reference-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.65rem;gap:.65rem}.reference-pair>div{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;border:2px solid var(--border);border-radius:9px;background:#fff}.reference-pair span{color:var(--text-2);font-size:.68rem;font-weight:700;text-transform:uppercase}.reference-pair strong{font-size:.86rem}.creative-direction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.creative-direction-head h3{font-size:1.05rem}.creative-direction-head p,.direction-sources{margin-top:.2rem;color:var(--text-2);font-size:.76rem}.direction-confidence{flex-shrink:0;padding:.3rem .6rem;border:2px solid var(--border);border-radius:999px;background:var(--green);box-shadow:2px 2px 0 0 #111;font-size:.73rem;font-weight:800}.direction-confidence-group{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.direction-confidence-group .direction-confidence:nth-child(2){background:var(--purple-light,#ddd6fe)}.direction-confidence-group .direction-confidence:nth-child(3){background:var(--yellow)}.direction-guidance{font-size:.88rem;line-height:1.55}.direction-candidates{padding:.5rem .65rem;border:2px dashed #7c3aed;border-radius:8px;background:#fff;color:var(--text-2);font-size:.75rem;line-height:1.45}.direction-reasons{padding-left:1.15rem;color:var(--text-2);font-size:.78rem;line-height:1.5}.quality-report{display:flex;flex-direction:column;gap:.75rem}.quality-report.is-passed{background:#ecfdf5;box-shadow:4px 4px 0 0 var(--green)}.quality-report.has-notes{background:#fff7ed;box-shadow:4px 4px 0 0 var(--yellow)}.quality-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.quality-report-head h3{font-size:1.05rem}.quality-report-head p{margin-top:.2rem;color:var(--text-2);font-size:.76rem}.quality-status{flex-shrink:0;padding:.3rem .6rem;border:2px solid var(--border);border-radius:999px;background:#fff;box-shadow:2px 2px 0 0 #111;font-size:.73rem;font-weight:800}.quality-repaired{padding:.5rem .65rem;border:2px dashed var(--purple);border-radius:9px;font-size:.78rem;line-height:1.45}.output-meta{font-size:.8rem;color:var(--text-2);font-weight:600}.result-card{transition:transform .18s,box-shadow .18s}.result-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}.result-card-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;flex-wrap:wrap}.result-index{width:30px;height:30px;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:700;font-size:.9rem;border:3px solid var(--border);border-radius:9px;box-shadow:2px 2px 0 0 #111;flex-shrink:0}.result-card-head h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-right:auto}.result-text{white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:1rem;line-height:1.65}.result-hint{color:var(--text-2);border:2px solid var(--border);border-radius:9px;padding:.4rem .7rem;display:inline-block}.result-hint,.result-tip{margin-top:.7rem;font-size:.75rem;font-weight:600;background:var(--bg)}.result-tip{line-height:1.55;color:var(--text);border:2px dashed var(--blue);border-radius:9px;padding:.5rem .7rem;display:block}.btn-copy{background:var(--green);color:#111;padding:.45rem .95rem;font-size:.8rem;border-radius:10px;box-shadow:3px 3px 0 0 #111}.dna-badges{display:flex;flex-wrap:wrap;gap:.7rem}.badge{display:inline-flex;align-items:center;gap:.45rem;border:3px solid var(--border);border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:700;background:#fff;box-shadow:3px 3px 0 0 #111;transition:transform .15s,box-shadow .15s}.badge:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 #111}.badge-yellow{background:var(--yellow)}.badge-green{background:var(--green);color:#fff}.badge-blue{background:var(--blue);color:#fff}.badge-purple{background:var(--purple);color:#fff}.badge-red{background:var(--red);color:#fff}.badge-neutral{background:#fff}.dna-structure{margin-top:.9rem;border:3px solid var(--border);border-radius:12px;box-shadow:3px 3px 0 0 #111;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.25rem}.dna-structure-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.dna-structure-text{font-size:.9rem;line-height:1.5}.alert{border:3px solid var(--border);border-radius:12px;padding:.8rem 1rem;font-size:.9rem;font-weight:600;box-shadow:3px 3px 0 0 #111}.alert-error{background:#fee2e2;color:#b91c1c}.toast{position:fixed;bottom:1.75rem;left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-weight:600;font-size:.9rem;border:3px solid var(--border);border-radius:12px;padding:.7rem 1.3rem;box-shadow:5px 5px 0 0 hsla(0,0%,7%,.9);animation:toastIn .18s ease;z-index:100;white-space:nowrap}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{position:fixed;inset:0;background:hsla(0,0%,7%,.45);display:grid;place-items:center;padding:1.25rem;z-index:90;animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:500px;max-height:85vh;overflow-y:auto;animation:popIn .2s ease}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.modal-head h2{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.field input,.field select,.field textarea{background:#fff;border:3px solid var(--border);border-radius:12px;box-shadow:2px 2px 0 0 #111;padding:.7rem .9rem;font-size:.95rem;font-family:inherit;color:var(--text);outline:none;width:100%;transition:box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:4px 4px 0 0 var(--purple)}.field textarea{resize:vertical;min-height:80px}.field .hint{font-size:.75rem;color:var(--text-2)}.dropdown{position:relative}.dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#fff;border:3px solid var(--border);border-radius:12px;box-shadow:2px 2px 0 0 #111;padding:.7rem .9rem;font-size:.95rem;font-weight:600;font-family:inherit;color:var(--text);cursor:pointer;transition:box-shadow .15s,transform .15s}.dropdown-trigger:hover{box-shadow:4px 4px 0 0 var(--purple)}.dropdown-trigger:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.dropdown-value{text-align:left}.dropdown-chevron{display:inline-flex;flex-shrink:0;font-size:.8rem;transition:transform .18s ease}.dropdown-chevron.is-open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;list-style:none;background:#fff;border:3px solid var(--border);border-radius:14px;box-shadow:6px 6px 0 0 #111;padding:.4rem;display:flex;flex-direction:column;gap:.25rem;animation:popIn .18s ease}.dropdown-option{width:100%;display:flex;align-items:center;gap:.6rem;background:#fff;border:2px solid transparent;border-radius:10px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s}.dropdown-option:hover{background:var(--yellow);border-color:var(--border);transform:translateX(2px)}.dropdown-option.is-selected{background:var(--purple);color:#fff}.dropdown-option.is-selected .dropdown-option-desc{color:hsla(0,0%,100%,.85)}.dropdown-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-option-label{display:block}.dropdown-option-desc{display:block;font-size:.72rem;font-weight:500;color:var(--text-2)}.dropdown-check{margin-left:auto;font-weight:700;flex-shrink:0}.model-row{display:flex;align-items:stretch;gap:.6rem}.model-combo{position:relative;flex:1 1;min-width:0}.model-combo>input{width:100%;padding-right:2.2rem}.model-combo-chevron{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);background:none;border:none;padding:.25rem;font-size:.8rem;color:var(--text-2);cursor:pointer;font-family:inherit;transition:color .15s,transform .15s}.model-combo-chevron:hover{color:var(--purple)}.model-menu{z-index:30}.btn-detect{display:inline-flex;align-items:center;justify-content:center;width:46px;flex-shrink:0;background:#fff;border:3px solid var(--border);border-radius:12px;box-shadow:2px 2px 0 0 #111;cursor:pointer;color:var(--text);transition:box-shadow .15s,transform .15s}.btn-detect:hover{box-shadow:4px 4px 0 0 var(--purple)}.btn-detect:active{transform:translate(1px,1px);box-shadow:1px 1px 0 0 #111}.btn-detect:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:2px 2px 0 0 #111}.detect-icon{transition:transform .3s}.detect-icon.is-spinning{animation:spin360 .8s linear infinite}@keyframes spin360{to{transform:rotate(1turn)}}.hint-ok{color:var(--green)}.hint-err{color:#b91c1c}.modal-wide{max-width:680px}.icon-btn-admin{background:var(--purple);color:#fff}.admin-invite{background:#fff;border:3px solid var(--border);border-radius:14px;box-shadow:3px 3px 0 0 #111;padding:1rem;margin-bottom:1.25rem}.admin-invite-title{display:flex;flex-direction:column;gap:2px;margin-bottom:.7rem}.admin-invite-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.admin-invite-row{display:flex;gap:.6rem;align-items:stretch}.admin-invite-row>input{flex:1 1;min-width:0;background:#fff;border:3px solid var(--border);border-radius:12px;box-shadow:2px 2px 0 0 #111;padding:.65rem .9rem;font-size:.95rem;font-family:inherit;color:var(--text);outline:none;transition:box-shadow .15s}.admin-invite-row>input:focus{box-shadow:4px 4px 0 0 var(--purple)}.admin-invite-role{width:150px;flex-shrink:0}.admin-list{gap:.8rem}.admin-list,.admin-row{display:flex;flex-direction:column}.admin-row{border:3px solid var(--border);border-radius:14px;box-shadow:3px 3px 0 0 #111;padding:.9rem 1rem;gap:.7rem;transition:transform .15s,box-shadow .15s}.admin-row:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 #111}.admin-email{font-weight:700;font-size:.95rem;word-break:break-all}.admin-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}.role-badge,.status-badge{display:inline-flex;align-items:center;border:2px solid var(--border);border-radius:999px;padding:.15rem .6rem;font-size:.7rem;font-weight:700;background:#fff}.status-badge.invited{background:var(--yellow)}.status-badge.pending{background:var(--blue);color:#fff}.status-badge.active{background:var(--green);color:#fff}.status-badge.blocked{background:var(--red);color:#fff}.role-badge.admin{background:var(--purple);color:#fff}.admin-last-login{font-size:.72rem;font-weight:600;color:var(--text-2)}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-sm{padding:.35rem .7rem;font-size:.78rem;border-radius:9px;box-shadow:2px 2px 0 0 #111}.btn-sm:hover{box-shadow:4px 4px 0 0 #111}.btn-sm:active{box-shadow:1px 1px 0 0 #111}.btn-sm:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:2px 2px 0 0 #111}.btn-approve{background:var(--green);color:#111}@media (max-width:640px){.admin-invite-row{flex-direction:column}.admin-invite-role{width:100%}.dropdown-menu{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;box-shadow:7px 7px 0 0 #111}}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.4rem}.history-list{display:flex;flex-direction:column;gap:.9rem}.history-item{border:3px solid var(--border);border-radius:14px;box-shadow:3px 3px 0 0 #111;padding:1rem 1.1rem;transition:transform .15s,box-shadow .15s}.history-item:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 0 #111}.history-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.78rem;font-weight:600;color:var(--text-2);margin-bottom:.4rem;flex-wrap:wrap}.history-preview{font-size:.9rem;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{padding:2.5rem 1rem;font-size:.95rem;font-weight:500}.empty-state,.footer-note{text-align:center;color:var(--text-2)}.footer-note{margin-top:3rem;font-size:.8rem;font-weight:600}.footer-note button{background:none;border:none;padding:0;font:inherit;color:var(--purple);font-weight:700;text-decoration:underline;cursor:pointer}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:1.1rem}.auth-loading .logo-mark{width:56px;height:56px;font-size:1.8rem;animation:blink 1s ease-in-out infinite}.auth-hint{color:var(--text-2);font-weight:600;font-size:.95rem}.login-card{width:100%;max-width:430px;background:#fff;border:3px solid var(--border);border-radius:var(--radius);box-shadow:8px 8px 0 0 #111;padding:2.25rem;text-align:center;display:flex;flex-direction:column;gap:1.1rem;animation:popIn .2s ease}.login-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login-sub{color:var(--text-2);font-size:.95rem}.login-error{color:#b91c1c;background:#fee2e2;border:2px solid #b91c1c;border-radius:10px}.login-error,.login-notice{padding:.6rem .8rem;font-size:.85rem;font-weight:600}.login-notice{color:#075985;background:#cffafe;border:2px solid var(--blue);border-radius:10px}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--yellow);color:#111;font-weight:700;font-size:1rem;font-family:inherit;border:3px solid var(--border);border-radius:14px;padding:.85rem 1.25rem;box-shadow:4px 4px 0 0 #111;text-decoration:none;transition:transform .15s,box-shadow .15s}.btn-google:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 #111}.btn-google:active{transform:translate(2px,2px);box-shadow:1px 1px 0 0 #111}.g-logo{width:28px;height:28px;display:grid;place-items:center;background:#fff;border:2px solid var(--border);border-radius:50%;font-weight:700;font-size:.95rem}@media (max-width:640px){.app-shell{padding:1rem 1rem 4rem}.header{justify-content:center;gap:.85rem;margin-bottom:2.25rem}.icon-btn-label,.user-name{display:none}.user-menu-panel{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;box-shadow:7px 7px 0 0 #111}.hero-title{font-size:2.05rem}.composer{padding:1.15rem}.composer-opts{gap:1.25rem}.emotion-options{grid-template-columns:1fr}.btn-generate{font-size:1.05rem;padding:1rem 1.25rem}.card{padding:1.25rem}}