/* GallerySpark — one account, three hats. Warm artist look throughout.
   Theme slider: Default(system)/Light/Dark -> [data-mode]. */
*{box-sizing:border-box}
:root{
  --font:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --coral:#ff4f6d; --plum:#3b1d4e; --gold:#ffb703;
  --a1:linear-gradient(135deg,#ffd6a5,#ff8fa3); --a2:linear-gradient(135deg,#a2d2ff,#4361ee);
  --a3:linear-gradient(135deg,#b9fbc0,#38b000); --a4:linear-gradient(135deg,#fbc2eb,#a06cd5);
  --a5:linear-gradient(135deg,#ffe5a5,#ffb703); --a6:linear-gradient(135deg,#a0e7e5,#30cfd0);
}
[data-mode="light"]{--bg:#fff9f4;--ink:#241423;--card:#ffffff;--line:#f3d9e2;--muted:#7a5a6d;--soft:#ffedf1}
[data-mode="dark"]{--bg:#1e1030;--ink:#fdf3ff;--card:#2c1a47;--line:#4a2f6b;--muted:#cbb3dd;--soft:#3a2260}
html{background:var(--bg)}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column;transition:background .25s,color .25s}
header{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.1rem;border-bottom:2px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:30}
.logo{font-weight:900;font-size:1.2rem;color:var(--ink);text-decoration:none;letter-spacing:.2px}
.logo::first-letter{color:var(--coral)}
.head-right{margin-left:auto;display:flex;align-items:center;gap:.7rem}
.iconbtn{font-size:1.15rem;background:var(--card);border:2px solid var(--line);border-radius:12px;width:42px;height:42px;cursor:pointer;color:var(--ink)}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--gold));color:#fff;font-weight:900;display:inline-flex;align-items:center;justify-content:center;flex:none}
.big-av{width:48px;height:48px;font-size:1.15rem}
.slider{position:relative;display:flex;background:var(--card);border:2px solid var(--line);border-radius:999px;padding:3px;isolation:isolate}
.slider .knob{position:absolute;top:3px;bottom:3px;left:calc(3px + var(--i,0)*(100% - 6px)/3);width:calc((100% - 6px)/3);background:var(--soft);border-radius:999px;transition:left .22s ease;z-index:0}
.slider button{position:relative;z-index:1;border:0;background:transparent;font-size:1.05rem;cursor:pointer;padding:.32rem .5rem;border-radius:999px;line-height:1}

.viewchip{background:var(--plum);color:#fff;font-size:.66rem;font-weight:800;padding:.26rem .55rem;border-radius:999px;white-space:nowrap}
.logo{white-space:nowrap}
@media(max-width:430px){.logo{font-size:1.05rem}}
.sub{color:var(--muted);margin:.2rem 0 1.1rem}
.orgblock{margin:0 0 1.4rem}
.list.inner{margin:.55rem 0 0 1rem}
.rowbtn.add{border-style:dashed;color:var(--coral)}
.empty-org{color:var(--muted);margin:.2rem .4rem}
#menu [data-cat] .vcheck{visibility:hidden;margin-left:auto;color:var(--coral);font-weight:900}
#menu [data-cat].active{background:var(--soft)}
#menu [data-cat].active .vcheck{visibility:visible}

/* ---- slide-in menu ---- */
#scrim{position:fixed;inset:0;background:rgba(20,8,30,.45);z-index:40}
#menu{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);background:var(--card);z-index:50;overflow-y:auto;padding:1rem;box-shadow:8px 0 30px rgba(0,0,0,.25);animation:slidein .18s ease}
@keyframes slidein{from{transform:translateX(-24px);opacity:.4}to{transform:none;opacity:1}}
.who{display:flex;gap:.7rem;align-items:center;padding:.4rem .2rem 1rem;border-bottom:2px solid var(--line);position:relative}
.who strong{display:block}
.mhead{font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);margin:1.1rem .2rem .4rem}
#menu>button,.mfoot button{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:transparent;border:0;padding:.6rem .5rem;font-size:1rem;font-family:inherit;color:var(--ink);border-radius:12px;cursor:pointer}
#menu>button:hover,.mfoot button:hover{background:var(--soft)}
.mfoot{margin-top:1.2rem;border-top:2px solid var(--line);padding-top:.6rem}
.role{margin-left:auto;background:var(--soft);border:1.5px solid var(--coral);color:var(--coral);font-size:.72rem;font-weight:800;padding:.12rem .5rem;border-radius:999px}
.count{margin-left:auto;background:var(--coral);color:#fff;font-size:.72rem;font-weight:800;min-width:1.3rem;text-align:center;padding:.12rem .35rem;border-radius:999px}

main{flex:1;width:100%;max-width:680px;margin:0 auto;padding:1.4rem 1.1rem 2.4rem}
h1{font-size:1.9rem;margin:.2rem 0 1rem;font-weight:900;letter-spacing:-.02em}
h2.sect{font-size:1.15rem;margin:1.8rem 0 .7rem}
h3{margin:.7rem 0 .2rem;font-size:1.05rem}
.meta{color:var(--muted);font-size:.92rem;margin:.15rem 0}
.search{display:flex;gap:.5rem;align-items:center;background:var(--card);border:2px solid var(--line);border-radius:999px;padding:.65rem 1rem;margin:.4rem 0 1rem}
.search input{border:0;background:transparent;flex:1;font-size:1rem;color:var(--ink);outline:none;font-family:inherit}
.cards{display:grid;gap:1rem}
.card{background:var(--card);border:2px solid var(--line);border-radius:22px;padding:1rem;box-shadow:0 6px 18px rgba(70,20,90,.07)}
.art{border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);min-height:110px}
.art.sm{min-height:52px;width:52px;font-size:1.4rem;border-radius:12px;flex:none}
.a1{background:var(--a1)}.a2{background:var(--a2)}.a3{background:var(--a3)}.a4{background:var(--a4)}.a5{background:var(--a5)}.a6{background:var(--a6)}
.join,.big{background:var(--coral);color:#fff;border:0;border-radius:999px;padding:.65rem 1.2rem;font-size:1rem;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px rgba(255,79,109,.3)}
.big{width:100%;margin-top:1rem;padding:.85rem}
.empty{color:var(--muted);text-align:center;margin:1.2rem 0}
.back{background:var(--card);border:2px solid var(--line);color:var(--ink);border-radius:999px;padding:.45rem .9rem;cursor:pointer;font-family:inherit;font-weight:700;margin-bottom:.9rem}

/* home rows */
.list{display:grid;gap:.7rem}
.rowbtn{display:flex;align-items:center;gap:.8rem;width:100%;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:.7rem .9rem;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left}
.rowbtn .grow{flex:1;display:flex;flex-direction:column;min-width:0}
.chev{font-size:1.3rem;color:var(--muted)}
.bar{display:inline-block;width:110px;height:9px;border-radius:99px;background:var(--line);overflow:hidden;flex:none}
.bar i{display:block;height:100%;background:var(--coral);border-radius:99px}
.bar.lg{width:100%;margin:.5rem 0}

/* sample screens */
.demo{display:grid;gap:1rem}
.screen{position:relative;background:var(--card);border:2px dashed var(--line);border-radius:22px;padding:1.05rem;box-shadow:0 6px 18px rgba(70,20,90,.06)}
.screen h2{margin:.9rem 0 .4rem;font-size:1.15rem}
.sample{position:absolute;top:.8rem;right:.9rem;background:var(--gold);color:#3a2a00;font-size:.72rem;font-weight:800;padding:.22rem .55rem;border-radius:999px;transform:rotate(4deg);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.pick{display:flex;gap:.5rem;align-items:center;padding:.35rem 0;font-size:1rem}
.fees{display:grid;gap:.4rem;background:var(--soft);border-radius:14px;padding:.8rem .9rem;margin:.7rem 0}
.fees div{display:flex;justify-content:space-between}
.workline{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin:.45rem 0}
.pill{font-size:.74rem;font-weight:800;padding:.18rem .55rem;border-radius:999px;background:var(--soft);border:1.5px solid var(--line);color:var(--ink);white-space:nowrap}
.pill.ok{border-color:#2a9d43;color:#2a9d43}
.pill.wait{border-color:var(--gold);color:#9a6b00}
.pill.no{border-color:#d33;color:#d33}
.field{display:block;margin:.55rem 0;font-weight:700;font-size:.92rem}
.field input{display:block;width:100%;margin-top:.25rem;padding:.55rem .7rem;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);font-family:inherit;font-size:1rem}
.labelcard{border:2px solid var(--line);border-radius:8px;padding:.7rem .9rem;background:var(--bg);font-weight:800;margin:.6rem 0}
.score{display:flex;gap:.45rem;margin:.6rem 0}
.score button{width:42px;height:42px;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);font-size:1rem;font-weight:800;cursor:pointer}
.score button.on{background:var(--coral);color:#fff;border-color:var(--coral)}
.seg{display:flex;gap:.4rem;margin:.35rem 0 .7rem}
.seg button{flex:1;padding:.5rem .3rem;border-radius:999px;border:2px solid var(--line);background:var(--bg);color:var(--ink);font-weight:700;cursor:pointer;font-family:inherit}
.seg button.on{background:var(--plum);color:#fff;border-color:var(--plum)}
.drop{border:2.5px dashed var(--coral);border-radius:18px;padding:1.4rem;text-align:center;font-size:2rem;color:var(--coral);background:var(--soft);margin-bottom:.8rem}
.rows{display:grid;gap:1.1rem;margin:1.2rem 0}
.row{display:flex;gap:1rem;align-items:flex-start}
.row>span{font-size:1.9rem}
.row h2{margin:.15rem 0 .25rem;font-size:1.2rem}
.row p{margin:0;color:var(--muted)}
footer{text-align:center;padding:1.2rem;color:var(--muted)}
@media(min-width:560px){.cards{grid-template-columns:1fr 1fr}.demo{grid-template-columns:1fr 1fr}}

/* ---- Live / Preview / Soon states ---- */
.state{font-size:.68rem;font-weight:900;padding:.16rem .5rem;border-radius:999px;white-space:nowrap;letter-spacing:.02em;flex:none}
.state.live{background:#2a9d43;color:#fff}
.state.preview{background:var(--gold);color:#3a2a00}
.state.soon{background:var(--soft);border:1.5px solid var(--line);color:var(--muted)}
h1 .state,h2.sect .state{vertical-align:middle}
#menu .state{margin-left:auto}
#menu .state + .role,#menu .state + .count{margin-left:0}
.notifybar{display:flex;gap:.6rem;align-items:center;background:var(--card);border:2px dashed var(--line);border-radius:16px;padding:.6rem .8rem;margin:0 0 1rem}
.notifybar button{margin-left:auto;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:.45rem .95rem;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px rgba(255,79,109,.3)}
.notifybar button.on{background:#2a9d43;box-shadow:none}
.soonview .demo,.soonview .orgblock,.soonview .big{opacity:.55;filter:saturate(.55)}
