/* 18409 — PLUS identity only. All selectors are scoped to PLUS pages.
   The ORIGINAL logo link and the PLUS home link retain their existing destinations.
   No authentication, reader, publication or data logic is changed here. */
:root{
  --plus-coral:#e46b74;
  --plus-coral-hover:#f08c93;
  --plus-coral-border:rgba(228,107,116,.33);
  --plus-coral-wash:rgba(228,107,116,.09);
}

/* Brand lockup: the existing graphic represents SHORTBOOK, adjacent typography
   represents the current PLUS service. The two links are independently clickable. */
.plus-topbar .plus-brand-lockup{gap:12px;min-width:0}
.plus-topbar .plus-brand{flex:0 0 auto}
.plus-topbar .plus-badge{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:4px;min-width:0;height:auto;min-height:44px;
  padding:0 0 0 13px;border-radius:0;background:none;box-shadow:none;
  color:var(--plus-coral);text-decoration:none;
}
.plus-topbar .plus-badge::before{
  content:"";position:absolute;top:6px;bottom:6px;left:0;width:1px;
  background:var(--plus-coral-border);
}
.plus-topbar .plus-badge strong{
  display:block;color:var(--plus-coral);font:900 17px/1 Inter,Pretendard,"Noto Sans KR",sans-serif;
  letter-spacing:.13em;
}
.plus-topbar .plus-badge small{
  display:block;color:#9d8a8b;font-size:8px;font-weight:680;
  line-height:1.1;letter-spacing:.015em;white-space:nowrap;
}
.plus-topbar .plus-badge:hover strong{color:var(--plus-coral-hover)}
.plus-topbar .plus-badge:focus-visible,.plus-reader-brand:focus-visible,
.plus-reader-original-brand:focus-visible{outline:2px solid var(--plus-coral);outline-offset:4px}

/* Differentiated interaction vocabulary: CORAL on PLUS, GOLD stays on ORIGINAL.
   Do not override error/success status colours or neutral account controls. */
.plus-main-tabs>a.is-active::after,.plus-main-tabs>button.is-active::after{background:var(--plus-coral)}
.plus-main-tabs>a:focus-visible,.plus-main-tabs>button:focus-visible{
  outline-color:var(--plus-coral);
}
:root{
  --plus-coral-gradient:linear-gradient(135deg,#ff7f91 0%,#ff6b83 43%,#f45874 100%);
  --plus-coral-gradient-hover:linear-gradient(135deg,#ff8a9a 0%,#ff7389 43%,#fa607b 100%);
}
.plus-primary-action,.plus-welcome-actions .plus-primary-action,
.plus-hero-feature-actions .plus-primary-action{
  border-color:rgba(255,151,169,.46);background:var(--plus-coral-gradient);
  color:#1b1013;
  box-shadow:0 8px 24px rgba(222,69,101,.22),inset 0 1px 0 rgba(255,232,236,.42),inset 0 -1px 0 rgba(176,42,72,.16);
}
.plus-primary-action:hover,.plus-welcome-actions .plus-primary-action:hover,
.plus-hero-feature-actions .plus-primary-action:hover{
  border-color:rgba(255,169,183,.56);background:var(--plus-coral-gradient-hover);color:#1b1013;
}
.plus-category-row button.is-selected{
  border-color:var(--plus-coral-border);color:var(--plus-coral-hover);background:var(--plus-coral-wash);
}
.plus-category-row button:focus-visible,
.plus-primary-action:focus-visible{outline:2px solid var(--plus-coral);outline-offset:3px}
.plus-hero-feature-kicker,.plus-welcome-eyebrow{color:var(--plus-coral)}
.plus-welcome-genre-links a:hover{border-color:var(--plus-coral-border);background:var(--plus-coral-wash)}
.plus-welcome-genre-links a span{color:var(--plus-coral)}
.plus-shelf-head>div>span,.plus-section-head>div:first-child>span{color:var(--plus-coral)}

/* The PLUS account dialog, publishing CTA, and author follow state use the same
   visual identity. This is style-only; the underlying auth/publication flow stays intact. */
.plus-auth-submit,.plus-publish-now{
  border-color:rgba(255,151,169,.46);background:var(--plus-coral-gradient);color:#1b1013;
  box-shadow:0 7px 20px rgba(222,69,101,.19),inset 0 1px rgba(255,236,239,.40),inset 0 -1px rgba(174,43,70,.15);
}
.plus-auth-submit:hover:not(:disabled),.plus-publish-now:hover:not(:disabled){
  background:var(--plus-coral-hover);border-color:var(--plus-coral-hover);
}
.plus-auth-tabs button.is-active,
html[data-theme="light"] .plus-auth-tabs button.is-active{
  color:var(--plus-coral);background:var(--plus-coral-wash);
  box-shadow:inset 0 0 0 1px var(--plus-coral-border);
}
.author-follow-button[data-active="true"]{
  border-color:var(--plus-coral-border);background:var(--plus-coral);color:#1b1013;
}
.reader-membership-actions button[data-active="true"]{
  border-color:var(--plus-coral-border);background:var(--plus-coral-wash);color:var(--plus-coral-hover);
}

/* Reader uses a compact header rather than the home page topbar. */
.plus-reader-brand-lockup{
  display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;
}
.plus-reader-brand-lockup .reader-back{
  display:grid;place-items:center;min-width:24px;height:34px;margin-right:2px;
  color:#9a9da0;text-decoration:none;font-size:17px;
}
.plus-reader-brand-lockup .reader-back:hover{color:var(--plus-coral-hover)}
.plus-reader-original-brand{display:inline-flex;align-items:center;flex:0 0 auto;min-width:0;height:42px}
.plus-reader-original-brand img{
  display:block;width:auto;height:35px;max-width:116px;object-fit:contain;
}
.plus-reader-brand{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:3px;min-width:0;min-height:37px;padding-left:10px;
  text-decoration:none;
}
.plus-reader-brand::before{
  content:"";position:absolute;top:3px;bottom:3px;left:0;width:1px;
  background:var(--plus-coral-border);
}
.plus-reader-brand strong{color:var(--plus-coral);font-size:13px;font-weight:880;letter-spacing:.12em;line-height:1}
.plus-reader-brand small{color:#9d8a8b;font-size:7.2px;font-weight:660;white-space:nowrap}
.reader-topbar .reader-tools .theme-toggle:focus-visible,
.reader-topbar .reader-tools button:focus-visible{outline:2px solid var(--plus-coral);outline-offset:2px}
/* Keep the existing reader's general type-size and comment UI stable. */

/* Light theme: slightly deeper coral for readable text on cream backgrounds. */
html[data-theme="light"]{
  --plus-coral:#b84251;
  --plus-coral-hover:#a63746;
  --plus-coral-border:rgba(184,66,81,.32);
  --plus-coral-wash:rgba(184,66,81,.08);
}
html[data-theme="light"] .plus-topbar .plus-badge small,
html[data-theme="light"] .plus-reader-brand small{color:#87666a}
html[data-theme="light"] .plus-primary-action,
html[data-theme="light"] .plus-welcome-actions .plus-primary-action,
html[data-theme="light"] .plus-hero-feature-actions .plus-primary-action{color:#fff}
html[data-theme="light"] .plus-primary-action:hover,
html[data-theme="light"] .plus-welcome-actions .plus-primary-action:hover,
html[data-theme="light"] .plus-hero-feature-actions .plus-primary-action:hover{color:#fff}
html[data-theme="light"] .plus-auth-submit,
html[data-theme="light"] .plus-publish-now{color:#fff}
html[data-theme="light"] .plus-reader-original-brand img{filter:brightness(.42) saturate(.82)}

/* Responsive: keep each service name readable without increasing header height. */
@media(max-width:1040px){
  .plus-topbar .plus-badge small{display:none}
  .plus-topbar .plus-badge strong{font-size:15px}
  .plus-reader-brand small{display:none}
}
@media(max-width:620px){
  .plus-topbar .plus-brand-lockup{gap:5px}
  .plus-topbar .plus-badge{min-height:35px;padding-left:8px}
  .plus-topbar .plus-badge strong{font-size:12px;letter-spacing:.08em}
  .plus-topbar .plus-badge::before{top:5px;bottom:5px}
  .plus-reader-brand-lockup{gap:4px}
  .plus-reader-brand-lockup .reader-back{min-width:16px;margin-right:0;font-size:15px}
  .plus-reader-original-brand img{height:25px;max-width:82px}
  .plus-reader-brand{min-height:28px;padding-left:7px}
  .plus-reader-brand strong{font-size:10.5px;letter-spacing:.06em}
}
@media(max-width:360px){
  /* Reader has 5 functional controls. Prefer keeping those controls accessible
     over squeezing a second brand logo into a very narrow bar. */
  .plus-reader-original-brand{display:none}
  .plus-reader-brand{padding-left:0}
  .plus-reader-brand::before{display:none}
}

/* 18411 · no Korean subtitle below PLUS, preserve the SHORTBOOK logo. */
.plus-topbar .plus-brand-lockup{gap:11px}
.plus-topbar .plus-badge{
  display:flex;flex-direction:row;align-items:center;min-height:40px;
  padding:0 0 0 13px;gap:0;
}
.plus-topbar .plus-badge strong{font-size:18px;letter-spacing:.15em}
.plus-topbar .plus-badge::before{top:7px;bottom:7px;background:rgba(222,180,140,.33)}
.plus-reader-brand{flex-direction:row;align-items:center;min-height:32px}
.plus-reader-brand strong{font-size:13px}
@media(max-width:620px){
  .plus-topbar .plus-brand-lockup{gap:5px}
  .plus-topbar .plus-badge{min-height:32px;padding-left:8px}
  .plus-topbar .plus-badge strong{font-size:13px;letter-spacing:.1em}
  .plus-reader-brand strong{font-size:11px}
}
