/* BRAND BAR */
.brand-bar-wrap{background:#0A0A0A;border-bottom:1px solid var(--border);display:flex;align-items:center;}
.brand-bar{flex:1;padding:0 16px;display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;}
.brand-bar::-webkit-scrollbar{display:none;}
.settings-btn{flex-shrink:0;padding:0 18px;height:54px;min-width:54px;border:none;background:transparent;color:rgba(255,255,255,0.6);font-size:18px;cursor:pointer;transition:color 0.2s;border-left:1px solid var(--border);}
.settings-btn:hover{color:#fff;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(12px);background:#1e1e1e;border:1px solid rgba(255,255,255,0.12);color:#fff;padding:10px 20px;border-radius:8px;font-size:12px;font-family:'Barlow',sans-serif;opacity:0;transition:opacity 0.25s,transform 0.25s;z-index:9999;white-space:nowrap;max-width:calc(100vw - 32px);text-align:center;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.brand-tab{display:flex;align-items:center;gap:9px;padding:13px 18px;border:none;background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;white-space:nowrap;text-transform:uppercase;}
.brand-tab:hover{color:var(--text);}
.brand-tab.active{color:var(--text);border-bottom-color:var(--brand-accent,#fff);}
.brand-tab img{width:26px;height:26px;border-radius:6px;object-fit:cover;}
.add-brand-btn{margin-left:8px;padding:8px 14px;border:1px dashed rgba(255,255,255,0.12);border-radius:7px;background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all 0.2s;letter-spacing:0.5px;}
.add-brand-btn:hover{border-color:rgba(255,255,255,0.35);color:var(--text);}

/* CTRL SECTIONS */
.sec{padding:16px 18px;border-bottom:1px solid var(--border);}
.sec-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand-accent,var(--muted));margin-bottom:10px;display:block;}

/* MODE */
.mode-row{display:flex;background:var(--bg);border-radius:7px;padding:3px;border:1px solid var(--border);}
.mbtn{flex:1;padding:8px;border:none;border-radius:5px;background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s;text-transform:uppercase;letter-spacing:0.5px;}
.mbtn.active{background:var(--brand-accent,#fff);color:#000;}

/* VIBE STRIP */
.vibe-grid{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:2px;}
.vibe-grid::-webkit-scrollbar{display:none;}
.vibe-card{border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all 0.2s;overflow:hidden;position:relative;height:54px;width:100px;min-width:100px;flex-shrink:0;scroll-snap-align:start;}
.vibe-card:hover{transform:scale(1.03);}
.vibe-card.active{border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,0.3);}
.vibe-card-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;}
.vibe-name{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.8);}
.vibe-tag{font-size:7px;color:rgba(255,255,255,0.6);letter-spacing:0.5px;}

/* TYPE GRID */
.type-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;}
.tbtn{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:9px 5px;color:var(--muted);font-family:'Barlow',sans-serif;font-size:10px;font-weight:700;cursor:pointer;transition:all 0.2s;text-align:center;text-transform:uppercase;letter-spacing:0.3px;}
.tbtn .ico{font-size:16px;display:block;margin-bottom:3px;}
.tbtn:hover{border-color:var(--brand-accent,#fff);color:var(--text);}
.tbtn.active{border-color:var(--brand-accent,#fff);color:var(--brand-accent,#fff);background:rgba(255,255,255,0.04);}

/* CHIPS */
.chips{display:flex;flex-wrap:wrap;gap:5px;}
.chip{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:5px 11px;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer;transition:all 0.2s;font-family:'Barlow',sans-serif;text-transform:uppercase;letter-spacing:0.5px;}
.chip:hover{border-color:var(--brand-accent,#fff);}
.chip.active{border-color:var(--brand-accent,#fff);color:var(--brand-accent,#fff);}

/* FIELDS */
.field{margin-bottom:11px;}
.field label{display:block;font-size:9px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px;font-weight:700;}
.field input,.field textarea,.field select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:9px 11px;color:var(--text);font-family:'Barlow',sans-serif;font-size:13px;outline:none;transition:border-color 0.2s;}
.field textarea{resize:vertical;min-height:60px;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand-accent,#fff);}
input[type=range]{padding:0;height:4px;accent-color:var(--brand-accent,#fff);cursor:pointer;}

/* BUTTONS */
.act-btn{width:100%;padding:12px;border:none;border-radius:7px;background:var(--brand-accent,#fff);color:#000;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;transition:all 0.2s;}
.act-btn:hover{opacity:0.85;transform:translateY(-1px);}
.act-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.act-btn .spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(0,0,0,0.3);border-top-color:#000;border-radius:50%;animation:spin 0.7s linear infinite;margin-right:7px;vertical-align:middle;}
@keyframes spin{to{transform:rotate(360deg);}}
.ghost-btn{flex:1;padding:9px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s;text-align:center;text-transform:uppercase;letter-spacing:0.5px;}
.ghost-btn:hover{border-color:var(--brand-accent,#fff);color:var(--text);}
.note{font-size:10px;color:var(--muted);margin-top:7px;text-align:center;}

/* PREVIEW */
.prev-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.slide-nav{display:flex;gap:7px;align-items:center;}
.nav-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all 0.2s;}
.nav-btn:hover{border-color:var(--brand-accent,#fff);}
.slide-cnt{font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);}
.carousel-wrap{display:flex;justify-content:center;margin-bottom:18px;}
.card-frame{width:460px;height:460px;position:relative;border-radius:6px;overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,0.8);max-width:100%;}
.card-canvas{width:1080px;height:1080px;position:absolute;top:0;left:0;overflow:hidden;}
.dots-row{display:flex;justify-content:center;gap:6px;margin-bottom:18px;}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.15);cursor:pointer;transition:all 0.2s;}
.dot.active{background:var(--brand-accent,#fff);}

/* EDIT PANEL */
.edit-panel{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:16px;margin-bottom:14px;}
.edit-ttl{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--brand-accent,var(--muted));margin-bottom:13px;text-transform:uppercase;}
.img-row{display:flex;gap:7px;}
.img-lbl{flex:1;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--muted);font-size:10px;font-weight:700;cursor:pointer;text-align:center;font-family:'Barlow',sans-serif;text-transform:uppercase;letter-spacing:0.5px;}
.img-rm{padding:8px 11px;background:var(--bg);border:1px solid rgba(255,60,60,0.2);border-radius:7px;color:rgba(255,60,60,0.6);font-size:10px;font-weight:700;cursor:pointer;font-family:'Barlow',sans-serif;transition:all 0.2s;}
.img-rm:hover{border-color:rgba(255,60,60,0.5);color:rgba(255,60,60,1);}

/* CAPTION */
.cap-box{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:16px;}
.cap-box h3{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:10px;text-transform:uppercase;}
.cap-ta{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:11px;color:var(--text);font-family:'Barlow',sans-serif;font-size:13px;resize:vertical;min-height:85px;outline:none;margin-bottom:9px;}
.cap-ta:focus{border-color:var(--brand-accent,#fff);}
.copy-btn{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--muted);padding:7px 13px;border-radius:6px;font-size:10px;font-weight:700;cursor:pointer;font-family:'Barlow',sans-serif;text-transform:uppercase;letter-spacing:0.5px;transition:all 0.2s;}
.copy-btn:hover{color:var(--text);border-color:var(--brand-accent,#fff);}

/* EMPTY */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;text-align:center;color:var(--muted);}
.empty .ei{font-size:48px;margin-bottom:12px;opacity:0.15;}
.empty p{font-size:13px;max-width:260px;line-height:1.6;}

/* MODAL */
.modal-ov{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);z-index:999;display:none;align-items:center;justify-content:center;}
.modal-ov.open{display:flex;}
.modal{background:#131313;border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:26px;width:380px;max-width:90vw;}
.modal h2{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;margin-bottom:18px;}
.modal-acts{display:flex;gap:9px;margin-top:18px;}
.m-cancel{flex:1;padding:11px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;cursor:pointer;}
.m-save{flex:1;padding:11px;border-radius:7px;border:none;background:#fff;color:#000;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;cursor:pointer;}

/* DASHBOARD */
#dashboard{background:#F5F3EE;min-height:calc(100vh - 54px);}
.dashboard{padding:44px 28px;max-width:960px;margin:0 auto;}
.dash-header{margin-bottom:40px;}
.dash-title{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:4px;color:#1C1C1E;margin-bottom:6px;}
.dash-sub{font-size:13px;color:#636366;font-family:'Barlow',sans-serif;}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.module-card{background:rgba(255,255,255,0.52);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,0.78);border-radius:20px;padding:28px 24px;cursor:pointer;transition:all 0.25s;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.06),inset 0 1px 0 rgba(255,255,255,0.9);}
.module-card:not(.disabled):hover{background:rgba(255,255,255,0.72);border-color:rgba(255,255,255,0.95);transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,1);}
.module-card.disabled{opacity:0.5;cursor:not-allowed;}
.module-icon{font-size:38px;margin-bottom:16px;display:block;}
.module-name{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#1C1C1E;margin-bottom:4px;}
.module-sub{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#8E8E93;margin-bottom:10px;}
.module-desc{font-size:12px;color:rgba(0,0,0,0.42);line-height:1.6;font-family:'Barlow',sans-serif;}
.cs-badge{position:absolute;top:14px;right:14px;font-size:8px;font-weight:700;letter-spacing:2px;color:rgba(0,0,0,0.35);background:rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.08);border-radius:4px;padding:3px 8px;text-transform:uppercase;font-family:'Barlow',sans-serif;}
/* MODULE BAR */
.module-bar{display:flex;align-items:center;gap:14px;padding:10px 18px;background:#0A0A0A;border-bottom:1px solid var(--border);}
.back-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s;letter-spacing:0.5px;text-transform:uppercase;}
.back-btn:hover{border-color:var(--brand-accent,#fff);color:var(--text);}
.module-bar-title{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:3px;color:rgba(255,255,255,0.3);}

/* CONTENT MODE TABS */
.cm-tabs{display:flex;background:var(--bg);border-radius:7px;padding:3px;border:1px solid var(--border);}
.cm-tab{flex:1;padding:8px;border:none;border-radius:5px;background:transparent;color:var(--muted);font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer;transition:all 0.2s;text-transform:uppercase;letter-spacing:0.5px;}
.cm-tab.active{background:var(--brand-accent,#fff);color:#000;}
/* CONFIDENCE DOTS */
.conf-row{display:flex;gap:7px;align-items:center;margin-top:6px;}
.conf-dot{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,0.2);background:transparent;cursor:pointer;transition:all 0.15s;display:inline-block;}
.conf-dot.on{background:var(--brand-accent,#fff);border-color:var(--brand-accent,#fff);}
/* RESULT TOGGLE */
.rt-row{display:flex;gap:7px;}
.rtbtn{flex:1;padding:11px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;cursor:pointer;transition:all 0.2s;text-align:center;}
.rtbtn.win{border-color:rgba(0,200,80,0.5);background:rgba(0,200,80,0.08);color:#00C850;}
.rtbtn.loss{border-color:rgba(255,50,50,0.5);background:rgba(255,50,50,0.08);color:#FF3232;}

@media(max-width:900px){
  .layout{flex-direction:column;}
  .ctrl{width:100%;min-width:auto;max-height:none;border-right:none;border-bottom:1px solid var(--border);}
  .preview{max-height:none;padding:14px;}
  .card-frame{width:calc(100vw - 28px);height:calc(100vw - 28px);max-width:460px;max-height:460px;}
  .module-grid{grid-template-columns:repeat(2,1fr);}
  .dashboard{padding:24px 16px;}
  /* Settings button — larger tap target, higher contrast */
  .settings-btn{font-size:20px;min-width:58px;padding:0 20px;color:rgba(255,255,255,0.75);}
  /* Settings modal — full-width with gutters, large inputs to prevent iOS auto-zoom */
  .modal{width:calc(100vw - 32px);max-width:none;padding:22px 18px;border-radius:10px;}
  #settingsModal .field input{font-size:16px;padding:13px 14px;}
  #settingsModal .m-cancel,#settingsModal .m-save{padding:15px 11px;font-size:14px;}
  .toast{white-space:normal;bottom:20px;}
}
