*{box-sizing:border-box}html{background:#121019;color:#f8eef6}body{font-family:Inter,"Segoe UI",sans-serif;margin:0;min-height:100vh;background:radial-gradient(ellipse at 65% -20%,#442343 0%,transparent 65%),#121019}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.ambient{position:fixed;inset:0;background:radial-gradient(circle at 0 100%,#59305e32 0,transparent 35%);pointer-events:none}.topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 3.2vw;border-bottom:1px solid #413348;background:#18131dc9;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:900;letter-spacing:.09em}.brand-icon{color:#ee9ac4;font-size:28px}.brand small{display:block;font-size:9px;letter-spacing:.19em;color:#c58eae;margin-top:4px}.top-actions{display:flex;gap:8px;align-items:center}.build{font-size:10px;color:#b393b3;letter-spacing:.08em;margin-right:10px}.btn{border:1px solid #725475;background:#39283f;color:#fff;padding:11px 15px;border-radius:11px;font-weight:700;font-size:12px;min-height:41px}.btn:hover{border-color:#e2a1cb}.btn.primary{border-color:#f19fc9;background:linear-gradient(125deg,#bd3c7b,#7c376d);box-shadow:0 8px 24px #ab286440}.btn.ghost{background:#231b29}.btn.danger{color:#ffc4ca;border-color:#713c51}.btn:disabled{opacity:.45;cursor:not-allowed}.heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:25px 0 22px}.heading h1{margin:5px 0 3px;font-size:clamp(27px,3vw,41px);letter-spacing:-.055em}.heading p{margin:3px 0;color:#ae9bb3;font-size:13px;line-height:1.5}.eyebrow{color:#da8cb4;font-size:10px;font-weight:800;letter-spacing:.2em}.container{position:relative;z-index:1;max-width:1640px;margin:0 auto;padding:0 3vw 45px}.toolbar{display:flex;flex-wrap:wrap;gap:9px}.tabs{display:flex;gap:7px;border-bottom:1px solid #4c3a52;padding-bottom:14px;margin-bottom:16px}.tab{background:#251d2c;color:#bcb0c0;border:1px solid #514157;border-radius:10px;padding:12px 17px;font-weight:800;font-size:12px}.tab.active{color:#fff;border-color:#d580ac;background:#502d4a}.studio{display:grid;grid-template-columns:minmax(270px,340px) minmax(420px,1fr);gap:17px;align-items:start}.panel{background:#221b29e6;border:1px solid #514159;border-radius:18px;overflow:hidden;box-shadow:0 15px 40px #0003}.panel-head{padding:17px 18px;border-bottom:1px solid #403148;display:flex;justify-content:space-between;align-items:center;gap:9px}.panel-head h2{margin:0;font-size:15px}.count{font-size:10px;color:#d9a1c5;background:#4f2e4e;padding:5px 9px;border-radius:20px}.searchrow{padding:13px;display:flex;gap:8px}.input,select,textarea{background:#17131c;border:1px solid #59445e;border-radius:10px;color:#fcf4fb;padding:11px 12px;outline:0;width:100%;min-width:0}.input:focus,select:focus,textarea:focus{border-color:#e992bd;box-shadow:0 0 0 3px #a34f7b30}textarea{resize:vertical;line-height:1.5}select{appearance:auto}.records{max-height:65vh;min-height:300px;overflow:auto;padding:0 8px 10px}.record{display:block;width:100%;text-align:left;padding:12px 14px;margin:4px 0;background:transparent;border:1px solid transparent;border-radius:11px;color:#f4e5f1}.record:hover{background:#322637}.record.active{background:#493047;border-color:#b46a9a}.record.off{opacity:.55}.rec-meta{display:flex;gap:8px;align-items:center;font-size:9px;font-weight:800;color:#dc97bf;letter-spacing:.06em;margin-bottom:5px;text-transform:uppercase}.rec-id{font-size:10px;color:#937f9a}.rec-title{font-size:12px;line-height:1.4;font-weight:650}.edit{padding:24px;display:grid;gap:17px}.edit-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid #493651}.edit-header h2{margin:0;font-size:20px;letter-spacing:-.02em}.edit-header small{color:#d09abc;font-size:10px}.fields{display:grid;gap:15px}.field{display:grid;gap:7px}.field label{font-size:10px;letter-spacing:.09em;color:#cca7c2;font-weight:800}.field-note{font-size:10px;color:#a895b0;line-height:1.5}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.buttons{display:flex;flex-wrap:wrap;gap:9px}.notice{background:#302239;border-left:3px solid #dd85b4;border-radius:10px;color:#d7bed7;font-size:12px;line-height:1.6;padding:13px 15px}.muted{color:#b09eb7}.badge{font-size:9px;border:1px solid #644968;padding:5px 8px;border-radius:30px;color:#e2b0cd;white-space:nowrap}.badge.off{color:#ecaaa6;border-color:#9a6067}.login-wrap{position:relative;z-index:1;display:grid;place-items:center;min-height:calc(100vh - 85px);padding:24px}.login-card{max-width:460px;width:100%;background:#261d2e;border:1px solid #72517b;border-radius:24px;padding:36px;box-shadow:0 30px 95px #0008}.login-card h1{font-size:34px;letter-spacing:-.06em;margin:12px 0}.login-card p{font-size:13px;color:#c1aac8;line-height:1.7}.login-card form{display:grid;gap:16px}.login-card button{width:100%;margin-top:3px}.illustration{width:100px;height:112px;object-fit:contain;background:#191322;border-radius:12px;border:1px solid #54405a}.profile-row{display:grid;grid-template-columns:112px 1fr;gap:17px;align-items:center}.empty{padding:25px;color:#ab93b3;font-size:13px}.statline{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.stat{padding:12px 15px;border-radius:12px;border:1px solid #514158;background:#292133;font-size:12px}.stat strong{font-size:18px;display:block;color:#fff}.toast{position:fixed;right:19px;bottom:22px;z-index:10;padding:14px 19px;border-radius:13px;border:1px solid #ba80a7;background:#402a43;color:white;box-shadow:0 12px 45px #0009;font-size:13px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;max-width:400px}.toast.show{opacity:1;transform:none}@media(max-width:840px){.studio{grid-template-columns:1fr}.records{max-height:280px;min-height:100px}.heading{align-items:start;flex-direction:column}.build{display:none}}@media(max-width:500px){.topbar{padding:15px}.brand{font-size:12px}.brand small{font-size:8px}.container{padding:0 12px 30px}.edit{padding:15px}.two{grid-template-columns:1fr}.toolbar .btn{flex:1}.profile-row{grid-template-columns:82px 1fr}.illustration{width:76px;height:86px}}

[hidden]{display:none!important}

/* v0.3.8: el motivo del error de acceso permanece visible hasta el siguiente intento */
.login-feedback{padding:13px 15px;border:1px solid #cb6b8b;border-radius:11px;background:#472237;color:#ffe0e9;font-size:13px;line-height:1.5}
.login-feedback[hidden]{display:none}
.login-card .field-note a{color:#ffc4df;text-decoration:underline;text-underline-offset:3px}

/* v0.4 Portable Studio */
.media-drop{border:2px dashed #815a87;border-radius:18px;padding:22px;text-align:center;background:#241c2e;margin:14px 0 22px}.media-drop.over{border-color:#f0a2ca;background:#36223a}.media-drop p{color:#c5aeca;font-size:12px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:15px}.media-item{margin:0;background:#251e2c;border:1px solid #55405a;border-radius:14px;padding:11px;overflow:hidden}.media-item img{width:100%;height:170px;object-fit:contain;background:#110e18;border-radius:9px}.media-item figcaption{font-size:11px;overflow-wrap:anywhere;padding:9px 0;line-height:1.6}.media-item figcaption span{font-size:10px;color:#aa96ae}.media-item button{width:100%}.upload-inline{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.media-choice-preview{max-width:200px;max-height:160px}.media-choice-preview img{max-height:150px;max-width:100%;object-fit:contain;border:1px solid #675269;border-radius:10px}.image-placeholder{background:#211727;padding:18px;color:#bcaabc;text-align:center;border:1px dashed #5c4765;border-radius:10px}.portable-progress{position:fixed;z-index:60;bottom:20px;left:20px;padding:15px 20px;border-radius:12px;background:#3b2441;border:1px solid #ef9ac1;box-shadow:0 14px 45px #0009;font-size:12px;max-width:85vw}.portable-dialog{color:#fff;width:min(680px,94vw);max-height:85vh;overflow:auto;border:1px solid #986383;border-radius:20px;padding:25px;background:#24192d;box-shadow:0 26px 120px #000a}.portable-dialog::backdrop{background:#0b0911ca;backdrop-filter:blur(7px)}.portable-head h2{font-size:23px;margin:12px 0}.portable-head p{color:#bb9fbe}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0}.preview-grid>div{background:#38243e;border-radius:12px;padding:13px;font-size:11px;color:#dfc8df}.preview-grid strong{display:block;color:#fff;font-size:25px;margin-bottom:4px}#importProgress{font-size:12px;color:#f8a9ce;margin-top:15px;line-height:1.5}@media(max-width:600px){.preview-grid{grid-template-columns:repeat(2,1fr)}.portable-dialog{padding:16px}}

/* v0.4.2: persistent, accessible export diagnostics (not a 3-second toast). */
.portable-export-feedback{position:fixed;z-index:180;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));right:16px;max-width:650px;margin:auto auto 0 0;max-height:70vh;overflow:auto;background:#251b2d;color:#fef9fc;border:1px solid #e499bd;border-radius:16px;box-shadow:0 16px 55px #000b;padding:18px 20px;}
.portable-export-feedback strong{display:block;font-size:16px;margin-bottom:7px;}
.portable-export-feedback p{font-size:13px;line-height:1.55;color:#e5d7e6;overflow-wrap:anywhere;}
.portable-export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
