/* FicRoot Author Studio — dashboard theme.
   Loaded after author.css, so every rule here is the final word.
   Base rules below intentionally override author.css media queries too,
   which is why the responsive block at the end restates the small-screen layout. */

.studio-page{
  --bg:#0e1118;
  --rail:#111620;
  --panel:#151a23;
  --tile:#191f2b;
  --line:#202838;
  --line-soft:#1b2230;
  --text:#f3f5fa;
  --text-2:#aab2c2;
  --text-3:#7b8396;
  --blue:#0f74f0;
  --blue-soft:#6498e6;
  --violet:#9f7eff;
  --up:#46c489;
  --down:#ff7d92;
  --rail-w:236px;
  background:var(--bg);
  color:var(--text);
  font:14px/1.6 Manrope,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.studio-page strong,.studio-page b{font-weight:700}
.studio-page :focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}
.desk-icon{width:16px;height:16px;flex:0 0 16px;opacity:.85}

/* ---------- sidebar ---------- */
.studio-sidebar{
  width:var(--rail-w);padding:24px 16px;gap:0;
  background:var(--rail);border-right:1px solid var(--line-soft);
}
.studio-sidebar .studio-brand{
  padding:8px 12px 0;font-size:22px;font-weight:800;letter-spacing:.5px;line-height:1.2;color:var(--text);
}
.studio-sidebar .studio-brand span{
  font-size:12px;font-weight:500;letter-spacing:0;color:var(--text-3);margin-top:4px;text-transform:none;
}
.studio-nav-label{
  font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);
  margin:26px 12px 8px;font-weight:600;
}
.desk-nav{display:grid;gap:4px;margin:0}
.studio-sidebar .desk-nav{margin-top:26px}
.studio-sidebar .desk-nav+.studio-nav-label{margin-top:22px}
.studio-sidebar .desk-nav button,.studio-sidebar .desk-nav a{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:11px 12px;border-radius:10px;border:1px solid transparent;
  background:none;color:var(--text-2);font-size:14px;font-weight:500;text-align:left;
}
.studio-sidebar .desk-nav button:hover,.studio-sidebar .desk-nav a:hover{background:#181f2b;color:var(--text)}
.studio-sidebar .desk-nav button[aria-current]{
  background:#212a3a;border-color:#2a3446;color:#fff;font-weight:600;
}
.studio-sidebar .desk-nav button[aria-current] .desk-icon{opacity:1;color:var(--blue-soft)}
.studio-sidebar .desk-nav-soon{opacity:.6;cursor:default}
.studio-sidebar .desk-nav-soon:hover{background:none;color:var(--text-2)}
.desk-nav-soon em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line);border-radius:5px;padding:2px 6px}
.studio-sidebar-bottom{margin-top:auto;padding-top:20px}
.desk-person{border:1px solid var(--line);border-radius:12px;padding:12px;background:#141a25}
.desk-person-top{display:flex;align-items:center;gap:10px}
.desk-avatar{
  width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;
  background:#775be8;color:#fff;font-size:14px;font-weight:700;
}
.desk-person-name{min-width:0}
.desk-person-name strong{display:block;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk-person-name small{display:block;font-size:11px;color:var(--text-3);margin-top:1px}
.desk-settings{
  display:block;margin-top:10px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;
  background:#1a2130;color:var(--text-2)!important;font-size:12px;text-align:center;
}
.desk-settings:hover{background:#222a3a;color:var(--text)!important}

/* ---------- top bar ---------- */
.studio-workspace{margin-left:var(--rail-w)}
.studio-top{
  min-height:0;padding:18px 28px;gap:16px;align-items:center;
  background:var(--bg);border-bottom:1px solid var(--line-soft);
}
.desk-heading h1{font-size:23px;font-weight:700;letter-spacing:-.4px;margin:0;color:var(--text)}
.desk-heading p{font-size:13px;color:var(--text-3);margin:3px 0 0}
.studio-top-actions{display:flex;align-items:center;gap:10px}
.desk-picker select{
  appearance:none;max-width:230px;padding:9px 30px 9px 13px;border-radius:9px;
  border:1px solid var(--line);background:var(--tile);color:var(--text-2);font-size:13px;
  text-overflow:ellipsis;
  background-image:linear-gradient(45deg,transparent 50%,#8a93a5 50%),linear-gradient(135deg,#8a93a5 50%,transparent 50%);
  background-position:right 14px top 17px,right 9px top 17px;background-size:5px 5px;background-repeat:no-repeat;
}
.desk-picker select:hover{border-color:#2b3446}
.studio-primary,.studio-button{
  border-radius:9px;padding:10px 16px;font-size:13px;font-weight:600;letter-spacing:0;box-shadow:none;
  border:1px solid var(--line);background:var(--tile);color:var(--text);
}
.studio-button:hover{background:#222a3a;border-color:#2b3446}
.studio-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.studio-primary:hover{background:#2f8bff;border-color:#2f8bff}
a.studio-primary,a.studio-button{display:inline-block;line-height:1.35}

/* ---------- content ---------- */
.studio-content{max-width:1480px;margin:0;padding:20px 28px 44px}
.studio-preview-note{
  display:flex;align-items:center;gap:8px;
  border:0;padding:0;margin:0 0 16px;font-size:12px;line-height:1.6;color:var(--text-3);
}
.studio-preview-note span{
  border:0;padding:0;margin:0;font-size:inherit;letter-spacing:0;color:inherit;
}
.desk-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--violet)}
.desk-panel{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:20px}
.desk-panel>header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px}
.desk-panel>header>div:first-child{flex:1 1 150px;min-width:0}
.desk-panel>header h2{font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0;color:var(--text)}
.desk-panel>header p{font-size:12px;color:var(--text-3);margin:3px 0 0}
.desk-panel>header a,.desk-link{
  background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--blue-soft);cursor:pointer;white-space:nowrap;
}
.desk-panel>header a:hover,.desk-link:hover{color:#8fb8f0;text-decoration:underline}
.desk-pill{
  padding:6px 12px;border-radius:8px;background:var(--tile);border:1px solid var(--line);
  font-size:12px;color:var(--text-2);white-space:nowrap;
}
.desk-alert{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:14px 16px;
  border:1px solid #3a2b38;border-radius:12px;background:#1d1720;font-size:13px;color:#e4c9d3;
}

/* ---------- hero ---------- */
.desk-hero{display:flex;flex-direction:row;align-items:flex-start;gap:20px;padding:22px 24px;margin-bottom:16px}
.desk-cover{
  width:92px;flex:0 0 92px;height:116px;border-radius:12px;display:grid;place-items:center;overflow:hidden;
  border:3px solid #8b6cff;background:linear-gradient(160deg,#5b3fc4,#3b2a80);
}
.desk-cover b{font:700 34px/1 Manrope,Arial,sans-serif;color:#dcd0ff}
.desk-cover.is-fanfic{border-color:#4f9ad6;background:linear-gradient(160deg,#25567a,#1b3350)}
.desk-cover.has-art{border-color:#2a3446;padding:0}
.desk-cover img{width:100%;height:100%;object-fit:cover}
.desk-hero-copy{flex:1;min-width:0;padding-top:2px}
.desk-hero-copy h2{
  font:700 20px/1.35 Manrope,Arial,sans-serif;letter-spacing:-.3px;margin:0 0 12px;
  color:var(--text);overflow-wrap:anywhere;
}
.desk-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0;font-size:13px;color:var(--text-2)}
.desk-status{
  padding:4px 10px;border-radius:7px;background:#1c2b3f;color:#6ea8f0;
  font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
}
.desk-status.is-live{background:#16304a}
.desk-meta{font-size:12px;color:var(--text-3);margin:12px 0 0}
.desk-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:16px;text-align:right;flex:0 0 auto}
.desk-hero-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.desk-public-link{font-weight:500;color:var(--text-2)}
.desk-public-link:hover{color:var(--text)}
.desk-trend{display:grid;gap:2px}
.desk-trend>span{font-size:12px;color:var(--text-3)}
.desk-trend strong{font-size:21px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.desk-trend small{font-size:11px;color:var(--text-3)}
.is-up{color:var(--up)}
.is-down{color:var(--down)}
.is-muted{color:var(--text-3)}

/* ---------- stat tiles ---------- */
.desk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:16px;margin-bottom:16px}
.desk-stat{background:var(--tile);border:1px solid var(--line-soft);border-radius:12px;padding:18px 20px}
.desk-stat>span{display:block;font-size:12px;color:var(--text-2)}
.desk-stat strong{
  display:block;margin:8px 0 10px;font-size:28px;font-weight:700;letter-spacing:-1px;
  line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums;
}
.desk-delta{display:block;font-size:11.5px;font-weight:600}
.desk-delta.is-muted{font-weight:500}

/* ---------- layout grid ---------- */
.desk-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.desk-grid>.desk-panel{min-width:0}
.desk-blank{
  display:grid;place-content:center;justify-items:center;text-align:center;gap:6px;flex:1;
  min-height:130px;padding:22px 18px;border-radius:10px;background:#131922;border:1px dashed var(--line);
}
.desk-blank strong{font-size:14px;font-weight:600;color:var(--text-2)}
.desk-blank p{font-size:12px;line-height:1.7;color:var(--text-3);margin:0;max-width:52ch}
.desk-blank .studio-primary{margin-top:8px}

/* ---------- release performance ---------- */
.desk-plot-total{display:flex;align-items:baseline;gap:8px;margin:0 0 6px;font-size:14px}
.desk-plot-total strong{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.desk-plot-total span{font-size:13px;font-weight:600}
.desk-plot{flex:1;display:flex;flex-direction:column;justify-content:center}
.desk-plot svg{display:block;width:100%;height:auto}
.desk-grid-line{stroke:#1d2534;stroke-width:1}
.desk-area{fill:url(#deskArea)}
.desk-line{fill:none;stroke:var(--violet);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.desk-point{fill:var(--violet);stroke:var(--panel);stroke-width:2}
.desk-plot-labels{display:flex;justify-content:space-between;margin-top:6px}
.desk-plot-labels span{font-size:11px;color:var(--text-3)}

/* ---------- quick insights ---------- */
.desk-insight-rows{display:grid;gap:10px}
.desk-insight{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;
  padding:14px 16px;border-radius:10px;background:var(--tile);border:1px solid var(--line-soft);
}
.desk-insight>span{font-size:12px;color:var(--text-2)}
.desk-insight strong{
  grid-column:1;font-size:19px;font-weight:700;letter-spacing:-.4px;color:var(--text);
  font-variant-numeric:tabular-nums;
}
.desk-insight small{grid-column:2;grid-row:1/3;font-size:12px;color:var(--text-3);text-align:right;white-space:nowrap}

/* ---------- recent chapters ---------- */
.desk-chapter-rows{display:grid}
.desk-chapter-rows>button{
  display:grid;grid-template-columns:minmax(0,1fr) 72px 110px;align-items:center;gap:12px;
  width:100%;padding:13px 0;background:none;border:0;border-top:1px solid var(--line-soft);
  text-align:left;color:var(--text-2);font-size:13px;
}
.desk-chapter-rows>button:first-child{border-top:0}
.desk-chapter-rows>button:hover .desk-chapter-title{color:var(--text)}
.desk-chapter-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#c8cedb}
.desk-chapter-date,.desk-chapter-count{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums}

/* ---------- writing goal ---------- */
.desk-goal-edit{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}
.desk-goal-edit input{
  width:82px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;
  background:var(--tile);color:var(--text-2);font:inherit;font-size:12px;text-align:right;
}
.desk-goal-count{margin:0 0 12px;font-size:14px;color:var(--text-2)}
.desk-goal-count strong{font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}
.desk-progress{height:10px;border-radius:99px;background:#202838;overflow:hidden}
.desk-progress i{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,#9b7bff,#3f9bff);
  transition:width .35s ease;
}
.desk-goal-foot{display:flex;justify-content:space-between;gap:12px;margin:10px 0 0;font-size:12px;color:var(--text-3)}
.desk-goal-left{color:var(--blue-soft)}

/* ---------- first run ---------- */
.desk-firstrun{text-align:center;padding:48px 24px}
.desk-firstrun-mark{
  width:58px;height:72px;margin:0 auto 18px;border-radius:10px;display:grid;place-items:center;
  border:3px solid #8b6cff;background:linear-gradient(160deg,#5b3fc4,#3b2a80);
  font:700 26px Manrope,Arial,sans-serif;color:#dcd0ff;
}
.desk-firstrun h2{font-size:20px;font-weight:700;margin:0 0 8px}
.desk-firstrun p{font-size:13px;color:var(--text-3);margin:0 auto 20px;max-width:46ch}

/* ---------- the other studio views, kept on the same palette ---------- */
.studio-panel,.studio-story,.studio-inbox,.studio-editor{background:var(--panel);border-color:var(--line-soft);border-radius:14px}
.studio-panel{padding:22px}
.studio-section-heading h2{font-size:18px;font-weight:700}
.studio-section-heading h2 span{background:var(--tile);color:var(--text-2);border-radius:6px}
.studio-tabs{background:var(--tile);border-color:var(--line-soft);border-radius:10px}
.studio-tabs button{color:var(--text-2);font-size:13px;border-radius:7px}
.studio-tabs button[aria-pressed=true]{background:#28324a;color:#fff}
.studio-pill{color:var(--text-2);border-color:var(--line);border-radius:7px;font-size:11px}
.studio-story h3{font-size:16px;font-weight:700}
.studio-story p,.studio-story-detail p{color:var(--text-2)}
.studio-story small{color:var(--text-3)}
.studio-back{color:var(--text-2)!important;font-size:13px}
.studio-cover{background:linear-gradient(150deg,#5b3fc4,#3b2a80);border-left-color:#8b6cff88}
.fanfic-cover-art{background:linear-gradient(150deg,#25567a,#1b3350);border-color:#4f9ad688}
.studio-story-detail h2,.studio-empty h2,.studio-dialog h2{font-family:Manrope,Arial,sans-serif;font-weight:700;letter-spacing:-.4px}
.studio-chapter-list>button{border-top-color:var(--line-soft);color:var(--text-2)}
.studio-chapter-list>button:hover{background:#ffffff05}
.studio-editor{border-color:var(--line-soft)}
.studio-editor input{font-family:Manrope,Arial,sans-serif;font-weight:700;color:var(--text)}
.studio-editor textarea{color:#d5dbe6}
.editor-rule,.studio-editor footer{border-color:var(--line-soft);background:var(--line-soft)}
.studio-editor footer{background:none;border-top:1px solid var(--line-soft);color:var(--text-3)}
.studio-inbox>aside{border-right-color:var(--line-soft)}
.studio-inbox aside button{background:#1c2b3f;border-color:var(--line);color:#a8c6ee;border-radius:9px}
.studio-empty p,.studio-inbox aside p{color:var(--text-3)}
.empty-monogram,.desk-empty-mark{border-color:var(--line);background:var(--tile);color:var(--violet)}
.studio-dialog{background:var(--panel);border-color:var(--line);border-radius:16px;color:var(--text)}
.studio-dialog>p,.studio-dialog label{color:var(--text-2)}
.studio-dialog input,.studio-dialog select,.studio-dialog textarea{background:#11161f;border-color:var(--line);color:var(--text)}
#studio-status:not(:empty){background:#1c2331;border-color:var(--line);color:var(--text-2);font-family:inherit}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .studio-page{--rail-w:212px}
  .studio-content,.studio-top{padding-left:22px;padding-right:22px}
}
@media(max-width:1000px){
  .desk-grid{grid-template-columns:1fr}
}
@media(max-width:860px){
  .desk-hero{flex-wrap:wrap}
  .desk-hero-copy{flex-basis:calc(100% - 112px)}
  .desk-hero-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%;text-align:left;border-top:1px solid var(--line-soft);padding-top:16px}
  .desk-trend{text-align:right}
}
@media(max-width:700px){
  .studio-sidebar{position:relative;inset:auto;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line-soft)}
  .studio-sidebar .studio-brand{padding:0;font-size:18px}
  .studio-sidebar .studio-brand span{display:none}
  .studio-nav-label,.studio-sidebar-bottom{display:none}
  .studio-sidebar .desk-nav{display:flex;gap:6px;margin-top:14px;overflow-x:auto;padding-bottom:2px}
  .studio-sidebar .desk-nav button{width:auto;white-space:nowrap;padding:9px 12px;font-size:13px}
  .studio-workspace{margin:0}
  .studio-top{flex-wrap:wrap;padding:16px}
  .desk-heading h1{font-size:20px}
  .studio-top-actions{width:100%}
  .desk-picker,.desk-picker select{flex:1;max-width:none;width:100%}
  .studio-content{padding:16px 16px 36px}
  .desk-stats{gap:10px}
  .desk-stat{padding:14px 15px}
  .desk-stat strong{font-size:24px}
  .desk-hero{padding:18px;gap:16px}
  .desk-cover{width:76px;flex-basis:76px;height:98px}
  .desk-cover b{font-size:28px}
  .desk-hero-copy{flex-basis:calc(100% - 92px)}
  .desk-hero-copy h2{font-size:18px}
  .desk-chapter-rows>button{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .desk-chapter-count{grid-column:2;font-size:12px}
  .desk-chapter-date{grid-column:1;text-align:left;font-size:12px}
  .desk-insight small{max-width:10ch}
}
@media(prefers-reduced-motion:reduce){
  .studio-page *,.desk-progress i{transition:none!important;animation:none!important}
}
.activity-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #303544}
.activity-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.activity-row label{display:block;margin:16px 0}.activity-row textarea{display:block;width:100%;min-height:80px}.activity-row>div{min-width:0;flex:1}
