

:root {
  
  --paper:    #FFFFFF;
  --paper-2:  #F2F5F8;
  --surface:  #F8FAFC;
  --raised:   #FFFFFF;
  --sunken:   #EDF1F5;
  --ink:      #101418;
  --ink-2:    #48525E;
  --ink-3:    #5C6774;   
  --rule:     #DDE3E9;
  --rule-2:   #EBEFF3;
  --hair:     #C4CCD5;
  --brand:     #B0122B;
  --brand-2:   #8E0A20;
  --brand-hi:  #C3213D;   
  --brand-ink: #98021D;
  --brand-bg:  #FBE9EC;
  --on-brand:  #FFFFFF;
  --seal:     #0C8046;
  --seal-2:   #0A7340;
  --seal-ink: #07603A;
  --seal-bg:  #E3F6EC;
  
  --brass:    #F0B100;
  --brass-2:  #8A6100;
  
  --focus:    #98021D;
  --focus-on-fill: #101418;
  --brass-bg: #FFF5D1;
  
  --stop:     #97320F;
  --stop-bg:  #FCEBDD;   
  
  --slate:    #1565C0;
  --slate-bg: #E4EFFC;
  --field:    #86909C;
  --chip:     #EDF1F5;
  --th-bg:    #F8FAFC;
  --overlay:  #FFFFFF;
  --on-seal:  #FFFFFF;
  --on-stop:  #FFFFFF;
  --line:  var(--rule);
  --panel: var(--raised);

  --grad-fill: linear-gradient(180deg, var(--brand-hi) 0%, var(--brand) 55%, var(--brand-2) 100%);
  --hover: rgba(16,20,24,.05);
  --scrim: rgba(16,20,24,.42);
  --shadow-1: 0 1px 0 rgba(16,20,24,.03), 0 1px 3px rgba(16,20,24,.06);
  --shadow-2: 0 8px 28px rgba(16,20,24,.12);
  --shadow-3: 0 2px 4px rgba(16,20,24,.06), 0 24px 64px rgba(16,20,24,.18);
  --shadow: var(--shadow-1);
  --shadow-lift: var(--shadow-2);
  --control-h: 2.625rem;
  --control-h-sm: 2rem;
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.25rem; --s-6: 1.5rem; --s-7: 2rem; --s-8: 3rem;
  --z-subnav: 25; --z-sticky: 30; --z-dock: 40; --z-menu: 60; --z-modal: 90; --z-toast: 100;
  color-scheme: light;

  --mono:  "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans:  "Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;
  
  --display: var(--sans);
  --r-xs: 4px;
  --r:  10px;
  --r-lg: 16px;
  --r-pill: 999px;
  
  --t-1: 0.76rem;   
  --t-2: 0.84rem;   
  --t-3: 0.92rem;   
  --t-4: 1rem;      
  --t-5: 1.06rem;   
  --t-6: 1.15rem;   
  --t-7: 1.3rem;    
  --t-8: 1.5rem;    
  --t-9: 2.1rem;    

  --r-s: 6px;
}

:root[data-theme="dark"] {
  --paper: #0E1116; --paper-2: #151B23; --surface: #141A21; --raised: #1A212A; --sunken: #0A0D12;
  --ink: #E7ECF2; --ink-2: #A6B0BC; --ink-3: #8C96A2;
  --rule: #273039; --rule-2: #1E2630; --hair: #36404C;
  
  --brand: #D42A45; --brand-2: #B81C35; --brand-hi: #DA3049; --brand-ink: #FF9CAA;
  --brand-bg: #3A141B; --on-brand: #FFFFFF;
  --seal: #2FBE77; --seal-2: #4ACF8C; --seal-ink: #6FDCA6; --seal-bg: #0D2E1E;
  --brass: #F2C14E; --brass-2: #F5CE72; --brass-bg: #31270D; --focus: #FF9CAA; --focus-on-fill: #E7ECF2;
  --stop: #F08A5D; --stop-bg: #33190F; --slate: #6FA8E8; --slate-bg: #142638;
  --field: #667180; --chip: #252E39; --th-bg: #1F2731; --overlay: #1F2731;
  
  --on-seal: #042313; --on-stop: #2B0B08;
  --hover: rgba(255,255,255,.06); --scrim: rgba(0,0,0,.66);
  --shadow-1: 0 1px 3px rgba(0,0,0,.4);
  --shadow-2: 0 0 0 1px rgba(255,255,255,.06), 0 18px 44px rgba(0,0,0,.6);
  --shadow-3: 0 0 0 1px rgba(255,255,255,.07), 0 30px 70px -20px rgba(0,0,0,.8);
  color-scheme: dark;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--t-4);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "cv05" 1, "ss01" 1;
}

::selection { background: var(--brand); color: var(--on-brand); }

a { color: var(--brand-ink); text-decoration: none; border-bottom: 1px solid transparent; }
a:hover { border-bottom-color: currentColor; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.shell { max-width: 1180px; margin: 0 auto; padding: 0 clamp(1rem, 3.5vw, 2.4rem); }
header.top {
  background:
    linear-gradient(var(--surface), var(--surface));
  border-bottom: 1px solid var(--ink);
  box-shadow: 0 2px 0 var(--brand), 0 3px 0 var(--paper), 0 4px 12px rgba(16,20,24,.05);
  position: sticky; top: 0; z-index: 30;
  transition: box-shadow .22s ease;
}

header.top.scrolled { box-shadow: 0 2px 0 var(--brand), 0 3px 0 var(--paper), 0 10px 28px -12px rgba(16, 20, 24, .18); }
@media (prefers-reduced-motion: reduce) { header.top { transition: none; } }

.top-in {
  max-width: 1180px; margin: 0 auto;
  padding: .95rem clamp(1rem, 3.5vw, 2.4rem);
  display: flex; align-items: center; gap: 1rem; flex-wrap: nowrap;
}
.top-in > .brand-row, .top-in > .whoami, .top-in > .icon-btn { flex: none; }

.brand {
  display: block; white-space: nowrap; line-height: 1;
  margin-right: .4rem;
}

.brand {
  font-family: var(--sans); font-weight: 800; font-size: var(--t-8);
  letter-spacing: -.025em; color: var(--brand-ink);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .brand {
    background-image: linear-gradient(180deg, #C3213D 0%, #A70A27 42%, #84011A 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
  }
  :root[data-theme="dark"] .brand { background-image: linear-gradient(180deg, #FF8A9C 0%, #F0566B 45%, #D42A45 100%); }
}
.brand .brand-tld { font-weight: 600; letter-spacing: -.01em; }
.brand small {
  font-family: var(--sans); font-size: var(--t-1); font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase; color: var(--ink-3);
  line-height: 1; margin-top: .18rem;
}
nav.main {
  display: flex; gap: .1rem; flex-wrap: nowrap; margin-left: auto; align-items: center;
  flex: 0 1 auto; min-width: 0; overflow: visible;
}
nav.main button, nav.main a {
  flex: none; white-space: nowrap;
  background: none; border: 0; padding: .45rem .6rem; border-radius: var(--r-s);
  font-family: var(--sans); font-size: var(--t-4); font-weight: 500; color: var(--ink-2);
  cursor: pointer; position: relative; transition: color .12s, background .12s;
}
nav.main button:hover, nav.main a:hover { color: var(--ink); background: var(--paper-2); }
.nav-more { position: relative; display: inline-flex; flex: none; }
.nav-more > button { display: inline-flex; align-items: center; gap: .3rem; }
.nav-more .cv { opacity: .55; transition: transform .14s; }
.nav-more > button[aria-expanded="true"] .cv { transform: rotate(180deg); }
.nav-moremenu {
  position: absolute; top: calc(100% + .45rem); right: 0; z-index: var(--z-menu);
  min-width: 200px; padding: .4rem;
  background: var(--overlay); border: 1px solid var(--rule);
  border-radius: var(--r); box-shadow: var(--shadow-2);
}
.nav-moremenu button, .nav-moremenu a {
  display: flex; align-items: center; gap: .5rem; width: 100%;
  text-align: left; padding: .5rem .6rem; border-radius: var(--r-s);
}
.nav-moremenu button:hover, .nav-moremenu a:hover { background: var(--hover); }

nav.main .nav-moremenu a.on { background: var(--brand-bg); color: var(--brand-ink); }
nav.main .nav-moremenu a.on::after { content: none; }
.menu-sep { height: 1px; background: var(--rule); margin: .35rem .3rem; }

@media (min-width: 1024px) { .nav-moremenu > .menu-sep { display: none; } }

.menu-mobile { display: none; }
@media (max-width: 720px) { .menu-mobile { display: block; } }
nav.main button.nav-primary, nav.main a.nav-primary { color: var(--ink); font-weight: 600; }
@media (max-width: 1260px) {
  .brand small { display: none; }
}

@media (max-width: 1023px) {
  nav.main > button[data-pri="3"], nav.main > a[data-pri="3"] { display: none; }
}
@media (min-width: 1024px) {
  .nav-moremenu button.nav-demoted[data-pri="3"], .nav-moremenu a.nav-demoted[data-pri="3"] { display: none; }
}
@media (max-width: 879px) {
  nav.main > button[data-pri="2"], nav.main > a[data-pri="2"] { display: none; }
}
@media (min-width: 880px) {
  .nav-moremenu button.nav-demoted[data-pri="2"], .nav-moremenu a.nav-demoted[data-pri="2"] { display: none; }
}

@media (max-width: 900px) {
  .top-in { gap: .6rem; }
  nav.main button, nav.main a { padding: .45rem .45rem; font-size: var(--t-3); }
}
nav.main button.on, nav.main a.on { color: var(--brand-ink); font-weight: 600; }
nav.main button.on::after, nav.main a.on::after {
  content: ""; position: absolute; left: .7rem; right: .7rem; bottom: -.15rem; height: 2px;
  background: var(--brand); border-radius: 2px;
}

.whoami {
  font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3);
  display: flex; align-items: center; gap: .55rem;
}
.whoami b { color: var(--ink); font-weight: 600; font-family: var(--sans); font-size: var(--t-3); }
.view { padding: 2rem 0 5rem; }
.view[hidden], [hidden] { display: none !important; }
.page-head { position: relative; padding: 1.35rem 0 1.15rem; margin-bottom: 1.8rem; border-bottom: 1px solid var(--rule); }
.page-head::after {
  content: ""; position: absolute; left: 0; bottom: -2px; width: 48px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, #C3213D, #84011A);
}
:root[data-theme="dark"] .page-head::after { background: linear-gradient(90deg, #FFB0BB, #E0485E); }
.ph-eyebrow {
  margin: 0 0 .55rem; font-family: var(--sans); font-size: var(--t-2); font-weight: 700;
  letter-spacing: .14em; color: var(--brand-ink); line-height: 1.3;
}
.page-head h1 {
  font-family: var(--display); font-size: clamp(2rem, 3.6vw, 2.75rem); margin: 0;
  font-weight: 800; letter-spacing: -.035em; line-height: 1.1; color: var(--ink);
  text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere;
}

.page-head p:not(.ph-eyebrow) {
  margin: .7rem 0 0; color: var(--ink-2); font-size: var(--t-4); line-height: 1.7; max-width: 44em;
  text-wrap: pretty; word-break: keep-all; overflow-wrap: anywhere;
}
.ph-eyebrow { display: flex; align-items: center; gap: .4rem; }
.ph-eyebrow .ic { flex: none; }

.page-head.has-acts { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1rem; align-items: end; }
.page-head.has-acts > :not(.page-head-acts) { grid-column: 1; }
.page-head-acts { grid-column: 2; grid-row: 1 / span 3; display: flex; gap: .5rem; align-items: center; }
.crumbs { font-size: var(--t-2); color: var(--ink-3); margin: 0 0 .35rem; }
.crumbs a { color: var(--brand-ink); }
.section-lede { margin: -.35rem 0 1rem; color: var(--ink-3); font-size: var(--t-3); max-width: 46em; }
p { text-wrap: pretty; }

@media (prefers-reduced-motion: no-preference) {
  .view:not([hidden]) .page-head::after { animation: ph-bar .42s cubic-bezier(.2, .7, .2, 1) both; transform-origin: left; }
}
@keyframes ph-bar { from { transform: scaleX(0); } }
@media (max-width: 620px) {
  .page-head.has-acts { grid-template-columns: 1fr; }
  .page-head-acts { grid-column: 1; grid-row: auto; margin-top: .7rem; }
}

@media screen and (max-width: 640px) {
  .page-head { padding: .85rem 0 .8rem; margin-bottom: 1.15rem; }
  .page-head h1 { font-size: clamp(1.6rem, 7.4vw, 2rem); }
  .ph-eyebrow { margin-bottom: .4rem; }
  .page-head p:not(.ph-eyebrow) { margin-top: .45rem; font-size: var(--t-3); line-height: 1.6; }
  .page-head.ph-clamp:not(.ph-open) > p:not(.ph-eyebrow):not(.crumbs) {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
  }
  .page-head .ph-more { justify-self: start; margin-top: .2rem; font-size: var(--t-2); min-height: 32px; }
}
@media (max-width: 640px) and (pointer: coarse) { .page-head .ph-more { min-height: 44px; } }

.pl-ch { font-family: var(--display); font-weight: 800; }

h2 {
  font-family: var(--display); font-size: var(--t-7); margin: 2rem 0 .7rem; font-weight: 700;
  letter-spacing: -.018em; line-height: 1.3;
}
h3 { font-family: var(--display); font-size: var(--t-5); margin: 1.3rem 0 .45rem; font-weight: 700; letter-spacing: -.01em; }

h4 { font-family: var(--display); font-size: var(--t-3); margin: 1rem 0 .35rem; font-weight: 600; color: var(--ink-2); }
.statgrid { display: flex; flex-wrap: wrap; gap: .75rem; }
.statgrid .stat { flex: 1 1 108px; min-width: 108px; max-width: 220px; padding: .7rem .8rem; }

.statgrid .stat.wide { flex: 2 1 190px; min-width: 190px; max-width: 320px; }
.statgrid .stat .n {
  font-family: var(--sans); font-size: var(--t-7); font-weight: 800;
  font-variant-numeric: tabular-nums; line-height: 1.2; margin: .2rem 0 .15rem;
  white-space: nowrap; letter-spacing: -.02em;
}
.statgrid .stat .muted { font-size: var(--t-2); line-height: 1.45; }
@media (max-width: 520px) {
  
  .statgrid .stat, .statgrid .stat.wide { flex: 1 1 100%; max-width: none; min-width: 0; }
}
.grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fill, minmax(min(270px, 100%), 1fr)); }

.grid.wide { grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); }

.card {
  background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r);
  padding: 1.15rem 1.25rem; box-shadow: var(--shadow); transition: box-shadow .15s, transform .15s;
}
.card h3 { margin-top: 0; }

.meta { font-family: var(--sans); font-size: var(--t-2); letter-spacing: 0; color: var(--ink-3); }
.card .meta { text-transform: none; }

.panel {
  background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r);
  padding: 1.2rem 1.35rem; margin: 1.1rem 0; box-shadow: var(--shadow);
}
.tw { overflow-x: auto; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); margin: 1.1rem 0; box-shadow: var(--shadow); }
table { border-collapse: collapse; width: 100%; font-size: var(--t-4); }
th {
  font-family: var(--sans); font-size: var(--t-2); letter-spacing: .02em; text-transform: none;
  text-align: left; padding: .7rem .9rem; color: var(--ink-3); background: var(--th-bg);
  border-bottom: 1px solid var(--hair); white-space: nowrap; font-weight: 600;
}
td { padding: .62rem .9rem; border-bottom: 1px solid var(--rule-2); vertical-align: top; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: color-mix(in srgb, var(--surface) 55%, transparent); }
td.num, th.num { font-family: var(--sans); font-variant-numeric: tabular-nums lining-nums; text-align: right; white-space: nowrap; }
td.mono { font-family: var(--mono); font-size: var(--t-2); word-break: normal; color: var(--ink-2); overflow-wrap: anywhere; }
.tag {
  display: inline-flex; align-items: center; gap: .3em; font-family: var(--sans); font-size: var(--t-1); font-weight: 600;
  letter-spacing: .02em; padding: .18em .6em; border-radius: var(--r-pill); white-space: nowrap;
  background: var(--chip); color: var(--ink-2); text-transform: none; vertical-align: middle;
}
.tag.info { background: var(--slate-bg); color: var(--slate); }
.tag.brand { background: var(--brand-bg); color: var(--brand-ink); }
.tag:is(.ok, .warn, .stop, .info)::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }

.tag.code { font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; border-radius: var(--r-xs); }
.tag.ok { background: var(--seal-bg); color: var(--seal-ink); }
.tag.warn { background: var(--brass-bg); color: var(--brass-2); }
.tag.stop { background: var(--stop-bg); color: var(--stop); }
label { display: block; font-size: var(--t-2); color: var(--ink-2); margin: .8rem 0 .3rem; font-weight: 600; letter-spacing: .01em; }
input, select, textarea {
  width: 100%; padding: .56rem .7rem; border: 1px solid var(--field); border-radius: var(--r-s);
  background: var(--raised); color: var(--ink); font-family: var(--sans); font-size: var(--t-4);
  transition: border-color .12s, box-shadow .12s;
}

input:hover, select:hover, textarea:hover { border-color: var(--ink-3); }

:is(.row, .filters, .auth-form, .modal, .fld) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select) { min-height: var(--control-h); }
:is(input, select, textarea)[aria-invalid="true"] { border-color: var(--stop); box-shadow: inset 0 0 0 1px var(--stop); }
.field-help { color: var(--ink-3); font-size: var(--t-2); margin-top: .3rem; }

input[type="radio"] { width: auto; accent-color: var(--brand); }

input[type="range"] { accent-color: var(--brand); }

.switch { position: relative; flex: none; width: 36px; height: 20px; border: 0; border-radius: var(--r-pill); background: var(--hair); cursor: pointer; padding: 0; }
.switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--raised); box-shadow: var(--shadow-1); transition: transform .15s; }
.switch[aria-checked="true"] { background: var(--brand); }
.switch[aria-checked="true"]::after { transform: translateX(16px); }
@media (prefers-reduced-motion: reduce) { .switch::after { transition: none; } }
input:focus, select:focus, textarea:focus { outline: none; }

input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--focus); outline-offset: 1px; border-color: var(--ink-2); box-shadow: none;
}
input::placeholder, textarea::placeholder { color: var(--ink-3); }
textarea { min-height: 92px; resize: vertical; line-height: 1.55; }
input[type="checkbox"] { width: auto; margin-right: .4rem; accent-color: var(--brand); }
select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 2rem;
}

.row { display: flex; gap: .9rem; flex-wrap: wrap; align-items: flex-end; }
.row > * { flex: 1 1 180px; }
.row > .narrow { flex: 0 0 auto; }
:is(button, a).btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  background: var(--grad-fill);
  color: var(--on-brand); border: 1px solid var(--brand-2); border-radius: var(--r-s);
  padding: .58rem 1.15rem; font-family: var(--sans); font-size: var(--t-4); font-weight: 600; line-height: 1.25;
  cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), var(--shadow-1);
  transition: filter .12s, transform .06s, box-shadow .12s; letter-spacing: .01em; text-decoration: none;
}

:is(button, a).btn:not(:disabled, [aria-disabled="true"]):hover { filter: brightness(1.06); }
:is(button, a).btn:not(:disabled, [aria-disabled="true"]):active { transform: translateY(1px); }

:is(button, a).btn.ghost { background: var(--raised); color: var(--ink); border-color: var(--field); box-shadow: var(--shadow-1); }
:is(button, a).btn.ghost:not(:disabled, [aria-disabled="true"]):hover { background: var(--paper-2); border-color: var(--ink-3); color: var(--ink); filter: none; }
:is(button, a).btn.quiet { background: var(--raised); color: var(--ink-2); border-color: var(--rule); box-shadow: var(--shadow); }
:is(button, a).btn.quiet:not(:disabled, [aria-disabled="true"]):hover { background: var(--paper-2); filter: none; color: var(--ink); }

:is(button, a).btn.text { background: none; border-color: transparent; box-shadow: none; color: var(--brand-ink); padding-inline: .45rem; }
:is(button, a).btn.text:not(:disabled, [aria-disabled="true"]):hover { background: var(--hover); filter: none; }
:is(button, a).btn.danger {
  background: var(--raised); color: var(--stop);
  border-color: var(--rule); box-shadow: var(--shadow);
}
:is(button, a).btn.danger:not(:disabled, [aria-disabled="true"]):hover { background: var(--stop); border-color: var(--stop); color: var(--on-stop); filter: none; }
:is(button, a).btn.danger.solid { background: var(--stop); border-color: var(--stop); color: var(--on-stop); }
:is(button, a).btn.danger.solid:not(:disabled, [aria-disabled="true"]):hover { filter: brightness(1.08); }
:is(button, a).btn.sm { padding: .34rem .72rem; font-size: var(--t-2); }
:where(.note, .warn, .act):not(.tag) {
  padding: .85rem 1.05rem; margin: 1rem 0; font-size: var(--t-3); border-radius: 0 var(--r-s) var(--r-s) 0;
  border-left: 3px solid var(--ink-3); background: var(--surface); color: var(--ink);
}
:where(.note.ok):not(.tag) { border-left-color: var(--seal); background: var(--seal-bg); }
:where(.warn):not(.tag) { border-left-color: var(--stop); background: var(--stop-bg); }
:where(.act):not(.tag) { border-left-color: var(--brass); background: var(--brass-bg); }
:where(.note, .warn, .act):not(.tag) b {
  display: block; font-family: var(--sans); font-size: var(--t-3);
  letter-spacing: 0; text-transform: none; margin-bottom: .25rem; color: var(--ink-2); font-weight: 700;
}
:where(.note.ok):not(.tag) b { color: var(--seal-ink); }
:where(.warn):not(.tag) b { color: var(--stop); } :where(.act):not(.tag) b { color: var(--brass-2); }
.splitbar {
  display: flex; height: 32px; border-radius: var(--r-s); overflow: hidden;
  border: 1px solid var(--rule); margin: .7rem 0; box-shadow: var(--shadow);
}
.splitbar span {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--sans); font-size: var(--t-1); font-weight: 600; color: #fff;
  white-space: nowrap; overflow: hidden; font-variant-numeric: tabular-nums;
}

.sc-creator { background: #0C8046; }        
.sc-production { background: #06543A; }     
.sc-subject { background: #1565C0; }        
.sc-subject_pool { background: #4A8FD6; }   
.sc-tenant { background: #0D4380; }         
.sc-platform { background: #A87700; }       
.sc-referrer { background: #7A5700; }       
.sc-processing { background: #C62828; }     
.sc-compute { background: #8C1F1F; }        
.splitkey { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; font-family: var(--sans); font-size: var(--t-1); color: var(--ink-2); margin-top: .5rem; }
.splitkey i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: .4rem; vertical-align: baseline; }
.scopegrid { display: grid; gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); }
.scoperow { background: var(--raised); display: grid; grid-template-columns: 1fr auto auto auto; gap: .9rem; padding: .7rem 1rem; align-items: center; }
.scoperow .nm { font-weight: 600; font-size: var(--t-4); }
.scoperow .rate { font-family: var(--sans); font-size: var(--t-2); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.modrow {
  background: var(--raised); display: flex; gap: .9rem; align-items: flex-start;
  justify-content: space-between; padding: .7rem 1rem; margin-bottom: .4rem; border-radius: var(--r-s);
}
.modrow .nm { font-weight: 600; font-size: var(--t-4); display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.modrow-main { min-width: 0; }
.modrow-note { color: var(--ink-3); font-size: var(--t-2); margin-top: .25rem; }
.modrow-err { color: var(--stop); font-size: var(--t-2); margin-top: .3rem; }
.modrow .acts { flex: 0 0 auto; gap: .4rem; }
@media (max-width: 720px) { .modrow { flex-direction: column; } }
.seal {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--sans); font-size: var(--t-2); font-weight: 600; letter-spacing: .02em;
  padding: .38rem .8rem; border-radius: var(--r-s); background: var(--seal-bg); color: var(--seal-ink);
  border: 1px solid var(--seal); box-shadow: inset 0 0 0 2px var(--raised);
}
.seal.bad { background: var(--stop-bg); color: var(--stop); border-color: var(--stop); }
.muted { color: var(--ink-3); font-size: var(--t-3); }
.mono { font-family: var(--mono); }
.nowrap { white-space: nowrap; }

time[title] { cursor: help; }
.stack { display: flex; flex-direction: column; gap: .55rem; }
.inline { display: flex; gap: .55rem; flex-wrap: wrap; align-items: center; }
.spread { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] {
  border-color: var(--stop);
  box-shadow: 0 0 0 3px var(--stop-bg);
}
.field-err {
  display: block; margin-top: .3rem; color: var(--stop);
  font-size: var(--t-1); line-height: 1.45;
}
.field-err::before { content: "→ "; }

.spread > h2, .spread > h3, .spread > h4, .spread > p { margin: 0; }

.warn:only-child, .note:only-child, .act:only-child, p:only-child { margin: 0; }
.empty { padding: 2.6rem 1rem; text-align: center; color: var(--ink-2); font-size: var(--t-3); font-family: var(--sans); font-style: normal; line-height: 1.6; }
.empty-b { display: block; max-width: 34em; margin: 0 auto; text-wrap: pretty; }
:is(.outgrid, .grid, #feed-list, #subject-list) > .empty { grid-column: 1 / -1; }
td.empty { padding: 1.2rem; }
.empty-t { display: block; font-size: var(--t-5); font-weight: 700; color: var(--ink); margin-bottom: .25rem; }
.empty-acts { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; margin-top: 1rem; }

#toast { position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 100; display: flex; flex-direction: column; gap: .55rem; max-width: 400px; pointer-events: none; }

.toast { pointer-events: auto; }

body:has(#v-studio:not([hidden])) #toast { bottom: calc(var(--cf-submit-h, 4.6rem) + 2rem); }
@media (max-width: 1000px) { body:has(#v-studio:not([hidden])) #toast { bottom: calc(var(--cf-submit-h, 5.6rem) + .5rem); } }
@media (max-width: 760px) { body:has(#v-studio:not([hidden])) #toast { left: 1rem; right: 1rem; max-width: none; } }

.toast {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .6rem; align-items: start;
  padding: .75rem .55rem .75rem .9rem; width: min(400px, calc(100vw - 2rem));
  background: var(--overlay); color: var(--ink); border: 1px solid var(--rule); border-left: 4px solid var(--ink-3);
  border-radius: var(--r); box-shadow: var(--shadow-2); font-size: var(--t-3); line-height: 1.5; white-space: pre-line;
  animation: toast-in .22s ease;
}
.toast.ok { border-left-color: var(--seal); }
.toast.warn { border-left-color: var(--brass); }
.toast.bad { border-left-color: var(--stop); }
.toast-ic { display: grid; place-items: center; padding-top: .1rem; color: var(--ink-3); }
.toast.ok .toast-ic { color: var(--seal); }
.toast.warn .toast-ic { color: var(--brass-2); }
.toast.bad .toast-ic { color: var(--stop); }
.toast-msg { font-weight: 600; }
.toast-detail { display: block; color: var(--ink-3); font-size: var(--t-2); font-weight: 400; margin-top: .1rem; }
.toast-act { margin-top: .45rem; }
.toast-x {
  display: grid; place-items: center; width: 28px; height: 28px; margin: -.2rem 0 0; padding: 0;
  border: 0; border-radius: var(--r-s); background: none; color: var(--ink-3); cursor: pointer;
}
.toast-x:hover { background: var(--hover); color: var(--ink); }
@media (max-width: 760px) {
  #toast { left: 1rem; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); max-width: none; }
  #toast .toast { width: auto; }
  body:has(.lp-dock.on) #toast { bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
  
  body:has(.modal-back) #toast { top: calc(.6rem + env(safe-area-inset-top, 0px)); bottom: auto; }
}
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.loading { color: var(--ink-3); font-family: var(--sans); font-size: var(--t-3); padding: 1rem 0; }

@media (max-width: 720px) {
  
  .top-in { gap: .7rem; flex-wrap: wrap; }
  nav.main { width: 100%; margin-left: 0; justify-content: flex-start; overflow-x: auto; }
  .scoperow { grid-template-columns: 1fr; gap: .35rem; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
.subnav {
  background: var(--paper-2); border-bottom: 1px solid var(--rule);
  
  position: sticky; top: var(--head-h, 72px); z-index: 25;
}
.subnav-in {
  max-width: 1180px; margin: 0 auto; padding: .45rem clamp(1rem, 3.5vw, 2.4rem);
  display: flex; gap: .15rem; flex-wrap: wrap; align-items: center;
}

.subnav :is(button, a) {
  display: inline-flex; align-items: center;
  background: none; border: 0; padding: .38rem .65rem; border-radius: var(--r-s);
  font-family: var(--sans); font-size: var(--t-3); font-weight: 500; color: var(--ink-2);
  text-decoration: none; cursor: pointer; transition: background .12s, color .12s;
}
.subnav :is(button, a):hover { background: var(--hover); color: var(--ink); border-bottom-color: transparent; }

.subnav :is(button, a).on { background: var(--brand-bg); color: var(--brand-ink); font-weight: 600; box-shadow: inset 0 -2px 0 var(--brand); }
.subnav :is(button, a).on .ic { color: var(--brand); opacity: 1; }
.subnav :is(button, a) .ic { margin-right: .3rem; opacity: .7; }

.subnav-sep { flex: none; align-self: center; width: 1px; height: 1.1rem; background: var(--rule); margin: 0 .4rem; }

.nav-count {
  display: inline-block; min-width: 1.15rem; padding: 0 .32rem; margin-left: .35rem;
  border-radius: var(--r-pill); background: var(--brand); color: var(--on-brand);
  font-family: var(--sans); font-style: normal; font-weight: 700; font-size: var(--t-1);
  line-height: 1.15rem; text-align: center; font-variant-numeric: tabular-nums;
}
.nav-div { width: 1px; align-self: stretch; background: var(--rule); margin: .2rem .5rem; display: inline-block; }
.lp-hero {
  display: grid; grid-template-columns: 6fr 5fr;
  gap: clamp(1.6rem, 4vw, 3rem); align-items: center;
  padding: 2rem 0 1.4rem;
}
.lp-hero > div:first-child { max-width: 62ch; min-width: 0; }
.lp-hero .kick { font-family: var(--sans); font-size: var(--t-1); letter-spacing: .14em;
  text-transform: uppercase; color: var(--brand-ink); margin-bottom: .7rem; font-weight: 700; }
.lp-hero h1 {
  font-family: var(--display); font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.08;
  margin: 0 0 1rem; letter-spacing: -.025em; font-weight: 800;
}

.lp-hero .lead { font-size: var(--t-4); line-height: 1.75; color: var(--ink-2); max-width: 52ch; margin: 0 0 .8rem; }
.lp-hero .lead:last-of-type { margin-bottom: 0; }

.lp-stats {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem; margin-top: 1.5rem;
  padding-top: 1rem; border-top: 1px solid var(--rule-2);
}
.lp-stats b {
  display: block; font-family: var(--display); font-size: var(--t-8);
  font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums;
}
.lp-stats span {
  display: block; font-size: var(--t-1); color: var(--ink-3);
  line-height: 1.45; margin-top: .35rem;
}
.lp-block, #lp-audience, #lp-compare { padding: 2.1rem 0; border-bottom: 1px solid var(--rule-2); }
[data-rv] {
  opacity: 0; transform: translateY(16px);
  transition: opacity .62s cubic-bezier(.2, .7, .2, 1), transform .62s cubic-bezier(.2, .7, .2, 1);
  transition-delay: var(--d, 0ms);
}
[data-rv="left"] { transform: translateX(-22px); }
[data-rv="right"] { transform: translateX(22px); }
[data-rv="scale"] { transform: scale(.965); }
[data-rv].in { opacity: 1; transform: none; }
.lp-hero > div:first-child > * { transition: opacity .7s ease, transform .7s ease; }
html.js-anim .lp-hero:not(.hero-in) > div:first-child > * { opacity: 0; transform: translateY(12px); }
.lp-hero.hero-in > div:first-child > * { opacity: 1; transform: none; }

@media (max-width: 620px) { html.js-anim .lp-hero:not(.hero-in) > div:first-child > * { opacity: 1; transform: none; } }
.lp-hero.hero-in > div:first-child > :nth-child(1) { transition-delay: .05s; }
.lp-hero.hero-in > div:first-child > :nth-child(2) { transition-delay: .14s; }
.lp-hero.hero-in > div:first-child > :nth-child(3) { transition-delay: .24s; }
.lp-hero.hero-in > div:first-child > :nth-child(4) { transition-delay: .32s; }
.lp-hero.hero-in > div:first-child > :nth-child(5) { transition-delay: .42s; }
.lp-hero.hero-in > div:first-child > :nth-child(6) { transition-delay: .5s; }
.lp-hero.hero-in > div:first-child > :nth-child(7) { transition-delay: .58s; }
@media (prefers-reduced-motion: reduce) {
  [data-rv], [data-rv].in, .lp-hero > div:first-child > * {
    opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.in { opacity: 1; transform: none; transition: none; }
}
.lp-block > h2 {
  font-family: var(--sans); font-size: clamp(1.9rem, 3.6vw, 2.9rem);
  margin: 0 0 .6rem; letter-spacing: -.015em;
}
.lp-icon {
  width: 46px; height: 46px; border-radius: var(--r); display: grid; place-items: center;
  background: var(--seal-bg); color: var(--seal); border: 1px solid var(--seal); margin-bottom: 1rem;
}
.lp-points { list-style: none; margin: 0 0 1rem; padding: 0; }
.lp-points li { display: flex; gap: .55rem; align-items: flex-start; padding: .22rem 0; font-size: var(--t-4); line-height: 1.55; }
.lp-points li .ic { flex: none; color: var(--seal); margin-top: 3px; }

.lp-faq-item { border-bottom: 1px solid var(--rule-2); padding: .3rem 0; }
.lp-faq-item summary {
  cursor: pointer; padding: .85rem 0; font-weight: 600; font-size: var(--t-4);
  display: flex; gap: .8rem; align-items: baseline; list-style: none;
}
.lp-faq-item summary::-webkit-details-marker { display: none; }
.lp-faq-no { font-family: var(--sans); font-size: var(--t-3); color: var(--brand-ink); flex: none; font-weight: 800; font-variant-numeric: tabular-nums; }
.lp-faq-item[open] summary { color: var(--brand-ink); }
.lp-faq-item p { margin: 0 0 1rem 2.4rem; color: var(--ink-2); line-height: 1.75; font-size: var(--t-4); }
.lp-final { padding: 2.4rem 0 0; }
.lp-final-in {
  text-align: center; padding: 2.8rem clamp(1rem, 4vw, 3rem) 2.4rem;
  background: var(--surface); border: 1px solid var(--rule); border-radius: var(--r);
  background-image: linear-gradient(180deg, var(--paper) 0, var(--surface) 100%);
}
.lp-final .kick {
  font-family: var(--sans); font-size: var(--t-1); letter-spacing: .14em;
  text-transform: uppercase; color: var(--brand-ink); margin-bottom: .6rem; font-weight: 700;
}
.lp-final h2 {
  font-family: var(--display); font-size: clamp(1.7rem, 3.4vw, 2.4rem); font-weight: 800;
  margin: 0 0 .7rem; letter-spacing: -.03em; line-height: 1.12;
}
.lp-final p { color: var(--ink-2); margin: 0 auto 1.4rem; max-width: 56ch; line-height: 1.7; }
.lp-final-cta { justify-content: center; gap: .6rem; }
.lp-foot {
  margin-top: 2.6rem; padding: 2rem 0 2.2rem; border-top: 1px solid var(--rule);
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
  gap: 1.6rem 2.4rem; align-items: start;
}
.lp-foot-brand p { color: var(--ink-3); font-size: var(--t-2); margin: .8rem 0 0; max-width: 34ch; line-height: 1.6; }
.lp-foot-brand .brand-mark { width: 32px; height: 32px; }
.lp-foot-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.lp-foot-cols h3 {
  font-family: var(--sans); font-size: var(--t-1); letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink-3); font-weight: 700; margin: 0 0 .55rem;
}
.lp-foot-cols .linklike, .lp-foot-cols a {
  display: block; width: fit-content; padding: .18rem 0; font-size: var(--t-3);
  color: var(--ink-2); text-decoration: none; background: none; border: 0; cursor: pointer;
  font-family: var(--sans);
}
.lp-foot-cols .linklike:hover, .lp-foot-cols a:hover { color: var(--brand-ink); text-decoration: underline; }
.lp-foot-legal {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem;
  padding-top: 1.1rem; border-top: 1px solid var(--rule-2);
  font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3);
}

.lp-foot-docs { display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; margin-left: auto; }
.lp-foot-docs a { color: var(--ink-2); text-decoration: none; }
.lp-foot-docs a:hover { color: var(--brand-ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) { .lp-foot-docs { margin-left: 0; width: 100%; } }
@media (max-width: 760px) {
  .lp-foot { grid-template-columns: 1fr; gap: 1.2rem; }
  .lp-foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-final-in { padding: 2rem 1.1rem 1.8rem; }
}

@media (max-width: 860px) {
  
  .lp-hero { grid-template-columns: 1fr; gap: 1.2rem; padding-top: 1.6rem; }
}
@media (max-width: 620px) {
  
  .lp-hero { padding: 1.2rem 0 2rem; }
  .lp-hero h1 { font-size: clamp(1.9rem, 8.4vw, 2.5rem); line-height: 1.14; }
  .lp-hero .lead { font-size: var(--t-3); line-height: 1.8; }
  .lp-final .inline { display: grid; grid-template-columns: 1fr; gap: .5rem; }
  .lp-final .inline .btn { width: 100%; justify-content: center; min-height: 48px; }
  .lp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
  .lp-stats > div:last-child { grid-column: 1 / -1; }
  .lp-stats b { font-size: var(--t-7); }
  .lp-block { padding: 1.9rem 0; }
  .lp-final { padding: 2.4rem 0 1rem; }
  .lp-faq-item p { margin-left: 0; }
}
@media (max-width: 620px) {
  .lp-hero { padding: 1rem 0 1.1rem; }
  .lp-block, #lp-audience, #lp-compare { padding: 1.5rem 0; }
  .lp-secheads { margin-top: 0; }
  .lp-points li { padding: .18rem 0; font-size: var(--t-3); }
  .lp-aud h3 { margin: .1rem 0 .55rem; }
  .lp-aud .lp-points { margin-bottom: .8rem; }
  #lp-compare .tw { padding: .1rem .85rem; }
  table.lp-cmp thead { display: none; }
  table.lp-cmp, table.lp-cmp tbody, table.lp-cmp tr,
  table.lp-cmp th, table.lp-cmp td { display: block; width: auto; }
  table.lp-cmp tr { padding: .6rem 0 .65rem; border-bottom: 1px solid var(--rule-2); }
  table.lp-cmp tr:last-child { border-bottom: 0; }
  table.lp-cmp th[scope="row"] {
    background: none; width: auto; padding: 0 0 .25rem;
    font-family: var(--sans); font-size: var(--t-1); letter-spacing: .12em;
    text-transform: uppercase; color: var(--ink-3); font-weight: 500;
  }
  table.lp-cmp td { padding: .12rem 0; border: 0; line-height: 1.5; }
  .lp-cmp-old { font-size: var(--t-2); }
  .lp-cmp-old::before { content: "一般平台 · "; color: var(--ink-3); }
  .lp-cmp-new {
    background: none; margin-top: .25rem; padding-left: .6rem;
    border-left: 2px solid var(--brand); font-size: var(--t-3);
  }
  .lp-cmp-new::before { content: "ImTube.ai · "; color: var(--brand-ink); font-weight: 600; }
}
:root[data-theme="dark"] .hero .art,
:root[data-theme="dark"] img.empty-art {
  filter: invert(.9) hue-rotate(180deg) saturate(1.15);
  background: #FFFFFF;
  border-color: #DDE3E9;
}
.skip-link {
  position: absolute; left: .6rem; top: -3.2rem; z-index: 200;
  padding: .5rem .8rem; background: var(--ink); color: var(--paper);
  border-radius: var(--r-s); font-size: var(--t-2); text-decoration: none;
  transition: top .12s;
}
.skip-link:focus { top: .6rem; outline: 2px solid var(--brand); outline-offset: 2px; }
.lp-hero h1, .lp-secheads, .lp-block > h2, .lp-final h2, .lp-aud h3 {
  text-wrap: balance;
}
.lp-stats b, .rc-prog, .lp-cmp-new { font-variant-numeric: tabular-nums; }
.lp-final-cta .btn, .lp-aud .btn {
  transition: transform .18s cubic-bezier(.2, .7, .2, 1), box-shadow .18s ease, filter .12s ease, background .12s ease;
}
.lp-final-cta .btn:hover, .lp-aud .btn:hover {
  transform: translateY(-1px);
}
.lp-final-cta .btn:not(.ghost):hover {
  box-shadow: 0 8px 20px -10px rgba(211, 32, 32, .55);
}
.lp-final-cta .btn:active, .lp-aud .btn:active {
  transform: translateY(0) scale(.985); transition-duration: .06s;
}
#lp-audience .lp-aud, #lp-guarantees > * {
  transition: transform .22s cubic-bezier(.2, .7, .2, 1), box-shadow .22s ease, background .14s, border-color .14s;
}
#lp-audience .lp-aud:hover, #lp-guarantees > *:hover {
  transform: translateY(-2px);
  box-shadow: 0 1px 2px rgba(16, 20, 24, .05), 0 14px 30px -16px rgba(16, 20, 24, .22);
}

@media (prefers-reduced-motion: reduce) {
  .lp-final-cta .btn, .lp-aud .btn, #lp-audience .lp-aud,
  #lp-guarantees > * { transition: none !important; }
  .lp-final-cta .btn:hover, #lp-audience .lp-aud:hover,
  #lp-guarantees > *:hover { transform: none !important; }
}
.brand-row { display: flex; align-items: center; gap: .7rem; text-decoration: none; color: inherit; }
a.brand-row:hover .brand { filter: brightness(1.12); }
.brand-mark { width: 40px; height: 40px; flex: none; display: block; }

.ic { display: inline-block; vertical-align: -3px; }
nav.main :is(a, button) .ic { margin-right: .34rem; opacity: .72; }
nav.main :is(a, button):hover .ic { opacity: 1; }
nav.main :is(a, button).on .ic { opacity: 1; color: var(--brand); }
.btn .ic { vertical-align: -3px; margin-right: .3rem; }
.hero {
  display: grid; grid-template-columns: 5fr 7fr; gap: 1.6rem; align-items: center;
  background: linear-gradient(180deg, var(--surface), var(--paper-2));
  border: 1px solid var(--rule); border-radius: var(--r); padding: 1.5rem 1.7rem; margin-bottom: 1.7rem;
  box-shadow: var(--shadow);
}
.hero .kick { font-family: var(--sans); font-size: var(--t-1); letter-spacing: .14em; text-transform: uppercase; color: var(--brand-ink); margin-bottom: .5rem; font-weight: 700; }
.hero h2 { font-family: var(--display); font-size: clamp(1.35rem, 2.6vw, 1.85rem); font-weight: 800; margin: 0 0 .55rem; letter-spacing: -.028em; line-height: 1.15; }
.hero p { margin: 0; color: var(--ink-2); font-size: var(--t-4); max-width: 46ch; }

.hero .art { width: 100%; height: auto; display: block; aspect-ratio: 900 / 330; }
@media (max-width: 760px) { .hero { grid-template-columns: 1fr; } .hero .art { max-width: 460px; } }
.avatar { width: 100%; height: auto; display: block; border-radius: var(--r-s); border: 1px solid var(--rule); margin-bottom: .85rem; }
.age-badge {
  display: inline-flex; align-items: center; font-family: var(--sans); font-size: var(--t-1); font-weight: 700;
  background: var(--stop); color: var(--on-stop); border-radius: 3px; padding: .12em .34em; margin-right: .35rem; letter-spacing: .01em;
}
.verify-seal { width: 116px; height: 116px; float: right; margin: -.2rem 0 1rem 1.2rem; }
@media (max-width: 560px) { .verify-seal { float: none; display: block; margin: 0 auto 1rem; } }
.view-console {
  --console-w: min(1680px, calc(100vw - 2.5rem));
  width: var(--console-w);
  margin-inline: calc(50% - var(--console-w) / 2);
  padding: 1.1rem 0 1.6rem;
}
.outgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.1rem; }
.outcard {
  border: 1px solid var(--rule); border-radius: var(--r); overflow: hidden;
  background: var(--raised); box-shadow: var(--shadow); display: flex; flex-direction: column;
}
.outcard img, .outcard video {
  display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover;
  background: var(--sunken); border-bottom: 1px solid var(--rule-2);
}
.outcard audio { display: block; width: 100%; padding: .7rem; border-bottom: 1px solid var(--rule-2); }
.outcard .body { padding: .8rem .9rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.outcard .body h4 {
  margin: 0; font-family: var(--display); font-size: var(--t-4); font-weight: 700; line-height: 1.35;
  word-break: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.outcard .body .inline { margin-top: auto; }
.empty-art { width: 138px; height: auto; margin: 0 auto .6rem; display: block; }
.empty.has-art { padding-top: 2rem; }
.empty-art.lg { width: 200px; }
.crown { display: inline-block; vertical-align: -1px; margin-left: .25rem; color: var(--brass); }
.cn-search { position: relative; }
.cn-search kbd {
  position: absolute; right: .45rem; top: 50%; transform: translateY(-50%);
  font-family: var(--mono); font-size: var(--t-1); color: var(--ink-3);
  background: var(--paper-2); border: 1px solid var(--rule); border-radius: 3px; padding: .1em .3em;
  pointer-events: none;
}
.cn-cat > .cn-tool .caret { margin-left: auto; transition: transform .15s; opacity: .6; }
.cn-cat.open > .cn-tool .caret { transform: rotate(90deg); }

.cn-sub { display: none; flex-direction: column; gap: .1rem; margin: 0 0 .2rem; }
.cn-cat.open .cn-sub { display: flex; }
.info-dot {
  display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px;
  border-radius: 50%; border: 1px solid var(--hair); color: var(--ink-3);
  font-family: var(--sans); font-size: var(--t-1); cursor: help; vertical-align: 3px; margin-left: .4rem;
  position: relative; background: var(--raised);
}
.info-dot:hover { border-color: var(--brand); color: var(--brand-ink); }
.info-dot::after {
  content: attr(data-tip); position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%);
  background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: var(--t-2); font-weight: 400;
  line-height: 1.45; padding: .5rem .65rem; border-radius: var(--r-s); width: max-content; max-width: 260px;
  opacity: 0; visibility: hidden; transition: opacity .12s; z-index: 40; box-shadow: var(--shadow-lift); text-align: left;
}
.info-dot:hover::after { opacity: 1; visibility: visible; }
.icon-btn {
  display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;
  border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--raised);
  color: var(--ink-2); cursor: pointer; padding: 0;
}
.icon-btn:hover { background: var(--paper-2); color: var(--ink); border-color: var(--hair); }
.dz-formats { font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3); letter-spacing: .01em; }
.plan-grid { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.plan-card { border: 1px solid var(--rule); border-radius: var(--r); padding: 1rem 1.1rem; background: var(--raised); box-shadow: var(--shadow); }
.plan-card.on { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-bg), var(--shadow); }
.plan-card h4 { margin: 0 0 .1rem; font-family: var(--display); font-size: var(--t-5); font-weight: 700; }
.plan-card .price { font-family: var(--display); font-size: var(--t-8); font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.plan-card .price small { font-family: var(--sans); font-size: var(--t-2); color: var(--ink-3); font-weight: 400; }
.plan-card ul { list-style: none; margin: .7rem 0 0; padding: 0; font-size: var(--t-3); color: var(--ink-2); }
.plan-card li { display: flex; gap: .4rem; align-items: flex-start; padding: .16rem 0; }
.plan-card li .ic { flex: none; color: var(--brand-ink); margin-top: 1px; }
.plan-card li.off { color: var(--ink-3); }
.plan-card li.off .ic { color: var(--ink-3); opacity: .55; }
.modal-back { position: fixed; inset: 0; background: var(--scrim); z-index: var(--z-modal); display: flex;
  align-items: flex-start; justify-content: center; padding: 4vh 1rem; overflow-y: auto; overscroll-behavior: contain; }
.modal {
  background: var(--overlay); border: 1px solid var(--rule); border-radius: var(--r-lg);
  box-shadow: var(--shadow-3); max-width: 880px; width: 100%; padding: 1.5rem 1.7rem;
}
body:has(.modal-back) { overflow: hidden; }
.modal-head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 1rem;
  padding-bottom: .7rem; border-bottom: 1px solid var(--hair); }
.modal-head h3 { margin: 0; font-size: var(--t-7); }
.modal-head .x { margin-left: auto; }
.est-wrap {
  display: grid; gap: 1.1rem; align-items: start;
  grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
}
.est-form { position: sticky; top: 1rem; }
@media (max-width: 880px) {
  .est-wrap { grid-template-columns: 1fr; }
  .est-form { position: static; }
}
.est-range { font-family: var(--display); font-size: var(--t-9); font-weight: 800; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.1; margin: .35rem 0 .15rem; }
.est-sec { margin-top: 1.6rem; }

.est-sec > h2 { margin: 0 0 .2rem; }
.est-sec > .muted { margin: 0 0 .7rem; }

tr.est-now > td, tr.est-now > th { background: var(--brand-bg); color: var(--brand-ink); font-weight: 600; }
.est-law { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.est-law .card { padding: .85rem .95rem; }
.est-law h4 { margin: .3rem 0 .35rem; font-size: var(--t-4); line-height: 1.35; }
.est-law p { margin: 0; font-size: var(--t-3); color: var(--ink-2); }
.est-whatif { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); }
.est-whatif .card { padding: .9rem 1rem 1rem; }
.est-whatif td:first-child { width: 45%; }

.tag.draft { background: var(--brass-bg); color: var(--brass-2); }
.whoami { position: relative; display: flex; align-items: center; }
.userchip {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .26rem .6rem .26rem .28rem;
  border: 1px solid var(--rule); border-radius: 999px;
  background: var(--raised); cursor: pointer;
  font-family: var(--sans); font-size: var(--t-3); font-weight: 500; color: var(--ink);
  transition: border-color .12s, background .12s;
}
.userchip:hover { border-color: var(--hair); background: var(--paper-2); }
.userchip[aria-expanded="true"] { border-color: var(--brand); }
.userchip .cv { opacity: .5; flex: none; }
.userchip[aria-expanded="true"] .cv { transform: rotate(180deg); }
.av {
  width: 26px; height: 26px; border-radius: 50%; flex: none;
  background: var(--brand); color: var(--on-brand); display: grid; place-items: center;
  font-family: var(--display); font-size: var(--t-4); font-weight: 700; line-height: 1;
}
.av.lg { width: 38px; height: 38px; font-size: var(--t-7); }

.usermenu {
  position: absolute; right: 0; top: calc(100% + .55rem); min-width: 244px;
  background: var(--overlay); border: 1px solid var(--rule); border-radius: var(--r);
  box-shadow: var(--shadow-2); padding: .85rem; z-index: var(--z-menu);
}
.um-head { display: flex; align-items: center; gap: .6rem; }
.um-head b { font-size: var(--t-4); color: var(--ink); display: block; }
.um-mail { font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3); margin-top: .15rem; }
.um-roles { display: flex; flex-wrap: wrap; gap: .3rem; margin: .7rem 0 .8rem; }
.um-acts { border-top: 1px solid var(--hair); padding-top: .7rem; }
.um-acts .btn { width: 100%; }
@media (max-width: 1140px) {
  nav.main { order: 2; width: 100%; margin-left: 0; justify-content: flex-start; }
  
  #theme-toggle { margin-left: auto; }
}
@media (pointer: coarse) {
  
  :is(button, a).btn, a.btn.sm, #v-studio .cn-tool, .cr-tab, .res-plan-hint .linklike, .chip, #g-submit { min-height: 44px; }
  
  #cr-results .rc-actions .linklike, #cr-results .rc-filters .rc-mine, #cr-results .rc-more .linklike { min-height: 44px; }
  #pb-blocker { min-height: 32px; }
  
  #pb-blocker, #pb-more, #pb-detail { position: relative; }
  #pb-blocker::before { content: ""; position: absolute; inset: -6px -4px; }
  #pb-more::before, #pb-detail::before { content: ""; position: absolute; inset: -12px -4px; }
  .pb-list .linklike { min-height: 44px; display: inline-flex; align-items: center; }
  
  label.inline:has(> input:is([type="checkbox"], [type="radio"])), .stk-check, .mv-check { min-height: 44px; }
  .mc-toggle, .userchip { min-height: 44px; }
  
  body :is(.mc-dev, .stk-more, .mp-more, .gd-bulk-d, .wt-rules) > summary,
  body :is(.auth-demo, .tk-faq, .age-notice, .age-alt, .gd-beats-d, .gd-prompt) summary { padding-block: .7rem; }
  .mc-dev a { display: inline-flex; align-items: center; min-height: 44px; }
  .sf-links { row-gap: 0; }
  .sf-links a, .sf-links .linklike { display: inline-flex; align-items: center; min-height: 40px; }
  .lp-foot-cols .linklike, .lp-foot-cols a { display: flex; align-items: center; min-height: 44px; padding-block: 0; }
  .lp-foot-docs { row-gap: 0; }
  .lp-foot-docs a { display: inline-flex; align-items: center; min-height: 40px; }
  
  #v-studio .cf-submit > .pb-why { min-height: 32px; }
  .icon-btn { width: 44px; height: 44px; flex: none; }
  .subnav :is(button, a) { min-height: 44px; }
  .mp-picker { height: auto; min-height: 44px; }
  
  :where(details) > summary { padding-block: .7rem; }
  .est-quick .chip { min-height: 44px; }
  .lp-more-link a { display: inline-flex; align-items: center; min-height: 44px; }
  :is(.lp-secsub, .lp-final-note) .linklike { position: relative; }
  :is(.lp-secsub, .lp-final-note) .linklike::before { content: ""; position: absolute; inset: -10px -4px; }
  .gd-review li > .linklike, .gd-check li > .linklike { display: inline-flex; align-items: center; min-height: 44px; border-bottom: 0; text-decoration: underline; text-underline-offset: 3px; }
  .wt-badge-pill { position: relative; }
  .wt-badge-pill::before { content: ""; position: absolute; inset: -10px -3px; }
  .cn-search kbd { display: none; }
}
@media (hover: none) { .cn-search kbd { display: none; } }

@media (pointer: coarse) and (max-height: 500px) {
  header.top { position: static; }
  .subnav { top: 0; }
}
@media (max-width: 760px) {
  input:not([type="checkbox"]):not([type="radio"]),
  select:not([multiple]):not([size]), textarea:not([readonly]):not([disabled]),
  .cn-search input { font-size: var(--t-4); min-height: 44px; }
  textarea { min-height: 104px; }
  select { background-position: calc(100% - 18px) 58%, calc(100% - 13px) 58%; }
  
  #cr-results .result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  
  #cr-results .result-grid.rc-capped > :nth-child(n+5) { display: none; }
  
  #cr-results .rc-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .5rem; padding: 0 .55rem .4rem; }
  #cr-results .rc-actions .linklike { min-width: 0; justify-content: flex-start; }
  .ex-row > * { flex: none; }
  .cn-search { flex: 1 1 100%; }
  .usermenu {
    position: fixed; left: .6rem; right: .6rem; bottom: .6rem; top: auto;
    min-width: 0; padding: 1rem;
    box-shadow: 0 -10px 34px rgba(16,20,24, .22);
  }
  .um-head b { font-size: var(--t-4); }
  .um-acts .btn { min-height: 46px; }
}

@media (max-width: 760px) {
  
  header.top { position: static; }
  
  .subnav { top: 0; }
}

@media (max-width: 760px) {
  
  :is(button, a).btn.sm, a.btn.sm {
    min-height: 44px; padding: .5rem .9rem;
    display: inline-flex; align-items: center; justify-content: center; gap: .3rem;
  }
  input[type="checkbox"] { width: 22px; height: 22px; }
}
:root { --accent: var(--brand); --accent-ink: var(--brand-ink); --accent-bg: var(--brand-bg); }
.lp-icon { background: var(--accent-bg); color: var(--accent-ink); border-color: var(--accent-ink); }
.lp-points li .ic { color: var(--accent-ink); }
.lp-faq-no { color: var(--accent-ink); }
.card .meta { color: var(--ink-3); text-transform: none; }
tbody th { background: none; border-bottom: 1px solid var(--rule-2); }

@media (max-width: 760px) {
  
  th, td { padding: .55rem .6rem; }
}
#st-refs { max-height: 168px; overflow-y: auto; align-content: flex-start; }
#st-refs .chip { padding: .34rem .7rem; line-height: 1.35; }
#st-refs .chip .sub { display: inline; margin: 0 0 0 .4rem; opacity: .6; }

@media (max-width: 760px) {
  
  .subnav-in { padding: .3rem clamp(1rem, 3.5vw, 2.4rem); gap: .1rem; }
  .subnav button { padding: .3rem .5rem; }
}
#st-refs .chip { display: flex; align-items: center; gap: .55rem; }
#st-refs .chip-txt { display: block; min-width: 0; }
#st-refs .chip .sub { display: block; margin: .15rem 0 0; opacity: .72; }
.chip-thumb {
  width: 34px; height: 34px; flex: none; border-radius: 3px;
  object-fit: cover; background: var(--sunken); display: block;
}

.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: .5rem; }
.slot-tile { display: flex; flex-direction: column; gap: .2rem; min-width: 0; padding: .35rem; border: 1px solid var(--field); border-radius: var(--r-s);
  background: var(--raised); color: var(--ink); text-align: left; font-family: var(--sans); cursor: pointer; }
.slot-tile:hover { border-color: var(--ink-3); }
.slot-tile.on { border-color: var(--brand); background: var(--brand-bg); box-shadow: inset 3px 0 0 var(--brand); }
.slot-tile .slot-img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 3px; background: var(--sunken); }
.slot-tile .slot-img.kind { display: grid; place-items: center; font-size: var(--t-1); color: var(--ink-3); border: 1px solid var(--rule); }

.slot-tile .adult-media.mini { display: block; width: 100%; --adult-blur: 16px; }
.slot-tile .slot-nm { font-size: var(--t-2); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.slot-tile .sub { font-size: var(--t-1); color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chip-thumb.kind {
  display: grid; place-items: center; font-family: var(--sans);
  font-size: 0.7rem; color: var(--ink-3); text-transform: uppercase;
  border: 1px solid var(--rule);
}
.lp-secheads { font-size: clamp(1.9rem, 3.6vw, 2.9rem); margin: 0 0 .3rem; }
.lp-secsub { margin: 0 0 1.3rem; max-width: 60ch; }
.lp-note { margin: .8rem 0 0; font-size: var(--t-3); }
.lp-aud-grid {
  display: grid; gap: 1.1rem; align-items: start;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.lp-aud { display: flex; flex-direction: column; }
.lp-aud h3 { margin: .2rem 0 .8rem; font-size: var(--t-6); line-height: 1.4; }
.lp-aud .lp-points { margin-bottom: 1.1rem; }
.lp-aud .btn { margin-top: auto; align-self: flex-start; }
.lp-icon.sm { width: 34px; height: 34px; margin-bottom: .7rem; }
table.lp-cmp th[scope="row"] { background: var(--surface); width: 6.5rem; }
.lp-cmp-old { color: var(--ink-3); }
.lp-cmp-new { background: var(--brand-bg); color: var(--ink); font-weight: 500; }
.linklike {
  border: 0; background: none; padding: 0; cursor: pointer;
  font: inherit; color: var(--brand-ink); border-bottom: 1px solid currentColor;
}
.linklike:hover { color: var(--brand-ink); }
html[data-boot="deep"] #v-home { display: none; }
.lp-final-note { margin-top: 1rem; }
.auth-wrap {
  display: grid; gap: 1.1rem; align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  max-width: 860px;
}
@media (max-width: 760px) { .auth-wrap { grid-template-columns: 1fr; } }
.auth-form > label:first-of-type { margin-top: 1.1rem; }
.auth-side h3 { font-size: var(--t-5); }
.auth-side .lp-points li { padding: .35rem 0; font-size: var(--t-3); }
.auth-side .lp-points li::before {
  content: "·"; color: var(--brand-ink); font-weight: 700; margin-right: .5rem;
}
.auth-demo { margin-top: 1rem; border-top: 1px solid var(--hair); padding-top: .8rem; }
.auth-demo summary { cursor: pointer; font-weight: 600; font-size: var(--t-3); }
.auth-demo .chips { margin-top: .6rem; }
.seg {
  display: inline-flex; flex-wrap: wrap; padding: 3px; gap: 2px;
  background: var(--sunken); border: 1px solid var(--rule); border-radius: calc(var(--r-s) + 3px);
}
.auth-form .seg { margin-bottom: 1.2rem; }
.seg-btn {
  border: 0; background: none; cursor: pointer; border-radius: var(--r-s);
  min-height: var(--control-h-sm); padding: 0 .9rem; font-family: var(--sans); font-size: var(--t-3);
  font-weight: 500; color: var(--ink-2);
}
.seg-btn:hover { color: var(--ink); }
.seg-btn:is(.on, [aria-pressed="true"], [aria-selected="true"]) {
  background: var(--raised); color: var(--ink);
  font-weight: 600; box-shadow: var(--shadow-1), inset 0 -2px 0 var(--brand);
}
.seg-btn .cnt { margin-left: .35rem; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.tab { padding: .5rem .75rem; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--ink-2); font-weight: 500; cursor: pointer; font-family: var(--sans); font-size: var(--t-3); }
.tab[aria-selected="true"] { color: var(--brand-ink); border-bottom-color: var(--brand); font-weight: 650; }
@media (pointer: coarse) { .seg-btn, .tab { min-height: 44px; } }
.filters-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; }
#v-editor { max-width: none; }

.ed-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
  padding: .55rem .2rem .7rem;
  border-bottom: 1px solid var(--rule);
}
.ed-top-l, .ed-top-r { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.ed-title {
  font-family: var(--display); font-size: var(--t-6); font-weight: 700;
  border: 1px solid transparent; background: transparent; color: var(--ink);
  padding: .3rem .5rem; border-radius: 4px; min-width: 180px; max-width: 320px;
}
.ed-title:hover { border-color: var(--rule); }
.ed-title:focus { border-color: var(--brand); background: var(--raised); outline: none; }

.ed-body {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr) 300px;
  gap: .8rem;
  align-items: stretch;
  
  height: clamp(340px, 56vh, 660px);
}
@media (max-width: 1240px) {
  .ed-body { grid-template-columns: 210px minmax(0, 1fr) 260px; }
}
@media (max-width: 1000px) {
  
  .ed-body { grid-template-columns: 1fr; height: auto; }
  .ed-lib, .ed-props { max-height: 320px; }
  .ed-canvas-wrap { min-height: 300px; }
  
  .ed-preview { order: -1; }
}
.ed-lib, .ed-props {
  border: 1px solid var(--rule); border-radius: var(--r);
  background: var(--raised); box-shadow: var(--shadow);
  display: flex; flex-direction: column; overflow: hidden;
}
.ed-lib-head { padding: .55rem; border-bottom: 1px solid var(--rule); }

.ed-lib-head .seg { overflow-x: auto; flex-wrap: nowrap; }
.ed-lib-head .seg-btn { white-space: nowrap; flex: 0 0 auto; padding-inline: .5rem; }
.ed-lib-body, .ed-props { overflow-y: auto; }
.ed-lib-body { padding: .6rem; display: flex; flex-direction: column; gap: .5rem; }

.ed-asset {
  display: flex; gap: .55rem; align-items: center; text-align: left; width: 100%;
  padding: .45rem; border: 1px solid var(--rule); border-radius: 4px;
  background: var(--paper); cursor: grab; color: var(--ink);
}
.ed-asset:hover { border-color: var(--brand); background: var(--brand-bg); }
.ed-asset:active { cursor: grabbing; }
.ed-asset img, .ed-asset .ed-thumb {
  width: 46px; height: 46px; border-radius: 6px; object-fit: cover; flex: 0 0 auto;
  background: var(--paper-2); display: grid; place-items: center;
  font-size: var(--t-2); color: var(--ink-3);
}
.ed-asset b { display: block; font-size: var(--t-3); font-weight: 600; line-height: 1.25; }
.ed-asset .meta { font-size: var(--t-1); }

.ed-chip-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem; }
.ed-chip {
  padding: .5rem .4rem; border: 1px solid var(--rule); border-radius: 4px;
  background: var(--paper); font-size: var(--t-2); cursor: pointer; color: var(--ink);
  text-align: center;
}
.ed-chip:hover { border-color: var(--accent-ink); background: var(--accent-bg); }
.ed-chip.on { border-color: var(--brand); background: var(--brand-bg); color: var(--brand-ink); font-weight: 600; }
.ed-chip .sw {
  display: block; height: 30px; border-radius: 4px; margin-bottom: .3rem;
  background: linear-gradient(135deg, #7c5cff, #ff7a59 55%, #ffd166);
}
.ed-preview { display: flex; flex-direction: column; gap: .6rem; min-width: 0; min-height: 0; }
.ed-canvas-wrap {
  flex: 1 1 auto; min-height: 0;
  border: 1px solid var(--rule); border-radius: var(--r);
  background:
    linear-gradient(45deg, var(--paper-2) 25%, transparent 25%) 0 0/16px 16px,
    linear-gradient(-45deg, var(--paper-2) 25%, transparent 25%) 0 8px/16px 16px,
    linear-gradient(45deg, transparent 75%, var(--paper-2) 75%) 8px -8px/16px 16px,
    linear-gradient(-45deg, transparent 75%, var(--paper-2) 75%) -8px 0/16px 16px,
    var(--paper);
  display: grid; place-items: center; overflow: hidden; padding: .6rem;
}
#ed-canvas {
  
  box-shadow: 0 6px 28px rgba(0, 0, 0, .22); border-radius: 4px;
  background: #000;
}
.ed-transport {
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  padding: .45rem .6rem; border: 1px solid var(--rule);
  border-radius: var(--r); background: var(--raised);
}
.ed-tbtn {
  width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--rule);
  background: var(--paper); color: var(--ink); font-size: var(--t-4); cursor: pointer;
  display: grid; place-items: center;
}
.ed-tbtn:hover { border-color: var(--brand); color: var(--brand-ink); }
.ed-time { font-size: var(--t-3); font-variant-numeric: tabular-nums; }
.ed-spacer { flex: 1 1 auto; }
.ed-zoom { display: flex; align-items: center; gap: .45rem; font-size: var(--t-2); color: var(--ink-3); }
.ed-zoom input { width: 128px; padding: 0; }
.ed-props { padding: .7rem; gap: .7rem; }
.ed-prop-group { border-top: 1px solid var(--rule); padding-top: .65rem; margin-top: .3rem; }
.ed-prop-group:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.ed-prop-group > h4 {
  margin: 0 0 .5rem; font-family: var(--sans); font-size: var(--t-2); font-weight: 700;
  letter-spacing: .03em; color: var(--ink-2);
}
.ed-field { margin-bottom: .55rem; }
.ed-field > label {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: var(--t-2); color: var(--ink-3); margin-bottom: .2rem;
}
.ed-field > label b { font-variant-numeric: tabular-nums; color: var(--ink-2); font-weight: 600; }
.ed-field input[type="range"] { width: 100%; padding: 0; }
.ed-field input, .ed-field select, .ed-field textarea { font-size: var(--t-3); }
.ed-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
body.ed-focus { overflow: hidden; }
body.ed-focus > header.top,
body.ed-focus > nav.subnav { display: none; }
body.ed-focus #ed-stage {
  position: fixed; inset: 0; z-index: 30;
  background: var(--paper);
  display: grid;
  
  grid-template-rows: auto minmax(0, 1fr) auto;
}
body.ed-focus .ed-top {
  margin: 0; padding: .5rem .9rem;
  border-bottom: 1px solid var(--rule);
}
body.ed-focus .ed-body {
  height: auto; min-height: 0;
  padding: .7rem .9rem 0;
}
body.ed-focus .ed-timeline {
  margin: .7rem .9rem .9rem;
  
  max-height: 42vh; display: flex; flex-direction: column;
}
body.ed-focus .ed-tl-scroll { max-height: none; flex: 1 1 auto; min-height: 0; }
@media (max-width: 1000px) {
  
  body.ed-focus { overflow: auto; }
  body.ed-focus > header.top, body.ed-focus > nav.subnav { display: revert; }
  body.ed-focus #ed-stage { position: static; display: block; }
  body.ed-focus .ed-timeline { max-height: none; }
}
.ed-ruler { cursor: pointer; touch-action: none; }
.ed-tmore, .ed-tstate { display: none; }
@media (pointer: coarse) {
  
  .ed-clip.on .ed-handle { touch-action: none; }
  .ed-clip.on { touch-action: pan-y; }
  
  .ed-clip.on.narrow { overflow: visible; }
  .ed-clip.on.narrow .ed-handle.l { left: -16px; }
  .ed-clip.on.narrow .ed-handle.r { right: -16px; }
  .ed-nudge .btn, .ed-transport button, .ed-tl-tools button { touch-action: manipulation; }
  .ed-track-btns .ed-tmini { display: none; }
  .ed-tmore {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
    border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--t-5); cursor: pointer;
  }
  .ed-tstate { display: block; font-size: var(--t-1); color: var(--ink-2); }
  #ed-stop { width: 44px; height: 44px; }
}
@media (hover: none) { .ed-title { border-color: var(--rule); } }

@media screen and (max-width: 640px) {
  
  body.ed-focus { overflow: visible; }
  body.ed-focus #ed-stage { display: flex; flex-direction: column; --ed-gutter: 92px; }
  body.ed-focus .ed-body { display: contents; }
  body.ed-focus .ed-top { order: 0; }
  body.ed-focus .ed-preview {
    order: 1; position: sticky; top: var(--sticky-top, 0px); z-index: 6;
    background: var(--paper); padding: .4rem 0; margin: 0 .9rem; box-shadow: 0 8px 12px -10px rgba(0, 0, 0, .25);
  }
  body.ed-focus .ed-canvas-wrap { min-height: 0; height: 28vh; }
  
  body.ed-focus .ed-transport { flex-wrap: nowrap; gap: .4rem; padding: .3rem .5rem; }
  body.ed-focus .ed-transport .ed-spacer { display: none; }
  body.ed-focus .ed-zoom { flex: 1 1 auto; min-width: 0; font-size: 0; display: flex; align-items: center; }
  body.ed-focus .ed-zoom input { flex: 1 1 auto; min-width: 0; width: 100%; font-size: var(--t-4); }
  
  body.ed-focus .ed-transport .ed-tbtn { flex: none; }
  body.ed-focus .ed-time { white-space: nowrap; }
  body.ed-focus .ed-zoom { flex-basis: 0; }
  body.ed-focus .ed-timeline { order: 2; }
  body.ed-focus .ed-props { order: 3; max-height: none; margin: .7rem .9rem 0; }
  body.ed-focus .ed-lib { order: 4; margin: .7rem .9rem 0; }
  
  body.ed-focus:has(.ed-props :is(textarea, select, input:not([type="range"]):not([type="checkbox"]):not([type="color"])):focus) .ed-preview { position: static; box-shadow: none; }
  .ed-track-head b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
.ed-nudge { display: flex; gap: .4rem; flex-wrap: wrap; }
.ed-undo {
  position: fixed; left: 50%; bottom: 1.1rem; transform: translateX(-50%);
  z-index: 60; display: flex; align-items: center; gap: .8rem;
  padding: .55rem .7rem .55rem .9rem;
  background: var(--ink); color: var(--paper);
  border-radius: var(--r); box-shadow: var(--shadow-lg, 0 8px 28px rgb(0 0 0 / .28));
  font-size: var(--t-2);
}
.ed-undo .btn { background: var(--paper); color: var(--ink); border-color: transparent; }

@media screen and (max-width: 640px) {
  .ed-undo { left: .6rem; right: .6rem; transform: none; justify-content: space-between; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); }
}
.rs-grid { display: flex; flex-wrap: wrap; gap: .9rem; --rs-stage-h: clamp(120px, 22vw, 200px); }
.rs-grid.multi { --rs-stage-h: 120px; }

.rs-slot { flex: 1 1 220px; min-width: 190px; border: 0; background: none; padding: 0; }
.rs-grid > .rs-slot:only-child { flex-basis: 100%; }

.cf-reveal .rs-slot.need .rs-drop { border-color: var(--brass-2); }
.rs-slot.need:focus-within .rs-drop { border-color: var(--brass-2); background: var(--brass-bg); }

.is-flash { box-shadow: 0 0 0 3px var(--brand-bg); transition: box-shadow .3s ease; }
.rs-slot.over .rs-drop, .rs-slot.over .rs-stage { border-color: var(--brand); background: var(--brand-bg); }
.rs-hint { font-size: var(--t-1); margin: -.2rem 0 .4rem; }
.rs-head { display: flex; align-items: baseline; gap: .4rem; margin-bottom: .45rem; }
.rs-head b { font-size: var(--t-3); }
.rs-head .req { color: var(--stop); }
.rs-head .muted { font-size: var(--t-1); }

.rs-slot .rs-drop { min-height: var(--rs-stage-h); margin-top: 0; }
.rs-drop[aria-disabled="true"] { cursor: progress; }
.rs-drop .rs-prog { font-size: var(--t-2); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.rs-drop progress { width: min(220px, 80%); height: 6px; accent-color: var(--brand); }

.rs-stage { height: var(--rs-stage-h); border: 1px solid var(--rule); border-radius: var(--r); background: var(--sunken); overflow: hidden; }
.rs-stage > img, .rs-stage > video, .rs-stage .adult-media-body > img, .rs-stage .adult-media-body > video { width: 100%; height: 100%; object-fit: contain; display: block; }
.rs-stage > audio { width: calc(100% - 1rem); margin: calc(var(--rs-stage-h) / 2 - 20px) .5rem 0; }
.rs-stage .adult-media, .rs-stage .adult-media-body { display: block; height: 100%; }
.rs-meta { display: flex; align-items: center; gap: .3rem .6rem; flex-wrap: wrap; margin-top: .35rem; }
.rs-name { flex: 1 1 auto; min-width: 0; font-size: var(--t-2); line-height: 1.35; word-break: break-word; }
.rs-dims { font-size: var(--t-1); font-variant-numeric: tabular-nums; }
.rs-acts { display: flex; gap: .25rem; margin-left: auto; }
.rect-wrap { border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); padding: .65rem; }

.pr-stage {
  position: relative; max-width: 420px; margin: .5rem 0;
  border-radius: var(--r); overflow: hidden; background: var(--sunken);
  user-select: none; touch-action: pan-y;
}
.pr-stage img { display: block; width: 100%; height: auto; }
.pr-box {
  position: absolute; border: 2px solid var(--brand);
  background: color-mix(in srgb, var(--brand) 14%, transparent);
  cursor: move; touch-action: none;
}

.pr-box .pr-h {
  position: absolute; width: 14px; height: 14px; right: 0; bottom: 0;
  background: var(--paper); border: 2px solid var(--brand); border-radius: 3px;
  cursor: nwse-resize;
}
.pr-box .pr-h::after { content: ''; position: absolute; inset: -15px; }
.pr-box .pr-tag {
  position: absolute; left: 0; top: -1.4rem; white-space: nowrap;
  font-family: var(--sans); font-size: var(--t-1);
  background: var(--brand); color: var(--paper); padding: 0 .25rem; border-radius: 3px;
}
.pr-nums { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ed-timeline {
  margin-top: .8rem; border: 1px solid var(--rule); border-radius: var(--r);
  background: var(--raised); box-shadow: var(--shadow); overflow: hidden;
}
.ed-tl-tools {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  padding: .5rem .6rem; border-bottom: 1px solid var(--rule);
}
.ed-tl-scroll { overflow: auto; max-height: 340px; }
.ed-tl-inner { position: relative; min-width: 100%; }

.ed-ruler {
  position: sticky; top: 0; z-index: 3;
  height: 26px; background: var(--paper-2);
  border-bottom: 1px solid var(--rule);
  margin-left: var(--ed-gutter, 132px);
}
.ed-tick {
  position: absolute; top: 0; bottom: 0; border-left: 1px solid var(--rule);
  font-size: var(--t-1); color: var(--ink-3); padding-left: 3px; line-height: 26px;
  font-variant-numeric: tabular-nums; pointer-events: none;
}

.ed-track {
  display: flex; align-items: stretch; border-bottom: 1px solid var(--rule);
  min-height: 62px;
}
.ed-track-head {
  flex: 0 0 var(--ed-gutter, 132px); width: var(--ed-gutter, 132px);
  position: sticky; left: 0; z-index: 2;
  background: var(--paper-2); border-right: 1px solid var(--rule);
  padding: .4rem .5rem; display: flex; flex-direction: column; gap: .25rem;
  justify-content: center;
}
.ed-track-head b { font-size: var(--t-2); font-weight: 600; }
.ed-track-btns { display: flex; gap: .2rem; }
.ed-tmini {
  width: 24px; height: 24px; border-radius: 5px; border: 1px solid var(--rule);
  background: var(--paper); cursor: pointer; font-size: 0.72rem; color: var(--ink-3);
  display: grid; place-items: center; padding: 0;
}
.ed-tmini.on { background: var(--brand-bg); border-color: var(--brand); color: var(--brand-ink); }
.ed-lane { position: relative; flex: 1 1 auto; min-height: 62px; }
.ed-lane.drop { background: var(--brand-bg); }

.ed-clip {
  position: absolute; top: 5px; bottom: 5px;
  border-radius: 6px; border: 1px solid var(--rule);
  background: var(--paper); cursor: grab; overflow: hidden;
  display: flex; align-items: center; padding: 0 .4rem;
  font-size: var(--t-2); color: var(--ink); user-select: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .12);
}
.ed-clip:hover { border-color: var(--accent-ink); }
.ed-clip.on { border-color: var(--brand); border-width: 2px; background: var(--brand-bg); }
.ed-clip.k-video { background: color-mix(in srgb, var(--slate) 12%, var(--paper)); }
.ed-clip.k-audio { background: color-mix(in srgb, var(--seal) 14%, var(--paper)); }
.ed-clip.k-text { background: color-mix(in srgb, var(--brass) 20%, var(--paper)); }
.ed-clip.k-overlay { background: color-mix(in srgb, var(--brand) 10%, var(--paper)); }
.ed-clip.on.k-video, .ed-clip.on.k-audio, .ed-clip.on.k-text, .ed-clip.on.k-overlay {
  background: var(--brand-bg);
}
.ed-clip-label {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  pointer-events: none; font-weight: 600;
}
.ed-handle {
  position: absolute; top: 0; bottom: 0; width: 9px; cursor: ew-resize;
  background: transparent;
}
.ed-handle:hover { background: var(--brand); opacity: .45; }
.ed-handle.l { left: 0; border-radius: 6px 0 0 6px; }
.ed-handle.r { right: 0; border-radius: 0 6px 6px 0; }

.ed-playhead {
  position: absolute; top: 0; bottom: 0; width: 2px;
  background: var(--brand); z-index: 4; pointer-events: none;
  margin-left: var(--ed-gutter, 132px);
}
.ed-playhead::before {
  content: ''; position: absolute; top: 0; left: -5px;
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-top: 8px solid var(--brand);
}
.ed-exporting {
  position: fixed; inset: 0; z-index: 90; display: grid; place-items: center;
  background: color-mix(in srgb, var(--ink) 55%, transparent);
}
.ed-exporting .box {
  background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r);
  padding: 1.5rem 1.8rem; max-width: 420px; text-align: center; box-shadow: var(--shadow-lift);
}
.ed-bar { height: 8px; border-radius: 4px; background: var(--paper-2); overflow: hidden; margin: .9rem 0 .5rem; }
.ed-bar > i { display: block; height: 100%; background: var(--brand); width: 0; transition: width .2s; }
.tag.plain, .tag.mc-mode { text-transform: none; letter-spacing: 0; }
tr.mc-params > td { background: var(--paper-2); padding: .8rem 1rem; }
tr.mc-params h4 { margin: .9rem 0 .3rem; font-size: var(--t-3); }
tr.mc-params h4:first-child { margin-top: 0; }
tr.mc-params .tw { box-shadow: none; }
#mc-list tbody tr:not(.mc-params):hover { background: var(--brand-bg); }
.cmp-wrap {
  display: grid; grid-template-columns: 264px minmax(0, 1fr) 300px;
  gap: 1.1rem; align-items: start;
}
.cmp-tabs { display: none; }
.cmp-h { margin: 0 0 .6rem; font-family: var(--sans); font-size: var(--t-3); font-weight: 700; letter-spacing: 0; color: var(--ink); }
.cmp-h::before { display: none; }
.cmp-side {
  background: var(--surface); border: 1px solid var(--rule); border-radius: var(--r);
  padding: .9rem; position: sticky; top: calc(var(--top-h, 4.2rem) + .6rem);
  max-height: calc(100vh - var(--top-h, 4.2rem) - 1.6rem); overflow-y: auto;
}
.cmp-side-head { margin-bottom: .6rem; align-items: center; }
.cmp-side-head .cmp-h { margin: 0; }
.cmp-side label { margin-top: .6rem; }
.cmp-side textarea, .cmp-side input { font-size: var(--t-2); }
.cmp-sidehint { font-size: var(--t-1); line-height: 1.55; margin: .6rem 0 0; }
.cmp-main {
  background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r);
  display: flex; flex-direction: column; min-width: 0;
  height: calc(100vh - var(--top-h, 4.2rem) - 9.5rem); min-height: 460px;
}
.cmp-thread { flex: 1; min-height: 0; overflow-y: auto; padding: 1.1rem 1.1rem .4rem; scroll-behavior: smooth; overscroll-behavior: contain; }
.cmp-av {
  flex: none; display: inline-grid; place-items: center; border-radius: 50%;
  background: linear-gradient(160deg, #C3213D, #84011A); color: #fff;
  font-family: var(--sans); font-weight: 700; line-height: 1; user-select: none;
}
:root[data-theme="dark"] .cmp-av { background: linear-gradient(160deg, #F0566B, #A01F36); }
.cmp-list { display: grid; gap: .15rem; }
.cmp-conv {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .55rem; align-items: center;
  width: 100%; text-align: left; background: none; border: 0; border-radius: var(--r-s);
  padding: .5rem .5rem; cursor: pointer; font-family: var(--sans); color: var(--ink-2);
}
.cmp-conv:hover { background: var(--paper-2); }
.cmp-conv.on { background: var(--brand-bg); color: var(--ink); box-shadow: inset 2px 0 0 var(--brand); }
.cmp-conv-tx { min-width: 0; display: grid; }
.cmp-conv-tx b { font-size: var(--t-3); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cmp-conv-tx b i { font-style: normal; font-weight: 500; font-size: var(--t-1); color: var(--ink-3); margin-left: .3rem; }
.cmp-conv .sub { font-size: var(--t-1); color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cmp-conv-t { font-size: var(--t-1); color: var(--ink-3); font-family: var(--sans); align-self: start; padding-top: .15rem; }
.cmp-empty-list { padding: .6rem .2rem; font-size: var(--t-2); }
.cmp-headbar { display: flex; align-items: center; gap: .7rem; padding: .7rem 1rem; border-bottom: 1px solid var(--rule); flex-wrap: wrap; }
.cmp-headbar-tx { min-width: 0; flex: 1 1 8rem; }
.cmp-headbar-tx h2 { margin: 0; font-family: var(--sans); font-size: var(--t-5); font-weight: 700; letter-spacing: -.01em; }
.cmp-headbar-ctl { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.cmp-headbar-ctl select { margin: 0; width: auto; max-width: 11.5rem; padding-block: .35rem; font-size: var(--t-2); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cmp-note {
  display: grid; gap: .25rem; margin: .7rem 1rem 0; padding: .65rem .8rem; border-radius: var(--r-s);
  background: var(--slate-bg); border-left: 3px solid var(--slate); font-size: var(--t-2); line-height: 1.6; color: var(--ink-2);
}
.cmp-note b { color: var(--ink); }
.cmp-note.warnish { background: var(--brass-bg); border-left-color: var(--brass-2); }
.cmp-note.stopish { background: var(--stop-bg); border-left-color: var(--stop); }
.cmp-note .btn { justify-self: start; margin-top: .3rem; }
.cmp-row { display: flex; gap: .55rem; align-items: flex-end; margin-bottom: .95rem; }
.cmp-row.user { justify-content: flex-end; }
.cmp-bubble-wrap { max-width: min(78%, 46rem); min-width: 0; display: grid; }
.cmp-row.user .cmp-bubble-wrap { justify-items: end; }
.cmp-bubble {
  padding: .62rem .85rem; border-radius: 16px; font-size: var(--t-4); line-height: 1.7;
  background: var(--paper-2); color: var(--ink); border: 1px solid var(--rule-2);
  border-bottom-left-radius: 5px; overflow-wrap: anywhere;
}
.cmp-row.user .cmp-bubble {
  background: var(--brand); color: var(--on-brand); border-color: transparent;
  border-bottom-left-radius: 16px; border-bottom-right-radius: 5px;
}
.cmp-bubble .txt { white-space: pre-wrap; }
.cmp-meta { font-size: var(--t-1); color: var(--ink-3); margin-top: .22rem; font-family: var(--sans); letter-spacing: .02em; }
.cmp-acts { display: flex; gap: .2rem; margin-top: .15rem; opacity: 0; transition: opacity .15s; }
.cmp-row:hover .cmp-acts, .cmp-row:focus-within .cmp-acts, .cmp-row:last-child .cmp-acts { opacity: 1; }
@media (hover: none) { .cmp-acts { opacity: 1; } }
.cmp-act {
  display: inline-flex; align-items: center; gap: .25rem; background: none; border: 0; cursor: pointer;
  font-family: var(--sans); font-size: var(--t-1); color: var(--ink-3); padding: .2rem .4rem; border-radius: var(--r-s);
}
.cmp-act:hover { color: var(--brand-ink); background: var(--brand-bg); }
.cmp-att-img { display: block; max-width: 220px; max-height: 220px; border-radius: 10px; margin-bottom: .4rem; }
.cmp-fading { opacity: .45; transition: opacity .2s; }
.cmp-hello { display: grid; justify-items: center; gap: .6rem; padding: 2.4rem 1rem; color: var(--ink-3); text-align: center; }
.cmp-dots { display: inline-flex; gap: .28rem; padding: .25rem .1rem; }
.cmp-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-3); animation: cmp-dot 1.1s infinite ease-in-out; }
.cmp-dots i:nth-child(2) { animation-delay: .15s; }
.cmp-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes cmp-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-4px); opacity: 1; } }
.cmp-photo {
  display: flex; align-items: center; gap: .5rem; margin-top: .45rem; min-height: 3rem;
  font-size: var(--t-2); color: var(--ink-3);
}
.cmp-photo.done { display: block; }
.cmp-photo img { display: block; width: min(300px, 100%); height: auto; border-radius: 12px; border: 1px solid var(--rule); }
.cmp-photo.failed { color: var(--stop); }
.cmp-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--rule); border-top-color: var(--brand); animation: cmp-spin .8s linear infinite; }
@keyframes cmp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cmp-dots i, .cmp-spin { animation: none; } .cmp-thread { scroll-behavior: auto; } }
.cmp-compose { border-top: 1px solid var(--rule); padding: .65rem .8rem .55rem; background: var(--surface); border-radius: 0 0 var(--r) var(--r); }
.cmp-compose-row { display: flex; gap: .45rem; align-items: flex-end; }
.cmp-compose textarea { flex: 1; margin: 0; resize: none; min-height: 2.6rem; max-height: 160px; line-height: 1.6; border-radius: 14px; padding: .55rem .8rem; }
.cmp-compose .btn { align-self: flex-end; }
.cmp-tool { flex: none; width: 2.5rem; height: 2.5rem; display: inline-grid; place-items: center; }
.cmp-tool:disabled { opacity: .4; cursor: not-allowed; }
.cmp-hint { font-size: var(--t-1); color: var(--ink-3); margin-top: .35rem; }
.cmp-attach { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; font-size: var(--t-2); color: var(--ink-2); }
.cmp-attach img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; border: 1px solid var(--rule); }
.cmp-form { padding: 1rem 1.1rem 1.2rem; overflow-y: auto; }
.cmp-form-h { margin: 0 0 .7rem; font-family: var(--sans); font-size: var(--t-5); font-weight: 700; }
.cmp-form-h::before { display: none; }
.cmp-form label { margin-top: .7rem; }
.cmp-form label .muted { font-weight: 400; font-size: var(--t-1); margin-left: .3rem; }
.cmp-form-note { font-size: var(--t-1); line-height: 1.6; margin: .8rem 0; }
.cmp-presets { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .2rem; }
.cmp-presets .chip { display: inline-flex; align-items: center; gap: .4rem; }
.cmp-tracker { display: grid; gap: .3rem; }
.cmp-trk {
  display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: .45rem; align-items: center;
  padding: .42rem .55rem; border-radius: var(--r-s); background: var(--paper-2); font-size: var(--t-2);
}
.cmp-trk .ic { color: var(--brand-ink); }
.cmp-trk .k { color: var(--ink-3); }
.cmp-trk .v { text-align: right; color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
.cmp-trk.is-empty .v { color: var(--ink-3); font-weight: 400; }
.cmp-trk.is-empty .ic { color: var(--ink-3); }
.cmp-trk.changed { animation: cmp-flash 1.6s ease-out; }
@keyframes cmp-flash { 0% { background: var(--brass-bg); } 100% { background: var(--paper-2); } }
.cmp-memstats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3rem; text-align: center; }
.cmp-memstats span { display: grid; font-size: var(--t-1); color: var(--ink-3); background: var(--paper-2); border-radius: var(--r-s); padding: .35rem .2rem; }
.cmp-memstats b { font-size: var(--t-4); color: var(--ink); font-family: var(--sans); font-weight: 700; font-variant-numeric: tabular-nums; }

.trk { display: flex; justify-content: space-between; gap: .6rem; padding: .35rem 0;
  border-bottom: 1px dashed var(--rule-2); font-size: var(--t-2); }
.trk:last-child { border-bottom: 0; }
.trk b { font-weight: 500; color: var(--ink-3); }
@media (max-width: 1080px) {
  .cmp-tabs {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: .25rem; margin: 0 0 .7rem;
    background: var(--paper-2); border: 1px solid var(--rule); border-radius: 999px; padding: .2rem;
  }
  .cmp-tabs button {
    border: 0; background: none; border-radius: 999px; padding: .5rem .4rem; cursor: pointer;
    font-family: var(--sans); font-size: var(--t-2); font-weight: 600; color: var(--ink-3);
  }
  .cmp-tabs button.on { background: var(--surface); color: var(--brand-ink); box-shadow: 0 1px 2px rgba(16, 20, 24, .12); }
  .cmp-wrap { grid-template-columns: 1fr; }
  .cmp-wrap > * { display: none; }
  .cmp-wrap[data-pane="list"] > .cmp-pane-list,
  .cmp-wrap[data-pane="side"] > .cmp-pane-side { display: block; }
  .cmp-wrap[data-pane="chat"] > .cmp-pane-chat { display: flex; }
  .cmp-side { position: static; max-height: none; }
  .cmp-main { height: calc(100dvh - var(--top-h, 4.2rem) - 8.2rem); min-height: 420px; }
  .cmp-bubble-wrap { max-width: 86%; }
}
@media (max-width: 620px) {
  #v-companion .page-head p { display: none; }     
  .cmp-headbar { padding: .55rem .7rem; }
  .cmp-headbar-ctl select { max-width: 8.5rem; }
  .cmp-thread { padding: .8rem .7rem .2rem; }
  .cmp-compose { padding: .5rem .55rem .45rem; }
  .cmp-hint { display: none; }
  .cmp-memstats { grid-template-columns: repeat(2, 1fr); }
}
.pr-wrap {
  display: grid; grid-template-columns: 260px minmax(0, 1fr);
  gap: 1.1rem; align-items: start; margin-top: 1.4rem;
}
.pr-detail { min-width: 0; }

@media (max-width: 1080px) {
  .pr-wrap { grid-template-columns: 1fr; }
}
.pp-object { grid-column: 1 / -1; }
.pp-object > div > .pp-sub {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: .5rem .7rem; padding: .7rem; margin-top: .3rem;
  background: var(--paper-2); border: 1px solid var(--rule); border-radius: var(--r-s);
}
.pp-sub label { font-size: var(--t-2); }

#pp-fields .pp-help { display: block; margin-top: .3rem; font-size: var(--t-1); line-height: 1.45; color: var(--ink-3); }

.pp-price { margin-left: .4rem; font-size: var(--t-1); color: var(--ink-3); font-weight: 400; }

.pp-rawkey { font-family: var(--mono); font-weight: 500; }

#st-categories { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .4rem; }
#st-categories > .act { grid-column: 1 / -1; }
#st-categories .cat-row { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; text-align: left; padding: .4rem .75rem; line-height: 1.35; }
#st-categories .cat-name { min-width: 0; }
#st-categories .cat-tag { margin-left: .4rem; font-size: var(--t-1); color: var(--ink-3); font-weight: 400; }
#st-categories .cat-fee { font-variant-numeric: tabular-nums; font-size: var(--t-2); color: var(--ink-2); white-space: nowrap; }
@media (max-width: 760px) { #st-categories { grid-template-columns: 1fr; } }
.pp-sub input { margin: 0; }
.pp-sub .muted { font-size: var(--t-1); }
.result-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .7rem; margin-top: .8rem;
}

.result-card {
  display: flex; flex-direction: column;
  border: 1px solid var(--rule); border-radius: var(--r-s); overflow: hidden;
  background: var(--raised); box-shadow: var(--shadow);
}
.result-card > .rc-body { flex: 1 0 auto; }
.result-card > .btn { align-self: flex-start; }
.rc-card-btn { margin: .4rem .55rem; }

.rc-chain-wrap { position: relative; display: inline-flex; }
.rc-chain-menu {
  position: fixed; z-index: 40; min-width: 13rem; max-width: 18rem;
  max-height: calc(100dvh - 16px); overflow-y: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; padding: .3rem; border: 1px solid var(--rule); border-radius: var(--r-s);
  background: var(--overlay); box-shadow: var(--shadow-3);
}
.rc-chain-item {
  border: 0; background: none; text-align: left; padding: .5rem .6rem; border-radius: var(--r-s); cursor: pointer;
  font-family: var(--sans); font-size: var(--t-2); color: var(--ink); display: flex; align-items: center; gap: .35rem; min-height: 36px;
}
.rc-chain-item:hover, .rc-chain-item:focus-visible { background: var(--hover); }
.rc-chain-empty { padding: .5rem .6rem; font-size: var(--t-2); }
@media (pointer: coarse) { .rc-chain-item { min-height: 44px; } }

.rc-group { grid-column: 1 / -1; min-width: 0; border: 1px solid var(--rule); border-radius: var(--r); background: var(--surface); padding: .6rem; }
.rc-group-head { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; margin-bottom: .5rem; font-size: var(--t-2); }
.rc-group-t { font-weight: 600; min-width: 0; }
.rc-group-tags { display: inline-flex; flex-wrap: wrap; gap: .3rem; }
.rc-group-stop { margin-left: auto; }
.rc-group-strip {
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 180px); gap: .7rem;
  overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .3rem;
}
.rc-group-strip > * { scroll-snap-align: start; }
.rc-variant { font-size: var(--t-1); color: var(--ink-2); margin-top: .15rem; }

.rc-media { position: relative; display: block; }
.rc-media img { cursor: zoom-in; }
.rc-zoom {
  position: absolute; top: .4rem; left: .4rem; width: 32px; height: 32px; display: grid; place-items: center;
  border-radius: var(--r-s); border: 1px solid var(--rule); background: var(--raised); color: var(--ink); cursor: pointer; opacity: .92;
}
.rc-zoom:hover { opacity: 1; border-color: var(--ink-3); }

.modal.rv {
  width: min(1200px, 96vw); max-width: none; max-height: 94dvh; display: grid;
  grid-template-columns: minmax(0, 1fr) 300px; grid-template-rows: auto minmax(0, 1fr); gap: .8rem 1rem;
}
.rv-head { grid-column: 1 / -1; display: flex; align-items: center; gap: .4rem; min-width: 0; }
.rv-head h3 { margin: 0; flex: 1; min-width: 0; font-family: var(--sans); font-size: var(--t-4); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-count { color: var(--ink-3); font-size: var(--t-2); font-variant-numeric: tabular-nums; }
.rv-media { background: var(--sunken); border-radius: var(--r-s); display: grid; place-items: center; min-height: 0; overflow: hidden; }
.rv-media .adult-media { display: grid; place-items: center; width: 100%; height: 100%; }
.rv-media img, .rv-media video { display: block; max-width: 100%; max-height: 80dvh; width: auto; height: auto; object-fit: contain; aspect-ratio: auto; }
.rv-side { min-height: 0; overflow-y: auto; font-size: var(--t-2); }
.rv-meta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem .8rem; margin: 0; }
.rv-meta dt { color: var(--ink-3); }
.rv-meta dd { margin: 0; font-variant-numeric: tabular-nums; min-width: 0; word-break: break-word; }
.rv-prompt { margin-top: .9rem; }
.rv-prompt b { display: block; font-size: var(--t-1); color: var(--ink-3); font-weight: 600; }
.rv-prompt p { margin: .2rem 0 .5rem; white-space: pre-wrap; word-break: break-word; }
.rv-side .rc-actions { padding: .9rem 0 0; }
@media (max-width: 760px) {
  
  .rv-back { padding: 0; }
  .rv-head { position: sticky; top: 0; z-index: 2; background: var(--overlay); padding-block: .3rem; }
  .rv-media { touch-action: pan-y; }
  .modal.rv { width: 100vw; max-height: 100dvh; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; overflow-y: auto; }
  .rv-media img, .rv-media video { max-height: 60dvh; }
  .rv-head .rv-nav, .rv-head .x, .rc-zoom { min-width: 44px; min-height: 44px; }
}

.result-card img, .result-card video {
  display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain;
  background: var(--sunken); border-bottom: 1px solid var(--rule-2);
}
.result-card audio { display: block; width: 100%; padding: .6rem; }
.rc-body { padding: .45rem .55rem; }

.result-card .rc-t {
  margin: 0; font-family: var(--sans); letter-spacing: normal; font-size: var(--t-2); font-weight: 600; line-height: 1.35;
  word-break: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rc-meta { font-family: var(--sans); font-variant-numeric: tabular-nums; font-size: var(--t-1); color: var(--ink-3); margin-top: .2rem; }
.result-pending { display: flex; flex-direction: column; gap: .4rem; padding: .7rem; font-size: var(--t-2); color: var(--ink-2); }

.rc-stage {
  aspect-ratio: 1 / 1; display: grid; place-items: center; color: var(--ink-3);
  background: var(--sunken); border-bottom: 1px solid var(--rule-2);
}
.rc-stage .ic { width: 28px; height: 28px; opacity: .55; }

.rc-stage.is-running, .rc-stage.is-queued { background: var(--sunken); position: relative; overflow: hidden; }
.rc-stage.is-running::after, .rc-stage.is-queued::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, transparent 30%, var(--chip) 50%, transparent 70%);
  transform: translateX(-100%); animation: rc-shimmer 1.8s linear infinite; will-change: transform;
}
@keyframes rc-shimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .rc-stage.is-running::after, .rc-stage.is-queued::after { animation: none; display: none; } }
.rc-stage.is-failed { color: var(--stop); }
.rc-stage.is-cancelled .ic { opacity: .3; }
.rc-bar {
  position: relative; height: 4px; margin: .5rem 0 .3rem;
  background: var(--sunken); border-radius: 2px; overflow: hidden;
}
.rc-bar > i {
  display: block; height: 100%; background: var(--brand);
  border-radius: 2px; transition: width .4s ease;
}

.rc-bar.idk > i {
  width: 34%;
  animation: rc-slide 1.4s ease-in-out infinite;
  background: linear-gradient(90deg, var(--rule), var(--brand), var(--rule));
}
@keyframes rc-slide {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(320%); }
}
@media (prefers-reduced-motion: reduce) {
  
  .rc-bar.idk > i { animation: none; width: 100%; opacity: .45; }
  .rc-bar > i { transition: none; }
}
.rc-prog { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }

.rc-text {
  display: flex; align-items: center; gap: .55rem; padding: .9rem .8rem;
  text-decoration: none; color: var(--ink); background: var(--paper-2);
  border-bottom: 1px solid var(--rule);
}
.rc-text:hover { background: var(--sunken); }
.rc-text-ic {
  flex: 0 0 auto; font-family: var(--sans); font-size: var(--t-1);
  padding: .2rem .35rem; border: 1px solid var(--rule); border-radius: 3px;
  background: var(--paper); color: var(--ink-3);
}
.rc-text-n { font-size: var(--t-2); line-height: 1.4; word-break: break-word; }

.rc-eta { margin-top: .3rem; font-size: var(--t-1); color: var(--ink-3); line-height: 1.45; }

.rc-nocancel { margin: .4rem .55rem; font-size: var(--t-1); color: var(--ink-3); line-height: 1.45; }
.live-strip {
  margin-bottom: 1.1rem; padding: .75rem .9rem .85rem;
  border: 1px solid var(--rule); border-left: 3px solid var(--brass);
  border-radius: var(--r); background: var(--surface);
}
.live-head {
  display: flex; gap: .6rem; align-items: center; flex-wrap: wrap;
  margin-bottom: .6rem; font-size: var(--t-2);
}
.live-head .linklike { margin-left: auto; font-size: var(--t-2); }
.live-strip .result-grid { margin: 0; }
.live-strip.compact .live-items { display: grid; gap: .3rem; }
.live-line { display: flex; justify-content: space-between; gap: .8rem; font-size: var(--t-2); }
.live-line .mono { color: var(--ink-3); white-space: nowrap; }
.pb-livepill { border: 0; cursor: pointer; min-height: 32px; font-family: var(--sans); }
@media (min-width: 1001px) { #pb-livepill { display: none !important; } }

@media (min-width: 721px) { #subnav .nav-live { display: none; } }
#cr-results .result-card { scroll-margin-top: calc(var(--sticky-top, var(--top-h, 3rem)) + 8px); }

.nav-live {
  display: inline-block; min-width: 1.15rem; padding: 0 .3rem; margin-left: .35rem;
  border-radius: 99px; background: var(--brand); color: var(--on-brand);
  font-family: var(--sans); font-style: normal; font-size: var(--t-1);
  line-height: 1.15rem; text-align: center; vertical-align: 1px; font-variant-numeric: tabular-nums;
}
@media (max-width: 620px) {
  .live-line { flex-direction: column; gap: .1rem; }
}

.rc-eta.warn-t { color: var(--brass-2); }
.rc-prog .mono { font-size: var(--t-1); color: var(--ink-3); }
.dropzone.over { border-color: var(--brand); background: var(--brand-bg); }
.up-panel { margin-top: .6rem; }
.up-row {
  display: flex; align-items: center; gap: .6rem; padding: .45rem 0;
  border-bottom: 1px solid var(--rule-2); font-size: var(--t-2);
}
.up-row:last-of-type { border-bottom: 0; }
.up-row.bad .up-state { color: var(--stop); font-weight: 500; }
.up-row.ok .up-state { color: var(--seal-ink); }
.up-thumb {
  width: 44px; height: 44px; flex: none; border-radius: var(--r-s);
  object-fit: cover; background: var(--sunken); border: 1px solid var(--rule-2);
}
.up-thumb.kind {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--sans); font-size: 0.7rem; color: var(--ink-3);
}
.up-name { flex: 1; min-width: 0; word-break: break-all; line-height: 1.3; }
.up-name .muted { font-size: var(--t-1); }
.up-state { flex: none; color: var(--ink-3); font-variant-numeric: tabular-nums; }

.rc-err {
  margin-top: .35rem; font-size: var(--t-1); line-height: 1.4; color: var(--stop);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.rc-refund { font-size: var(--t-1); color: var(--ink-2); margin-top: .2rem; }

.result-card.is-failed { border-color: var(--hair); }
.rc-actions {
  display: flex; flex-wrap: wrap; gap: .15rem .6rem; align-items: center;
  padding: .1rem .55rem .45rem; font-size: var(--t-1);
}

.rc-actions .linklike {
  display: inline-flex; align-items: center; min-height: 32px;
  border-bottom: 0; color: var(--ink-2); font-weight: 500;
  text-decoration: underline; text-decoration-color: var(--rule);
  text-underline-offset: 3px; white-space: nowrap;
}
.rc-actions .linklike:hover, .rc-actions .linklike:focus-visible { color: var(--brand-ink); text-decoration-color: currentColor; }

.rc-actions .rc-primary { color: var(--brand-ink); }

@media (min-width: 1001px) {
  #cr-results .rc-filters { position: sticky; top: -1rem; z-index: 2; background: var(--surface); margin: -1rem -1rem .6rem; padding: .75rem 1rem .6rem; border-bottom: 1px solid var(--rule-2); }
}
.result-card.rc-new { outline: 2px solid transparent; outline-offset: -2px; animation: rc-new-fade 2.4s ease-out 3.6s both; }
@keyframes rc-new-fade { from { outline-color: var(--seal); } to { outline-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .result-card.rc-new { animation: none; outline-color: var(--seal); } }
.rc-filters { display: flex; flex-wrap: wrap; gap: .35rem .6rem; align-items: center; margin-bottom: .6rem; }

.rc-filters .seg-btn { padding: 0 .6rem; font-size: var(--t-2); }

.rc-opts { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .2rem .8rem; margin-left: auto; }
.rc-filters .rc-mine { gap: .3rem; font-size: var(--t-1); color: var(--ink-2); }
.rc-more { display: flex; flex-wrap: wrap; gap: .4rem .9rem; align-items: center; margin-top: .8rem; font-size: var(--t-1); }
.rc-more > .rc-empty { flex: 1 0 100%; }
.rc-more > .rc-empty > .empty { padding: 1.4rem .5rem; }
.composer { border: 1px solid var(--field); border-radius: var(--r-s); background: var(--raised); }
.composer textarea { border: 0; box-shadow: none; background: transparent; }
@supports selector(:has(*)) {
  .composer:has(textarea:focus-visible) { outline: 2px solid var(--focus); outline-offset: 1px; }
  .composer textarea:focus-visible { outline: none; }
}
.composer-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem .5rem; padding: .3rem .45rem; border-top: 1px solid var(--rule-2); font-size: var(--t-1); }
.composer-foot .cf-tools { display: inline-flex; gap: .3rem; }
.composer-foot .cf-tools .btn .ic { margin-right: .25rem; }
.composer-foot .cf-meta { display: inline-flex; align-items: center; gap: .3rem; margin-left: auto; color: var(--ink-3); }
.cf-kbd { font-family: var(--mono); font-size: var(--t-1); color: var(--ink-3); background: var(--paper-2); border: 1px solid var(--rule); border-radius: 3px; padding: .05em .3em; }
.cf-kbd-lbl { font-size: var(--t-1); }
@media (hover: none) { .cf-kbd, .cf-kbd-lbl { display: none; } }
.neg-auto { color: var(--ink-3); }
.neg-auto .linklike { margin-left: .35rem; }

.prompt-undo { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .6rem; margin-top: .35rem; font-size: var(--t-1); color: var(--ink-2); }
.prompt-undo .pu-note { color: var(--ink-3); }

.cf-tpl.is-empty { display: none; }
.cf-tpl .chips { flex-wrap: nowrap; overflow-x: auto; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
.cf-tpl .chips > * { flex: none; }
.tpl-pill { border: 0; background: var(--chip); color: var(--ink-2); border-radius: var(--r-pill); padding: .3rem .7rem; font-size: var(--t-2); white-space: nowrap; cursor: pointer; }
.tpl-pill:hover { background: var(--hair); color: var(--ink); }
.rs-drop .rs-drop-l { display: inline-flex; align-items: center; gap: .3rem; }
.mp-act .ic { transform: rotate(90deg); margin-left: .2rem; vertical-align: -1px; }
.mode-single { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .55rem; font-size: var(--t-2); padding: .35rem 0; }
.mode-alts { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .7rem; margin-top: .45rem; font-size: var(--t-2); color: var(--ink-3); }
.mode-alt .muted { font-size: var(--t-1); }
.mp-card .modes { display: block; font-size: var(--t-1); color: var(--ink-3); margin-top: .1rem; }
.ex-row {
  display: flex; gap: .5rem; flex-wrap: nowrap; overflow-x: auto; margin-top: .3rem;
  padding-bottom: .25rem; scroll-snap-type: x proximity;
}
.ex-card {
  border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--raised);
  padding: 0; cursor: pointer; width: 108px; flex: 0 0 auto; scroll-snap-align: start; overflow: hidden; text-align: left;
  font-family: var(--sans); transition: border-color .12s, box-shadow .12s;
}
.ex-card:hover { border-color: var(--brand); box-shadow: var(--shadow); }
.ex-card .sw { display: block; height: 36px; width: 100%; object-fit: cover; }
.ex-card .lb {
  display: block; padding: .3rem .45rem; font-size: var(--t-2); font-weight: 600; color: var(--ink);
}
.ex-card .hint {
  display: block; padding: 0 .45rem .35rem; font-size: var(--t-1); color: var(--ink-3);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mp-back {
  position: fixed; inset: 0; background: var(--scrim); z-index: 60;
  display: flex; align-items: flex-start; justify-content: center; padding: min(8vh, 64px) 1.2rem 1.2rem;
  overscroll-behavior: contain;
}
.mp-sheet {
  background: var(--overlay); border: 1px solid var(--rule); border-radius: var(--r-lg);
  box-shadow: var(--shadow-3); padding: 1.1rem 1.2rem;
  max-width: 900px; width: 100%; height: min(84vh, 760px); display: flex; flex-direction: column;
}
.mp-x { min-width: 44px; min-height: 44px; border: 0; background: none; font-size: var(--t-5); color: var(--ink-2); cursor: pointer; }
body:has(.mp-back) { overflow: hidden; }
@media (max-width: 760px) {
  
  .mp-back { align-items: flex-end; padding: 0; }
  .mp-sheet { height: auto; max-height: 88dvh; border-radius: var(--r) var(--r) 0 0; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); }
  
  .mp-grid { grid-template-columns: 1fr; gap: .4rem; }
  .mp-sheet .mp-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: .6rem; row-gap: .1rem; padding: .5rem .7rem; min-height: 44px; }
  .mp-sheet .mp-card > :is(.nm, .blurb, .facts, .modes) { grid-column: 1 / -1; }
  .mp-sheet .mp-card .blurb { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; margin: 0; }
  .mp-sheet .mp-card .modes { display: none; }
  .mp-sheet .mp-card > .src { grid-column: 2; grid-row: 1; align-self: start; text-align: right; }
  .mp-sheet .mp-card > .nm { grid-column: 1; }
  .mp-sheet .mp-card > .tags { grid-column: 2; justify-self: end; margin: 0; }
}
.mp-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  gap: .6rem; overflow-y: auto; margin-top: .8rem; padding-right: .2rem;
}
.mp-card {
  border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--surface);
  padding: .6rem .7rem; cursor: pointer; text-align: left; font-family: var(--sans);
  display: flex; flex-direction: column; gap: .2rem; transition: border-color .12s, background .12s;
}
.mp-card:hover { border-color: var(--hair); background: var(--paper-2); }
.mp-card.on { border-color: var(--brand); background: var(--brand-bg); }
.mp-card .nm { font-weight: 600; font-size: var(--t-3); line-height: 1.3; }
.mp-card .src { font-size: var(--t-1); color: var(--ink-3); }
.mp-card .tags { display: flex; gap: .25rem; flex-wrap: wrap; align-items: flex-start; margin-top: .15rem; }
.mp-card .price { font-size: var(--t-1); color: var(--ink-2); font-variant-numeric: tabular-nums; }

.mp-card .facts { font-size: var(--t-1); color: var(--ink-2); font-variant-numeric: tabular-nums; }

.mp-sec { grid-column: 1 / -1; display: flex; align-items: baseline; gap: .6rem; margin: .35rem 0 -.15rem; font-size: var(--t-1); font-weight: 600; color: var(--ink-3); }
.mp-sec .linklike { font-weight: 400; }
.mp-more { grid-column: 1 / -1; margin-top: .3rem; border-top: 1px solid var(--rule); padding-top: .3rem; }
.mp-more > summary { cursor: pointer; font-size: var(--t-2); color: var(--ink-2); padding: .45rem 0; }
.mp-grid-in { overflow: visible; margin-top: .2rem; padding: 0; }

.mp-grid { padding: 2px .2rem 2px 2px; }

.mp-picker {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%;
  height: var(--control-h); padding: 0 .6rem; box-sizing: border-box;
  border: 1px solid var(--field); border-radius: var(--r-s); background: var(--raised);
  cursor: pointer; font-family: var(--sans); font-size: var(--t-3); color: var(--ink); text-align: left;
}
.mp-picker:hover { border-color: var(--ink-3); }
.mp-picker > .nm {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mp-picker > .mp-act {
  flex: none; font-size: var(--t-2); color: var(--ink-2); padding: .15rem .5rem;
  border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--surface);
}
.tk-kv { display: grid; grid-template-columns: 120px 1fr; gap: .5rem; padding: .45rem 0;
  border-bottom: 1px solid var(--rule-2); font-size: var(--t-2); }
.tk-kv b { font-weight: 600; }
.tk-kv span { color: var(--ink-2); line-height: 1.55; }
.tk-faq { border-bottom: 1px solid var(--rule-2); padding: .5rem 0; }
.tk-faq summary { cursor: pointer; font-size: var(--t-3); font-weight: 600; }
.tk-faq p { margin: .4rem 0 0; color: var(--ink-2); font-size: var(--t-2); line-height: 1.6; }
.cr-body h4 { margin: 1.1rem 0 .3rem; font-size: var(--t-3); }
.tag.plain.warn { background: var(--brass-bg); color: var(--brass-2); }
.tag.plain.stop { background: var(--stop-bg); color: var(--stop); }
html { overflow-x: clip; }
#lp-audience, #lp-compare {
  background: var(--paper-2);
  box-shadow: 0 0 0 100vmax var(--paper-2);
  clip-path: inset(0 -100vmax);
  border-bottom-color: transparent;
}
@media (max-width: 720px) {
  .top-in { flex-wrap: nowrap; gap: .55rem; padding-top: .7rem; padding-bottom: .7rem; }
  nav.main { order: 2; width: auto; margin-left: 0; overflow: visible; }
  nav.main > button[data-pri], nav.main > a[data-pri], nav.main > button.nav-primary, nav.main > a.nav-primary, nav.main > .nav-div { display: none; }
  .nav-more > button { width: 40px; height: 40px; padding: 0; justify-content: center; }
  .nav-more > button .lb, .nav-more > button .cv { display: none; }
  .nav-more > button .mi { display: block; }
  .nav-moremenu { min-width: 224px; }
  .nav-moremenu button, .nav-moremenu a { padding: .72rem .8rem; font-size: var(--t-4); }
  .userchip > span:not(.av) { display: none; }
}
@media (min-width: 721px) {
  .nav-more > button .mi { display: none; }
  .nav-moremenu button.nav-demoted[data-pri="1"], .nav-moremenu a.nav-demoted[data-pri="1"] { display: none; }
}
@media (max-width: 620px) {
  
  .lp-hero { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: .6rem 0 1rem; }
  .lp-hero > div:first-child { display: contents; }
  .lp-hero .kick { order: 1; }
  .lp-hero h1 { order: 2; }
  .lp-hero .lead { order: 3; font-size: var(--t-4); line-height: 1.65; }
  .lp-hero .lp-note { order: 6; }
  .lp-hero .lp-stats { order: 8; }
  .lp-stats { margin-top: 1.4rem; gap: .9rem 1rem; }
  .lp-stats b { font-size: clamp(1.9rem, 8.6vw, 2.3rem); }
  .lp-stats span { font-size: var(--t-2); }
}
.usermenu { min-width: 304px; max-height: 80vh; overflow-y: auto; }
.um-sec { border-top: 1px solid var(--hair); padding: .7rem 0; }
.um-kv { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; }
.um-kv span { color: var(--ink-2); font-size: var(--t-3); }
.um-kv b {
  font-family: var(--display); font-size: var(--t-9); font-weight: 800; line-height: 1;
  letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--ink);
}
.um-kv b small { font-family: var(--sans); font-size: var(--t-2); font-weight: 500; color: var(--ink-3); letter-spacing: 0; }
.um-sub { font-size: var(--t-1); color: var(--ink-3); margin-top: .35rem; line-height: 1.5; }
.um-btns { display: flex; gap: .4rem; margin-top: .6rem; }
.um-btns .btn { flex: 1; }
.um-h {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--sans); font-size: var(--t-1); letter-spacing: .06em;
  text-transform: uppercase; color: var(--ink-3); margin-bottom: .35rem; font-weight: 700;
}
.um-h span { letter-spacing: 0; text-transform: none; }
.um-row {
  display: grid; grid-template-columns: max-content minmax(0, 1fr) auto; gap: .7rem;
  align-items: baseline; padding: .28rem 0; font-size: var(--t-2);
  border-bottom: 1px dashed var(--rule-2);
}
.um-row:last-child { border-bottom: 0; }
.um-when { font-family: var(--sans); color: var(--ink-3); font-size: var(--t-1); font-variant-numeric: tabular-nums; white-space: nowrap; }
.um-lab { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.um-lab small { color: var(--ink-3); margin-left: .35rem; }
.um-amt { font-family: var(--sans); font-variant-numeric: tabular-nums; font-weight: 600; }
.um-amt.plus { color: var(--seal); }
.um-amt.minus { color: var(--ink-2); }
.um-empty, .um-loading { font-size: var(--t-2); color: var(--ink-3); padding: .2rem 0; }
.um-acct { margin-top: .2rem; }
.pr-table { margin-top: .4rem; overflow-x: auto; }
.pr-table h3 { margin: 1.2rem 0 .4rem; font-size: var(--t-5); }
.pr-table table { width: 100%; border-collapse: collapse; font-size: var(--t-2); }
.pr-table th, .pr-table td { padding: .42rem .55rem; border-bottom: 1px solid var(--rule-2); text-align: right; font-variant-numeric: tabular-nums; }
.pr-table th:first-child, .pr-table td:first-child { text-align: left; }
.pr-table thead th { font-family: var(--sans); font-size: var(--t-1); letter-spacing: .02em; color: var(--ink-3); font-weight: 600; }
.pr-table th[scope="row"] { font-weight: 500; color: var(--ink); }
:root { --lp-ink: #2B333D; }                      
:root[data-theme="dark"] { --lp-ink: #A6B0BC; }
.lp-hero .lead { font-size: var(--t-5); }
#lp-faq p, .lp-secsub {
  font-size: var(--t-5); line-height: 1.8; color: var(--lp-ink);
}
.lp-secsub { max-width: 64ch; }
.lp-final p { font-size: var(--t-6); line-height: 1.75; color: var(--lp-ink); }
.lp-points li { font-size: var(--t-5); line-height: 1.6; }
#lp-guarantees .card p.muted { font-size: var(--t-4); line-height: 1.65; color: var(--lp-ink); }
table.lp-cmp td { color: var(--lp-ink); }
.lp-cmp-old { color: var(--ink-2); }
#lp-faq summary { font-size: var(--t-5); }
.lp-aud h3 { font-size: var(--t-8); line-height: 1.35; }
#lp-guarantees .card h3 { font-size: var(--t-7); line-height: 1.35; }
.lp-aud .meta { font-size: var(--t-4); font-weight: 600; letter-spacing: .06em; }
.lp-hero .kick, .lp-final .kick { font-size: var(--t-2); font-weight: 600; letter-spacing: .18em; }
@media (max-width: 620px) {
  #lp-faq p, .lp-secsub, .lp-points li { font-size: var(--t-4); line-height: 1.7; }
  .lp-final p { font-size: var(--t-5); }
  .lp-aud h3 { font-size: var(--t-7); }
}
nav.main a, .nav-moremenu a { text-decoration: none; display: inline-flex; align-items: center; box-sizing: border-box; }
.nav-moremenu a { display: flex; }
@media (max-width: 760px) {
  [data-rv="left"], [data-rv="right"] { transform: translateY(14px); }
  [data-rv].in { transform: none; }
}
#pb-rights { overflow-wrap: anywhere; min-width: 0; }
.lp-hero h1 {
  font-family: var(--sans); font-weight: 900; white-space: nowrap;
  font-size: clamp(1.5rem, 7vw, 6rem); line-height: 1.12; letter-spacing: -.035em;
  margin: 0 0 1.2rem; color: var(--brand-ink);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .lp-hero h1 {
    background-image: linear-gradient(180deg, #C3213D 0%, #A70A27 45%, #84011A 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    padding-bottom: .06em;          
  }
  :root[data-theme="dark"] .lp-hero h1 { background-image: linear-gradient(180deg, #FF8A9C 0%, #F0566B 45%, #D42A45 100%); }
}
.lp-hero .kick { font-size: var(--t-2); letter-spacing: .24em; margin-bottom: .9rem; }
.lp-hero .lead { max-width: 40ch; }
@media (min-width: 861px) {
  
  .lp-hero { align-items: start; row-gap: 0; grid-template-rows: auto auto auto auto auto 1fr; }
  .lp-hero > div:first-child { display: contents; }
  .lp-hero .lp-stats { align-self: end; }
  .lp-hero .kick, .lp-hero h1 { grid-column: 1 / -1; }
  .lp-hero .lead, .lp-hero .lp-note, .lp-hero .lp-stats { grid-column: 1; }
  
  .lp-hero .lead { font-size: var(--t-6); line-height: 1.7; max-width: 30em; text-wrap: balance; }
}
@media (max-width: 620px) {
  .lp-hero h1 { font-size: 8vw; line-height: 1.2; margin-bottom: .9rem; }
  .lp-hero .lead { max-width: none; }
}
@media (max-width: 760px) {
  
  .subnav-in {
    flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding-right: 2.2rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 .9rem, #000 calc(100% - 2.2rem), transparent);
            mask-image: linear-gradient(90deg, transparent, #000 .9rem, #000 calc(100% - 2.2rem), transparent);
  }
  .subnav-in::-webkit-scrollbar { display: none; }
  .subnav button, .subnav a { flex: none; white-space: nowrap; }
}

@media (max-width: 620px) {
  #v-companion .page-head { display: none; }
  #v-companion .cmp-tabs { margin-top: .6rem; }
  
  .cmp-main { height: calc(100dvh - 13.4rem); min-height: 380px; }
}
:root {
  --lp-radius: 18px;
  --lp-radius-lg: 24px;
  --lp-shadow-card: 0 1px 2px rgba(16, 20, 24, .05), 0 12px 32px -18px rgba(16, 20, 24, .22);
  --lp-shadow-art: 0 1px 2px rgba(16, 20, 24, .06), 0 14px 28px -18px rgba(16, 20, 24, .22), 0 40px 80px -40px rgba(16, 20, 24, .32);
  --lp-gutter: clamp(1rem, 3.5vw, 2.4rem);   
}
:root[data-theme="dark"] {
  --lp-shadow-card: 0 0 0 1px rgba(255, 255, 255, .05), 0 14px 34px -18px rgba(0, 0, 0, .7);
  --lp-shadow-art: 0 0 0 1px rgba(255, 255, 255, .07), 0 30px 70px -30px rgba(0, 0, 0, .8);
}
.lp-block, #lp-audience, #lp-compare {
  padding: clamp(3.2rem, 7vw, 6rem) 0; border-bottom: 0;
}

.lp-band {
  background: var(--paper-2);
  box-shadow: 0 0 0 100vmax var(--paper-2);
  clip-path: inset(0 -100vmax);
}
.lp-eyebrow {
  font-family: var(--sans); font-size: var(--t-2); font-weight: 700;
  letter-spacing: .14em; color: var(--brand-ink); margin: 0 0 .75rem;
}
.lp-secheads, .lp-block > h2 {
  font-weight: 800; line-height: 1.16; letter-spacing: -.022em; color: var(--ink);
}
.lp-secheads { font-family: var(--sans); margin-bottom: .6rem; }
.lp-secheads::before { display: none; }
.lp-secsub { color: var(--lp-ink); text-wrap: balance; }

.lp-hero h1, .lp-hero .lead, .lp-secheads, .lp-block > h2, .lp-aud h3,
.lp-trio-tx h3, #lp-guarantees .card h3, .lp-final h2, .lp-secsub, .lp-faq-q {
  word-break: keep-all; overflow-wrap: anywhere;
}

.lp-center > .lp-eyebrow, .lp-center > .lp-secheads, .lp-center > h2, .lp-center > .lp-secsub {
  text-align: center; margin-left: auto; margin-right: auto;
}
.lp-center > .lp-secsub { max-width: 40em; margin-bottom: clamp(2rem, 4.4vw, 3.2rem); }
.lp-center > h2, .lp-center > .lp-secheads { max-width: 22em; }
:is(button, a).btn.btn-lg {
  padding: .8rem 1.65rem; min-height: 50px; font-size: var(--t-5); letter-spacing: .02em;
}

:is(.lp-hero, .lp-final, .lp-dock) :is(button, a).btn { border-radius: var(--r-pill); }
:is(button, a).btn.btn-lg:not(.ghost) {
  background: var(--grad-fill);
  border-color: var(--brand-2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 2px rgba(132, 1, 26, .25), 0 10px 22px -12px rgba(132, 1, 26, .55);
}
:is(button, a).btn.btn-lg.ghost { border-width: 1.5px; background: var(--paper); }
:is(button, a).btn.btn-lg.ghost:not(:disabled, [aria-disabled="true"]):hover { background: var(--brand-bg); }

.lp-hero :is(button, a).btn.btn-lg.ghost { color: var(--ink); border-color: var(--ink-3); }   
.lp-hero :is(button, a).btn.btn-lg.ghost:not(:disabled, [aria-disabled="true"]):hover { background: var(--paper-2); border-color: var(--ink); }
:root[data-theme="dark"] :is(button, a).btn.btn-lg.ghost { background: transparent; }
.lp-more {
  appearance: none; background: none; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start;
  min-height: 44px; padding: .45rem 0; margin-top: .4rem;
  font-family: var(--sans); font-size: var(--t-4); font-weight: 700;
  color: var(--accent-ink, var(--brand-ink));
}
.lp-more::after {
  content: ""; width: .5em; height: .5em; flex: none;
  border-top: 2px solid currentColor; border-right: 2px solid currentColor;
  transform: rotate(45deg); margin-left: .1rem;
  transition: transform .2s cubic-bezier(.2, .7, .2, 1);
}
.lp-more:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1.5px; }
.lp-more:hover::after { transform: translateX(3px) rotate(45deg); }
.whoami button.who-reg { margin-left: .45rem; }
@media (max-width: 720px) {
  
  .whoami button.who-login { display: none; }
  .whoami button.who-reg { margin-left: 0; }
  #theme-toggle { display: none; }
}
.lp-hero {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 0; padding: clamp(2.4rem, 6vw, 4.4rem) 0 clamp(1.2rem, 3vw, 2rem);
  position: relative; isolation: isolate;
}
.lp-hero > div:first-child { display: contents; }

.lp-hero > div:first-child > * { grid-column: auto; grid-row: auto; align-self: center; }

.lp-hero .kick {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .38rem .95rem .38rem .8rem; border-radius: 999px;
  background: var(--brand-bg); color: var(--brand-ink);
  font-family: var(--sans); font-weight: 700; letter-spacing: .16em;
  margin-bottom: 1.3rem;
}
.lp-hero .kick::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; flex: none;
  background: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);
}
.lp-hero h1 { margin-bottom: 1.1rem; }
.lp-hero .lead {
  max-width: 34em; margin: 0 auto; color: var(--lp-ink);
  font-size: var(--t-6); line-height: 1.75; text-wrap: balance;
}
.lp-hero .lead strong { color: var(--ink); font-weight: 700; }
.lp-hero .lp-note { margin-top: 1rem; color: var(--ink-3); font-size: var(--t-2); letter-spacing: .02em; }
.lp-hero .lp-stats {
  width: min(100%, 860px); margin: clamp(2.2rem, 4.6vw, 3.2rem) auto 0;
  padding: 0; border-top: 0; gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lp-hero .lp-stats > div { padding: .1rem clamp(.5rem, 2vw, 1.4rem); border-left: 1px solid var(--rule); }
.lp-hero .lp-stats > div:first-child { border-left: 0; }
.lp-stats b {
  font-family: var(--sans); font-weight: 800; font-size: clamp(2.1rem, 4.2vw, 3.1rem);
  letter-spacing: -.035em; color: var(--ink);
}
.lp-stats span { font-size: var(--t-3); color: var(--ink-2); margin-top: .5rem; }
.lp-stats span em { font-style: normal; }
.lp-models { text-align: center; padding: clamp(2.2rem, 5vw, 3.4rem) 0 clamp(.4rem, 1.4vw, 1rem); }
.lp-models-k {
  margin: 0 0 1.1rem; font-size: var(--t-2); font-weight: 600;
  letter-spacing: .14em; color: var(--ink-3);
}
.lp-models-list {
  list-style: none; margin: 0 auto; padding: 0; max-width: 60rem;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem clamp(1.2rem, 3vw, 2.4rem);
}
.lp-models-list li {
  font-family: var(--sans); font-weight: 700; font-size: var(--t-7);
  letter-spacing: -.02em; color: var(--ink-3); white-space: nowrap;
}
.lp-aud-grid { align-items: stretch; gap: clamp(1rem, 2vw, 1.4rem); text-align: left; }
#lp-audience .lp-aud {
  padding: clamp(1.4rem, 2.6vw, 2rem); border-radius: var(--lp-radius);
  border: 1px solid var(--rule-2); background: var(--paper); box-shadow: var(--lp-shadow-card);
}
.lp-icon.sm {
  width: 44px; height: 44px; border-radius: 12px; border: 0;
  background: var(--accent-bg); color: var(--accent-ink); margin-bottom: 1rem;
}
.lp-aud .meta { font-family: var(--sans); letter-spacing: .08em; }
.lp-aud h3 { font-family: var(--sans); font-weight: 800; letter-spacing: -.015em; line-height: 1.32; margin: .3rem 0 1rem; }
.lp-aud .lp-points li .ic { color: var(--accent-ink); }
.lp-aud .lp-more { margin-top: auto; }
#lp-compare .tw {
  max-width: 980px; margin: 0 auto; text-align: left;
  border: 1px solid var(--rule); border-radius: var(--lp-radius);
  background: var(--paper); box-shadow: var(--lp-shadow-card);
}
table.lp-cmp { width: 100%; border-collapse: collapse; }
table.lp-cmp thead th {
  padding: 1rem 1.1rem; font-family: var(--sans); font-size: var(--t-3); font-weight: 700;
  letter-spacing: .04em; text-transform: none; color: var(--ink-3); border-bottom: 1px solid var(--rule); text-align: left;
}
table.lp-cmp thead th:last-child { color: var(--brand-ink); background: var(--brand-bg); }

table.lp-cmp th[scope="row"] {
  background: none; width: 7rem; padding: .95rem 1.1rem; border-bottom: 0;
  font-family: var(--sans); font-size: var(--t-4); font-weight: 700; color: var(--ink); vertical-align: top;
  letter-spacing: 0; text-transform: none;
}
table.lp-cmp td { padding: .95rem 1.1rem; border: 0; vertical-align: top; line-height: 1.6; }
table.lp-cmp tbody tr + tr > * { border-top: 1px solid var(--rule-2); }
table.lp-cmp td.lp-cmp-new { background: color-mix(in srgb, var(--brand-bg) 60%, var(--paper)); font-weight: 600; }
.lp-cmp-more { display: none; }
.lp-trio-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem); text-align: left;
}
.lp-trio-card {
  display: flex; flex-direction: column; min-width: 0;
  background: var(--paper); border: 1px solid var(--rule-2); border-radius: var(--lp-radius-lg);
  overflow: hidden; box-shadow: var(--lp-shadow-card);
}
.lp-trio-fig { margin: 0; background: #F4F6F9; border-bottom: 1px solid var(--rule-2); }
.lp-trio-fig img { display: block; width: 100%; height: auto; aspect-ratio: 520 / 360; }
.lp-trio-tx { display: flex; flex-direction: column; flex: 1; padding: 1.3rem 1.4rem 1rem; }
.lp-trio-tx h3 {
  font-family: var(--sans); font-size: var(--t-7); font-weight: 800;
  letter-spacing: -.015em; line-height: 1.3; margin: 0 0 .55rem;
}
.lp-trio-tx p { margin: 0 0 .6rem; font-size: var(--t-4); line-height: 1.75; color: var(--lp-ink); }
.lp-trio-tx .lp-more { margin-top: auto; }
@media (max-width: 900px) and (min-width: 621px) {
  .lp-trio-grid { grid-template-columns: 1fr; max-width: 560px; margin: 0 auto; }
}
#lp-guarantees { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: clamp(.9rem, 1.8vw, 1.3rem); text-align: left; }
#lp-guarantees .card.lp-g {
  padding: 1.4rem 1.4rem 1.3rem; border-radius: var(--lp-radius);
  border: 1px solid var(--rule-2); background: var(--paper); box-shadow: var(--lp-shadow-card);
}
.lp-g-ic {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: var(--brand-bg); color: var(--brand-ink); margin-bottom: .9rem;
}
#lp-guarantees .card h3 { font-family: var(--sans); font-weight: 800; letter-spacing: -.01em; margin: 0 0 .35rem; }
#lp-guarantees .card p.muted { margin: 0; }
@media (min-width: 900px) {
  .lp-faq-block { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: clamp(2rem, 5vw, 4.4rem); align-items: start; }
  .lp-faq-head { position: sticky; top: 7rem; }
}
.lp-faq-head .lp-secsub { margin-bottom: 1.4rem; }
.lp-faq-head .linklike { font-weight: 600; }
.lp-faq-item { border-bottom: 1px solid var(--rule); padding: 0; }
.lp-faq-item:first-child { border-top: 1px solid var(--rule); }
.lp-faq-item summary { padding: 1.15rem .2rem; gap: 1rem; align-items: center; font-weight: 700; }
.lp-faq-q { flex: 1; min-width: 0; }
.lp-faq-no { color: var(--ink-3); }
.lp-faq-item[open] .lp-faq-no { color: var(--brand-ink); }
.lp-faq-item[open] summary { color: var(--ink); }

.lp-faq-pm { position: relative; width: 14px; height: 14px; flex: none; margin-left: auto; }
.lp-faq-pm::before, .lp-faq-pm::after {
  content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 2px;
  border-radius: 2px; background: var(--ink-2); transition: transform .25s cubic-bezier(.2, .7, .2, 1);
}
.lp-faq-pm::after { transform: rotate(90deg); }
.lp-faq-item[open] .lp-faq-pm::after { transform: rotate(0deg); }
.lp-faq-item p { margin: -.2rem 2rem 1.3rem 2.6rem; }
.lp-final { padding: clamp(.4rem, 2vw, 1.4rem) 0 0; }
.lp-final-in {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(3rem, 8vw, 5.6rem) clamp(1.2rem, 5vw, 4rem);
  border: 0; border-radius: 28px; color: #FFFFFF;
  background: radial-gradient(120% 140% at 50% -30%, #C3213D 0%, #A70A27 42%, #6E0015 100%);
  box-shadow: 0 40px 80px -44px rgba(132, 1, 26, .7);
}

.lp-final-in::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-radial-gradient(circle at 88% 118%, rgba(255, 255, 255, .07) 0 1px, transparent 1px 26px);
  -webkit-mask-image: radial-gradient(70% 90% at 88% 100%, #000, transparent 75%);
          mask-image: radial-gradient(70% 90% at 88% 100%, #000, transparent 75%);
}
.lp-final .kick { color: #FFD5DC; }
.lp-final h2 {
  font-family: var(--sans); font-weight: 900; color: #FFFFFF;
  font-size: clamp(1.75rem, 5.2vw, 3.7rem); letter-spacing: -.03em; line-height: 1.1; margin-bottom: 1rem;
}
.lp-final p { color: #FBE9EC; max-width: 36em; }
.lp-final-cta { gap: .75rem; }
.lp-final-cta :is(button, a).btn.btn-lg:not(.ghost) {
  background: #FFFFFF; color: #98021D; border-color: #FFFFFF;
  box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .45);
}
.lp-final-cta :is(button, a).btn.btn-lg.ghost { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .62); }
.lp-final-cta :is(button, a).btn.btn-lg.ghost:not(:disabled, [aria-disabled="true"]):hover { background: rgba(255, 255, 255, .12); }
.lp-final p.lp-final-note { color: #FBE9EC; font-size: var(--t-3); margin: 1.4rem auto 0; text-wrap: balance; }
.lp-final-note .linklike { color: #FFFFFF; font-weight: 600; }
.lp-final-cta .btn:not(.ghost):hover { box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5); }
.lp-dock { display: none; }
@media (max-width: 760px) {
  .lp-dock:not([hidden]) {
    display: flex; align-items: center; justify-content: space-between; gap: .8rem;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    padding: .7rem var(--lp-gutter) calc(.7rem + env(safe-area-inset-bottom, 0px));
    background: var(--paper); border-top: 1px solid var(--rule);
    box-shadow: 0 -10px 30px -18px rgba(16, 20, 24, .35);
    transform: translateY(110%); visibility: hidden;
    transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .3s;
  }
  .lp-dock.on { transform: none; visibility: visible; transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s; }
  .lp-dock-tx { min-width: 0; line-height: 1.35; }
  .lp-dock-tx b { display: block; font-size: var(--t-3); color: var(--ink); }
  .lp-dock-tx span { display: block; font-size: var(--t-1); color: var(--ink-3); }
  .lp-dock .btn { flex: none; min-height: 44px; border-radius: 999px; padding: .55rem 1.2rem; }
}
:root[data-theme="dark"] .lp-trio-fig img {
  filter: none; background: transparent; border-color: rgba(255, 255, 255, .08);
}
:root[data-theme="dark"] .lp-trio-fig { background: var(--paper-2); }

:root[data-theme="dark"] .lp-final-cta :is(button, a).btn.btn-lg:not(.ghost) { color: #98021D; }
:root[data-theme="dark"] .lp-final-in { box-shadow: 0 0 0 1px rgba(255, 255, 255, .06), 0 40px 80px -44px rgba(0, 0, 0, .8); }
@media (max-width: 620px) {
  .lp-block, #lp-audience, #lp-compare { padding: 2.6rem 0; }
  .lp-center > .lp-secsub { margin-bottom: 1.5rem; }
  .lp-hero { align-items: center; padding: 1.4rem 0 .8rem; }
  
  .lp-hero > div:first-child > .lp-stats { align-self: stretch; }
  .lp-hero .kick { margin-bottom: .9rem; }
  .lp-hero .lead { font-size: var(--t-4); }
  
  .lp-hero .lp-stats { margin-top: 1.8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lp-hero .lp-stats > div:last-child { grid-column: auto; }
  .lp-hero .lp-stats > div { padding: 0 .35rem; }
  .lp-stats b { font-size: clamp(1.7rem, 8.4vw, 2.2rem); }
  .lp-stats span { font-size: var(--t-1); }
  .lp-stats span em { display: none; }
  .lp-models { padding: 1.8rem 0 .2rem; }
  .lp-models-list {
    flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none;
    margin-inline: calc(-1 * var(--lp-gutter)); padding: 0 var(--lp-gutter) .3rem;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--lp-gutter), #000 calc(100% - 2.4rem), transparent);
            mask-image: linear-gradient(90deg, transparent 0, #000 var(--lp-gutter), #000 calc(100% - 2.4rem), transparent);
  }
  .lp-models-list::-webkit-scrollbar { display: none; }
  .lp-models-list li { font-size: var(--t-5); }
  .lp-aud-grid, .lp-trio-grid {
    display: flex; gap: .8rem; align-items: stretch;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--lp-gutter));
    padding: .3rem var(--lp-gutter) 1.1rem;
    scroll-padding-inline: var(--lp-gutter);
  }
  .lp-aud-grid::-webkit-scrollbar, .lp-trio-grid::-webkit-scrollbar { display: none; }
  .lp-aud-grid > .lp-aud, .lp-trio-grid > .lp-trio-card {
    flex: 0 0 84%; scroll-snap-align: start; min-width: 0;
  }
  #lp-compare .tw { padding: .2rem 1rem; }
  table.lp-cmp th[scope="row"] { background: none; width: auto; padding: 0 0 .3rem; }
  table.lp-cmp tbody tr + tr > * { border-top: 0; }
  table.lp-cmp td { padding: .12rem 0; }
  table.lp-cmp td.lp-cmp-new { background: none; border-left: 2px solid var(--brand); padding-left: .65rem; margin-top: .3rem; }
  table.lp-cmp:not(.all) tr.lp-cmp-x { display: none; }
  .lp-cmp-more:not([hidden]) { display: inline-flex; align-items: center; min-height: 44px; margin-top: .9rem; font-size: var(--t-4); }
  #lp-guarantees { gap: .6rem; }
  #lp-guarantees .card.lp-g {
    display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: .85rem;
    padding: 1rem 1.05rem; border-radius: 14px;
  }
  .lp-g-ic { grid-row: 1 / span 2; width: 32px; height: 32px; margin: 0; }
  #lp-guarantees .card h3 { margin: .1rem 0 .2rem; }

  .lp-faq-item summary { padding: 1rem 0; }
  .lp-faq-item p { margin: -.1rem 0 1.1rem; }

  .lp-final { padding-top: .4rem; }
  .lp-final-in { border-radius: 22px; padding: 2.8rem 1.2rem 2.4rem; }
  .lp-final .inline .btn { border-radius: 999px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-dock, .lp-dock.on, .lp-more::after, .lp-faq-pm::before, .lp-faq-pm::after { transition: none !important; }
  .lp-more:hover::after { transform: rotate(45deg); }
}
button.dropzone { width: 100%; font: inherit; color: inherit; text-align: center; }
.age-steps { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; padding: 0; margin: .4rem 0 .9rem; list-style: none; counter-reset: agestep; font-size: var(--t-2); color: var(--ink-3); }
.age-steps li { counter-increment: agestep; }
.age-steps li::before { content: counter(agestep) "．"; font-weight: 700; }
.age-steps li.on { color: var(--ink); font-weight: 700; }
.age-steps li.done { color: var(--seal-ink); }
.age-doc { border: 0; padding: 0; margin: .7rem 0; display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; }
.age-doc legend { font-weight: 700; padding: 0; margin-bottom: .45rem; }
.age-doc label { display: inline-flex; align-items: center; gap: .35rem; margin: 0; font-weight: 400; }
.age-notice { margin: .6rem 0; }
.age-notice summary { cursor: pointer; font-weight: 700; }
.age-notice-text { white-space: pre-wrap; max-height: 16rem; overflow: auto; margin-top: .5rem; padding: .7rem .9rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--sunken); font-size: var(--t-2); }
.age-consent { margin: .6rem 0 .9rem; font-weight: 400; }
.age-challenge { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin: .4rem 0 1rem; padding: .7rem .9rem; border: 1px dashed var(--brass-2); border-radius: var(--r); background: var(--brass-bg); }
.age-challenge b { font-size: var(--t-8); letter-spacing: .18em; }
.age-slot .age-pick { margin-top: .5rem; gap: .4rem; flex-wrap: wrap; }
.age-prog { display: flex; flex-direction: column; gap: .3rem; margin-top: .5rem; }
.age-prog progress { width: 100%; height: 6px; accent-color: var(--brand); }
.age-acts { margin-top: 1rem; gap: .6rem; align-items: center; flex-wrap: wrap; }
.age-del { margin: .6rem 0; gap: .6rem; align-items: center; flex-wrap: wrap; }
.age-alt { margin-top: 1rem; }
.age-alt summary { cursor: pointer; color: var(--ink-2); }
.age-optin { margin-top: 1rem; font-weight: 400; align-items: flex-start; }
.age-optin-note { margin: .2rem 0 0; }
.terms-optin { margin-top: 1rem; font-weight: 400; align-items: flex-start; }
.terms-optin a { color: var(--brand-ink); text-decoration: underline; text-underline-offset: 2px; }

.mc-sup-list { display: grid; gap: .4rem; margin-top: .8rem; }
.mc-sup-row { display: grid; grid-template-columns: 1fr auto; gap: .1rem .8rem; align-items: center; text-align: left; width: 100%;
  padding: .65rem .8rem; background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r); font: inherit; color: var(--ink); cursor: pointer; }
.mc-sup-row:hover { border-color: var(--hair); }
.mc-sup-sub { font-weight: 600; grid-column: 1; }
.mc-sup-row .meta { grid-column: 1; }
.mc-sup-row .tag { grid-column: 2; grid-row: 1 / span 2; }
.mc-thread { display: grid; gap: .6rem; margin: .6rem 0 1rem; max-height: 46vh; overflow-y: auto; }

@media screen and (max-width: 640px) { .mc-thread { max-height: none; overflow: visible; } }
.mc-msg { padding: .6rem .8rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); }
.mc-msg.staff { background: var(--surface); border-color: var(--hair); }
.mc-msg p { margin: .3rem 0 0; color: var(--ink-2); line-height: 1.65; }
.mc-del h4 { margin: 1rem 0 .3rem; }

.mc-security { display: grid; gap: 0; }
.mc-sec-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; flex-wrap: wrap; padding: .6rem 0; }
.mc-sec-row + .mc-sec-row { border-top: 1px solid var(--rule); }

.auth-form .auth-forgot { margin-top: .35rem; }

.auth-social { display: grid; gap: .5rem; margin: 1rem 0 .2rem; }
.auth-social[hidden] { display: none; }
.auth-social-btn { width: 100%; justify-content: center; }
.auth-or { display: flex; align-items: center; gap: .6rem; margin: .4rem 0 0; color: var(--ink-3); font-size: var(--t-2); }
.auth-or::before, .auth-or::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.adult-media { position: relative; display: block; overflow: hidden; --adult-blur: 22px; }
.adult-media.mini { display: inline-block; flex: none; line-height: 0; border-radius: var(--r-s); --adult-blur: 6px; }
.adult-media-body { display: block; transition: filter .18s ease; }
:root:not([data-adult-blur="off"]) .adult-media:not(.is-revealed) > .adult-media-body { filter: blur(var(--adult-blur)) saturate(.7); transform: scale(1.08); pointer-events: none; }
.adult-reveal { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); min-height: 32px; padding: .35rem .9rem; border: 1px solid var(--hair); border-radius: var(--r-s); background: var(--raised); color: var(--ink); font-family: var(--sans); font-size: var(--t-2); font-weight: 600; box-shadow: var(--shadow); cursor: pointer; }
.adult-reveal:focus-visible { box-shadow: 0 0 0 4px var(--raised); }
.adult-media.is-revealed .adult-reveal { left: auto; right: .4rem; top: .4rem; transform: none; background: var(--brand-bg); color: var(--brand-ink); border-color: var(--brand); }
:root[data-adult-blur="off"] .adult-reveal { display: none; }
.cmp-photo .adult-media { display: inline-block; max-width: 100%; border-radius: 12px; }
@media (pointer: coarse) {
  .adult-reveal { min-height: 44px; min-width: 44px; }
  #cr-results .rc-filters .adult-blur-tg, #out-filters .adult-blur-tg { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .adult-media-body { transition: none; } }
.view:not(#v-home) { position: relative; isolation: isolate; }
.view:not(#v-home)::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  left: 50%; top: 0; width: 100vw; height: 380px; transform: translateX(-50%);
  background:
    radial-gradient(55% 95% at 82% 0%, color-mix(in srgb, var(--brand-bg) 92%, transparent) 0%, transparent 72%),
    linear-gradient(180deg, color-mix(in srgb, var(--brand-bg) 40%, transparent), transparent 88%);
}
:root[data-theme="dark"] :is(button, a).btn.ghost { background: transparent; border-color: var(--field); color: var(--ink); }
:root[data-theme="dark"] :is(button, a).btn.ghost:not(:disabled, [aria-disabled="true"]):hover { background: var(--raised); border-color: var(--ink-3); }

:root[data-theme="dark"] .view:not(#v-home)::before {
  background:
    radial-gradient(55% 95% at 82% 0%, color-mix(in srgb, var(--brand-bg) 60%, transparent) 0%, transparent 72%),
    linear-gradient(180deg, color-mix(in srgb, var(--brand-bg) 22%, transparent), transparent 88%);
}
.report-entry { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.report-entry > div { flex: 1 1 280px; min-width: 0; }
.report-form label { display: block; }
.sign-facts { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1.1rem; margin: 0; font-size: var(--t-3); }
.sign-facts dt { color: var(--ink-3); font-weight: 600; }
.sign-facts dd { margin: 0; color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.sign-sheet h4 { margin-top: 1.1rem; }
.consent-text {
  white-space: pre-wrap; max-height: 40vh; overflow-y: auto; padding: .85rem 1rem; line-height: 1.75;
  background: var(--sunken); border: 1px solid var(--rule); border-radius: var(--r-s); font-size: var(--t-3); color: var(--ink);
}
.check-row { display: flex; align-items: flex-start; gap: .55rem; margin-top: .9rem; line-height: 1.6; cursor: pointer; }
.check-row input { margin-top: .25rem; flex: none; }
@media (max-width: 520px) { .sign-facts { grid-template-columns: 1fr; gap: .1rem; } .sign-facts dd { margin-bottom: .45rem; } }
:root[data-theme="dark"] header.top { border-bottom-color: #05070A; }
:root[data-theme="dark"] .brand-mark, :root[data-theme="dark"] .brand img { filter: brightness(1.45) saturate(1.1); }

:is(button, a).btn:not(.ghost):not(.quiet):not(.danger):focus-visible { outline-color: var(--focus-on-fill); }
.lp-final-in :focus-visible { outline-color: #FFFFFF; }
.cf-head .ph-eyebrow { margin: 0 0 .3rem; }
.panel.is-pending { border-color: var(--hair); box-shadow: inset 3px 0 0 var(--brass), var(--shadow-1); }
a.card:hover, .card.is-link:hover { border-color: var(--hair); box-shadow: var(--shadow-2); }
.panel :is(.scopegrid, .tw) { box-shadow: none; }

.statgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: .75rem; }
.statgrid .stat, .statgrid .stat.wide { max-width: none; min-width: 0; flex: none; }
.statgrid .stat.wide { grid-column: span 2; }
.statgrid .stat .meta { color: var(--ink-3); font-weight: 600; }
.statgrid .stat.hero { box-shadow: inset 0 3px 0 var(--brand), var(--shadow-1); }
.statgrid .stat.hero .n { font-size: var(--t-9); }
.statgrid .stat[data-tone="stop"] .n { color: var(--stop); }
.statgrid .stat[data-tone="warn"] .n { color: var(--brass-2); }
@media (max-width: 520px) {
  .statgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statgrid .stat.wide, .statgrid .stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.id { font-family: var(--mono); font-size: var(--t-2); color: var(--ink-2); }

tbody tr:hover td { background: var(--hover); }
td.when { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.tw.sticky-head thead th { position: sticky; top: var(--head-h, 72px); z-index: 2; box-shadow: inset 0 -1px 0 var(--hair); }

:root[data-theme="dark"] #lp-audience .card, :root[data-theme="dark"] #lp-compare .card { background: var(--raised); }

:root[data-theme="dark"] .cf-submit { border-top-color: var(--hair); box-shadow: 0 -12px 24px -10px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .mp-card:not(.on) { background: transparent; }
:root[data-theme="dark"] .mp-card:not(.on):hover { background: var(--hover); }

:is(button, a).btn.btn.btn:is(:disabled, [aria-disabled="true"]) {
  opacity: 1; background: var(--chip); color: var(--ink-3); border-color: var(--rule);
  box-shadow: none; filter: none; transform: none; cursor: not-allowed;
}
a.btn[aria-disabled="true"] { pointer-events: none; }

.btn[aria-busy="true"] { color: transparent !important; position: relative; }
.btn[aria-busy="true"]::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1em; height: 1em; margin: -.5em 0 0 -.5em; border-radius: 50%;
  border: 2px solid var(--on-brand); border-right-color: transparent; animation: btn-spin .7s linear infinite;
}
.btn:is(.ghost, .quiet, .danger, .text)[aria-busy="true"]::after { border-color: var(--ink-2); border-right-color: transparent; }
@keyframes btn-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .btn[aria-busy="true"]::after { animation-duration: 2.4s; } }
:root { --app-w: 1600px; }
body[data-zone="app"] :is(.top-in, .subnav-in, main.shell) { max-width: var(--app-w); }
body[data-zone="app"] .view-console { --console-w: 100%; }
body[data-zone="app"] .view:not(.view-console, #v-editor, #v-companion, #v-production, #v-outputs) { max-width: 1240px; }
.site-foot { display: none; border-top: 1px solid var(--rule); background: var(--surface); }
body[data-zone] .site-foot { display: block; }
body:is([data-view="home"], [data-view="studio"], [data-view="editor"], [data-view="companion"]) .site-foot { display: none; }
.site-foot-in {
  max-width: 1180px; margin: 0 auto;
  padding: 1.1rem clamp(1rem, 3.5vw, 2.4rem) calc(1.1rem + env(safe-area-inset-bottom, 0px));
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.4rem;
  font-size: var(--t-2); color: var(--ink-3);
}
body[data-zone="app"] .site-foot-in { max-width: var(--app-w); }
.sf-copy { color: var(--ink-2); font-weight: 600; }
.sf-links { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1.1rem; margin-left: auto; }
.sf-links a, .sf-links .linklike { color: var(--ink-2); font-size: var(--t-2); text-decoration: none; border-bottom: 0; }
.sf-links a:hover, .sf-links .linklike:hover { color: var(--brand-ink); text-decoration: underline; text-underline-offset: 3px; }
.sf-links [data-legal-links] { display: contents; }
@media (max-width: 620px) { .sf-links { margin-left: 0; width: 100%; } }
@media (max-width: 720px) {
  .nav-moremenu, .usermenu {
    position: fixed; left: .6rem; right: .6rem; top: auto; bottom: calc(.6rem + env(safe-area-inset-bottom, 0px));
    min-width: 0; max-height: 80vh; max-height: 80dvh; overflow: auto; overscroll-behavior: contain;
    z-index: 71; box-shadow: var(--shadow-3); border-radius: calc(var(--r) + 4px);
  }
  .nav-moremenu::before, .usermenu::before {
    content: ""; display: block; width: 36px; height: 4px; border-radius: 2px;
    background: var(--rule); margin: .1rem auto .55rem;
  }
  header.top:has(.nav-moremenu:not([hidden]), .usermenu:not([hidden])) { z-index: 70; }
  body:has(.nav-moremenu:not([hidden]), .usermenu:not([hidden]))::before {
    content: ""; position: fixed; inset: 0; background: var(--scrim); z-index: 65;
  }
}
@media (max-width: 720px) and (prefers-reduced-motion: no-preference) {
  .nav-moremenu:not([hidden]), .usermenu:not([hidden]) { animation: sheet-up .2s cubic-bezier(.2, .7, .2, 1) backwards; }
}
@keyframes sheet-up { from { transform: translateY(16px); opacity: 0; } }
@media (max-width: 760px) and (min-height: 501px) {
  body[data-zone="public"] header.top { position: sticky; }
}
.view h1[tabindex="-1"]:focus, .view[tabindex="-1"]:focus { outline: none; }
nav.main .nav-moremenu :is(a, button) .ic { margin-right: 0; }

@media (max-width: 720px) { .top-in > .whoami { margin-left: auto; } }
body[data-zone="app"] .view:not(#v-home)::before {
  left: calc(-1 * ((100vw - min(var(--app-w), 100vw)) / 2 + clamp(1rem, 3.5vw, 2.4rem)));
  transform: none;
}
.modal-acts { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; margin-top: 1.3rem; }
.dlg { max-width: 520px; padding: 1.35rem 1.5rem 1.3rem; }
.dlg .modal-head { align-items: flex-start; border-bottom: 0; padding-bottom: 0; margin-bottom: .7rem; }
.dlg-title { display: flex; align-items: center; gap: .5rem; font-size: var(--t-6); line-height: 1.35; text-wrap: balance; }
.dlg-title.danger .ic { color: var(--stop); flex: none; }
.dlg-body { color: var(--ink-2); font-size: var(--t-4); line-height: 1.65; }
.dlg-body p { margin: 0 0 .6rem; text-wrap: pretty; }
.dlg-body p:last-child { margin-bottom: 0; }
.dlg-list { margin: 0 0 .6rem; padding-left: 1.15rem; }
.dlg-list li + li { margin-top: .3rem; }
.dlg-facts { margin-top: .8rem; }
.dlg-amount {
  margin: .9rem 0 .1rem; padding: .7rem .9rem; border-radius: var(--r); background: var(--sunken);
  font-family: var(--display); font-weight: 800; font-size: var(--t-8); letter-spacing: -.02em;
  font-variant-numeric: tabular-nums; color: var(--ink);
}
.dlg-type { display: grid; gap: .4rem; margin-top: 1rem; font-size: var(--t-3); color: var(--ink-2); }
.dlg-type b { color: var(--ink); font-weight: 700; }
.dlg.is-danger { border-top: 3px solid var(--stop); }
@media (max-width: 640px) {
  .modal-back { align-items: flex-end; padding: 0; }
  .modal {
    max-width: none; max-height: 92dvh; overflow-y: auto; overscroll-behavior: contain;
    border-radius: var(--r-lg) var(--r-lg) 0 0; border-bottom: 0;
    padding: 1.2rem 1.1rem calc(1.1rem + env(safe-area-inset-bottom, 0px));
  }
  .modal-acts .btn { flex: 1 1 0; min-height: 46px; white-space: nowrap; }
  
  .modal-acts:has(> .btn:nth-child(4)) { flex-direction: column-reverse; align-items: stretch; }
  .modal-acts:has(> .btn:nth-child(4)) .btn { flex: 0 0 auto; width: 100%; }
  
  .modal-head { position: sticky; top: -1.2rem; z-index: 1; margin-top: -1.2rem; padding-top: 1.2rem; background: var(--overlay); }
  
  .modal-head { flex-wrap: wrap; row-gap: .3rem; }
  .modal-head > h3 { flex: 1 1 0; min-width: 0; }
  .modal-head > .muted { order: 3; flex-basis: 100%; }
}

@media (max-width: 360px) {
  .top-in { column-gap: .4rem; padding-left: .75rem; padding-right: .75rem; }
  .brand { font-size: var(--t-7); margin-right: 0; }
  .brand-row { gap: .45rem; }
}

@media (pointer: coarse) {
  .rv-side .rc-actions .linklike { display: inline-flex; align-items: center; min-height: 44px; }
  .ms-x { position: relative; }
  .ms-x::before { content: ""; position: absolute; inset: -10px; }
  .tpl-pill { min-height: 40px; }
  .cmp-tabs button { min-height: 44px; }
  .cmp-act { min-height: 40px; padding-inline: .6rem; }
  .cmp-tool { width: 44px; height: 44px; }
  #v-studio .mention-pop { top: auto; bottom: 100%; }
}
#cmp-head:has(> .cmp-form) { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.outcard img, .outcard video { object-fit: contain; background: var(--sunken); }
@media (max-width: 760px) { .mp-sheet { height: 88dvh; } }
@media screen and (max-width: 640px) { body #tool-fields label, body #pp-fields label { white-space: normal; overflow: visible; text-overflow: clip; } }

.gd-shot-more { display: none; }
@media screen and (max-width: 640px) {
  .gd-shot:not(.x-open) .gd-shot-x { display: none; }
  .gd-shot-more { display: inline-flex; align-items: center; min-height: 44px; justify-self: start; text-align: left; }
}

.cmp-ctl-toggle, .cmp-note-more { display: none; }
@media (max-width: 620px) {
  .cmp-headbar { flex-wrap: nowrap; }
  .cmp-headbar:not(.ctl-open) .cmp-headbar-ctl :is(select, label) { display: none; }
  .cmp-headbar.ctl-open { flex-wrap: wrap; }
  .cmp-ctl-toggle { display: inline-flex; flex: none; }
  .cmp-note:not(.open) > span { display: none; }
  .cmp-note-more { display: inline-flex; align-items: center; justify-self: start; min-height: 40px; font-size: var(--t-2); }
}
@media (pointer: coarse) { .cmp-acts { gap: .7rem; } }

@media screen and (max-width: 640px) {
  .gd-bar-price.is-stale { opacity: .55; }
  .gd-bar-price:not(.open) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; cursor: pointer; }
  body:has(#gd-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea):focus) .gd-bar { position: static; }
  .cv-mini { display: none; }
}
@media (hover: none) { #cv-keys-btn { display: none; } }
.dir-sec { scroll-margin-top: calc(var(--sticky-top, 3.5rem) + 8px); }
@media (max-width: 760px) { textarea[rows="1"] { min-height: 44px; } }
.sk-cmp { touch-action: pan-y; }
@media (pointer: coarse) { .sk-part::before { content: ""; position: absolute; inset: -8px -4px; } }

@media (max-width: 640px) {
  .modal-back { padding-bottom: var(--kb, 0px); }
  .modal-back > .modal { max-height: calc(92dvh - var(--kb, 0px)); }
}

.plan-card li.need { font-weight: 700; color: var(--ink); }
.plans-what, .plans-c2pa { margin: -.4rem 0 .8rem; font-size: var(--t-2); }
@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
  .modal-back > .modal { animation: sheet-up .22s cubic-bezier(.2, .7, .2, 1) backwards; }
}
.skel { display: block; border-radius: var(--r-s); background: var(--sunken); }
.view[aria-busy="true"] [data-list]:empty {
  min-height: 236px; border-radius: var(--r);
  background:
    linear-gradient(var(--sunken), var(--sunken)) 0 0 / 100% 64px no-repeat,
    linear-gradient(var(--sunken), var(--sunken)) 0 86px / 100% 64px no-repeat,
    linear-gradient(var(--sunken), var(--sunken)) 0 172px / 100% 64px no-repeat;
}

.view[aria-busy="true"] #cr-results:empty {
  min-height: 460px;
  background:
    linear-gradient(var(--sunken), var(--sunken)) 0 0 / calc(50% - .4rem) 200px no-repeat content-box,
    linear-gradient(var(--sunken), var(--sunken)) 100% 0 / calc(50% - .4rem) 200px no-repeat content-box,
    linear-gradient(var(--sunken), var(--sunken)) 0 232px / calc(50% - .4rem) 200px no-repeat content-box,
    linear-gradient(var(--sunken), var(--sunken)) 100% 232px / calc(50% - .4rem) 200px no-repeat content-box;
}
@media (prefers-reduced-motion: no-preference) {
  .skel { background: linear-gradient(90deg, var(--sunken), var(--paper-2), var(--sunken)); background-size: 200% 100%; animation: skel 1.2s linear infinite; }
  .view[aria-busy="true"] [data-list]:empty, .view[aria-busy="true"] #cr-results:empty { animation: skel-pulse 1.2s ease-in-out infinite; }
  .result-grid[aria-busy="true"]:empty { animation: skel-pulse 1.2s ease-in-out infinite; }
}

.result-grid[aria-busy="true"]:empty {
  min-height: 200px; border-radius: var(--r);
  background:
    linear-gradient(var(--sunken), var(--sunken)) 0 0 / calc(50% - .4rem) 200px no-repeat,
    linear-gradient(var(--sunken), var(--sunken)) 100% 0 / calc(50% - .4rem) 200px no-repeat;
}

.view[aria-busy="true"] :is(#gd-root, #cv-root):empty {
  min-height: 236px; border-radius: var(--r);
  background:
    linear-gradient(var(--sunken), var(--sunken)) 0 0 / 100% 64px no-repeat,
    linear-gradient(var(--sunken), var(--sunken)) 0 86px / 100% 64px no-repeat,
    linear-gradient(var(--sunken), var(--sunken)) 0 172px / 100% 64px no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
  .view[aria-busy="true"] :is(#gd-root, #cv-root):empty { animation: skel-pulse 1.2s ease-in-out infinite; }
}
@keyframes skel { to { background-position: -200% 0; } }
@keyframes skel-pulse { 50% { opacity: .55; } }
.state-error {
  display: flex; gap: .8rem; align-items: center; padding: .85rem 1rem; margin: 0 0 1.2rem;
  border: 1px solid var(--rule); border-left: 3px solid var(--stop); border-radius: var(--r-s); background: var(--raised);
  text-align: left;
}
.state-error .se-ic { color: var(--stop); display: grid; flex: none; }
.state-error .se-t { flex: 1; min-width: 0; display: grid; gap: .1rem; }
.state-error .se-t b { color: var(--ink); }
.state-error .se-t span { color: var(--ink-2); font-size: var(--t-3); }
.state-error .se-t small { display: block; color: var(--ink-3); font-size: var(--t-2); }
td.empty .state-error { margin: 0; }
:root[data-theme="dark"] img.empty-art { background: transparent; border-color: transparent; }
@media (prefers-reduced-motion: no-preference) {
  .view:not([hidden]) { animation: view-in .2s ease-out backwards; }
}
@keyframes view-in { from { opacity: 0; } }
body:has(> .site-foot) { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body:has(> .site-foot) > main { flex: 1 0 auto; width: 100%; }
.pr-rates { font-variant-numeric: tabular-nums; }
.pr-rates .num { text-align: right; white-space: nowrap; }
.pr-rates td.any { text-align: center; }
.pr-rates td.any small { display: block; color: var(--ink-3); font-size: var(--t-1); font-weight: 400; }
.pr-rates td.na { color: var(--ink-3); }
.pr-rates tbody th { white-space: normal; color: var(--ink); font-size: var(--t-3); background: none; }
.pr-rates tbody th small { font-weight: 400; }

@media (max-width: 620px) {
  .tw:has(> .pr-rates) { overflow: visible; }
  .pr-rates thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pr-rates, .pr-rates tbody { display: block; }
  .pr-rates tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem .8rem; padding: .85rem .95rem; border-bottom: 1px solid var(--hair); }
  .pr-rates tr:last-child { border-bottom: 0; }
  .pr-rates tbody th { grid-column: 1 / -1; padding: 0; border: 0; }
  .pr-rates td { display: flex; flex-direction: column; gap: .1rem; padding: 0; border: 0; text-align: left; font-weight: 700; }
  .pr-rates td::before { content: attr(data-label); font-size: var(--t-1); font-weight: 500; color: var(--ink-3); }
  .pr-rates td.na { display: none; }
  .pr-rates td.any::before { content: none; }
  
  .pr-rates tr:has(> td.any), .pr-rates tr:has(> td[data-label="單價"]) { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .pr-rates tr:has(> td.any) > th, .pr-rates tr:has(> td[data-label="單價"]) > th { grid-column: 1; }
  .pr-rates td.any, .pr-rates td[data-label="單價"] { grid-column: 2; align-items: flex-end; text-align: right; }
  .pr-rates td.any small { order: 1; }
  .pr-rates td[data-label="單價"]::before { content: none; }
}
@media (max-width: 620px) {
  table.tbl-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.tbl-stack, table.tbl-stack tbody { display: block; }
  table.tbl-stack tr {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1rem;
    padding: .85rem .95rem; border-bottom: 1px solid var(--hair);
  }
  table.tbl-stack tr:last-child { border-bottom: 0; }
  table.tbl-stack td, table.tbl-stack tbody th {
    display: block; min-width: 0; padding: 0; border: 0; text-align: left; white-space: normal; background: none;
  }
  table.tbl-stack td::before, table.tbl-stack tbody th::before {
    content: attr(data-label); display: block; margin-bottom: .1rem;
    color: var(--ink-3); font-size: var(--t-1); font-weight: 600; font-family: var(--sans);
  }
  table.tbl-stack tr > :first-child { grid-column: 1 / -1; font-weight: 600; color: var(--ink); }
  table.tbl-stack tr > :first-child::before { content: none; }
  table.tbl-stack td[colspan] { grid-column: 1 / -1; }
  table.tbl-stack td:not([data-label])::before, table.tbl-stack td[colspan]::before { content: none; }
  table.tbl-stack td.num { font-variant-numeric: tabular-nums; }
  tbody tr:hover td { background: none; }
}
.tw {
  background:
    linear-gradient(to right, var(--raised) 30%, transparent) left center / 28px 100% no-repeat local,
    linear-gradient(to left, var(--raised) 30%, transparent) right center / 28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(16, 20, 24, .16), transparent) left center / 12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(16, 20, 24, .16), transparent) right center / 12px 100% no-repeat scroll,
    var(--raised);
}
:root[data-theme="dark"] .tw {
  background:
    linear-gradient(to right, var(--raised) 30%, transparent) left center / 28px 100% no-repeat local,
    linear-gradient(to left, var(--raised) 30%, transparent) right center / 28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .5), transparent) left center / 12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .5), transparent) right center / 12px 100% no-repeat scroll,
    var(--raised);
}
.nt-body { margin: .5rem 0 0; white-space: pre-line; }
#pricing-grid .plan-card { position: relative; display: flex; flex-direction: column; }
#pricing-grid .plan-card ul { flex: 1; }
.plan-card.rec { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand), var(--shadow-2); }
.plan-badge {
  position: absolute; top: -.72rem; left: 1rem; padding: .16rem .62rem; border-radius: var(--r-pill);
  background: var(--grad-fill); color: var(--on-brand); font-size: var(--t-1); font-weight: 700; letter-spacing: .04em;
  box-shadow: 0 2px 6px rgba(132, 1, 26, .25);
}
.auth-wrap { max-width: 980px; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 1.4rem; }
@media (max-width: 760px) { .auth-wrap { grid-template-columns: 1fr; } }
.auth-form { padding: 1.5rem 1.6rem 1.4rem; }
.fld-label { display: block; font-size: var(--t-2); color: var(--ink-2); margin: .9rem 0 .35rem; font-weight: 600; letter-spacing: .01em; }
.field-help { margin: .35rem 0 0; font-size: var(--t-2); color: var(--ink-3); }
.pw-wrap { position: relative; }
.pw-wrap > input { padding-right: 4.4rem; }
.pw-toggle {
  position: absolute; right: .35rem; top: .35rem; height: calc(var(--control-h) - .7rem); min-width: 3.4rem; padding: 0 .6rem;
  border: 0; border-radius: var(--r-xs); background: var(--hover); color: var(--ink-2);
  font-family: var(--sans); font-size: var(--t-2); font-weight: 600; cursor: pointer;
}
.pw-toggle:hover { background: var(--chip); color: var(--ink); }
.auth-side {
  background: radial-gradient(130% 100% at 100% 0%, #C3213D 0%, #A70A27 42%, #6E0116 100%);
  color: #FFFFFF; border-color: transparent; box-shadow: var(--shadow-2); padding: 1.6rem 1.6rem 1.3rem;
}
.auth-side h3 { color: #FFFFFF; }
.auth-side .lp-points li { display: flex; gap: .65rem; align-items: flex-start; color: rgba(255, 255, 255, .94); }
.auth-side .lp-points li::before { content: none; }
.auth-side .lp-points li .ic {
  flex: none; width: 22px; height: 22px; padding: 4px; margin-top: .05rem;
  border-radius: 50%; background: rgba(255, 255, 255, .18); color: #FFFFFF;
}
.auth-side .auth-demo { border-top-color: rgba(255, 255, 255, .24); }
.auth-side .auth-demo summary, .auth-side .auth-demo p { color: rgba(255, 255, 255, .9); }

body[data-view="auth"] .whoami :is(.who-reg, .who-login) { display: none; }
a.card.is-link { display: flex; flex-direction: column; color: inherit; text-decoration: none; border-bottom: 1px solid var(--rule); transition: box-shadow .15s, border-color .15s, transform .15s; }
a.card.is-link:hover { border-color: var(--hair); box-shadow: var(--shadow-2); }
@media (prefers-reduced-motion: no-preference) { a.card.is-link:hover { transform: translateY(-2px); } }
.subj-card .sc-name { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .3rem 0 .3rem; font-size: var(--t-5); }
.subj-card .sc-bio { margin: 0; }
.subj-card .sc-tags { margin: .55rem 0 .2rem; }
.subj-card .sc-foot { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-top: auto; padding-top: .7rem; border-top: 1px solid var(--hair); }
.subj-card .sc-price { color: var(--ink-2); font-size: var(--t-3); }
.subj-card .sc-price b { color: var(--ink); font-variant-numeric: tabular-nums; }
.subj-card .sc-go { display: inline-flex; align-items: center; gap: .25rem; margin-top: .55rem; color: var(--brand-ink); font-weight: 600; font-size: var(--t-3); }
.subj-card:hover .sc-go { text-decoration: underline; text-underline-offset: 3px; }
.f-count { margin: .8rem 0 .2rem; color: var(--ink-2); font-size: var(--t-3); }
.f-count .linklike { margin-left: .7rem; }
.f-count:empty { display: none; }

body[data-auth="in"] #v-browse .hero { display: none; }
@media (max-width: 620px) { #v-browse .hero { display: none; } }
.hero .kick { letter-spacing: .06em; text-transform: none; }
.sh-price { color: var(--ink-2); font-size: var(--t-3); margin-right: .3rem; }
.sh-price b { color: var(--ink); font-size: var(--t-5); font-variant-numeric: tabular-nums; }
.subj-tags { margin: 0 0 .4rem; }
.subj-ban { display: flex; align-items: center; gap: .45rem; margin: 0 0 .8rem; padding: .55rem .8rem; border-radius: var(--r-s); background: var(--brass-bg); color: var(--ink); font-size: var(--t-3); }
.subj-ban .ic { color: var(--brass-2); flex: none; }
.scope-more { background: var(--raised); }
.scope-more summary { cursor: pointer; padding: .7rem 1rem; color: var(--ink-2); font-weight: 600; font-size: var(--t-3); }
.scope-more .scoperow { opacity: .8; }
.seal.verdict.ok { background: var(--seal-bg); color: var(--seal); border-color: var(--seal); }
.seal.verdict.warn { background: var(--brass-bg); color: var(--brass-2); border-color: var(--brass); }
.seal.verdict.stop { background: var(--stop-bg); color: var(--stop); border-color: var(--stop); }
.seal.verdict.neutral { background: var(--chip); color: var(--ink-2); border-color: var(--rule); }
.verify-intro { margin-top: 1rem; padding: 1rem 1.15rem; border: 1px dashed var(--rule); border-radius: var(--r); color: var(--ink-2); font-size: var(--t-3); }
.verify-intro b { color: var(--ink); }
.verify-intro ul { margin: .45rem 0 0; padding-left: 1.2rem; }
.verify-file { display: grid; gap: .35rem; margin-top: 1rem; }
.verify-file p { margin: 0; font-size: var(--t-2); }

.c2pa-result td { overflow-wrap: anywhere; }
.out-withdrawn { display: grid; place-items: center; aspect-ratio: 1 / 1; padding: 1rem; text-align: center; color: var(--ink-3); font-size: var(--t-2); background: var(--raised); border-bottom: 1px solid var(--rule); }
.c2pa-result td .tag { white-space: normal; }
.verify-intro li + li { margin-top: .2rem; }

@media (prefers-reduced-motion: no-preference) {
  .seal-stamp { animation: seal-stamp .34s cubic-bezier(.2, .9, .3, 1.2) backwards; }
}
@keyframes seal-stamp { from { transform: scale(1.35) rotate(-12deg); opacity: 0; } 70% { opacity: 1; } }
.est-quick { margin-top: .45rem; }
.est-quick .chip { min-height: 30px; padding: .2rem .6rem; font-size: var(--t-2); }
.est-take {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .3rem 1rem;
  margin-top: .9rem; padding: .75rem .95rem; border-radius: var(--r); background: var(--brand-bg); color: var(--brand-ink);
}
.est-take span { font-weight: 600; font-size: var(--t-3); }
.est-take b { font-size: var(--t-6); font-weight: 800; color: var(--ink); font-variant-numeric: tabular-nums; }
.est-whatif .wi-pick { font-weight: 600; }

@media screen and (max-width: 640px) {
  .est-whatif table { table-layout: fixed; }
  .est-whatif td.num { white-space: normal; overflow-wrap: anywhere; }
}
.est-whatif tr.est-now td { background: var(--brand-bg); }
.est-peek { display: none; }
@media (max-width: 880px) {
  .est-peek:not([hidden]) {
    position: fixed; left: .6rem; right: .6rem; bottom: calc(.6rem + env(safe-area-inset-bottom, 0px)); z-index: var(--z-dock);
    display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .6rem .6rem .6rem .95rem;
    border: 1px solid var(--rule); border-radius: var(--r-lg); background: var(--overlay); box-shadow: var(--shadow-3);
    transition: transform .2s, opacity .2s;
  }
  .est-peek span { display: grid; min-width: 0; }
  .est-peek small { color: var(--ink-3); font-size: var(--t-1); }
  .est-peek b { font-variant-numeric: tabular-nums; font-size: var(--t-4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .est-peek.away { transform: translateY(140%); opacity: 0; pointer-events: none; }
  body[data-view="estimate"] #toast { bottom: calc(5rem + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 560px) { .est-form .row { grid-template-columns: 1fr; } }

.mc-toggle { display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; background: none; color: var(--ink); font: inherit; cursor: pointer; text-align: left; }
.mc-toggle .caret { color: var(--ink-3); transform: rotate(-90deg); transition: transform .15s; flex: none; }
.mc-toggle[aria-expanded="true"] .caret { transform: none; }
.mc-dev { font-size: var(--t-2); color: var(--ink-3); }
.mc-dev summary { cursor: pointer; }
.mc-dev[open] .inline { margin-top: .35rem; }
.ed-clip.blocked {
  outline: 2px solid var(--stop); outline-offset: -2px;
  background-image: repeating-linear-gradient(135deg, color-mix(in srgb, var(--stop) 28%, transparent) 0 6px, transparent 6px 12px);
}
.ed-clip:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; z-index: 3; }
.ed-clip.on { box-shadow: 0 0 0 2px var(--brand), 0 2px 8px rgba(132, 1, 26, .25); }
.ed-blk { margin-left: .5rem; font-size: var(--t-2); color: var(--stop); }

.ed-tbtn.ed-play { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--grad-fill); color: var(--on-brand); border: 0; }
@media (pointer: coarse) { .ed-tbtn.ed-play { width: 44px; height: 44px; } }

@media (pointer: coarse) { .ed-handle { width: 16px; } }
.ed-handle::after { content: ""; position: absolute; top: 25%; bottom: 25%; left: 50%; width: 2px; margin-left: -1px; border-radius: 1px; background: rgba(255, 255, 255, .75); }
.pr-cast-fee { flex-basis: 100%; grid-column: 1 / -1; margin: .35rem 0 0; font-size: var(--t-2); }
.stat-act { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem; margin-top: .7rem; }
.stat-act-note { font-size: var(--t-2); }
.esc-due { display: inline-flex; align-items: center; gap: .35rem; margin: .1rem 0 .5rem; font-size: var(--t-2); color: var(--ink-2); }
.esc-due .ic { color: var(--ink-3); }
.esc-due.soon { color: var(--brass-2); font-weight: 600; }
.esc-due.soon .ic { color: var(--brass-2); }
.panel.is-due { border-left: 3px solid var(--brass); }
.ntf { position: relative; }
.ntf.unread { border-left: 3px solid var(--brand); }
.ntf .ntf-t { display: flex; align-items: center; gap: .45rem; margin: 0; font-size: var(--t-4); }
.ntf-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); flex: none; }
.ntf:not(.unread) .ntf-t { font-weight: 600; color: var(--ink-2); }
.ntf-mailnote { margin-bottom: 1rem; }

.codeblock { display: flex; align-items: flex-start; gap: .6rem; margin: .55rem 0; padding: .6rem .7rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--sunken); }
.mfa-qr { display: block; width: 200px; height: 200px; margin: .5rem 0 .8rem; border: 1px solid var(--rule); border-radius: var(--r-s); }
.codeblock code { flex: 1; min-width: 0; font-family: var(--mono); font-size: var(--t-2); word-break: break-all; white-space: pre-wrap; user-select: all; }

.vp .id { font-size: var(--t-2); color: var(--ink-3); word-break: break-all; max-width: none; }
.vp-facts { margin: 1.1rem 0; max-width: 40rem; }
.vp-more { margin-top: 1.4rem; }
.ad-savebar {
  position: sticky; bottom: calc(.8rem + env(safe-area-inset-bottom, 0px)); z-index: var(--z-dock);
  display: flex; align-items: center; gap: .6rem; margin-top: 1.2rem; padding: .7rem .8rem .7rem 1.1rem;
  border: 1px solid var(--rule); border-left: 3px solid var(--brass); border-radius: var(--r);
  background: var(--overlay); box-shadow: var(--shadow-3);
}
.ad-savebar[hidden] { display: none; }
.ad-savebar-t { margin-right: auto; font-weight: 700; color: var(--ink); }
.statgrid { grid-auto-flow: row dense; }
.site-banner { background: var(--brass-bg); color: var(--ink); padding: .55rem 1rem; font-size: var(--t-2); text-align: center; border-bottom: 1px solid var(--rule); }
.site-banner.warn { background: var(--stop-bg); color: var(--stop); }
#gd-root { --gd-ar: 16 / 9; min-width: 0; }
.gd-h2 { font-size: var(--t-6); margin: 0 0 .4rem; }
.gd-h3 { font-size: var(--t-5); margin: 0 0 .5rem; display: flex; align-items: center; gap: .4rem; }
.gd-meta { color: var(--ink-3); font-size: var(--t-2); }
.gd-note { color: var(--ink-3); font-size: var(--t-2); margin: .2rem 0 .6rem; max-width: 48em; }
.gd-hint { display: block; color: var(--ink-3); font-size: var(--t-2); margin-top: .25rem; }
.gd-lead { font-size: var(--t-3); color: var(--ink-2); margin: 0 0 1rem; max-width: 46em; }
.gd-lead:focus { outline: none; }
.gd-err { color: var(--stop); font-size: var(--t-2); margin: .3rem 0; }
.gd-flag { display: inline-flex; align-items: center; gap: .3rem; color: var(--brass-2); font-size: var(--t-2); margin-top: .3rem; }
.gd-home-mine { margin-bottom: 2rem; }
.gd-proj-grid, .gd-tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .9rem; }
.gd-proj, .gd-tpl { display: flex; flex-direction: column; gap: .45rem; min-width: 0; padding: .8rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--panel); }
.gd-proj-cover { aspect-ratio: 16 / 9; border-radius: var(--r-s); overflow: hidden; background: var(--sunken); display: grid; place-items: center; }
.gd-proj-cover :is(img, video) { width: 100%; height: 100%; object-fit: cover; display: block; }
.gd-proj-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.gd-proj-t { font-size: var(--t-4); overflow-wrap: anywhere; }
.gd-proj-acts { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: auto; }
.gd-scope-seg { margin: .2rem 0 1rem; max-width: 100%; overflow-x: auto; }

.gd-scope-seg .seg { flex-wrap: nowrap; }
.gd-scope-seg .seg-btn { flex: 0 0 auto; white-space: nowrap; }
.gd-home-all { margin-top: .7rem; }
@media (max-width: 600px) {
  .gd-proj { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .35rem .75rem; padding: .6rem; }
  .gd-proj-cover { aspect-ratio: 1; }
  .gd-proj-acts { grid-column: 1 / -1; }
}
.gd-tpl-t { font-size: var(--t-4); margin: 0; }
.gd-tpl-p { margin: 0; color: var(--ink-2); font-size: var(--t-3); }
.gd-tpl-needs { font-size: var(--t-2); color: var(--brass-2); }
.gd-tpl-price { font-size: var(--t-2); color: var(--ink-3); min-height: 1.2em; }
.gd-tpl .btn { align-self: flex-start; margin-top: auto; }

.gd-glyph { display: flex; align-items: center; gap: .3rem; height: 2.2rem; padding: 0 .5rem; border-radius: var(--r-s); background: var(--sunken); overflow: hidden; }
.gd-glyph i { display: block; flex: none; background: var(--ink-3); opacity: .55; }
.gd-glyph .g-brief { width: .9rem; height: .9rem; border-radius: 3px; background: var(--brand); opacity: .85; }
.gd-glyph .g-char { width: .8rem; height: .8rem; border-radius: 50%; }
.gd-glyph .g-shots { display: flex; gap: .2rem; margin-left: .3rem; min-width: 0; }
.gd-glyph .g-shots i { width: .55rem; height: 1.2rem; border-radius: 2px; }
.gd-create .gd-fld { margin-bottom: .7rem; }
.gd-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin-bottom: .8rem; }
.gd-head .crumbs { flex-basis: 100%; }
.gd-title { font-size: var(--t-6); margin: 0; overflow-wrap: anywhere; }
.gd-settings { flex-basis: 100%; min-width: 0; max-width: 100%; border: 1px solid var(--rule); border-radius: var(--r-s); padding: .45rem .7rem; background: var(--panel); }
.gd-settings summary { min-width: 0; cursor: pointer; font-weight: 600; display: flex; flex-wrap: wrap; gap: .2rem .6rem; align-items: baseline; }
.gd-settings-in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: .6rem 1rem; margin-top: .6rem; }
.gd-steps-wrap { margin: 0 0 1rem; max-width: 100%; overflow-x: auto; scroll-margin-top: calc(var(--sticky-top, 0px) + 8px); }

@media (max-width: 620px) {
  #v-canvas[data-cv="project"] .page-head p:not(.ph-eyebrow), #v-canvas[data-cv="project"] .page-head :is(.ph-eyebrow, h1) { display: none; }
  #v-canvas[data-cv="project"] .page-head { padding-block: .4rem .5rem; margin-bottom: .8rem; }
  #v-canvas[data-cv="project"] .page-head-acts { margin-top: 0; }
  
  :is(#v-guided[data-gd="project"], #v-canvas[data-cv="project"]) .page-head .ph-more { display: none; }
  #v-guided[data-gd="project"] .page-head p:not(.ph-eyebrow) { display: none; }
  
  #v-guided[data-gd="project"] .page-head :is(.ph-eyebrow, h1) { display: none; }
  #v-guided[data-gd="project"] .page-head { padding-block: .4rem .5rem; margin-bottom: .8rem; }
  #v-guided[data-gd="project"] .page-head-acts { margin-top: 0; }
  
  .gd-settings summary .gd-meta { flex-basis: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
.gd-steps { display: flex; gap: .35rem; list-style: none; margin: 0; padding: 0 0 .2rem; }
.gd-step { flex: none; }
.gd-step-b { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .35rem .75rem .35rem .4rem; border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--panel); color: var(--ink-2); font: inherit; font-size: var(--t-3); cursor: pointer; }
.gd-step-b:hover { border-color: var(--hair); background: var(--paper-2); }
.gd-step-b[aria-current="step"] { border-color: var(--brand); color: var(--brand-ink); font-weight: 700; box-shadow: inset 0 -2px 0 var(--brand); }
.gd-step-n { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--sunken); color: var(--ink-2); font-size: var(--t-2); font-weight: 700; flex: none; }
.gd-step-b.is-done .gd-step-n { background: var(--seal-bg); color: var(--seal-ink); }
.gd-step-b.is-na { border-style: dashed; background: transparent; }
.gd-step-b.is-na .gd-step-n { background: transparent; border: 1px dashed var(--hair); }
.gd-step-b small { color: var(--ink-3); font-size: var(--t-2); font-variant-numeric: tabular-nums; }
.gd-run[hidden], .gd-textjob[hidden] { display: none; }
.gd-run, .gd-textjob { margin-bottom: 1rem; }
.gd-run-in, .gd-textjob { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: .7rem .9rem; border: 1px solid var(--rule); border-left: 3px solid var(--slate); border-radius: var(--r); background: var(--panel); }
.gd-run-in.is-paused { border-left-color: var(--brass); }
.gd-textjob p { margin: 0; flex: 1 1 18rem; }
.gd-run-l { display: flex; flex-direction: column; gap: .2rem; flex: 1 1 18rem; min-width: 0; }
.gd-run-acts { display: flex; flex-wrap: wrap; gap: .4rem; }
.gd-meter { flex-basis: 100%; height: 6px; border-radius: var(--r-pill); background: var(--sunken); overflow: hidden; }
.gd-meter i { display: block; height: 100%; background: var(--slate); border-radius: inherit; transition: width .3s ease; }
.gd-body { min-width: 0; }
.gd-card { padding: 1rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--panel); margin-bottom: 1rem; min-width: 0; }
.gd-fld { display: flex; flex-direction: column; min-width: 0; margin-bottom: .6rem; }
.gd-fld label { font-size: var(--t-2); font-weight: 600; color: var(--ink-2); margin-bottom: .25rem; }
.gd-fld :is(input, textarea, select) { width: 100%; min-width: 0; }
.gd-row2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 0 1rem; }
.gd-fs { border: 1px solid var(--rule); border-radius: var(--r-s); padding: .6rem .8rem .2rem; margin: 0 0 .7rem; min-width: 0; }
.gd-fs legend { font-size: var(--t-2); font-weight: 600; color: var(--ink-2); padding: 0 .3rem; }
.gd-text-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin-bottom: 1rem; }
.gd-text-acts .gd-note { margin: 0; flex: 1 1 16rem; }
.gd-engine[hidden] { display: none; }
.gd-engine { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin: 0 0 1rem; }
.gd-engine-l { font-size: var(--t-2); font-weight: 600; color: var(--ink-2); }
.gd-beats-d summary { cursor: pointer; font-size: var(--t-2); color: var(--ink-2); }
.gd-beats { margin: .4rem 0 0; padding-left: 1.3rem; font-size: var(--t-3); color: var(--ink-2); }
.gd-cast-grid, .gd-slot-grid, .gd-frame-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: .9rem; }
.gd-char, .gd-slot, .gd-frame { display: flex; flex-direction: column; gap: .45rem; min-width: 0; padding: .75rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--paper); }
.gd-thumb { position: relative; aspect-ratio: var(--gd-ar); max-height: 22rem; border-radius: var(--r-s); overflow: hidden; background: var(--sunken); display: grid; place-items: center; }

.gd-zoom {
  position: absolute; top: .4rem; left: .4rem; z-index: 1; width: 32px; height: 32px; display: grid; place-items: center;
  border-radius: var(--r-s); border: 1px solid var(--rule); background: var(--raised); color: var(--ink); cursor: pointer; opacity: .92;
}
.gd-zoom:hover { opacity: 1; border-color: var(--ink-3); }
@media (pointer: coarse) { .gd-zoom { width: 44px; height: 44px; } }
.gd-char .gd-thumb { aspect-ratio: 3 / 4; }
.gd-slot .gd-thumb { aspect-ratio: 4 / 3; }
.gd-thumb :is(img, video) { width: 100%; height: 100%; object-fit: contain; display: block; }
.gd-thumb > .adult-media, .gd-proj-cover > .adult-media { display: block; width: 100%; height: 100%; }
.gd-thumb .adult-media-body { display: block; width: 100%; height: 100%; }
.gd-thumb-ph { display: grid; place-items: center; gap: .3rem; color: var(--ink-3); font-size: var(--t-2); text-align: center; padding: .5rem; }
.gd-card-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem .5rem; }
.gd-card-h b { font-size: var(--t-4); }
.gd-state { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem; }
.gd-card-acts { display: flex; flex-wrap: wrap; gap: .4rem; align-items: flex-start; }
.gd-frame-d { margin: 0; font-size: var(--t-3); color: var(--ink-2); overflow-wrap: anywhere; }
.gd-prompt summary { cursor: pointer; font-size: var(--t-2); color: var(--ink-3); }
.gd-prompt p { margin: .3rem 0 0; font-size: var(--t-2); color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; }
.gd-versions { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .15rem; }
.gd-ver { flex: none; width: 3.4rem; height: 3.4rem; padding: 0; border: 2px solid var(--rule); border-radius: var(--r-xs); background: var(--sunken); overflow: hidden; cursor: pointer; }
.gd-ver :is(img, video) { width: 100%; height: 100%; object-fit: cover; display: block; }
.gd-ver[aria-current="true"] { border-color: var(--brand); }
.gd-sug { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem .8rem; padding: .5rem 0; border-top: 1px solid var(--rule); }
.gd-sug > span { flex: 1 1 16rem; min-width: 0; font-size: var(--t-3); }
.gd-swap { position: relative; }
.gd-swap-menu { position: absolute; z-index: var(--z-menu); top: calc(100% + .25rem); left: 0; min-width: 11rem; display: flex; flex-direction: column; padding: .3rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--overlay); box-shadow: var(--shadow-2); }
.gd-swap-menu[hidden] { display: none; }
.gd-swap-item { text-align: left; min-height: 40px; padding: .4rem .6rem; border: 0; border-radius: var(--r-xs); background: none; color: var(--ink); font: inherit; font-size: var(--t-3); cursor: pointer; }
.gd-swap-item:hover, .gd-swap-item:focus-visible { background: var(--paper-2); }
.gd-cand-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 8.5rem), 1fr)); gap: .6rem; min-height: 6rem; }
.gd-cand { display: flex; flex-direction: column; gap: .3rem; padding: .35rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--paper); color: var(--ink-2); font: inherit; font-size: var(--t-2); text-align: left; cursor: pointer; min-width: 0; }
.gd-cand :is(img, video) { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-xs); display: block; }
.gd-cand span { overflow-wrap: anywhere; }
.gd-imp .gd-thumb-ph { aspect-ratio: 1; }
.mm-panel { margin-top: .6rem; padding: .8rem; border: 1px solid var(--rule); border-radius: 12px; background: var(--paper); display: grid; gap: .6rem; }
.mm-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.mm-row { display: grid; gap: .35rem; }
.mm-lab { font-size: var(--t-1); color: var(--ink-3); }
.mm-why:empty { display: none; }

.mm-acts, .ac-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.gd-music-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .5rem; }

.sk-panel { margin-top: .6rem; padding: .8rem; border: 1px solid var(--rule); border-radius: 12px; background: var(--paper); display: grid; gap: .7rem; }
.sk-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.sk-grid { display: grid; grid-template-columns: 11rem 1fr; gap: .8rem; align-items: start; }
.sk-face { position: relative; color: var(--ink-3); }
.sk-face svg { width: 100%; height: auto; display: block; }
.sk-part { position: absolute; transform: translate(-50%, -50%); padding: .05rem .4rem; border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--raised); color: var(--ink-2); font-size: var(--t-1); cursor: pointer; }
.sk-part:hover, .sk-part:focus-visible { border-color: var(--brand); color: var(--brand-ink); }
.sk-sliders { display: grid; gap: .45rem; }
.sk-slider { display: grid; grid-template-columns: 1fr auto; gap: .1rem .5rem; align-items: center; }
.sk-slider input[type="range"] { grid-column: 1 / -1; width: 100%; }
.sk-val { font-size: var(--t-1); color: var(--ink-3); }
.sk-attrs { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .5rem; }
.sk-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.sk-why:empty { display: none; }
.sk-cands { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .7rem; }
.sk-cand { display: grid; gap: .4rem; }

.sk-cmp { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: var(--sunken); }
.sk-cmp img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.sk-cmp-after { clip-path: inset(0 calc(100% - var(--sk-x)) 0 0); }
.sk-cmp-line { position: absolute; top: 0; bottom: 0; left: var(--sk-x); width: 2px; margin-left: -1px; background: var(--brand); pointer-events: none; }
.sk-cmp-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.sk-cmp:has(.sk-cmp-range:focus-visible) { outline: 2px solid var(--brand); outline-offset: 2px; }
.sk-cmp-tag { position: absolute; top: .35rem; padding: .05rem .4rem; border-radius: var(--r-pill); background: var(--raised); color: var(--ink-2); font-size: var(--t-1); pointer-events: none; }
.sk-cmp-tag-l { left: .35rem; }
.sk-cmp-tag-r { right: .35rem; }
@media (max-width: 620px) { .sk-grid { grid-template-columns: 1fr; } .sk-face { width: 11rem; margin: 0 auto; } }

.stk-more { margin: .6rem 0; }
.stk-more > summary { cursor: pointer; color: var(--ink-2); }
.stk-tools { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .25rem .8rem; margin: .4rem 0; }
.stk-check { display: inline-flex; align-items: center; gap: .35rem; }

.gd-tpl-filter { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .4rem 0 .8rem; }
.gd-stage { align-items: center; }

.mv-step { margin: 1.2rem 0; max-width: 46rem; display: grid; gap: .6rem; }
.mv-step h2 { font-size: var(--t-4); margin: 0; }
.mv-step textarea, .mv-step audio { width: 100%; }
.mv-row { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem 1rem; }
.mv-row .fld { flex: 1 1 12rem; }
.mv-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }

.mv-acts.tapping {
  position: sticky; bottom: 0; z-index: 5; background: var(--surface);
  padding: .6rem 0 calc(.6rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rule);
}
.mv-acts.tapping #mv-tap { order: -1; flex: 1 1 100%; min-height: 64px; touch-action: manipulation; font-size: var(--t-5); }
.mv-check { display: inline-flex; align-items: center; gap: .4rem; }
.mv-why:empty { display: none; }
.mv-lines, .mv-rows { margin: 0; padding-left: 1.4rem; display: grid; gap: .25rem; }
.mv-line { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.mv-line.on { color: var(--brand-ink); font-weight: 600; }
.mv-line .mv-x { flex: 1 1 10rem; min-width: 0; }
.mv-t { font-variant-numeric: tabular-nums; color: var(--ink-3); min-width: 3.4rem; }
.mv-rows li { display: flex; flex-wrap: wrap; gap: .2rem .6rem; align-items: baseline; }

.qk-step { margin: 1.2rem 0; max-width: 46rem; display: grid; gap: .7rem; }
.qk-step[hidden] { display: none; }
.qk-step h2 { font-size: var(--t-4); margin: 0; }
.qk-step textarea { width: 100%; }
.qk-row, .qk-openers { display: grid; gap: .35rem; }
.qk-lab { font-size: var(--t-1); color: var(--ink-3); }
.qk-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.qk-why:empty { display: none; }
.qk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 8rem), 1fr)); gap: .6rem; }   
.qk-cand { position: relative; display: grid; place-items: center; aspect-ratio: 1; padding: 0; overflow: hidden; border: 1px solid var(--rule); border-radius: 12px; background: var(--sunken); color: var(--ink-2); cursor: pointer; }
.qk-cand img { width: 100%; height: 100%; object-fit: cover; }
.qk-cand.on { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand); }
.qk-cand:disabled { cursor: default; }
.qk-cand-wait { padding: .6rem; font-size: var(--t-2); text-align: center; }

.qk-anchor { display: grid; gap: .35rem; align-content: start; }
.qk-anchor .qk-row { gap: .3rem; }
.qk-anchor select { font-size: var(--t-2); }
.qk-video { width: 100%; max-height: 70vh; border-radius: 12px; background: #000; }
.ac-step { margin: 1.2rem 0; }
.ac-step h2 { font-size: var(--t-4); margin: 0 0 .6rem; }
.ac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 8rem), 1fr)); gap: .5rem; margin-top: .6rem; }
.ac-th { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-s); background: var(--sunken); pointer-events: none; }
.ac-item { position: relative; display: grid; gap: .2rem; text-align: left; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); min-height: 44px; }
.ac-item.on { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand) inset; }
.ac-item small { color: var(--ink-3); }
.ac-n { position: absolute; top: .3rem; right: .4rem; font-size: var(--t-1); color: var(--brand); }
.ac-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .6rem; }
.ac-card { display: grid; gap: .25rem; text-align: left; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); min-height: 44px; }
.ac-card.on { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand) inset; }
.ac-card span { color: var(--ink-2); font-size: var(--t-2); }
.ac-card small { color: var(--ink-3); }
.ac-opts { display: grid; gap: .7rem; margin-top: .8rem; max-width: 40rem; }
.ac-rows { margin: .4rem 0; padding-left: 1.3rem; }
.ac-note { margin: .4rem 0; }

.cw-body { display: grid; gap: .7rem; }
.cw-row { display: flex; flex-wrap: wrap; gap: .6rem .9rem; }
.cw-row .fld { min-width: 9rem; flex: 1 1 9rem; }
.cw-body textarea { width: 100%; }
.cw-warn { margin: .4rem 0; padding-left: 1.2rem; color: var(--warn-ink, var(--ink-2)); }

.gd-style-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .45rem; }
.gd-bulk-d > summary { cursor: pointer; font-size: var(--t-3); color: var(--ink-2); padding: .3rem 0; }
.gd-bulk { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem .8rem; padding: .5rem 0; }
.gd-bulk .gd-fld { min-width: 8rem; }
.gd-bulk > .gd-note { flex-basis: 100%; margin: 0; }
.gd-fr-list { display: flex; flex-direction: column; gap: .35rem; max-height: 50dvh; overflow: auto; margin-top: .5rem; }
.gd-fr-row { display: block; padding: .35rem .5rem; border: 1px solid var(--rule-2); border-radius: var(--r-s); font-size: var(--t-2); }
.gd-fr-after { display: block; margin-top: .2rem; color: var(--ink-2); overflow-wrap: anywhere; }

.cv-lib-tabs { display: flex; gap: .3rem; margin: .5rem 0; }
.cv-lib-tabs [aria-pressed="true"] { border-color: var(--brand); color: var(--brand-ink); background: var(--brand-bg); }
.cv-lib { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 7.5rem), 1fr)); gap: .5rem; margin-top: .5rem; min-height: 5rem; }
.cv-lib-card { display: flex; flex-direction: column; gap: .25rem; padding: .3rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--paper); cursor: grab; min-width: 0; }
.cv-lib-th { aspect-ratio: 1; border-radius: var(--r-xs); overflow: hidden; background: var(--sunken); display: grid; place-items: center; }
.cv-lib-th :is(img, video) { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-lib-n { font-size: var(--t-2); overflow-wrap: anywhere; }
.cv-lib-acts { display: flex; flex-wrap: wrap; gap: .25rem; }

#gd-print { display: none; }
@media print {
  body.gd-printing > :not(#gd-print) { display: none !important; }
  body.gd-printing { background: #fff; }
  body.gd-printing #gd-print { display: block; color: #000; background: #fff; font-family: var(--sans); font-size: var(--t-2); }
  #gd-print h1 { font-size: var(--t-6); margin: 0 0 .2rem; }
  #gd-print .gd-print-sub, #gd-print .gd-print-foot { font-size: var(--t-1); color: #333; }
  #gd-print table { width: 100%; border-collapse: collapse; }
  #gd-print th, #gd-print td { border: 1px solid #999; padding: .3rem .4rem; vertical-align: top; text-align: left; }
  #gd-print tr { break-inside: avoid; }
  #gd-print .gd-print-n { width: 2.2rem; text-align: center; font-weight: 700; }
  #gd-print .gd-print-pic { width: 38%; }
  #gd-print .gd-print-pic img { display: block; max-width: 100%; max-height: 7cm; object-fit: contain; }
  #gd-print .gd-print-ai { font-size: var(--t-1); color: #333; }
  #gd-print .gd-print-ph { padding: 1.2rem .4rem; border: 1px dashed #999; color: #333; text-align: center; font-size: var(--t-1); }
  #gd-print p { margin: 0 0 .2rem; }
  #gd-print .gd-print-meta { color: #333; }
}
.gd-cand.is-match { border-color: var(--seal); }
.gd-cand:hover { border-color: var(--hair); }
.gd-check { padding: .8rem 1rem; border: 1px solid var(--rule); border-left: 3px solid var(--brass); border-radius: var(--r); background: var(--panel); margin-bottom: 1rem; }
.gd-check ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .3rem; }
.gd-check li { display: flex; flex-wrap: wrap; gap: .2rem .7rem; align-items: baseline; font-size: var(--t-3); }
.gd-board { list-style: none; margin: 0 0 .8rem; padding: 0; display: flex; flex-direction: column; gap: .7rem; }
.gd-shot { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: .6rem .8rem; padding: .75rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--paper); }
.gd-shot-n { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--sunken); font-weight: 700; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.gd-shot-main { min-width: 0; }
.gd-shot-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); gap: 0 .8rem; }
.gd-shot-acts { display: flex; flex-direction: column; gap: .25rem; }
.gd-cast-pick { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: 0 0 .6rem; }
.gd-cast-l { font-size: var(--t-2); font-weight: 600; color: var(--ink-2); margin-right: .2rem; }
.gd-chip { min-height: 36px; padding: .25rem .75rem; border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--paper); color: var(--ink-2); font: inherit; font-size: var(--t-3); cursor: pointer; }
.gd-chip:hover { border-color: var(--hair); background: var(--paper-2); }
.gd-chip[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-bg); color: var(--brand-ink); font-weight: 600; }
@media (max-width: 620px) {
  .gd-shot { grid-template-columns: minmax(0, 1fr); }
  .gd-shot-n { width: auto; height: auto; border-radius: var(--r-xs); justify-self: start; padding: .1rem .6rem; }
  .gd-shot-acts { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
}
.gd-final { margin: 0 0 1rem; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: .35rem; }
.gd-final-row { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .6rem; padding: .45rem .6rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--paper); font-size: var(--t-3); }
.gd-check-opt { display: flex; align-items: flex-start; gap: .5rem; font-size: var(--t-3); margin-bottom: .8rem; }
html:has(#v-guided:not([hidden]) #gd-bar) { scroll-padding: var(--sticky-top, var(--top-h, 3rem)) 0 calc(var(--gd-bar-h, 6rem) + 12px); }
#gd-body textarea { scroll-margin-bottom: .5rem; }
.gd-bar { position: sticky; bottom: calc(.6rem + env(safe-area-inset-bottom, 0px)); z-index: var(--z-dock); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; margin-top: 1.2rem; padding: .7rem .9rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--overlay); box-shadow: var(--shadow-3); }
.gd-bar-l { flex: 1 1 14rem; min-width: 0; font-size: var(--t-2); color: var(--ink-3); }
.gd-bar-acts { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; min-width: 0; }
.gd-bar-acts .btn { white-space: normal; text-align: center; }
.gd-blocker { flex-basis: 100%; margin: 0; font-size: var(--t-2); color: var(--brass-2); display: flex; flex-wrap: wrap; gap: .2rem .6rem; }
.gd-blocker:empty { display: none; }
@media (max-width: 620px) {
  .gd-bar { padding: .55rem .6rem; gap: .35rem .6rem; }
  .gd-bar-acts { flex: 1 1 100%; }
  
  .gd-bar-acts .btn { flex: 1 1 10rem; }
  .gd-bar-acts .btn.ghost { flex: 0 1 auto; }
  
  .gd-bar-acts { flex-wrap: nowrap; }
  .gd-bar-acts .btn, .gd-bar-acts .btn.ghost { flex: 1 1 0; min-width: 0; padding-inline: .6rem; }
  .gd-bar-l, .gd-blocker { font-size: var(--t-1); line-height: 1.35; }
  
  .gd-bar-acts:has(> .btn:nth-child(3)) { flex-wrap: wrap; }
  .gd-bar-acts:has(> .btn:nth-child(3)) > .btn:not(.ghost) { flex: 1 1 100%; order: 2; }
  .gd-bar-acts:has(> .btn:nth-child(3)) > .gd-next.ghost { flex: 0 0 auto; }
  .gd-bar-acts:has(> .btn:nth-child(3)) > .btn.ghost:not(.gd-next) { font-size: var(--t-2); }
}
body[data-zone="app"] #v-canvas.view { max-width: none; }
body[data-view="canvas"] .site-foot { display: none; }
#cv-root { --gd-ar: 16 / 9; min-width: 0; }
.cv-pick-head { margin-bottom: 1rem; }
.cv-shell { display: flex; flex-direction: column; gap: .7rem; min-width: 0; }

.cv-top { display: flex; flex-direction: column; gap: .45rem; padding: .5rem .7rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--panel); }
.cv-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; min-width: 0; }
.cv-top-t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .6rem; min-width: 0; flex: 0 1 auto; }
.cv-top-t .crumbs { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.cv-top-name { font-weight: 600; color: var(--ink); }
.cv-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.cv-tools-sp { flex: 1 1 0; min-width: .5rem; }
.cv-tools-strip { display: contents; }
.cv-tools > .gd-swap { flex: none; }
.cv-tools > .gd-swap > .btn { white-space: nowrap; }
.cv-top-t > .gd-save { flex: none; }

.cv-icon-btn { min-width: 34px; padding-inline: .45rem; }
.cv-icon-btn[disabled] { opacity: .45; cursor: default; }

.cv-ctx { position: absolute; z-index: 6; width: 0; height: 0; }
.cv-ctx .gd-swap-menu { top: 0; left: 0; }
.cv-ctx.is-left .gd-swap-menu { left: auto; right: 0; }
.cv-ctx.is-up .gd-swap-menu { top: auto; bottom: 0; }
.cv-go { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; margin-left: auto; min-width: 0; }

@media (min-width: 900px) {
  .cv-bar { flex-wrap: nowrap; }
  .cv-top-t { flex: 0 1 auto; flex-wrap: nowrap; min-width: 6rem; overflow: hidden; }
  .cv-top-t :is(.crumbs, .gd-meta) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .cv-settings.gd-settings { flex: 0 1 22rem; min-width: 7rem; }
  .cv-bar > :is(.gd-save, .btn, .cv-go) { flex: none; }
}

@media (max-width: 1280px) {
  .cv-tools .cv-tl { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}

.cv-settings.gd-settings { position: relative; flex: 0 1 26rem; padding: .25rem .6rem; }
.cv-settings summary { flex-wrap: nowrap; white-space: nowrap; min-height: 32px; align-items: center; }
.cv-settings summary .gd-meta { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }
.cv-settings[open] .gd-settings-in { position: absolute; z-index: 25; top: calc(100% + .3rem); left: 0; width: min(44rem, calc(100vw - 2rem)); margin: 0; padding: .8rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--panel); box-shadow: var(--shadow-2); }

#v-canvas[data-cv="project"] > .page-head { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body[data-zone="app"] #v-canvas[data-cv="project"].view { padding-top: .5rem; padding-bottom: 1rem; }
.cv-go .gd-blocker { text-align: right; justify-content: flex-end; max-width: 26rem; }

.cv-plan-note { margin: 0; max-width: 26rem; font-size: var(--t-1); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv-plan-note[hidden] { display: none; }
.cv-extra { display: inline-flex; flex-wrap: wrap; gap: .2rem .6rem; margin-left: .4rem; }
.cv-main { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: .7rem; min-height: 0; }
.cv-main.is-list { grid-template-columns: minmax(0, 1fr) 21rem; }

.cv-main:not(.has-insp) { grid-template-columns: minmax(0, 1fr); }
.cv-main:not(.has-insp) > .cv-insp { display: none; }

.cv-viewport { position: relative; height: min(72vh, 52rem); min-height: 22rem; overflow: hidden; overflow: clip; touch-action: none; border: 1px solid var(--rule); border-radius: var(--r); cursor: grab;
  background-color: var(--sunken); background-image: radial-gradient(var(--rule) 1px, transparent 1px); background-size: 22px 22px; }
.cv-viewport:active { cursor: grabbing; }

.cv-viewport.is-space, .cv-viewport.is-space :is(.cv-node, .cv-node-h, .cv-node-b) { cursor: grab; }
.cv-viewport.is-space:active, .cv-viewport.is-space:active :is(.cv-node, .cv-node-h, .cv-node-b) { cursor: grabbing; }
@media (hover: hover) and (pointer: fine) { .cv-node-b { cursor: move; } }
.cv-world { position: absolute; left: 0; top: 0; width: 1px; height: 1px; transform-origin: 0 0; }
.cv-edges { position: absolute; left: 0; top: 0; overflow: visible; pointer-events: none; }
.cv-edge { fill: none; stroke: var(--ink-3); stroke-width: 2; pointer-events: none; vector-effect: non-scaling-stroke; }
.cv-edge-hit { fill: none; stroke: transparent; stroke-width: 14; pointer-events: stroke; cursor: pointer; vector-effect: non-scaling-stroke; }
.cv-edge-hit:hover + .cv-edge, .cv-edge.is-sel { stroke: var(--brand); stroke-width: 3; }

.cv-edges.is-lit .cv-edge:not(.is-on):not(.is-sel):not(.is-temp) { opacity: .28; }
.cv-edge.is-on:not(.is-sel) { stroke: var(--ink); stroke-width: 2.5; }
.cv-edge.is-temp { stroke-dasharray: 6 5; pointer-events: none; }

.cv-zoombar { position: absolute; right: .6rem; bottom: .5rem; z-index: 2; display: flex; align-items: center; gap: 1px; padding: 2px; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--panel); box-shadow: var(--shadow-1); }
.cv-zb { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; min-width: 32px; height: 32px; padding: 0 .4rem; border: 0; border-radius: var(--r-xs); background: none; color: var(--ink-2); font: inherit; font-size: var(--t-2); cursor: pointer; }
.cv-zb:hover { background: var(--paper-2); color: var(--ink); }
.cv-zb:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.cv-zoom { min-width: 3.4em; text-align: center; color: var(--ink-2); font-size: var(--t-2); font-variant-numeric: tabular-nums; cursor: pointer; user-select: none; }
@media (pointer: coarse) { .cv-zb { min-width: 44px; height: 44px; } }

.cv-tip { position: absolute; left: 50%; top: .6rem; z-index: 2; transform: translateX(-50%); width: max-content; max-width: calc(100% - 2rem); margin: 0; padding: .3rem .8rem; border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--panel); color: var(--ink-2); font-size: var(--t-2); text-align: center; pointer-events: none; }
.cv-tip[hidden] { display: none; }

.cv-node { position: absolute; width: 248px; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); box-shadow: var(--shadow-1); cursor: default; }
.cv-node:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.cv-node.is-sel { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-bg), var(--shadow-1); }
.cv-node.is-insp { border-color: var(--brand); }
.cv-node.is-orphan { border-style: dashed; }

.cv-node.is-drop { outline: 2px dashed var(--brand); outline-offset: 3px; }
.cv-node-h { display: flex; align-items: center; gap: .4rem; height: 40px; padding: 0 .6rem; border-bottom: 1px solid var(--rule); border-radius: calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0; cursor: move; user-select: none; }

.cv-node.st-info .cv-node-h { box-shadow: inset 4px 0 0 var(--slate); }
.cv-node.st-ok .cv-node-h { box-shadow: inset 4px 0 0 var(--seal-ink); }
.cv-node.st-warn .cv-node-h { box-shadow: inset 4px 0 0 var(--brass-2); }
.cv-node.st-stop .cv-node-h { box-shadow: inset 4px 0 0 var(--stop); }
.cv-node.st-stop { border-color: color-mix(in srgb, var(--stop) 55%, var(--rule)); }
.cv-ic { display: inline-grid; place-items: center; color: var(--ink-3); flex: none; }
.cv-t { flex: 1; min-width: 0; font-size: var(--t-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv-price { flex: none; font-size: var(--t-2); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.cv-price.is-block { color: var(--brass-2); }

.cv-ports { display: flex; flex-direction: column; padding: 2px 0; }
.cv-port { position: relative; display: flex; align-items: center; gap: .35rem; height: 28px; margin: 0; padding: 0 .6rem 0 .9rem; border: 0; background: none; color: var(--ink-2); font: inherit; font-size: var(--t-2); text-align: left; cursor: pointer; }
.cv-port::before { content: ""; position: absolute; left: -6px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border: 2px solid var(--ink-3); border-radius: 2px; background: var(--paper); }
.cv-port.is-used::before { background: var(--ink-3); }
.cv-port small { color: var(--ink-3); font-variant-numeric: tabular-nums; }
.cv-port:hover, .cv-port:focus-visible { background: var(--paper-2); }
.cv-out { position: absolute; right: -9px; top: 48px; width: 16px; height: 16px; padding: 0; border: 2px solid var(--ink-2); border-radius: 50%; background: var(--paper); cursor: crosshair; }
.cv-out:hover, .cv-out:focus-visible { border-color: var(--brand); background: var(--brand-bg); }
.cv-node-b { padding: .45rem .6rem; display: flex; flex-direction: column; gap: .35rem; }
.cv-thumb { height: 140px; border-radius: var(--r-s); overflow: hidden; background: var(--sunken); display: grid; place-items: center; }
.cv-thumb :is(img, video) { width: 100%; height: 100%; object-fit: contain; display: block; }

.cv-prog { height: 4px; margin-top: -.2rem; border-radius: var(--r-pill); background: var(--rule); overflow: hidden; }
.cv-prog[hidden] { display: none; }
.cv-prog > i { display: block; width: var(--p, 0%); height: 100%; background: var(--slate); transition: width .4s ease; }
.cv-why { margin: 0; font-size: var(--t-2); color: var(--brass-2); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cv-why[hidden] { display: none; }
.cv-thumb > .adult-media, .cv-thumb .adult-media-body { display: block; width: 100%; height: 100%; }
.cv-state { display: flex; flex-wrap: wrap; gap: .3rem; }
.cv-snip { margin: 0; font-size: var(--t-2); color: var(--ink-2); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.cv-node-f { padding: 0 .6rem .55rem; }
.cv-node-f .btn { width: 100%; }
.cv-world[data-level="far"] .cv-node :is(.cv-ports, .cv-snip, .cv-state, .cv-node-f, .cv-why, .cv-prog) { display: none; }
.cv-world[data-level="far"] .cv-node-b:not(:has(.cv-thumb)) { display: none; }
.cv-world[data-level="far"] .cv-out { top: 20px; }
.cv-world[data-level="far"] .cv-node-h { height: 56px; }
.cv-world[data-level="far"] .cv-t { font-size: var(--t-6); }
.cv-world[data-level="mid"] .cv-node :is(.cv-snip, .cv-node-f) { display: none; }

.cv-world[data-level="mid"] .cv-t { font-size: calc(var(--t-3) * min(var(--cv-ik, 1), 1.35)); }
.cv-world[data-level="mid"] :is(.cv-port, .cv-state .tag, .cv-why) { font-size: calc(var(--t-2) * min(var(--cv-ik, 1), 1.35)); }

.cv-group { position: absolute; border: 2px dashed var(--field); border-radius: var(--r-lg); background: color-mix(in srgb, var(--panel) 55%, transparent); }
.cv-group[hidden] { display: none; }
.cv-group-h { position: absolute; left: .6rem; top: .45rem; right: .6rem; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.cv-group-h b { font-size: var(--t-3); margin-right: auto; }
.cv-more-w { position: relative; flex: none; }
.cv-more { width: 28px; height: 28px; padding: 0; border: 0; border-radius: var(--r-xs); background: none; color: var(--ink-3); font: inherit; font-size: var(--t-4); line-height: 1; cursor: pointer; }
.cv-more:hover, .cv-more:focus-visible { background: var(--paper-2); color: var(--ink); }
.cv-more-menu { left: auto; right: 0; transform-origin: top right; }
.cv-more-menu.is-up { top: auto; bottom: calc(100% + .25rem); transform-origin: bottom right; }
.cv-more-menu.is-left { right: auto; left: 0; transform-origin: top left; }
.cv-more-menu.is-up.is-left { transform-origin: bottom left; }
.cv-node:has(.cv-more-menu:not([hidden])) { z-index: 5; }
.cv-group-h { cursor: move; }

.cv-marquee { position: absolute; z-index: 3; border: 1px dashed var(--brand); background: color-mix(in srgb, var(--brand-bg) 45%, transparent); pointer-events: none; }

.cv-world.cv-linking[data-level="far"] .cv-node .cv-ports { display: flex; }
.cv-world.cv-linking .cv-port.is-ok::before { border-radius: 50%; background: var(--ink-2); border-color: var(--ink-2); }
.cv-world.cv-linking .cv-port.is-ok::after { content: "接得上"; margin-left: auto; font-size: var(--t-1); color: var(--ink-2); }
.cv-world.cv-linking .cv-port.is-no { opacity: .45; }

.cv-mini { position: absolute; left: .6rem; bottom: .5rem; z-index: 2; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--panel); cursor: pointer; touch-action: none; }
.cv-mini-n { fill: var(--field); }
.cv-mini-n.is-info { fill: var(--slate); }
.cv-mini-n.is-ok { fill: var(--seal-ink); }
.cv-mini-n.is-warn { fill: var(--brass-2); }
.cv-mini-n.is-stop { fill: var(--stop); }
.cv-mini-v { fill: none; stroke: var(--brand); stroke-width: 1.5; }
.cv-mini-n.is-sel { stroke: var(--brand); stroke-width: 2; }

.cv-pick { max-width: 520px; }
.cv-pick-list { list-style: none; margin: .5rem 0 0; padding: 0; max-height: min(50vh, 22rem); overflow: auto; border: 1px solid var(--rule); border-radius: var(--r-s); }
.cv-pick-o { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .45rem .6rem; cursor: pointer; font-size: var(--t-3); }
.cv-pick-o:hover, .cv-pick-o.is-active { background: var(--paper-2); }
.cv-pick-o.is-active { box-shadow: inset 3px 0 0 var(--brand); }
.cv-pick-n { margin: .4rem 0 0; }

.cv-tpls { display: flex; flex-direction: column; gap: .7rem; margin-top: .6rem; }
.cv-bulk .gd-h3 { margin-top: .4rem; }
.cv-insp { min-width: 0; max-height: min(72vh, 52rem); overflow: auto; padding: .8rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--panel); }
.cv-insp-h { display: flex; align-items: center; gap: .5rem; }
.cv-insp-h h2 { margin: 0; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cv-insp-h h2:focus { outline: none; }
.cv-insp-st { margin: .3rem 0 .6rem; }
.cv-insp .gd-char, .cv-insp .gd-slot { padding: 0; border: 0; background: none; }
.cv-insp .gd-thumb { max-height: 16rem; }
.cv-links { margin-top: 1rem; border-top: 1px solid var(--rule); padding-top: .8rem; }
.cv-link-list { list-style: none; margin: 0 0 .6rem; padding: 0; display: flex; flex-direction: column; gap: .3rem; font-size: var(--t-2); }
.cv-link-list li { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }

.cv-keys { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; margin: 0; font-size: var(--t-3); }
.cv-keys dt { margin: 0; }
.cv-keys dd { margin: 0; color: var(--ink-2); }
.cv-keys kbd { display: inline-block; padding: .05rem .45rem; border: 1px solid var(--rule-2); border-radius: var(--r-s); background: var(--paper-2); font: inherit; font-size: var(--t-2); }
.cv-list { min-width: 0; overflow: auto; border: 1px solid var(--rule); border-radius: var(--r); background: var(--paper); }
.cv-table { width: 100%; border-collapse: collapse; font-size: var(--t-3); }
.cv-table :is(th, td) { padding: .5rem .7rem; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: middle; }
.cv-table thead th { background: var(--th-bg); font-size: var(--t-2); color: var(--ink-2); }
.cv-table tbody th { font-weight: 400; }
.cv-table tbody th b { display: block; }

.cv-li { display: flex; align-items: center; gap: .6rem; }
.cv-li-n { min-width: 0; }
.cv-li-th { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-xs); overflow: hidden; background: var(--sunken); color: var(--ink-3); }
.cv-li-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-li-th .adult-media, .cv-li-th .adult-media-body { display: block; width: 100%; height: 100%; }
.cv-table tr.is-insp { background: var(--brand-bg); }
.cv-row-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }

.cv-selbar { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .4rem .6rem; border: 1px solid var(--brand); border-radius: var(--r); background: var(--brand-bg); }
.cv-selbar[hidden] { display: none; }
.cv-selbar-n { margin-right: .3rem; font-weight: 600; }
.cv-row-pick { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: 0 .4rem; cursor: pointer; }
.cv-row-pick input { width: 20px; height: 20px; margin: 0; }
.cv-table tr.is-sel { box-shadow: inset 3px 0 0 var(--brand); }
@media (max-width: 760px) { .cv-selbar { position: sticky; top: var(--sticky-top, 0px); z-index: 4; } }
@media (pointer: coarse) { .cv-selbar .btn { min-height: 44px; } }
@media (max-width: 760px) {
  .cv-main, .cv-main.is-list { grid-template-columns: minmax(0, 1fr); }
  .cv-viewport { height: 60vh; }
  .cv-insp { max-height: none; }
  .cv-go { align-items: stretch; margin-left: 0; flex: 1 1 100%; }
  .cv-go .gd-blocker { text-align: left; justify-content: flex-start; }
  .cv-table thead { display: none; }
  .cv-table, .cv-table tbody, .cv-table tr, .cv-table :is(th, td) { display: block; width: 100%; }
  .cv-table tr { padding: .5rem 0; border-bottom: 1px solid var(--rule); }
  .cv-table :is(th, td) { border: 0; padding: .2rem .7rem; }
  .cv-table td[data-label]::before { content: attr(data-label) "："; color: var(--ink-3); font-size: var(--t-2); }
  
  .cv-table td.is-empty { display: none; }
  
  .cv-tools { flex-wrap: nowrap; }
  
  .cv-tools-strip { position: relative; display: flex; flex: 1 1 auto; min-width: 0; gap: .35rem; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
  .cv-tools-strip::-webkit-scrollbar { display: none; }
  .cv-tools-strip > .btn { flex: none; }
  .cv-tools-strip > .cv-tools-sp { display: none; }
  .cv-settings.gd-settings { flex: 1 1 10rem; min-width: 0; }
  .cv-top-t { flex: 1 1 100%; }
  
  .cv-main.has-insp:not(.is-list) > .cv-insp { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; max-height: 55dvh; overflow: auto; overscroll-behavior: contain;
    padding-bottom: calc(.8rem + env(safe-area-inset-bottom, 0px)); border-radius: var(--r-lg) var(--r-lg) 0 0; box-shadow: var(--shadow-3); }
  
  body[data-zone] #v-canvas[data-cv="project"].view:has(.cv-insp.is-sheet) { padding-bottom: 56dvh; }
}
@media (min-width: 1001px) {
  body.cv-focus { overflow: hidden; }
  body.cv-focus > header.top, body.cv-focus > nav.subnav { display: none; }
  body.cv-focus #cv-shell { position: fixed; inset: 0; z-index: 30; padding: .6rem; background: var(--paper); }
  body.cv-focus .cv-main { flex: 1 1 auto; min-height: 0; }
  body.cv-focus :is(.cv-viewport, .cv-insp) { height: auto; max-height: none; }
  body.cv-focus .cv-shell { height: 100vh; }
}
@media (max-width: 1000px) {
  #cv-focus-toggle { display: none; }
}

@media (min-width: 1001px) {
  body:not(.cv-focus) #cv-shell { height: calc(100dvh - var(--sticky-top, 72px) - .6rem); min-height: 34rem; scroll-margin-top: var(--sticky-top, 72px); }
  body:not(.cv-focus) #cv-shell .cv-main { flex: 1 1 auto; min-height: 0; }
  body:not(.cv-focus) #cv-shell :is(.cv-viewport, .cv-insp) { height: auto; max-height: none; }
}

@media (pointer: coarse) {
  .cv-out, .cv-more { position: relative; }
  .cv-more::before { content: ""; position: absolute; inset: min(0px, calc(14px - 22px * var(--cv-ik, 1))); }
  .cv-out::before { content: ""; position: absolute; top: min(0px, calc(8px - 22px * var(--cv-ik, 1))); bottom: min(0px, calc(8px - 22px * var(--cv-ik, 1))); left: 0; right: min(0px, calc(8px - 36px * var(--cv-ik, 1))); }
  .gd-chip { min-height: 44px; }
  :is(#gd-blocker, #cv-blocker) .linklike { position: relative; }
  :is(#gd-blocker, #cv-blocker) .linklike::before { content: ""; position: absolute; inset: -11px -4px; }
  .gd-swap-item { min-height: 44px; }
}
.wt { --wt-rail-w: 5.25rem; --wt-tabs-h: calc(3.6rem + env(safe-area-inset-bottom, 0px)); --wt-like: #FF5C75; --wt-fg-2: #DADFE6; }
body[data-zone] #v-feed.wt-on, #v-feed.wt-on { max-width: none; padding: 0; }
#v-feed.wt-on::before { display: none; }
#v-feed.wt-on > .page-head, #v-feed.wt-on > #feed-list, #v-feed.wt-on > #feed-pager { display: none; }
.wt { position: relative; margin: 0; padding: .9rem 1rem calc(var(--wt-tabs-h) + 1.4rem); }
.wt-panel { max-width: 74rem; margin: 0 auto; }
.wt-panel[data-tab="rec"] { max-width: none; }
.wt-tabs {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-dock);
  height: var(--wt-tabs-h); padding-bottom: env(safe-area-inset-bottom, 0px);
  display: flex; background: var(--paper); border-top: 1px solid var(--rule);
}
.wt-tab {
  position: relative; flex: 1 1 0; min-width: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem;
  background: none; border: 0; color: var(--ink-3); font: inherit; font-size: var(--t-1); cursor: pointer;
}
.wt-tab[aria-selected="true"] { color: var(--brand-ink); font-weight: 700; }
.wt-tab:hover { color: var(--ink); }
.wt-tab .wt-badge {
  position: absolute; top: .4rem; left: calc(50% + .5rem); min-width: 1.15rem; height: 1.15rem; padding: 0 .3rem; border-radius: var(--r-pill);
  display: grid; place-items: center; background: var(--brand); color: var(--on-brand); font-size: var(--t-1); font-style: normal; font-weight: 700; line-height: 1;
}
body.wt-focus, body.wt-overlay-open { overflow: hidden; }
body.wt-focus > header.top, body.wt-focus > nav.subnav, body.wt-focus .site-foot,
body.wt-overlay-open > header.top, body.wt-overlay-open > nav.subnav { display: none; }
body.wt-focus .wt { position: fixed; inset: 0; z-index: var(--z-sticky); margin: 0; padding: 0; background: #000; color: #fff; }
body.wt-focus .wt-panels { position: absolute; inset: 0 0 var(--wt-tabs-h) 0; }
body.wt-focus .wt-panel { max-width: none; margin: 0; }
body.wt-focus .wt-panel[data-tab="rec"] { position: absolute; inset: 0; container-type: size; }
body.wt-focus .wt-panel:not([data-tab="rec"]) { visibility: hidden; }
body.wt-focus .wt-tabs { background: rgba(0, 0, 0, .94); border-top-color: rgba(255, 255, 255, .14); }
body.wt-focus .wt-tab { color: #B8BEC7; }
body.wt-focus .wt-tab[aria-selected="true"], body.wt-focus .wt-tab:hover { color: #fff; }
body.wt-focus .wt-tab[aria-selected="true"]::after { content: ""; position: absolute; top: 0; left: 30%; right: 30%; height: 2px; background: #fff; border-radius: 0 0 2px 2px; }
.wt-panel[data-tab="rec"] > .empty { position: absolute; inset: 0; display: grid; align-content: center; background: var(--paper); color: var(--ink); }
.wt-exit { display: none; }
body.wt-focus:not(.wt-overlay-open) .wt-exit {
  display: flex; gap: .4rem; position: fixed; z-index: calc(var(--z-dock) + 1);
  top: calc(.5rem + env(safe-area-inset-top, 0px)); left: .6rem;
}
.wt-exit-a {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--r-pill);
  background: rgba(0, 0, 0, .36); color: #fff; text-decoration: none;
}
.wt-exit-a:hover { background: rgba(0, 0, 0, .55); color: #fff; }
.wt-exit-a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wt-exit-a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wt-scroller {
  position: absolute; inset: 0; overflow-y: auto; overflow-x: hidden; background: #000;
  scroll-snap-type: y mandatory; overscroll-behavior: contain; scrollbar-width: none;
}
.wt-scroller::-webkit-scrollbar { display: none; }
.wt-scroller:focus { outline: none; }
.wt-item { position: relative; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; container-type: size; display: grid; place-items: center; }
.wt-stage { position: relative; width: 100%; height: 100%; overflow: hidden; background: #000; color: #fff; }
.wt-media { position: absolute; inset: 0; background: #000; }
.wt-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; }
.wt-media.is-fit .wt-video { object-fit: contain; }

.wt-poster.wt-cover { position: absolute; inset: 0; aspect-ratio: auto; border-radius: 0; transition: opacity .25s ease, visibility .25s; }
.wt-cover.is-gone { opacity: 0; visibility: hidden; }
.wt-media.is-loading::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 2rem; height: 2rem; margin: -1rem 0 0 -1rem; z-index: 2;
  border: 3px solid rgba(255, 255, 255, .85); border-right-color: transparent; border-radius: 50%; animation: wt-rot .8s linear infinite;
}
.wt-hit { position: absolute; inset: 0; z-index: 1; cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; }
.wt-shade {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, .82) 0, rgba(0, 0, 0, 0) 40%), linear-gradient(to bottom, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, 0) 18%);
}
.wt-fx { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.wt-fx-ic { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 0; color: #fff; filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .55)); }
.wt-fx.show-ic .wt-fx-ic { animation: wt-pop .6s ease-out; }
.wt-heart { position: absolute; width: 96px; height: 96px; margin: -48px 0 0 -48px; opacity: 0; color: var(--wt-like); filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .45)); }
.wt-heart svg { fill: currentColor; stroke: none; }
.wt-fx.burst .wt-heart { animation: wt-burst .8s ease-out; }
.wt-speed { position: absolute; top: 4.6rem; left: 50%; transform: translateX(-50%); padding: .2rem .8rem; border-radius: var(--r-pill); background: rgba(0, 0, 0, .62); color: #fff; font-size: var(--t-2); font-weight: 700; opacity: 0; }
.wt-fx.speeding .wt-speed { opacity: 1; }
@keyframes wt-pop { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.7); } 25% { opacity: .95; } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.18); } }
@keyframes wt-burst { 0% { opacity: 0; transform: scale(.4) rotate(-12deg); } 25% { opacity: 1; transform: scale(1.15) rotate(6deg); } 70% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(1.3) translateY(-24px); } }
@keyframes wt-rot { to { transform: rotate(360deg); } }

.wt-rail { position: absolute; right: .45rem; bottom: 4.6rem; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: .7rem; }
.wt-act {
  display: flex; flex-direction: column; align-items: center; gap: .1rem; min-width: 48px; min-height: 48px; padding: .15rem;
  background: none; border: 0; color: #fff; font: inherit; cursor: pointer; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .7));
}
.wt-act:hover { transform: scale(1.06); }
.wt-act-l { font-size: var(--t-1); font-weight: 600; line-height: 1.2; }
.wt-act.on { color: var(--wt-like); }
.wt-act.on svg { fill: currentColor; }
.wt-act.follow.on { color: #fff; }
.wt-act.follow.on svg { fill: #fff; }

.wt-info { position: absolute; left: .9rem; right: 4.6rem; bottom: 2.9rem; z-index: 4; color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .7); display: grid; gap: .5rem; }
.wt-title { display: flex; flex-direction: column; align-items: flex-start; gap: .05rem; padding: 0; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wt-credit { font-size: var(--t-2); color: var(--wt-fg-2); }
.wt-title b { font-size: var(--t-6); line-height: 1.3; }
.wt-meta { display: grid; gap: .4rem; }
.wt-chips, .wt-badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.wt-chip { padding: .05rem .55rem; border-radius: var(--r-pill); background: rgba(255, 255, 255, .18); color: #fff; font-size: var(--t-1); text-shadow: none; }
.wt-chip.ep { font-weight: 700; background: rgba(255, 255, 255, .28); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wt-rank-more { list-style: none; text-align: center; padding: .4rem 0 .2rem; }
.wt-badge-pill { padding: .05rem .55rem; border-radius: var(--r-pill); border: 1px solid rgba(255, 255, 255, .6); background: rgba(0, 0, 0, .35); color: #fff; font: inherit; font-size: var(--t-1); text-shadow: none; cursor: pointer; }
.wt-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; align-items: center; gap: .5rem; padding: 0 .9rem .35rem; }
.wt-overlay .wt-bar { padding-bottom: calc(.35rem + env(safe-area-inset-bottom, 0px)); }
.wt-time { flex: none; min-width: 5.6rem; text-align: right; font-size: var(--t-1); color: #fff; font-variant-numeric: tabular-nums; text-shadow: 0 1px 2px rgba(0, 0, 0, .8); }
.wt-range { -webkit-appearance: none; appearance: none; flex: 1 1 auto; min-width: 0; height: 1.75rem; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #fff; cursor: pointer; }
.wt-range:focus { box-shadow: none; }
.wt-range::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(to right, #fff var(--p, 0%), rgba(255, 255, 255, .35) var(--p, 0%)); }
.wt-range::-moz-range-track { height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .35); }
.wt-range::-moz-range-progress { height: 3px; border-radius: 2px; background: #fff; }
.wt-range::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; margin-top: -4.5px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 0 0 2px rgba(0, 0, 0, .3); }
.wt-range::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 0; }

.wt-ovl { position: absolute; inset: 0; z-index: 6; display: grid; place-items: center; padding: 1.5rem; background: rgba(0, 0, 0, .62); color: #fff; text-align: center; }
.wt-ovl-in { display: flex; flex-direction: column; align-items: center; gap: .55rem; max-width: 18rem; }
.wt-ovl-in b { font-size: var(--t-7); line-height: 1.3; }
.wt-ovl-in > span { color: var(--wt-fg-2); font-size: var(--t-3); }
.wt-count { font-size: var(--t-9); font-weight: 800; font-variant-numeric: tabular-nums; }
.wt-ovl-acts { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: .3rem; }
.wt-ovl .btn.ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .65); }
.wt-ovl .btn.ghost:hover { background: rgba(255, 255, 255, .14); }
.wt-chrome {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; z-index: 8; pointer-events: none;
  display: flex; align-items: center; gap: .4rem; padding: calc(.5rem + env(safe-area-inset-top, 0px)) .6rem .5rem;
}
.wt-chrome > * { pointer-events: auto; }
.wt-chrome-mid { flex: 1 1 auto; min-width: 0; text-align: center; color: #fff; font-weight: 700; font-size: var(--t-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 3px rgba(0, 0, 0, .8); }
.wt-ic {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--r-pill);
  background: rgba(0, 0, 0, .36); color: #fff; font: inherit; cursor: pointer;
}
.wt-ic:hover { background: rgba(0, 0, 0, .55); }
.wt-ic.mute.is-muted { padding: 0 .85rem 0 .7rem; background: rgba(0, 0, 0, .6); }
.wt-mute-l { font-size: var(--t-2); font-weight: 600; }
.wt-bigplay {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 9; display: flex; flex-direction: column; align-items: center; gap: .4rem;
  padding: 1rem 1.5rem; border: 0; border-radius: var(--r-lg); background: rgba(0, 0, 0, .6); color: #fff; font: inherit; font-size: var(--t-3); cursor: pointer;
}
.wt-nav { display: none; }
.wt-ic:disabled { opacity: .35; cursor: default; }
.wt-stage :focus-visible, .wt-chrome :focus-visible, .wt-nav :focus-visible, .wt-bigplay:focus-visible, body.wt-focus .wt-tabs :focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.wt-overlay { position: fixed; inset: 0; z-index: 45; background: #000; container-type: size; }
.wt-detail, .wt-search { position: fixed; inset: 0; z-index: 50; overflow-y: auto; overscroll-behavior: contain; background: var(--paper); color: var(--ink); }
.wt-detail-in { max-width: 46rem; margin: 0 auto; padding: 0 1rem 3rem; }
.wt-detail-top, .wt-search-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: .5rem; padding: calc(.4rem + env(safe-area-inset-top, 0px)) .1rem .4rem; background: var(--paper); }
.wt-detail .wt-ic, .wt-search .wt-ic { background: transparent; color: var(--ink); }
.wt-detail .wt-ic:hover, .wt-search .wt-ic:hover { background: var(--hover); }
.wt-detail :focus-visible, .wt-search :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.wt-detail-head { display: flex; gap: 1rem; align-items: flex-start; }
.wt-detail-poster { flex: none; width: 7.5rem; }
.wt-detail-info { min-width: 0; display: grid; gap: .35rem; }
.wt-detail-info h2 { margin: 0; font-size: var(--t-8); line-height: 1.25; }
.wt-detail-meta { font-size: var(--t-2); color: var(--ink-2); }
.wt-detail-note { font-size: var(--t-2); font-weight: 600; color: var(--brand-ink); }
.wt-detail .wt-chip { background: var(--chip); color: var(--ink-2); }
.wt-detail .wt-badge-pill { border-color: var(--seal); background: var(--seal-bg); color: var(--seal-ink); cursor: default; }
.wt-badge-pill.twin { border-color: rgba(255, 255, 255, .85); }
.wt-syn { margin: 1rem 0 0; }
.wt-syn-t { margin: 0; color: var(--ink-2); font-size: var(--t-3); }
.wt-syn-t.clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wt-detail-acts { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.wt-detail-eps h3, .wt-detail-rel h3 { margin: 1.2rem 0 .6rem; font-size: var(--t-6); }
.wt-poster { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--r); background: var(--sunken); transition: transform .15s ease, box-shadow .15s ease; }
.wt-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.wt-poster.is-ph { display: grid; place-items: center; padding: .6rem; background: linear-gradient(160deg, hsl(var(--h, 0) 42% 34%), hsl(calc(var(--h, 0) + 40) 46% 17%)); }
.wt-ph-t { color: #fff; font-weight: 800; font-size: var(--t-6); line-height: 1.25; text-align: center; word-break: break-all; text-shadow: 0 1px 6px rgba(0, 0, 0, .4); }
.wt-card { position: relative; display: block; width: 100%; padding: 0; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: var(--r); }
.wt-card:hover .wt-poster { box-shadow: var(--shadow-2); transform: translateY(-2px); }
.wt-card-eps { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .5rem .35rem; background: linear-gradient(to top, rgba(0, 0, 0, .72), rgba(0, 0, 0, 0)); color: #fff; font-size: var(--t-1); font-weight: 600; line-height: 1.2; text-align: right; }
.wt-card-t { margin-top: .4rem; font-size: var(--t-3); font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wt-card-s { font-size: var(--t-1); color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wt-flags { position: absolute; top: .35rem; left: .35rem; z-index: 2; display: flex; gap: .25rem; align-items: center; pointer-events: none; }
.wt-rank { min-width: 1.4rem; height: 1.4rem; padding: 0 .3rem; border-radius: var(--r-xs); display: grid; place-items: center; background: rgba(16, 20, 24, .8); color: #fff; font-size: var(--t-1); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.wt-rank.r1 { background: var(--brand); color: var(--on-brand); }
.wt-dot { padding: .1rem .45rem; border-radius: var(--r-pill); background: var(--brand); color: var(--on-brand); font-size: var(--t-1); font-weight: 700; line-height: 1.2; }
.wt-tag { padding: .1rem .45rem; border-radius: var(--r-pill); background: rgba(16, 20, 24, .78); color: #fff; font-size: var(--t-1); font-weight: 600; line-height: 1.2; }
.wt-tag.new { background: var(--seal); color: var(--on-seal); }
.wt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 1rem .8rem; }
.wt-grid.list { grid-template-columns: 1fr; }
.wt-rail-row { display: flex; gap: .8rem; overflow-x: auto; padding-bottom: .4rem; scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: thin; }
.wt-rail-row > .wt-card { flex: 0 0 8.2rem; width: 8.2rem; scroll-snap-align: start; }
.wt-poster.sk, .wt-card-t.sk { background: linear-gradient(90deg, var(--sunken) 25%, var(--rule-2) 50%, var(--sunken) 75%); background-size: 200% 100%; animation: wt-sk 1.3s linear infinite; }
.wt-card.sk { pointer-events: none; }
.wt-card-t.sk { height: 1rem; width: 70%; border-radius: var(--r-xs); }
@keyframes wt-sk { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.wt-stage-bar { margin-bottom: .2rem; }
.wt-search-btn { display: flex; align-items: center; gap: .55rem; width: 100%; height: var(--control-h); padding: 0 1rem; background: var(--chip); border: 1px solid var(--rule); border-radius: var(--r-pill); color: var(--ink-3); font: inherit; font-size: var(--t-3); cursor: pointer; }
.wt-search-btn:hover { border-color: var(--field); }
.wt-genres { display: flex; gap: .5rem; overflow-x: auto; padding: .75rem 0; scrollbar-width: none; }
.wt-genres::-webkit-scrollbar { display: none; }
.wt-gchip, .wt-hot, .wt-eps-tab { flex: none; height: 2.25rem; padding: 0 .95rem; border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--paper); color: var(--ink-2); font: inherit; font-size: var(--t-3); cursor: pointer; white-space: nowrap; }
.wt-gchip:hover, .wt-hot:hover, .wt-eps-tab:hover { border-color: var(--field); color: var(--ink); }
.wt-gchip.on, .wt-eps-tab.on { background: var(--brand-bg); border-color: var(--brand); color: var(--brand-ink); font-weight: 600; }
.wt-filters { display: flex; flex-wrap: wrap; gap: .6rem .9rem; margin: .2rem 0 1rem; }
.wt-seg { display: inline-flex; gap: .1rem; padding: .2rem; border-radius: var(--r-pill); background: var(--chip); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.wt-seg-b { flex: none; height: 2rem; padding: 0 .9rem; border: 0; border-radius: var(--r-pill); background: none; color: var(--ink-2); font: inherit; font-size: var(--t-3); cursor: pointer; white-space: nowrap; }
.wt-seg-b.on { background: var(--paper); color: var(--brand-ink); font-weight: 700; box-shadow: var(--shadow-1); }
.wt-hots { display: flex; align-items: center; gap: .5rem; overflow-x: auto; margin: .2rem 0 .6rem; padding-bottom: .2rem; scrollbar-width: none; }
.wt-hots.wrap { flex-wrap: wrap; overflow: visible; }
.wt-hots-l { flex: none; color: var(--ink-3); font-size: var(--t-2); }
.wt-hot { height: 2rem; font-size: var(--t-2); }
.wt-sec { margin: 1.5rem 0; }
.wt-sec-t { margin: 0 0 .7rem; font-size: var(--t-7); font-weight: 700; line-height: 1.3; }
.wt-more-row-wrap { display: flex; justify-content: center; margin: 1.2rem 0; }
.wt-rank-tabs { margin-bottom: .2rem; }
.wt-rank-list { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: .6rem; }
.wt-rank-b { position: relative; display: flex; align-items: center; gap: .8rem; width: 100%; padding: .6rem; background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wt-rank-b:hover { border-color: var(--field); }
.wt-rank-b > .wt-rank { flex: none; }
.wt-rank-poster { flex: none; width: 3.6rem; }
.wt-rank-info { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.wt-rank-info b { font-size: var(--t-4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wt-rank-info span { font-size: var(--t-2); color: var(--ink-2); }
.wt-rank-info .muted { color: var(--ink-3); }
.wt-rules { margin: .8rem 0 0; font-size: var(--t-2); }
.wt-rules > summary { width: fit-content; padding: .3rem 0; color: var(--ink-2); cursor: pointer; }
.wt-rules > p { margin: .3rem 0 0; }

.wt-detail-acts .btn.quiet { margin-left: auto; border-color: transparent; background: none; box-shadow: none; color: var(--ink-3); }
.wt-detail-acts .btn.quiet:hover { color: var(--ink); background: var(--hover); }

.wt-full { display: none; }
.modal.wt-sheet { max-width: 30rem; }
.wt-eps-tabs { display: flex; gap: .4rem; overflow-x: auto; margin-bottom: .7rem; scrollbar-width: none; }
.wt-eps-tab { height: 2rem; font-size: var(--t-2); }
.wt-eps-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(3.2rem, 1fr)); gap: .5rem; }
.wt-ep { display: inline-flex; align-items: center; justify-content: center; gap: .2rem; height: 2.75rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--paper); color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; }
.wt-ep:hover { border-color: var(--field); }
.wt-ep.on { background: var(--brand-bg); border-color: var(--brand); color: var(--brand-ink); box-shadow: inset 0 -2px 0 var(--brand); }
.wt-ep.locked { color: var(--ink-2); }
.wt-ep.gone { opacity: .4; cursor: not-allowed; }
.wt-more { display: grid; }
.wt-more-row { display: flex; align-items: center; gap: .8rem; width: 100%; min-height: 48px; padding: .6rem .3rem; border: 0; border-bottom: 1px solid var(--rule-2); background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.wt-more-row:hover { background: var(--hover); }
.wt-more-row.quiet { color: var(--ink-2); }
.wt-more-row:disabled { color: var(--ink-3); cursor: not-allowed; background: none; }
.wt-search-head { padding-inline: .75rem; border-bottom: 1px solid var(--rule); }
.wt-search-in { flex: 1 1 auto; min-width: 0; height: var(--control-h); padding: 0 1rem; border: 1px solid var(--field); border-radius: var(--r-pill); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--t-4); }
.wt-search-body { max-width: 56rem; margin: 0 auto; padding: 1rem; }
.wt-shelf-tabs { margin-bottom: 1rem; }
.wt-shelf-list { display: grid; gap: .6rem; }
.wt-shelf-row { display: flex; align-items: center; gap: .4rem; padding: .5rem; background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r); }
.wt-shelf-row.gone { opacity: .7; }
.wt-shelf-row > .wt-poster { flex: none; width: 4.2rem; }
.wt-shelf-main { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: .8rem; padding: 0; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wt-shelf-poster { flex: none; width: 4.2rem; }
.wt-shelf-info { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.wt-shelf-info b { font-size: var(--t-4); }
.wt-shelf-info span { font-size: var(--t-2); color: var(--ink-2); }
.wt-shelf-info .muted { color: var(--ink-3); }
.wt-shelf-info .wt-dot { align-self: flex-start; }
.wt-shelf-rm { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--r); background: none; color: var(--ink-3); cursor: pointer; }
.wt-shelf-rm:hover { background: var(--hover); color: var(--ink); }
.wt-me-sec { margin: 0 0 2rem; }
.wt-me-sec h2 { margin: 0 0 .6rem; font-size: var(--t-7); }
.wt-pref { display: flex; gap: .8rem; align-items: flex-start; padding: .7rem 0; border-bottom: 1px solid var(--rule-2); cursor: pointer; }

.wt-pref-sel { flex: none; width: auto; max-width: 55%; margin-left: auto; min-height: 2.25rem; padding: 0 .6rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--paper); color: var(--ink); font: inherit; font-size: var(--t-3); }
.wt-pref input { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .25rem; accent-color: var(--brand); }
.wt-pref-t { display: flex; flex-direction: column; gap: .1rem; flex: 1 1 auto; min-width: 0; }
.wt-pref-t small { color: var(--ink-3); font-size: var(--t-2); }
.wt-me-acts, .wt-mine-acts { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.wt-mine-head { margin-bottom: .8rem; }
.wt-mine-list { display: grid; gap: .6rem; }
.wt-mine-row { display: grid; gap: .2rem; padding: .8rem 1rem; background: var(--raised); border: 1px solid var(--rule); border-radius: var(--r); }
.wt-mine-t { display: flex; align-items: center; gap: .6rem; }
.wt-mine-m { font-size: var(--t-2); }
.wt-loading { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 3rem 1rem; color: var(--ink-3); font-size: var(--t-3); }
.wt-panel[data-tab="rec"] > .wt-loading { position: absolute; inset: 0; color: #fff; }
.wt-spin { width: 1.6rem; height: 1.6rem; border: 3px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: wt-rot .8s linear infinite; opacity: .7; }
@media (max-width: 899px) {
  body:has(#v-feed.wt-on:not([hidden])) #toast { bottom: calc(var(--wt-tabs-h, 4.2rem) + .6rem); left: 1rem; right: 1rem; max-width: none; }
  
  body:has(#v-feed.wt-on:not([hidden])) .site-foot { padding-bottom: calc(3.6rem + env(safe-area-inset-bottom, 0px) + .8rem); }
  
  .wt-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .wt-filters::-webkit-scrollbar { display: none; }
  .wt-filters > .wt-seg { flex: none; max-width: none; }
}
@media (max-width: 759px) {
  
  .wt-item.is-wide { --wt-wide-top: clamp(4.25rem, calc(50% - 28.125cqw - 7rem), 40%); }
  .wt-item.is-wide .wt-media { inset: auto 0 auto 0; top: var(--wt-wide-top); height: 56.25cqw; }
  .wt-item.is-wide .wt-cover img { object-fit: contain; }
  
  .wt-item.is-wide .wt-sub { left: .9rem; right: .9rem; bottom: auto; top: calc(var(--wt-wide-top) + 56.25cqw - .5rem); transform: translateY(-100%); font-size: var(--t-3); }
  .wt-item.is-wide .wt-full {
    display: inline-flex; align-items: center; gap: .35rem; position: absolute; z-index: 5; left: 50%; transform: translateX(-50%);
    top: calc(var(--wt-wide-top) + 56.25cqw + .7rem); height: 2.25rem; padding: 0 .95rem;
    border: 1px solid rgba(255, 255, 255, .5); border-radius: var(--r-pill); background: rgba(0, 0, 0, .35); color: #fff;
    font: inherit; font-size: var(--t-2); font-weight: 600; cursor: pointer;
  }
}

@media (min-width: 760px) {
  .wt-stage { width: min(100cqw, 56.25cqh); height: min(100cqh, 177.78cqw); border-radius: var(--r-lg); }
  .wt-chrome { width: min(100cqw, 56.25cqh); padding-top: .8rem; }
  
  .wt-item.is-wide .wt-stage { width: min(100cqw - 12rem, 177.78cqh); height: 100cqh; border-radius: 0; overflow: visible; }
  .wt-item.is-wide .wt-video, .wt-item.is-wide .wt-cover img { object-fit: contain; }
  .wt-item.is-wide .wt-info { right: .9rem; }
  .wt-item.is-wide .wt-rail { right: auto; left: calc(100% + 1rem); }
  .cur-wide > .wt-chrome { width: min(100cqw - 12rem, 177.78cqh); }
}

@media (min-width: 900px) {
  .wt { --wt-tabs-h: 0px; margin-left: var(--wt-rail-w); padding: 1.4rem 1.6rem 3rem; }
  .wt-tabs {
    right: auto; top: var(--sticky-top, 4rem); bottom: 0; width: var(--wt-rail-w); height: auto; padding: 1rem .3rem 0;
    flex-direction: column; justify-content: flex-start; gap: .3rem; border-top: 0; border-right: 1px solid var(--rule);
  }
  .wt-tab { flex: 0 0 auto; height: 4rem; border-radius: var(--r); }
  .wt-tab:hover { background: var(--hover); }
  .wt-tab .wt-badge { top: .55rem; left: calc(50% + .7rem); }
  body.wt-focus .wt { margin-left: 0; padding: 0; }
  body.wt-focus .wt-panels { inset: 0 0 0 var(--wt-rail-w); }
  body.wt-focus .wt-tabs { top: 0; border-right-color: rgba(255, 255, 255, .14); }
  body.wt-focus .wt-tab:hover { background: rgba(255, 255, 255, .1); }
  body.wt-focus .wt-tab[aria-selected="true"]::after { top: 25%; bottom: 25%; left: 0; right: auto; width: 3px; height: auto; border-radius: 0 2px 2px 0; }
  
  .wt { --wt-exit-h: 10rem; }
  body.wt-focus .wt-tabs { padding-top: calc(var(--wt-exit-h) + .6rem); }
  body.wt-focus:not(.wt-overlay-open) .wt-exit {
    top: 0; left: 0; width: var(--wt-rail-w); height: var(--wt-exit-h); flex-direction: column; gap: .3rem;
    padding: 1rem .3rem .6rem; border-bottom: 1px solid rgba(255, 255, 255, .14);
  }
  .wt-exit-a { flex-direction: column; gap: .2rem; width: auto; height: 4rem; border-radius: var(--r); background: none; color: #B8BEC7; font-size: var(--t-1); }
  .wt-exit-a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
  .wt-exit-a > span { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
  .wt-rail { right: .7rem; bottom: 4.4rem; }
  .wt-detail-poster { width: 9rem; }
  .wt-nav { display: flex; flex-direction: column; gap: .7rem; position: absolute; z-index: 8; top: 50%; transform: translateY(-50%); left: calc(50% + min(50cqw, 28.125cqh) + 1rem); }
  .wt-nav .wt-ic { background: rgba(255, 255, 255, .14); }
  .wt-nav .wt-ic:hover:not(:disabled) { background: rgba(255, 255, 255, .26); }
  
  .cur-wide > .wt-nav { left: auto; right: 1.4rem; top: 5rem; transform: none; }
}
@media (pointer: coarse) { .wt-rail-row { scrollbar-width: none; } .wt-rail-row::-webkit-scrollbar { display: none; } }
@media (max-width: 560px) {
  .wt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem .5rem; }
  .wt-rank-list { grid-template-columns: 1fr; }
  .wt-rail-row > .wt-card { flex-basis: 7.2rem; width: 7.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .wt-fx.show-ic .wt-fx-ic, .wt-fx.burst .wt-heart, .wt-media.is-loading::after, .wt-spin, .wt-card-t.sk, .wt-poster.sk { animation: none; }
  .wt-poster, .wt-poster.wt-cover, .wt-act { transition: none; }
  .wt-card:hover .wt-poster, .wt-act:hover { transform: none; }
}
body.wp-open { overflow: hidden; }
body.wp-open > header.top, body.wp-open > nav.subnav { display: none; }
.wp { position: fixed; inset: 0; z-index: var(--z-menu); background: var(--paper); color: var(--ink); display: flex; flex-direction: column; }
.wp-in { display: flex; flex-direction: column; width: 100%; max-width: 64rem; height: 100%; margin: 0 auto; min-height: 0; }
.wp-top { display: flex; align-items: center; gap: .5rem; padding: calc(.5rem + env(safe-area-inset-top, 0px)) 1rem .5rem; border-bottom: 1px solid var(--rule); }
.wp-top h2 { margin: 0; font-size: var(--t-6); }
.wp-ic { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink); cursor: pointer; }
.wp-ic:hover:not(:disabled) { background: var(--hover); }
.wp-ic:disabled { opacity: .35; cursor: default; }
.wp-ic.sm { min-width: 36px; height: 36px; }
.wp :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.wp-steps { list-style: none; display: flex; gap: .3rem; margin: 0; padding: .6rem 1rem; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--rule-2); }
.wp-step { display: inline-flex; align-items: center; gap: .4rem; flex: none; padding: .2rem .7rem .2rem .3rem; border-radius: var(--r-pill); color: var(--ink-3); font-size: var(--t-2); white-space: nowrap; }
.wp-step-n { display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--chip); color: var(--ink-2); font-size: var(--t-1); font-weight: 700; }
.wp-step.on { color: var(--brand-ink); font-weight: 700; background: var(--brand-bg); }
.wp-step.on .wp-step-n { background: var(--brand); color: var(--on-brand); }
.wp-step.done .wp-step-n { background: var(--seal-bg); color: var(--seal-ink); }
.wp-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1rem 1rem 2rem; }
.wp-body h3 { margin: 0 0 .4rem; font-size: var(--t-7); }
.wp-body h3:focus { outline: none; }
.wp-foot { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rule); background: var(--paper); }
.wp-hint { margin-right: auto; font-size: var(--t-2); }
.wp-loading { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 3rem 1rem; color: var(--ink-3); font-size: var(--t-3); }
.wp-eps { display: grid; grid-template-columns: 1fr; gap: 1.4rem; }
@media (min-width: 800px) { .wp-eps { grid-template-columns: 1.1fr 1fr; align-items: start; } }
.wp-cands { display: grid; gap: .5rem; }

.wp-shots { display: grid; gap: .5rem; border: 1px dashed var(--rule); border-radius: var(--r); padding: .45rem .6rem; }
.wp-shots > summary { cursor: pointer; display: flex; flex-direction: column; gap: .1rem; font-weight: 600; font-size: var(--t-2); }
.wp-shots > summary small { font-weight: 400; }
.wp-shots[open] > summary { margin-bottom: .2rem; }
.wp-cand { display: flex; align-items: center; gap: .3rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); }
.wp-cand.on { border-color: var(--brand); background: var(--brand-bg); }
.wp-cand.off { opacity: .5; }
.wp-cand-b { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: .7rem; padding: .6rem .7rem; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wp-cand-b:disabled { cursor: not-allowed; }
.wp-cand-solo { border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); width: 100%; margin-bottom: .5rem; }
.wp-cand-solo.on { border-color: var(--brand); background: var(--brand-bg); }
.wp-check { flex: none; display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border: 2px solid var(--field); border-radius: var(--r-xs); background: var(--paper); color: var(--on-brand); }
.on > .wp-check, .wp-cand.on .wp-check { background: var(--brand); border-color: var(--brand); }
.wp-cand-t { display: flex; flex-direction: column; min-width: 0; }
.wp-cand-t b { font-size: var(--t-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-order { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .5rem; }
.wp-order-empty { padding: 1.2rem; text-align: center; border: 1px dashed var(--rule); border-radius: var(--r); }
.wp-ord { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem .6rem; align-items: center; padding: .6rem .7rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); }
.wp-ord.gone { background: var(--stop-bg); }
.wp-ord-info { display: flex; flex-direction: column; min-width: 0; }
.wp-ord-info b { font-size: var(--t-3); }
.wp-ord-info span { font-size: var(--t-2); color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-ord-t { grid-column: 1 / -1; min-height: 0; height: 2.25rem; padding: 0 .7rem; font-size: var(--t-3); }
.wp-ord-acts { display: flex; gap: .1rem; grid-row: 1; grid-column: 2; }
.wp-preview { max-width: 28rem; }
.wp-preview video { display: block; width: 100%; max-height: 70vh; background: #000; border-radius: var(--r); }
.wp-form { display: grid; gap: .9rem; max-width: 40rem; }
.wp-fld { display: grid; gap: .3rem; }
.wp-fld-l { font-size: var(--t-3); font-weight: 600; }
.wp-fld-h { font-size: var(--t-2); }
.wp-fld-e { min-height: 0; color: var(--stop); font-size: var(--t-2); }
.wp-fld-e:empty { display: none; }
.wp-fld input[type="text"], .wp-fld input[type="number"], .wp-fld textarea { width: 100%; }
.wp-genres { padding: .1rem 0; flex-wrap: wrap; overflow: visible; }
.wp-poster-step { display: grid; gap: 1rem; }
.wp-poster-prev { display: flex; align-items: flex-end; gap: 1rem; }
.wp-poster-card { width: 8rem; flex: none; }
.wp-posters { display: grid; grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr)); gap: .6rem; }
.wp-pt { position: relative; aspect-ratio: 3 / 4; padding: 0; overflow: hidden; border: 2px solid var(--rule); border-radius: var(--r); background: var(--sunken); cursor: pointer; display: grid; place-items: center; color: var(--ink-2); font: inherit; }
.wp-pt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wp-pt:hover { border-color: var(--field); }
.wp-pt.on { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-bg); }
.wp-pt-t { font-size: var(--t-2); font-weight: 600; padding: .4rem; text-align: center; line-height: 1.4; }
.wp-pt-t svg { display: block; margin: 0 auto .3rem; }
.wp-go { display: grid; gap: 1rem; max-width: 40rem; }
.wp-sum { display: grid; gap: .25rem; padding: .9rem 1rem; border: 1px solid var(--rule); border-radius: var(--r); background: var(--raised); }
.wp-sum b { font-size: var(--t-6); }
.wp-sum span { color: var(--ink-2); font-size: var(--t-2); }
.wp-sum p { margin: .3rem 0 0; font-size: var(--t-3); color: var(--ink-2); }
.wp-sum-eps { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; font-size: var(--t-3); }
.wp-sum-eps li { display: flex; gap: .6rem; align-items: center; padding: .35rem 0; border-bottom: 1px solid var(--rule-2); }
.wp-sum-eps li > span:first-child { flex: none; font-weight: 600; min-width: 4rem; }
.wp-sum-eps li > span:nth-child(2) { min-width: 0; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-notes { margin: 0; padding-left: 1.2rem; color: var(--ink-2); font-size: var(--t-2); display: grid; gap: .3rem; }
.wp-go-acts { display: flex; flex-wrap: wrap; gap: .5rem; }
.wp-prog { display: grid; gap: .3rem; }
.wp-prog-r { display: flex; align-items: center; gap: .5rem; font-size: var(--t-3); }
.wp-prog-r > span:first-child { flex: none; width: 1.2rem; display: grid; place-items: center; }
.wp-prog-r.ok { color: var(--seal-ink); }
.wp-prog-r.bad { color: var(--stop); }
.wp-prog-r .wt-spin { width: 1rem; height: 1rem; border-width: 2px; }
.wp-fail { display: grid; gap: .4rem; padding: .8rem 1rem; border: 1px solid var(--stop); border-radius: var(--r); background: var(--stop-bg); color: var(--ink); }
.wp-done { display: grid; justify-items: center; gap: .6rem; text-align: center; padding: 3rem 1rem; }
.wp-done p { margin: 0; color: var(--ink-2); }
.wp-done-ic { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; background: var(--seal-bg); color: var(--seal-ink); }
.wp-manage { display: grid; align-content: start; gap: 1rem; }
.wp-manage.is-busy { opacity: .6; pointer-events: none; }
.wp-m-head { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.wp-m-head h3 { margin: 0; }
.wp-sec { display: grid; gap: .6rem; padding-top: 1rem; border-top: 1px solid var(--rule); }
.wp-sec h4 { margin: 0; font-size: var(--t-6); }
.wp-sec > .btn { justify-self: start; }
.wp-lock { display: grid; gap: .2rem; }
.wp-poster-row { display: flex; gap: 1rem; align-items: flex-end; }
.wp-poster-side { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
.wp-mlist .wp-ord-t { grid-column: 1; grid-row: 2; }
.wp-mlist .wp-ord-acts { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
@media (prefers-reduced-motion: reduce) { .wp-step, .wp-cand { transition: none; } }
.modal.wp-cap { max-width: 34rem; }
.wp-cap select { width: 100%; margin-bottom: .6rem; }
.wp-cap-stage { position: relative; display: grid; place-items: center; background: #000; border-radius: var(--r); overflow: hidden; max-height: 62vh; }
.wp-cap-stage video { display: block; max-width: 100%; max-height: 62vh; }
.wp-cap-guide { position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .55); border: 2px solid #fff; pointer-events: none; }
.wp-cap-status { font-size: var(--t-2); }
.wp-poster-prev .wp-poster-side { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
.wt-sub {
  position: absolute; left: .9rem; right: 4.6rem; bottom: var(--wt-sub-bottom, 10.5rem); z-index: 3; text-align: center; pointer-events: none;
  color: #fff; font-size: var(--t-5); font-weight: 700; line-height: 1.4; white-space: pre-line; overflow-wrap: anywhere;
  text-shadow: 0 0 3px #000, 0 0 3px #000, 0 1px 8px rgba(0, 0, 0, .95);
}

@container (max-height: 560px) {
  .wt-rail { gap: .3rem; }
  .wt-act { min-height: 44px; }
  .wt-act svg { width: 26px; height: 26px; }
}
@media (max-width: 759px) {
  .wt-item.is-wide .wt-rail {
    top: calc(var(--wt-wide-top) + 56.25cqw + 3.4rem); bottom: auto; left: .45rem; right: .45rem;
    flex-direction: row; justify-content: space-around; align-items: flex-start; gap: .2rem;
  }
}
.wt-title b { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
@media (max-width: 400px) { .wt-detail h2 { font-size: var(--t-7); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; } }
@media (pointer: coarse) {
  .wt-range::-webkit-slider-thumb { width: 20px; height: 20px; margin-top: -8.5px; }
  .wt-range::-moz-range-thumb { width: 20px; height: 20px; }
  .wp-cands .wp-ic.sm { min-width: 44px; height: 44px; }
}
.wt-hots.wrap .wt-hot { flex: 0 1 auto; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
@media (max-height: 520px) { .wp-steps, .wp-verify { display: none; } }
@media (max-width: 480px) {
  .wp-mlist .wp-ord { grid-template-columns: minmax(0, 1fr); }
  .wp-mlist .wp-ord-t { grid-column: 1; grid-row: auto; }
  .wp-mlist .wp-ord-acts { grid-column: 1; grid-row: auto; justify-self: end; }
  .wp-mlist .tag { white-space: normal; }
}
.wp-cap-stage, .wp-cap-stage video { max-height: min(62vh, calc(92dvh - 17rem)); }   

@media (pointer: coarse) and (orientation: landscape) and (max-height: 500px) {
  .wt-chrome { padding-left: max(.6rem, env(safe-area-inset-left, 0px)); padding-right: max(.6rem, env(safe-area-inset-right, 0px)); }
  body.wt-focus .wt-bar { padding-bottom: max(.5rem, env(safe-area-inset-bottom, 0px)); }
}

.wt-eps-grid.titled { grid-template-columns: 1fr; }
.wt-eps-grid.titled .wt-ep { justify-content: flex-start; gap: .7rem; padding: 0 .8rem; min-width: 0; }
.wt-ep-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); font-size: var(--t-2); font-weight: 400; }
.wt-more-why { margin-left: auto; color: var(--ink-3); font-size: var(--t-1); }
.wp-why { display: block; flex-basis: 100%; margin-top: .3rem; font-size: var(--t-2); }
.wp-picked-jump { display: none; }
@media (max-width: 799px) {
  .wp-picked-jump:not([hidden]) {
    display: flex; align-items: center; position: sticky; top: 0; z-index: 3; width: 100%; min-height: 44px; margin: 0 0 .6rem; padding: .4rem .8rem;
    border: 1px solid var(--brand); border-radius: var(--r); background: var(--brand-bg); color: var(--brand-ink); font: inherit; font-weight: 600; cursor: pointer;
  }
}
.wt-act.cc:not(.on) { opacity: .7; }
.wt-act.cc.on svg { stroke-width: 2.4; }
.modal.wp-sub-modal { max-width: 34rem; }
.wp-sub-modal textarea { width: 100%; font-family: var(--mono); font-size: var(--t-2); }
.wp-sub-modal input[type="file"] { margin: .6rem 0 .2rem; width: 100%; }
.wp-ic.sm.on { color: var(--brand-ink); background: var(--brand-bg); }
.wt-act.cc.on { color: #fff; }
.wt-act.cc.on svg { fill: none; }

.wt-shelf-more { display: block; margin: .9rem auto 1.4rem; }
.lp-hero.hm-hero { padding-top: clamp(1.6rem, 4.4vw, 3.2rem); }
.lp-hero.hm-hero .kick { order: 1; }
.lp-hero.hm-hero h1 { order: 2; }
.lp-hero.hm-hero .lead { order: 3; }
.lp-hero.hm-hero .hm-tabs { order: 4; }
.lp-hero.hm-hero .hm-box { order: 5; }
.lp-hero.hm-hero .hm-tpls { order: 6; }
.lp-hero.hm-hero .hm-trust { order: 7; }
.lp-hero.hm-hero .lp-note { order: 8; margin-top: .5rem; }
.lp-hero.hm-hero .lp-stats { order: 9; }
@media (min-width: 621px) {
  .lp-hero.hm-hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin-bottom: .8rem; }
  .lp-hero.hm-hero .lead { font-size: var(--t-5); }
}
.hm-tabs {
  display: flex; gap: .4rem; justify-content: center; flex-wrap: wrap;
  width: min(100%, 760px); margin: clamp(1.4rem, 3vw, 2rem) auto 0;
}
.hm-tab {
  appearance: none; cursor: pointer; min-height: 40px; padding: .45rem 1rem;
  border: 1px solid var(--rule); border-radius: var(--r-pill); background: var(--paper);
  font-family: var(--sans); font-size: var(--t-3); font-weight: 600; color: var(--ink-2);
}
.hm-tab:hover { border-color: var(--ink-3); color: var(--ink); }
.hm-tab[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.hm-tab:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.hm-box {
  width: min(100%, 760px); margin: .8rem auto 0; padding: .9rem .9rem .8rem; text-align: left;
  border: 1px solid var(--rule); border-radius: var(--lp-radius-lg); background: var(--raised);
  box-shadow: var(--lp-shadow-card);
}
.hm-box:focus-within { border-color: var(--ink-3); }
.hm-box:has(textarea:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
#hm-text {
  display: block; width: 100%; min-height: 4.6em; resize: none; border: 0; padding: .2rem .3rem;
  background: transparent; color: var(--ink); font: inherit; font-size: var(--t-5); line-height: 1.6;
}
#hm-text:focus, #hm-text:focus-visible { outline: none; box-shadow: none; }
#hm-text::placeholder { color: var(--ink-3); }
.hm-box .field-err { display: block; margin: .3rem .3rem 0; }
.hm-foot { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .7rem; margin-top: .6rem; }
.hm-chips { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; flex: 1 1 auto; min-width: 0; }
.hm-box .hm-chip {
  width: auto; min-height: 34px; padding: .25rem .55rem; border: 1px solid var(--rule); border-radius: var(--r-pill);
  background: var(--paper-2); color: var(--ink-2); font: inherit; font-size: var(--t-2); max-width: 11rem;
}
.lp-hero.hm-hero .lead strong { white-space: nowrap; }
.hm-seg { display: inline-flex; border: 1px solid var(--rule); border-radius: var(--r-pill); overflow: hidden; }
.hm-seg button {
  appearance: none; border: 0; background: var(--paper-2); color: var(--ink-2); cursor: pointer;
  min-height: 34px; padding: .25rem .9rem; font: inherit; font-size: var(--t-2); font-weight: 600;
}
.hm-seg button + button { border-left: 1px solid var(--rule); }
.hm-seg button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.hm-aside { font-size: var(--t-2); }
.hm-price { font-size: var(--t-2); color: var(--ink-3); margin-left: auto; text-align: right; }
.hm-box #hm-go { min-height: 44px; padding: .55rem 1.3rem; font-size: var(--t-4); font-weight: 700; }
.hm-alt { padding: .2rem .3rem; }
.hm-steps { margin: 0; padding: 0 0 0 1.3rem; display: grid; gap: .45rem; }
.hm-steps li { line-height: 1.55; color: var(--ink-2); }
.hm-steps li b { color: var(--ink); margin-right: .5rem; }
.hm-steps li span { font-size: var(--t-3); }
.hm-tpls { width: min(100%, 980px); margin: 1rem auto 0; text-align: left; }
.hm-tpls-k { margin: 0 0 .5rem; font-size: var(--t-2); font-weight: 600; color: var(--ink-3); text-align: center; }

.hm-tpls-row {
  display: flex; gap: .6rem; overflow-x: auto; padding: .15rem .1rem .5rem; justify-content: safe center;
  scroll-snap-type: x proximity; overscroll-behavior-x: contain; scrollbar-width: thin;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.4rem), transparent);
          mask-image: linear-gradient(90deg, #000 calc(100% - 2.4rem), transparent);
}
.hm-tpls-row::after { content: ""; flex: none; width: 1.6rem; }
.hm-tpl {
  appearance: none; flex: none; width: 9.4rem; padding: 0 0 .5rem; cursor: pointer; text-align: left;
  display: grid; gap: .15rem; align-content: start; scroll-snap-align: start; overflow: hidden;
  border: 1px solid var(--rule); border-radius: 12px; background: var(--raised); color: var(--ink);
}
.hm-tpl img { display: block; width: 100%; height: auto; aspect-ratio: 96 / 64; margin-bottom: .3rem; background: var(--paper-2); }
.hm-tpl b { padding: 0 .55rem; font-size: var(--t-2); line-height: 1.35; }
.hm-tpl span { padding: 0 .55rem; font-size: var(--t-1); color: var(--ink-3); }
.hm-tpl:hover { border-color: var(--ink-3); }
.hm-tpl[aria-pressed="true"] { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.hm-tpl:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.hm-trust { margin: 1rem auto 0; max-width: 46em; font-size: var(--t-2); line-height: 1.7; color: var(--ink-3); }
.hm-trust a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width: 620px) {
  .hm-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding-bottom: .2rem; }
  .hm-tabs::-webkit-scrollbar { display: none; }
  .hm-tab { flex: none; }
  .hm-price { margin-left: 0; text-align: left; flex-basis: 100%; order: 2; }
  .hm-box #hm-go { order: 3; flex: 1 1 100%; }
}

.modal.hm-login .hm-login-lead { margin: .2rem 0 1rem; line-height: 1.65; color: var(--ink-2); }
.hm-login-acts { display: grid; gap: .55rem; }
.hm-login-acts .btn { width: 100%; justify-content: center; min-height: 46px; }
.hm-login-foot { margin: 1rem 0 0; font-size: var(--t-2); color: var(--ink-3); }

.hm-show-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .9rem; text-align: left; }
.hm-card { display: grid; gap: .2rem; align-content: start; color: inherit; text-decoration: none; min-width: 0; }
.hm-card-fig {
  position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden;
  border-radius: 12px; border: 1px solid var(--rule); background: var(--paper-2);
}
.hm-card-fig img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hm-card-ph { display: grid; place-items: center; height: 100%; padding: .8rem; text-align: center; font-weight: 700; color: var(--ink-2); }
.hm-badge {
  position: absolute; left: .45rem; bottom: .45rem; padding: .15rem .45rem; border-radius: var(--r-pill);
  background: rgba(16, 20, 24, .78); color: #fff; font-size: var(--t-1); font-weight: 600;
}
.hm-card b { margin-top: .35rem; font-size: var(--t-3); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hm-card > span:last-child:not(.hm-card-fig) { font-size: var(--t-2); color: var(--ink-3); }
.hm-card:hover b { text-decoration: underline; text-underline-offset: 3px; }
.hm-card:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; border-radius: 12px; }

.lp-more-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .8rem; text-align: left; }
.lp-more-card {
  display: grid; gap: .3rem; align-content: start; padding: 1rem 1.1rem; color: inherit; text-decoration: none;
  border: 1px solid var(--rule); border-radius: var(--lp-radius); background: var(--raised); box-shadow: var(--lp-shadow-card);
}
.lp-more-card:hover { border-color: var(--ink-3); }
.lp-more-card:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.lp-more-k { font-size: var(--t-1); font-weight: 700; letter-spacing: .08em; color: var(--brand-ink); }
.lp-more-card b { font-size: var(--t-4); line-height: 1.4; color: var(--ink); }
.lp-more-card > span:last-child { font-size: var(--t-2); color: var(--ink-3); }
.lp-more-link { text-align: center; margin: 1.4rem 0 0; }
.lp-more-link a { font-weight: 700; color: var(--brand-ink); text-decoration: none; }
.lp-more-link a:hover { text-decoration: underline; text-underline-offset: 4px; }
.dir-sec { margin: 1.2rem 0; display: grid; gap: .7rem; }
.dir-sec[hidden] { display: none; }
.dir-sec h2 { font-size: var(--t-5); margin: 0; }
.dir-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: .8rem; }
.dir-card { display: grid; gap: .5rem; align-content: start; padding: 1rem; border: 1px solid var(--rule); border-radius: 14px; background: var(--raised); }
.dir-card header { display: flex; gap: .6rem; align-items: center; }
.dir-card h3 { margin: 0; font-size: var(--t-4); }
.dir-card header p { margin: 0; }
.dir-card p { margin: 0; }
.dir-ic { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--brand-bg); color: var(--brand-ink); flex: none; }
.dir-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.dir-style { margin: .4rem 0 0; padding-left: 1.1rem; font-size: var(--t-2); color: var(--ink-2); display: grid; gap: .2rem; }
.dir-mode-desc { margin: -.2rem 0 0; font-size: var(--t-2); }
.dir-check { display: flex; gap: .5rem; align-items: flex-start; font-weight: 400; margin: .3rem 0; }
.dir-check input { width: auto; margin-top: .2rem; accent-color: var(--brand); }
.dir-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr)); gap: .5rem; }
.dir-money { width: 100%; max-width: 34rem; border-collapse: collapse; font-size: var(--t-2); }
.dir-money th, .dir-money td { padding: .35rem .5rem; border-bottom: 1px solid var(--rule); text-align: right; }
.dir-money th:first-child { text-align: left; font-weight: 400; color: var(--ink-2); }
.dir-money tr.sum th, .dir-money tr.sum td { font-weight: 700; color: var(--ink); }
.dir-list { display: grid; gap: .6rem; }
.dir-prod { border: 1px solid var(--rule); border-radius: 14px; background: var(--raised); overflow: hidden; }
.dir-prod.open { border-color: var(--ink-3); }
.dir-prod-head { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: center; width: 100%; padding: .8rem 1rem; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; font: inherit; }
.dir-prod-head small { display: block; color: var(--ink-3); font-size: var(--t-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dir-prod-head > span:nth-child(2) { min-width: 0; }
.dir-prod-head:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.dir-progress { margin: 0; padding: 0 1rem .7rem; color: var(--ink-2); font-size: var(--t-2); }
.dir-detail { display: grid; gap: .8rem; padding: 0 1rem 1rem; }
.dir-callout { display: grid; gap: .5rem; padding: .8rem 1rem; border-radius: 12px; background: var(--brand-bg); color: var(--ink); }
.dir-callout.warn { background: var(--brass-bg); }
.dir-callout p { margin: 0; }
.dir-moneyline { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: var(--t-2); color: var(--ink-2); }
.dir-bible h3 { margin: 0; font-size: var(--t-4); }
.dir-bible p { margin: .2rem 0 0; }
.dir-eps { display: grid; gap: .6rem; }
.dir-ep { display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--rule); }
.dir-film { width: 100%; max-width: 32rem; border-radius: 10px; background: #000; }
.dir-redo summary { cursor: pointer; font-weight: 600; }
.dir-cells { display: grid; gap: .3rem; margin: .4rem 0; }
@media (max-width: 600px) {
  .dir-prod-head { grid-template-columns: auto 1fr; }
  .dir-prod-head .tag { grid-column: 2; justify-self: start; }
}
html:has(body.wt-focus), html:has(body.wt-overlay-open), body.wt-focus, body.wt-overlay-open { overscroll-behavior: none; }

.wt, .wt-overlay { -webkit-tap-highlight-color: transparent; }
.wt-stage { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.wt-poster img { -webkit-touch-callout: none; }

.wt-range { height: 2.5rem; }
.wt-bar { padding-bottom: .5rem; }
.wt-info { bottom: 3.4rem; }

.wt-overlay .wt-info { bottom: calc(3.4rem + env(safe-area-inset-bottom, 0px)); }
.wt-overlay .wt-rail { bottom: calc(4.6rem + env(safe-area-inset-bottom, 0px)); }
.wt-overlay .wt-sub { bottom: var(--wt-sub-bottom, calc(10.5rem + env(safe-area-inset-bottom, 0px))); }
.wt-speed { top: calc(4.6rem + env(safe-area-inset-top, 0px)); }

.wt-badge-pill { position: relative; }
.wt-badge-pill::after { content: ''; position: absolute; inset: -10px -2px; }

@media (pointer: coarse) {
  .wt-seg-b, .wt-eps-tab, .wt-hot, .wt-gchip { min-height: 2.75rem; }
  .wt-item.is-wide .wt-full { height: 2.75rem; }
}

@media (hover: none) {
  .wt-act:hover, .wt-card:hover .wt-poster { transform: none; }
  .wt-card:hover .wt-poster { box-shadow: none; }
}

@media (pointer: coarse) and (orientation: landscape) and (max-height: 500px) {
  body.wt-focus .wt-tabs { display: none; }
  body.wt-focus .wt-panels { inset: 0; }
  body.wt-focus .wt { --wt-tabs-h: 0px; }
  .wt-nav { display: none; }
  .wt-stage, .wt-item.is-wide .wt-stage { width: 100cqw; height: 100cqh; border-radius: 0; overflow: hidden; }
  .wt-chrome, .cur-wide > .wt-chrome { width: 100cqw; }
  
  .wt-video, .wt-cover img, .wt-item.is-wide .wt-video, .wt-item.is-wide .wt-cover img { object-fit: contain; }
  .wt-item.is-wide .wt-media { inset: 0; top: 0; height: auto; }
  
  .wt-rail, .wt-item.is-wide .wt-rail { left: auto; right: calc(.45rem + env(safe-area-inset-right, 0px)); bottom: 3.4rem; flex-direction: row; align-items: flex-end; gap: .25rem; }
  .wt-info, .wt-item.is-wide .wt-info { left: calc(.9rem + env(safe-area-inset-left, 0px)); right: auto; max-width: min(42cqw, 26rem); }
  .wt-sub, .wt-item.is-wide .wt-sub { top: auto; transform: none; left: 22cqw; right: 22cqw; bottom: var(--wt-sub-bottom, 5rem); font-size: var(--t-4); }
  
  .wt-item.is-wide .wt-full {
    display: inline-flex; align-items: center; gap: .35rem; position: absolute; z-index: 5; left: 50%; transform: translateX(-50%);
    top: calc(.6rem + env(safe-area-inset-top, 0px)); bottom: auto; height: 2.75rem; padding: 0 .95rem;
    border: 1px solid rgba(255, 255, 255, .5); border-radius: var(--r-pill); background: rgba(0, 0, 0, .35); color: #fff;
    font: inherit; font-size: var(--t-2); font-weight: 600; cursor: pointer;
  }
  
  body.wt-focus:not(.wt-overlay-open) .wt-exit {
    top: calc(.5rem + env(safe-area-inset-top, 0px)); left: calc(.6rem + env(safe-area-inset-left, 0px));
    width: auto; height: auto; flex-direction: row; gap: .4rem; padding: 0; border-bottom: 0;
  }
  .wt-exit-a { flex-direction: row; width: 44px; height: 44px; border-radius: var(--r-pill); background: rgba(0, 0, 0, .36); color: #fff; }
  .wt-exit-a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (pointer: coarse) {
  .toast-x { width: 44px; height: 44px; margin: -.55rem -.4rem 0 0; }
  .pw-toggle { min-width: 44px; min-height: 44px; }
  .hm-seg button, .hm-tab { min-height: 44px; }
  .wp-ord-acts .wp-ic { min-width: 44px; min-height: 44px; }
  .wp-ord-acts .wp-ic:last-child { margin-left: .6rem; }   
}
html { scroll-padding-top: calc(var(--sticky-top, 0px) + 8px); }

@media (max-width: 760px) { body:has(#cv-selbar:not([hidden])) :is(#cv-insp-t, #cv-tpl-t, #cv-lib-t) { scroll-margin-top: calc(var(--sticky-top, 0px) + 4.5rem); } }

.menu-flip { left: auto !important; right: 0 !important; }

body { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
@media (pointer: coarse) {
  
  .dir-check, .gd-check-opt { min-height: 44px; align-items: center; }
  .dir-check input { margin-top: 0; }
  .cv-link-list .linklike { display: inline-flex; align-items: center; min-height: 44px; }
  
  .gd-shot-acts .icon-btn[data-short] { width: auto; min-width: 44px; height: auto; min-height: 48px; flex-direction: column; gap: .1rem; padding: .25rem .35rem; }
  .gd-shot-acts .icon-btn[data-short]::after { content: attr(data-short); font-size: var(--t-1); line-height: 1.1; }
  
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  select:not([multiple]):not([size]), textarea:not([readonly]):not([disabled]) { font-size: var(--t-4); }
}

@media (pointer: coarse) and (max-height: 500px) {
  .subnav, .gd-bar, .cv-selbar { position: static; }
}
@media (pointer: coarse) and (max-height: 500px) and (min-width: 641px) {
  body.ed-focus { overflow: visible; }
  body.ed-focus #ed-stage { display: flex; flex-direction: column; }
  body.ed-focus .ed-body { display: contents; }
  body.ed-focus .ed-top { order: 0; }
  body.ed-focus .ed-preview { order: 1; }
  body.ed-focus .ed-canvas-wrap { min-height: 0; height: 52vh; }
  body.ed-focus .ed-timeline { order: 2; }
  body.ed-focus .ed-props { order: 3; max-height: none; }
  body.ed-focus .ed-lib { order: 4; }
}
@media (pointer: coarse) { .ed-ruler { min-height: 40px; } }
.userchip { position: relative; }
.userchip .av { position: relative; }
.userchip.has-unread .av::after { content: ""; position: absolute; top: -2px; right: -2px; width: 10px; height: 10px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 2px var(--paper); }
@media (forced-colors: active) { .userchip.has-unread .av::after { background: Highlight; box-shadow: none; } }
@media (max-width: 760px) {
  
  #toast { bottom: calc(1rem + env(safe-area-inset-bottom, 0px) + var(--kb, 0px)); }
  body:has(.usermenu:not([hidden]), .nav-moremenu:not([hidden]), .mp-back) #toast { top: calc(.6rem + env(safe-area-inset-top, 0px)); bottom: auto; }
}

body:has(.nav-moremenu:not([hidden]), .usermenu:not([hidden]))::before { cursor: pointer; }
@media (pointer: coarse) { .nav-more > button { min-width: 44px; min-height: 44px; } }
.wt-opening { opacity: .55; transition: opacity .15s; }

.wt-bigplay { pointer-events: none; }
.dlg-dirty-note:empty { display: none; }

.ed-tl-scroll { touch-action: pan-x pan-y; }
.ed-clip.ed-snapped { box-shadow: 0 0 0 2px var(--slate); }

@media (any-pointer: coarse) { .ed-clip.on .ed-handle { touch-action: none; } .ed-clip.on { touch-action: pan-y; } }

.wp-add-foot { position: sticky; bottom: 0; z-index: 2; background: var(--overlay); padding: .6rem 0 calc(.6rem + env(safe-area-inset-bottom, 0px)); margin-top: .6rem; box-shadow: 0 -8px 12px -10px rgba(0, 0, 0, .25); }
.g-dur-step { gap: .4rem; margin-top: .3rem; }
.g-count-why { display: block; margin-top: .3rem; }
@media (pointer: coarse) {
  
  :is(.mode-alt, #s-neg-clear, #ref-byurl, .out-creation, .res-plan-hint .linklike) { position: relative; }
  :is(.mode-alt, #s-neg-clear, #ref-byurl, .out-creation)::before { content: ""; position: absolute; inset: -10px -4px; }
}

@media (pointer: coarse) and (max-width: 760px) {
  
  body:has(#v-studio .console-form :is(textarea, select, input:not([type="checkbox"]):not([type="radio"]):not([type="range"])):focus) #v-studio .cf-submit { position: static; }
  
  #v-studio .mention-pop { position: fixed; left: .6rem; right: .6rem; top: auto; bottom: calc(var(--kb, 0px) + .6rem + env(safe-area-inset-bottom, 0px)); max-height: 40dvh; }
}

@media (pointer: coarse) and (max-height: 500px) { #v-studio .cf-submit { position: static; } }
@media (max-width: 760px) {
  
  #v-studio .cf-go { padding: .6rem .9rem; }
  
  #v-studio .cf-submit:has(#pb-breakdown:not([hidden]), #pb-list:not([hidden])) { position: static; }
  
  #cr-results .rc-actions .linklike { white-space: normal; text-align: left; line-height: 1.25; }
  
  #v-studio #tool-sub:not(.open) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; cursor: pointer; }
  
  body:has(#v-studio:not([hidden])) #toast { bottom: calc(var(--cf-submit-h, 5.6rem) + .5rem + var(--kb, 0px)); }
  .mp-back { padding-bottom: var(--kb, 0px); }
  .mp-sheet { height: calc(88dvh - var(--kb, 0px)); }
  
  .mp-sheet .up-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
}

@media screen and (max-width: 640px) {
  .outgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .outcard :is(img, video) { aspect-ratio: 3 / 4; }
}
.cam-picker { border: 0; padding: 0; margin: 0; min-width: 0; }
.cam-picker legend { padding: 0; margin-bottom: .4rem; font-weight: 600; }
.cam-groups { margin-bottom: .55rem; }
.cam-groups .chip { padding: .35rem .7rem; }
.cam-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: .5rem; }
.cam-card { position: relative; display: flex; flex-direction: column; gap: .3rem; padding: .3rem; border: 1px solid var(--rule);
  border-radius: var(--r-s); background: var(--raised); cursor: pointer; transition: border-color .12s, background .12s; }
.cam-card:hover { border-color: var(--ink-3); }
.cam-card.on { border-color: var(--brand); background: var(--brand-bg); box-shadow: inset 0 0 0 1px var(--brand); }
.cam-card input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.cam-card:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.cam-name { font-size: var(--t-2); line-height: 1.25; text-align: center; color: var(--ink); }
.cam-card.on .cam-name { color: var(--brand-ink); font-weight: 600; }
.cam-stage { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border-radius: calc(var(--r-s) - 2px);
  background: var(--sunken); }
.cam-scene { position: absolute; inset: 0; transform-origin: 50% 55%; }
.cam-sky { position: absolute; inset: 0; background: linear-gradient(var(--sunken), var(--raised)); }

.cam-sky::after { content: ''; position: absolute; right: 18%; top: 14%; width: 14%; aspect-ratio: 1; border-radius: 50%;
  background: color-mix(in srgb, var(--ink-3) 30%, transparent); }
.cam-hill { position: absolute; left: -10%; right: 30%; bottom: 28%; height: 38%; border-radius: 50% 60% 0 0;
  background: color-mix(in srgb, var(--ink-3) 34%, transparent); }
.cam-hill::after { content: ''; position: absolute; left: 70%; right: -45%; bottom: 0; height: 70%; border-radius: 60% 50% 0 0;
  background: color-mix(in srgb, var(--ink-3) 24%, transparent); }
.cam-ground { position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: color-mix(in srgb, var(--ink-3) 18%, var(--raised)); }
.cam-figure { position: absolute; left: 46%; bottom: 22%; width: 8%; height: 34%; border-radius: 40% 40% 12% 12%; background: var(--ink-2); }
.cam-figure::before { content: ''; position: absolute; left: 10%; right: 10%; top: -34%; aspect-ratio: 1; border-radius: 50%; background: var(--ink-2); }
.cam-tip { margin-top: .45rem; font-size: var(--t-2); min-height: 1.3em; }

.cam-strip { display: flex; flex-direction: column; gap: .25rem; padding: .4rem .5rem; border-top: 1px dashed var(--rule-2); }
.cam-strip[hidden] { display: none; }
.cs-row { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; }
.cs-chip { display: inline-flex; align-items: center; gap: .35rem; min-height: 32px; padding: .15rem .6rem; border: 1px solid var(--brand); border-radius: var(--r-pill); background: var(--brand-bg); color: var(--brand-ink); font: inherit; font-size: var(--t-2); cursor: pointer; }
.cs-chip:hover { box-shadow: inset 0 0 0 1px var(--brand); }
.cs-note { font-size: var(--t-1); color: var(--ink-3); margin-right: auto; }
.cs-phrase { margin: 0; font-size: var(--t-2); color: var(--ink-2); overflow-wrap: anywhere; }
.cs-phrase q { quotes: '「' '」'; color: var(--ink); }
.cs-warn { margin: 0; font-size: var(--t-2); color: var(--brass-2); }
@media (pointer: coarse) { .cs-chip, .cam-strip .btn { min-height: 44px; } }
@media (prefers-reduced-motion: no-preference) {
  .cam-card:is(:hover, :focus-within, .on) .cam-scene { animation: 1.8s ease-in-out infinite alternate both; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-in { animation-name: cam-in; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-out { animation-name: cam-out; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-in_fast { animation-name: cam-in-fast; animation-duration: 1.4s; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-out_fast { animation-name: cam-out-fast; animation-duration: 1.4s; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-pan { animation-name: cam-pan; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-pan_fast { animation-name: cam-pan-fast; animation-duration: 1.2s; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-up { animation-name: cam-up; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-down { animation-name: cam-down; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-roll { animation-name: cam-roll; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-shake { animation: cam-shake .5s linear infinite; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-handheld { animation: cam-handheld 2.4s ease-in-out infinite; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-orbit .cam-hill { animation: cam-orbit-bg 2.2s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-orbit .cam-figure { animation: cam-orbit-fg 2.2s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-focus .cam-hill { animation: cam-focus 1.8s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .cam-m-vertigo .cam-hill { animation: cam-vertigo 1.8s ease-in-out infinite alternate; }
}
@keyframes cam-in { from { transform: scale(1); } to { transform: scale(1.35); } }
@keyframes cam-out { from { transform: scale(1.35); } to { transform: scale(1); } }
@keyframes cam-in-fast { 0%, 30% { transform: scale(1); } 60%, 100% { transform: scale(1.7); } }
@keyframes cam-out-fast { 0%, 30% { transform: scale(1.7); } 60%, 100% { transform: scale(1); } }
@keyframes cam-pan { from { transform: scale(1.3) translateX(-9%); } to { transform: scale(1.3) translateX(9%); } }
@keyframes cam-pan-fast { 0%, 35% { transform: scale(1.4) translateX(-12%); filter: blur(0); } 50% { filter: blur(2px); } 65%, 100% { transform: scale(1.4) translateX(12%); filter: blur(0); } }
@keyframes cam-up { from { transform: scale(1.25) translateY(8%); } to { transform: scale(1.25) translateY(-8%); } }
@keyframes cam-down { from { transform: scale(1.25) translateY(-8%); } to { transform: scale(1.25) translateY(8%); } }
@keyframes cam-roll { from { transform: scale(1.3) rotate(0deg); } to { transform: scale(1.3) rotate(-10deg); } }
@keyframes cam-shake { 0%, 100% { transform: scale(1.12) translate(0, 0); } 25% { transform: scale(1.12) translate(-3%, 2%); } 50% { transform: scale(1.12) translate(3%, -2%); } 75% { transform: scale(1.12) translate(-2%, -3%); } }
@keyframes cam-handheld { 0%, 100% { transform: scale(1.08) translate(0, 0) rotate(0); } 33% { transform: scale(1.08) translate(1.2%, -.8%) rotate(.6deg); } 66% { transform: scale(1.08) translate(-1%, .6%) rotate(-.5deg); } }
@keyframes cam-orbit-bg { from { transform: translateX(10%); } to { transform: translateX(-10%); } }
@keyframes cam-orbit-fg { from { transform: translateX(-60%) scaleX(.85); } to { transform: translateX(60%) scaleX(.85); } }
@keyframes cam-focus { from { filter: blur(3px); } to { filter: blur(0); } }
@keyframes cam-vertigo { from { transform: scale(1); } to { transform: scale(1.5); } }
.fx-own { align-self: center; font-size: var(--t-1); line-height: 1.2; color: var(--ink-3); }
.fx-o { position: absolute; inset: 0; pointer-events: none; }
.fx-d-smoke .fx-o { background: radial-gradient(40% 50% at 35% 70%, color-mix(in srgb, var(--raised) 92%, transparent), transparent 70%),
  radial-gradient(40% 50% at 65% 72%, color-mix(in srgb, var(--raised) 88%, transparent), transparent 70%); }
.fx-d-glow .fx-o, .fx-d-unbox .fx-o { background: radial-gradient(30% 40% at 50% 60%, color-mix(in srgb, var(--raised) 95%, transparent), transparent 75%); }
.fx-d-spot .fx-o { background: radial-gradient(18% 48% at 50% 62%, transparent 60%, color-mix(in srgb, var(--ink) 55%, transparent) 100%); }
.fx-d-petals .fx-o, .fx-d-particles .fx-o, .fx-d-freeze .fx-o, .fx-d-splash .fx-o, .fx-d-assemble .fx-o {
  background-image: radial-gradient(circle, color-mix(in srgb, var(--ink-3) 70%, transparent) 1.5px, transparent 2px);
  background-size: 14px 12px; }
.fx-d-petals .fx-o { background-image: radial-gradient(circle, #e88fa8 1.6px, transparent 2.2px); }
.fx-d-splash .fx-o, .fx-d-ice .fx-o { background-color: color-mix(in srgb, #6fb3e0 18%, transparent); }
.fx-d-fire .fx-o { background: radial-gradient(30% 22% at 50% 82%, color-mix(in srgb, #e8702a 55%, transparent), transparent 80%); }
.fx-d-spark .fx-o { background: repeating-linear-gradient(115deg, transparent 0 9px, color-mix(in srgb, #7fb6ff 55%, transparent) 9px 10px); }
.fx-d-rain .fx-o { background: repeating-linear-gradient(100deg, transparent 0 6px, color-mix(in srgb, var(--ink-3) 35%, transparent) 6px 7px); }
.fx-d-dusk .fx-o { background: linear-gradient(color-mix(in srgb, var(--ink) 45%, transparent), transparent); }
.fx-d-ink .cam-scene, .fx-d-ink { filter: grayscale(1) contrast(1.2); }
@media (prefers-reduced-motion: no-preference) {
  .cam-card:is(:hover, :focus-within, .on) .fx-d-smoke .fx-o { animation: fx-fade-out 2s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) :is(.fx-d-glow, .fx-d-unbox) .fx-o { animation: fx-pulse 1.6s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-spot .fx-o { animation: fx-fade-in 1.8s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) :is(.fx-d-petals, .fx-d-particles) .fx-o { animation: fx-drift 2.4s linear infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-particles .cam-figure { animation: fx-fade-out 2.4s ease-in infinite; }
  .cam-card:is(:hover, :focus-within, .on) :is(.fx-d-splash, .fx-d-assemble) .fx-o { animation: fx-burst 1.6s ease-out infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-ice .fx-o { animation: fx-rise 2s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-fire .fx-o { animation: fx-pulse .7s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-spark .fx-o { animation: fx-flicker .35s steps(2) infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-rain .fx-o { animation: fx-rain .5s linear infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-dusk .fx-o { animation: fx-fade-in 2.2s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-seasons { animation: fx-hue 3s linear infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-glitch { animation: fx-glitch .6s steps(3) infinite; }
  .cam-card:is(:hover, :focus-within, .on) :is(.fx-d-fold, .fx-d-spin) .cam-figure { animation: fx-spin 1.6s ease-in-out infinite; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-shrink .cam-figure { animation: fx-shrink 1.8s ease-in-out infinite alternate; transform-origin: 50% 100%; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-float .cam-figure { animation: fx-float 1.8s ease-in-out infinite alternate; }
  .cam-card:is(:hover, :focus-within, .on) .fx-d-explode .cam-figure { animation: fx-explode 1.6s ease-in-out infinite alternate; }
}
@keyframes fx-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes fx-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes fx-pulse { from { opacity: .35; transform: scale(.9); } to { opacity: 1; transform: scale(1.15); } }
@keyframes fx-drift { from { background-position: 0 0; } to { background-position: 14px -24px; } }
@keyframes fx-burst { from { transform: scale(.4); opacity: 1; } to { transform: scale(1.4); opacity: 0; } }
@keyframes fx-rise { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes fx-flicker { 0% { opacity: .2; } 100% { opacity: 1; } }
@keyframes fx-rain { from { background-position: 0 0; } to { background-position: -4px 14px; } }
@keyframes fx-hue { from { filter: hue-rotate(0deg) saturate(2); } to { filter: hue-rotate(360deg) saturate(2); } }
@keyframes fx-glitch { 0% { transform: translate(0, 0); } 33% { transform: translate(-3%, 1%); filter: hue-rotate(60deg); } 66% { transform: translate(3%, -1%); } 100% { transform: translate(0, 0); } }
@keyframes fx-spin { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
@keyframes fx-shrink { from { transform: scale(1); } to { transform: scale(.45); } }
@keyframes fx-float { from { transform: translateY(0); } to { transform: translateY(-28%); } }
@keyframes fx-explode { from { transform: scale(1); opacity: 1; } to { transform: scale(1.6); opacity: .35; } }
.st-cast { margin-top: .8rem; }
.st-cast-head { display: flex; flex-wrap: wrap; gap: .2rem .5rem; align-items: baseline; margin-bottom: .4rem; }
.st-cast-head b { font-size: var(--t-3); }
.st-cast-head .muted { font-size: var(--t-1); }
.cast-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .3rem; }
.cast-img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex: none; }
:is(.cast-pick-row, .cast-mgr-row) .cast-img { width: 48px; height: 48px; border-radius: var(--r-s); }
.cast-ph { display: inline-grid; place-items: center; background: var(--sunken); color: var(--ink-3); font-weight: 600; }
.cast-pick { display: grid; gap: .4rem; max-height: 60vh; overflow: auto; padding: .2rem; }
.cast-pick-row, .cast-mgr-row { display: flex; gap: .6rem; align-items: center; padding: .45rem; border: 1px solid var(--rule); border-radius: var(--r-s); }
.cast-pick-row { cursor: pointer; }
.cast-pick-row.disabled { opacity: .55; cursor: not-allowed; }
:is(.cast-pick-row, .cast-mgr-row) .muted { font-size: var(--t-2); }
.cast-pick-row > span:last-child .muted { display: block; }
.cast-mgr { display: grid; gap: .5rem; padding: .2rem; }
.cast-mgr-head { display: flex; gap: .5rem; flex-wrap: wrap; }
.cast-mgr-row > div:nth-child(2) { flex: 1; min-width: 0; }
.cast-form { display: grid; gap: .6rem; }
.cast-form .grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .6rem; }
.cast-form :is(input, select, textarea) { width: 100%; }
.cast-sheets { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: .4rem; margin-top: .3rem; }
.cast-sheet { position: relative; display: block; border: 2px solid transparent; border-radius: var(--r-s); overflow: hidden; cursor: pointer; }
.cast-sheet img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.cast-sheet input { position: absolute; top: 4px; left: 4px; }
.cast-sheet.on { border-color: var(--brand); }
.cast-sheet:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.agc-wrap { display: grid; grid-template-columns: minmax(200px, 260px) 1fr; gap: 1rem; align-items: start; }
.agc-side { display: grid; gap: .6rem; }
.agc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; max-height: 70vh; overflow: auto; }
.agc-li { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: stretch; }
.agc-item { width: 100%; min-height: 44px; text-align: left; display: grid; gap: .15rem; padding: .5rem .6rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--raised); color: var(--ink); cursor: pointer; }
.agc-item b { overflow-wrap: anywhere; }
.agc-item .muted { font-size: var(--t-1); }
.agc-item.on { border-color: var(--brand); background: var(--brand-bg); }
.agc-li-more { position: relative; display: flex; align-items: center; }
.agc-li-more .icon-btn { min-width: 36px; min-height: 44px; }
.agc-menu { position: absolute; z-index: var(--z-menu); top: calc(100% + .25rem); right: 0; min-width: 9rem; display: flex; flex-direction: column; padding: .3rem; border: 1px solid var(--rule); border-radius: var(--r-s); background: var(--overlay); box-shadow: var(--shadow-2); }
.agc-attach-wrap .agc-menu { right: auto; left: 0; top: auto; bottom: calc(100% + .25rem); min-width: 12rem; }
.agc-menu[hidden] { display: none; }
.agc-menu button { text-align: left; min-height: 40px; padding: .4rem .6rem; border: 0; border-radius: var(--r-xs); background: none; color: var(--ink); font: inherit; font-size: var(--t-3); cursor: pointer; }
.agc-menu button:hover, .agc-menu button:focus-visible { background: var(--paper-2); }
.agc-menu button.danger { color: var(--stop); }
.agc-main { display: grid; gap: .6rem; min-width: 0; }
.agc-back { display: none; justify-self: start; }
.agc-head { display: flex; flex-wrap: wrap; gap: .3rem .8rem; align-items: baseline; }
.agc-head h2 { margin: 0; font-size: var(--t-6); overflow-wrap: anywhere; }
.agc-head .muted { font-size: var(--t-2); }
.agc-thread { list-style: none; margin: 0; padding: .2rem; display: grid; gap: .6rem; max-height: 62vh; overflow: auto; overflow-anchor: none; }
.agc-msg { display: grid; gap: .35rem; max-width: 92%; padding: .6rem .75rem; border-radius: var(--r-s); border: 1px solid var(--rule); background: var(--raised); justify-items: start; }
.agc-msg.me { justify-self: end; background: var(--sunken); }
.agc-meta { font-size: var(--t-1); color: var(--ink-3); }
.agc-text { overflow-wrap: anywhere; line-height: 1.5; }
.agc-atts { display: flex; flex-wrap: wrap; gap: .35rem; }
.agc-atts :is(img, video) { width: 96px; height: 96px; object-fit: cover; border-radius: calc(var(--r-s) - 2px); background: var(--sunken); }
.agc-results { width: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); gap: .5rem; }
.agc-res { display: grid; gap: .25rem; align-content: start; }
.agc-res :is(img, video) { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--r-s) - 2px); background: var(--sunken); }
.agc-res video { aspect-ratio: 16 / 9; object-fit: contain; }
.agc-res audio { width: 100%; }
.agc-res-open { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.agc-res-acts { display: flex; flex-wrap: wrap; gap: .3rem; }
.agc-intro { display: grid; gap: .5rem; max-width: 46rem; padding: .4rem .2rem; }
.agc-intro p { margin: 0; }
.agc-ex { display: flex; flex-wrap: wrap; gap: .4rem; }
.agc-compose { display: grid; gap: .5rem; padding-top: .2rem; background: var(--paper); }
.agc-compose textarea { width: 100%; }
.agc-opts { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; font-size: var(--t-2); }
.agc-opts[hidden] { display: none; }
.agc-opts input { max-width: 8rem; }
.agc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.agc-acts .btn:last-child { margin-left: auto; }
.agc-attach-wrap { position: relative; }
.agc-hint { font-size: var(--t-2); }
.agc-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.agc-chips[hidden] { display: none; }
.agc-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .2rem .15rem .35rem; border: 1px solid var(--rule); border-radius: 999px; background: var(--raised); font-size: var(--t-2); }
.agc-chip img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; }
.agc-chip .icon-btn { min-width: 32px; min-height: 32px; }
.agc-pick { max-width: 640px; }
.agc-pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 120px), 1fr)); gap: .5rem; max-height: 60vh; overflow: auto; }
.agc-pick-item { display: block; padding: 0; border: 2px solid transparent; border-radius: var(--r-s); background: var(--sunken); overflow: hidden; cursor: pointer; }
.agc-pick-item:hover, .agc-pick-item:focus-visible { border-color: var(--brand); }
.agc-pick-item :is(img, video) { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; pointer-events: none; }
@media screen and (max-width: 760px) {
  
  .agc-wrap { grid-template-columns: 1fr; }
  .agc-wrap.is-thread .agc-side { display: none; }
  .agc-wrap:not(.is-thread) .agc-main .agc-thread:empty { display: none; }
  .agc-wrap.is-thread .agc-back { display: inline-flex; }
  .agc-list { max-height: none; }
  .agc-thread { max-height: none; overflow: visible; }
  .agc-msg { max-width: 100%; }
  .agc-compose { position: sticky; bottom: var(--kb, 0px); z-index: 2; padding: .5rem 0 calc(.5rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--rule); }
}
