/* =====================================================================
   Looks (skins). Picked under More → "Pick your look". Default for new people: protocol.
   Each skin redefines the colour tokens from styles.css, then adds a few
   touches of its own. Loaded after styles.css so it wins.
   ===================================================================== */

/* ---------- picker ---------- */
.skins{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.skin{appearance:none;text-align:left;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:10px;display:grid;gap:3px;cursor:pointer}
.skin[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.skin .name{font-weight:600}
.skin .short{font-size:12px;color:var(--ink-2);line-height:1.35}
.swatch{display:flex;height:34px;border-radius:7px;overflow:hidden;margin-bottom:5px;border:1px solid rgba(0,0,0,.12)}
.swatch i{flex:1}
.swatch.tome i:nth-child(1){background:#E9DCC0}.swatch.tome i:nth-child(2){background:#2B1E14}.swatch.tome i:nth-child(3){background:#8A2E1C}
.swatch.neon i:nth-child(1){background:#07070D}.swatch.neon i:nth-child(2){background:#FF2E97}.swatch.neon i:nth-child(3){background:#00E5FF}
.swatch.protocol i:nth-child(1){background:#E8E9EB}.swatch.protocol i:nth-child(2){background:#121315}.swatch.protocol i:nth-child(3){background:#FFE100}
.swatch.clean i:nth-child(1){background:#F6F6F9}.swatch.clean i:nth-child(2){background:#5146E5}.swatch.clean i:nth-child(3){background:#FF6B4A}
@media (max-width:480px){
  .skins{grid-template-columns:1fr}
  .skin{grid-template-columns:70px 1fr;column-gap:12px;align-items:center}
  .skin .swatch{grid-row:span 2;margin:0;height:44px}
}

/* ---------- TOME: an old book. Paper, iron-gall ink, red rubrics, gilt. ---------- */
:root[data-skin="tome"]{
  --bg:#E6D8BB; --surface:#F2E8D3; --surface-2:#E4D5B5; --surface-3:#D2BE96;
  --ink:#2B1E14; --ink-2:#584331; --ink-3:#86705A; --line:#C9B38A;
  --accent:#8A2E1C; --accent-ink:#F7EEDC; --accent-soft:#EBD2BC; --accent-wash:rgba(138,46,28,.09); --ember:#B07A2A;
  --danger:#8A2E1C;
  --shadow:0 1px 1px rgba(60,40,20,.10), 0 14px 30px -18px rgba(60,40,20,.45);
  --sans:'Newsreader', Georgia, serif;
  --rule:rgba(138,46,28,.10);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root[data-skin="tome"]{
    /* the same book, by candlelight */
    --bg:#17120D; --surface:#221A13; --surface-2:#2D2318; --surface-3:#3B2E20;
    --ink:#EBDDC1; --ink-2:#C4AE89; --ink-3:#8F7B5D; --line:#46382A;
    --accent:#D9A54C; --accent-ink:#1B1208; --accent-soft:#3A2B17; --accent-wash:rgba(217,165,76,.11); --ember:#E8B85E;
    --danger:#E09A7E;
    --shadow:0 1px 1px rgba(0,0,0,.4), 0 14px 30px -18px rgba(0,0,0,.8);
    --rule:rgba(217,165,76,.10);
    color-scheme:dark;
  }
}
/* paper grain + a soft vignette, drawn in CSS (no image files) */
:root[data-skin="tome"] body{
  background-color:var(--bg);
  background-image:
    radial-gradient(ellipse at 50% 30%, transparent 55%, rgba(80,50,20,.16) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .12 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-attachment:fixed;
  font-size:16px;
}
:root[data-skin="tome"] .top{border-bottom:3px double var(--line)}
:root[data-skin="tome"] .brand{font-family:var(--serif);font-weight:600;font-variant:small-caps;letter-spacing:.04em;font-size:27px}
:root[data-skin="tome"] .brand i{border-radius:0;transform:rotate(45deg);width:8px;height:8px;background:var(--ember);box-shadow:none;outline:1px solid var(--ember);outline-offset:2px}
:root[data-skin="tome"] h2{font-family:var(--serif);font-weight:600;font-variant:small-caps;letter-spacing:.03em;font-size:20px}
:root[data-skin="tome"] h2::before{content:"❧ ";color:var(--accent);font-variant:normal}
:root[data-skin="tome"] .tab{font-variant:small-caps;letter-spacing:.05em;font-size:16px}
:root[data-skin="tome"] .tab[aria-selected="true"]{background:none;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
:root[data-skin="tome"] :is(.card,.sheet,.sparks,.entry,.tile,.mode,.spark,.mood button,.btn,.tool,.skin,.search,.select,.input,details.why,.afterglow,.empty,.talk-panel,.steps-line,.entry-step,.ask-row){border-radius:3px}
:root[data-skin="tome"] :is(.card,.sparks,.entry,.tile,details.why,.talk-panel){box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--line)}
:root[data-skin="tome"] .sheet{border-top:1px solid var(--line);box-shadow:var(--shadow), inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--line)}
:root[data-skin="tome"] .sheet textarea{background-image:repeating-linear-gradient(to bottom, transparent 0 27px, var(--rule) 27px 28px);background-attachment:local;line-height:28px}
:root[data-skin="tome"] .chip{border-radius:2px}
:root[data-skin="tome"] .btn{letter-spacing:.03em;font-variant:small-caps;font-size:16px}
:root[data-skin="tome"] :is(.field label,.ask .who,.refl-box .who){font-family:var(--serif);font-variant:small-caps;text-transform:none;letter-spacing:.06em;font-size:13.5px;color:var(--accent)}
:root[data-skin="tome"] :is(.entry-title,.reflection)::first-letter{color:var(--accent);font-weight:700}

/* ---------- NEON: always night. Magenta, cyan, glass and scanlines. ---------- */
:root[data-skin="neon"]{
  --bg:#07070D; --surface:#0E0E19; --surface-2:#161628; --surface-3:#22223A;
  --ink:#E6F3FF; --ink-2:#9DB2C9; --ink-3:#62748A; --line:#25283F;
  --accent:#FF2E97; --accent-ink:#12000A; --accent-soft:#35102A; --accent-wash:rgba(255,46,151,.12); --ember:#00E5FF;
  --danger:#FF6B8A;
  --shadow:0 0 0 1px rgba(0,229,255,.08), 0 18px 40px -20px rgba(255,46,151,.35);
  --mono:ui-monospace,'Cascadia Code','SF Mono',Consolas,monospace;
  --serif:'Bricolage Grotesque', system-ui, sans-serif;
  color-scheme:dark;
}
:root[data-skin="neon"] body{
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(255,46,151,.14), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(0,229,255,.10), transparent 60%),
    var(--bg);
  background-attachment:fixed;
}
:root[data-skin="neon"] body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(to bottom, rgba(255,255,255,.025) 0 1px, transparent 1px 3px)}
:root[data-skin="neon"] .brand{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:20px;text-shadow:0 0 12px rgba(255,46,151,.55)}
:root[data-skin="neon"] .brand i{background:var(--ember);box-shadow:0 0 10px var(--ember),0 0 2px var(--ember)}
:root[data-skin="neon"] :is(h2,.tab,.field label,.entry-head .when,.ask .who,.refl-box .who){font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}
:root[data-skin="neon"] h2{font-size:14px;color:var(--ember)}
:root[data-skin="neon"] h2::before{content:"> ";color:var(--accent)}
:root[data-skin="neon"] .tab{font-size:12.5px}
:root[data-skin="neon"] .tab[aria-selected="true"]{background:var(--accent-wash);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
:root[data-skin="neon"] :is(.card,.sheet,.sparks,.entry,.tile,details.why,.afterglow,.talk-panel){background:rgba(14,14,25,.78);backdrop-filter:blur(6px);border-color:var(--line);border-radius:4px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
:root[data-skin="neon"] .sheet{border-top:1px solid var(--accent);box-shadow:inset 0 1px 0 var(--accent)}
:root[data-skin="neon"] :is(.mode,.spark,.mood button,.chip,.tool,.skin,.search,.select,.input){border-radius:3px}
:root[data-skin="neon"] .btn{border-radius:3px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:13px;box-shadow:0 0 18px -2px rgba(255,46,151,.6)}
:root[data-skin="neon"] .btn:is(.quiet,.danger){box-shadow:none}
:root[data-skin="neon"] :is(.mode,.spark)[aria-pressed="true"],:root[data-skin="neon"] .skin[aria-checked="true"]{box-shadow:inset 0 0 0 1px var(--accent),0 0 16px -4px var(--accent)}
:root[data-skin="neon"] .mood button[aria-pressed="true"]{box-shadow:0 0 16px -2px var(--accent)}
:root[data-skin="neon"] textarea{caret-color:var(--ember)}
:root[data-skin="neon"] :is(textarea,input.text):focus{border-bottom-color:var(--ember);box-shadow:0 1px 0 var(--ember)}
:root[data-skin="neon"] .thinking::before{background:var(--ember);box-shadow:0 0 8px var(--ember)}

/* ---- Neon's strip: a street-corner LED ticker, seen through rain on the glass ----
   Dot-matrix magenta text scrolls flat across; diagonal rain streaks slide over it. */
:root[data-skin="neon"] .top{border-bottom:0}
:root[data-skin="neon"] .holo{
  display:block;flex:1 0 100%;height:40px;margin-top:6px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle,rgba(255,255,255,.035) 1px,transparent 1.4px) 0 0/4px 4px,  /* unlit LEDs */
    #05050A;
  border:1px solid rgba(255,46,151,.45);border-radius:3px;
  box-shadow:0 0 22px -6px rgba(255,46,151,.7), inset 0 0 18px rgba(0,229,255,.07);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
/* rain streaks on the glass */
:root[data-skin="neon"] .holo::before{content:"";position:absolute;inset:-40px 0;z-index:2;pointer-events:none;
  background:
    repeating-linear-gradient(104deg,transparent 0 31px,rgba(160,230,255,.16) 31px 32px,transparent 32px 57px),
    repeating-linear-gradient(98deg,transparent 0 47px,rgba(255,120,200,.10) 47px 48px,transparent 48px 83px);
  animation:neon-rain .9s linear infinite}
/* a reflection band, like a wet sign */
:root[data-skin="neon"] .holo::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 45%,transparent 70%,rgba(0,229,255,.06))}
:root[data-skin="neon"] .holo-track{
  position:absolute;top:50%;left:0;display:flex;align-items:center;gap:26px;white-space:nowrap;width:max-content;padding-right:26px;
  animation:neon-scroll 32s linear infinite, neon-buzz 7s steps(1) infinite;
  /* chop the glyphs into LED dots */
  -webkit-mask-image:radial-gradient(circle,#000 1.35px,transparent 1.75px);-webkit-mask-size:3.4px 3.4px;
          mask-image:radial-gradient(circle,#000 1.35px,transparent 1.75px);mask-size:3.4px 3.4px;
}
:root[data-skin="neon"] .holo-track span{
  font-family:var(--mono);font-weight:800;font-size:28px;letter-spacing:.16em;line-height:1;
  color:#FF8CCB;text-shadow:0 0 3px #FF2E97,0 0 12px rgba(255,46,151,.9),0 0 26px rgba(255,46,151,.5)}
:root[data-skin="neon"] .holo-track small{
  font-family:var(--mono);font-weight:800;font-size:17px;letter-spacing:.12em;
  color:#9AF7FF;text-shadow:0 0 4px #00E5FF,0 0 12px rgba(0,229,255,.8)}
@keyframes neon-scroll{from{transform:translateY(-50%) translateX(0)}to{transform:translateY(-50%) translateX(-50%)}}
@keyframes neon-rain{from{transform:translate(0,-40px)}to{transform:translate(-11px,0)}}
/* a sign with a loose wire */
@keyframes neon-buzz{
  0%,100%{opacity:1}
  62%{opacity:.25} 63%{opacity:1} 64%{opacity:.4} 65%{opacity:1}
  90%{opacity:.7} 91%{opacity:1}
}
:root[data-skin="neon"] .brand{animation:neon-buzz 11s steps(1) infinite}

/* ---------- PROTOCOL: industrial sci-fi. Steel, black, hazard yellow. ----------
   Light mode is a white-and-steel facility; dark mode is the control room at night.
   Yellow is a highlight colour, not a text colour, in light mode (it's unreadable on white). */
:root[data-skin="protocol"]{
  --bg:#E4E5E8; --surface:#F7F7F8; --surface-2:#E9EAED; --surface-3:#D3D5DA;
  --ink:#121315; --ink-2:#44474D; --ink-3:#7A7E86; --line:#CBCDD2;
  --accent:#121315; --accent-ink:#FFFFFF; --accent-soft:#FFF5A8; --accent-wash:rgba(255,225,0,.16); --ember:#FFE100;
  --hazard:#FFE100; --hazard-ink:#121315;
  --serif:'Bricolage Grotesque', system-ui, sans-serif;
  --danger:#C8312B;
  --shadow:0 1px 0 rgba(18,19,21,.06), 0 14px 30px -20px rgba(18,19,21,.35);
  color-scheme:light;
  counter-reset:sec;
}
@media (prefers-color-scheme: dark){
  :root[data-skin="protocol"]{
    --bg:#0B0C0E; --surface:#141619; --surface-2:#1C1F23; --surface-3:#282C31;
    --ink:#ECEDEF; --ink-2:#A9ADB4; --ink-3:#737881; --line:#2A2E34;
    --accent:#FFE100; --accent-ink:#121315; --accent-soft:#3A3500; --accent-wash:rgba(255,225,0,.10); --ember:#FFE100;
    --danger:#FF7A6B;
    --shadow:0 1px 0 rgba(0,0,0,.4), 0 14px 30px -20px rgba(0,0,0,.8);
    color-scheme:dark;
  }
}
/* faint topographic contours + a fine grid, all CSS */
:root[data-skin="protocol"] body{
  background-color:var(--bg);
  background-image:
    repeating-radial-gradient(ellipse 130% 90% at 110% -10%, transparent 0 38px, rgba(120,125,135,.10) 38px 39px),
    linear-gradient(rgba(120,125,135,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,125,135,.06) 1px, transparent 1px);
  background-size:auto, 32px 32px, 32px 32px;
  background-attachment:fixed;
}
/* tri-colour strip along the bottom edge */
:root[data-skin="protocol"] body::after{content:"";position:fixed;left:0;right:0;bottom:0;height:4px;z-index:50;pointer-events:none;
  background:linear-gradient(90deg,#F4F5F6 0 16%,#FFE100 16% 34%,#8E939B 34% 58%,transparent 58%)}
/* ---- the hologram marquee under the header ----
   A dark display strip, tilted back in 3D, with glowing text scrolling across it.
   The track holds the text twice so sliding it by -50% loops seamlessly. */
.holo{display:none}
:root[data-skin="protocol"] .top{border-bottom:0}
:root[data-skin="protocol"] .holo{
  display:block;flex:1 0 100%;height:46px;margin-top:4px;position:relative;overflow:hidden;
  perspective:320px;perspective-origin:50% 0%;
  background:linear-gradient(180deg,#0B0C0E,#16181C);
  border-top:1px solid rgba(255,225,0,.55);border-bottom:1px solid rgba(255,225,0,.25);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
/* scanlines + a light sweep over the projection */
:root[data-skin="protocol"] .holo::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 1px,transparent 1px 3px),
    linear-gradient(100deg,transparent 30%,rgba(255,240,150,.10) 45%,transparent 60%);
  background-size:auto,300% 100%;
  animation:holo-sweep 5s linear infinite}
/* the projector glow along the bottom edge */
:root[data-skin="protocol"] .holo::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:22px;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,225,0,.35),transparent 70%)}
:root[data-skin="protocol"] .holo-track{
  position:absolute;top:50%;left:0;display:flex;align-items:baseline;gap:22px;white-space:nowrap;width:max-content;padding-right:22px;
  transform-origin:50% 50%;
  animation:holo-scroll 26s linear infinite, holo-flicker 6s steps(1) infinite;
}
:root[data-skin="protocol"] .holo-track span{
  font-family:var(--sans);font-weight:800;font-size:25px;letter-spacing:.32em;line-height:1;
  color:#FFF6A0;
  text-shadow:
    -1.5px 0 rgba(255,61,165,.75),     /* chromatic split: magenta */
    1.5px 0 rgba(46,230,255,.75),      /* and cyan */
    0 0 6px rgba(255,225,0,.9),
    0 0 18px rgba(255,225,0,.55),
    0 0 32px rgba(255,200,0,.3);
}
:root[data-skin="protocol"] .holo-track small{
  font-family:ui-monospace,'Cascadia Code',Consolas,monospace;font-size:10px;letter-spacing:.2em;
  color:rgba(46,230,168,.85);text-shadow:0 0 6px rgba(46,230,168,.6)}
@keyframes holo-scroll{
  from{transform:translateY(-50%) rotateX(24deg) skewX(-8deg) translateX(0)}
  to  {transform:translateY(-50%) rotateX(24deg) skewX(-8deg) translateX(-50%)}
}
/* a hologram that glitches every few seconds */
@keyframes holo-flicker{
  0%,100%{opacity:1;filter:none}
  71%{opacity:.55;filter:blur(.6px)}
  72%{opacity:1;filter:none}
  88%{opacity:.8;filter:hue-rotate(40deg)}
  89%{opacity:1;filter:none}
}
@keyframes holo-sweep{from{background-position:0 0,100% 0}to{background-position:0 0,-200% 0}}
:root[data-skin="protocol"] .brand{text-transform:uppercase;font-weight:800;letter-spacing:.02em;font-size:25px}
:root[data-skin="protocol"] .brand i{border-radius:0;width:12px;height:12px;background:var(--ember);box-shadow:3px 3px 0 var(--ink)}
/* a little barcode after the name */
:root[data-skin="protocol"] .brand::after{content:"";width:44px;height:14px;margin-left:6px;opacity:.75;
  background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 3px,var(--ink) 3px 5px,transparent 5px 6px,var(--ink) 6px 7px,transparent 7px 10px)}
/* numbered, bracketed section titles: 01 // [ HOW ARE YOU ARRIVING? ] */
:root[data-skin="protocol"] h2{text-transform:uppercase;font-weight:800;letter-spacing:.02em;font-size:17px;counter-increment:sec}
:root[data-skin="protocol"] h2::before{content:counter(sec, decimal-leading-zero) " // ";font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--ink-3);vertical-align:2px}
:root[data-skin="protocol"] .view{counter-reset:sec}
:root[data-skin="protocol"] .tab{text-transform:uppercase;font-weight:700;letter-spacing:.06em;font-size:13px;border-radius:0}
:root[data-skin="protocol"] .tab[aria-selected="true"]{background:var(--ink);color:var(--bg)}
@media (prefers-color-scheme: dark){ :root[data-skin="protocol"] .tab[aria-selected="true"]{background:#FFE100;color:#121315} }
/* panels: square, with a yellow spine and crop-mark corners */
:root[data-skin="protocol"] :is(.card,.sheet,.sparks,.entry,.tile,details.why,.afterglow,.talk-panel){
  border-radius:0;border-color:var(--line);border-left:4px solid var(--ember);
  background-color:var(--surface);
  background-image:
    linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink)),
    linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));
  background-size:10px 1.5px,1.5px 10px,10px 1.5px,1.5px 10px;
  background-position:right 6px top 6px,right 6px top 6px,right 6px bottom 6px,right 6px bottom 6px;
  background-repeat:no-repeat;
}
:root[data-skin="protocol"] .sheet{border-top:1px solid var(--line);box-shadow:var(--shadow)}
:root[data-skin="protocol"] :is(.mode,.spark,.mood button,.chip,.tool,.skin,.search,.select,.input,.empty){border-radius:0}
:root[data-skin="protocol"] :is(.mode,.spark,.skin)[aria-pressed="true"],:root[data-skin="protocol"] .skin[aria-checked="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink),4px 4px 0 var(--ember);background:var(--surface)}
:root[data-skin="protocol"] .chip[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:#121315}
/* the primary button: hazard yellow, black text, a clipped corner */
:root[data-skin="protocol"] .btn{background:var(--hazard);border-color:var(--hazard);color:#121315;border-radius:0;text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-size:13.5px;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
:root[data-skin="protocol"] .btn:is(.quiet,.danger){background:transparent;border-color:var(--line);clip-path:none;color:var(--ink-2)}
:root[data-skin="protocol"] .btn.danger{color:var(--danger)}
:root[data-skin="protocol"] :is(.field label,.ask .who,.refl-box .who,.entry-head .when){letter-spacing:.14em}
:root[data-skin="protocol"] .prompt-line,:root[data-skin="protocol"] .banner,:root[data-skin="protocol"] .notice{border-radius:0;border-left:4px solid var(--ember)}
:root[data-skin="protocol"] textarea:focus,:root[data-skin="protocol"] input.text:focus{border-bottom:2px solid var(--ember)}
:root[data-skin="protocol"] .thinking::before{border-radius:0;background:var(--ember)}
:root[data-skin="protocol"] .toast{border-radius:0;border-left:4px solid var(--ember)}

/* ---------- CLEAN: crisp and calm. Indigo and coral. ---------- */
:root[data-skin="clean"]{
  --bg:#F4F4F8; --surface:#FFFFFF; --surface-2:#ECECF3; --surface-3:#DCDCE8;
  --ink:#15151D; --ink-2:#4A4A5C; --ink-3:#80808F; --line:#E1E1EA;
  --accent:#5146E5; --accent-ink:#FFFFFF; --accent-soft:#E7E5FD; --accent-wash:rgba(81,70,229,.07); --ember:#FF6B4A;
  --danger:#C23B3B;
  --shadow:0 1px 2px rgba(21,21,29,.04), 0 12px 32px -18px rgba(21,21,29,.22);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root[data-skin="clean"]{
    --bg:#0E0E13; --surface:#16161E; --surface-2:#1F1F2A; --surface-3:#2A2A37;
    --ink:#EDEDF4; --ink-2:#AEAEBF; --ink-3:#7B7B8C; --line:#272734;
    --accent:#8C84FF; --accent-ink:#0E0E13; --accent-soft:#26234A; --accent-wash:rgba(140,132,255,.11); --ember:#FF8A6B;
    --danger:#F08A8A;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 12px 32px -18px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-skin="clean"] :is(.card,.sheet,.sparks,.entry,.tile,details.why,.afterglow,.talk-panel){border-radius:18px;border-color:transparent;box-shadow:var(--shadow)}
:root[data-skin="clean"] .sheet{border-top:0}
:root[data-skin="clean"] :is(.mode,.spark,.mood button,.skin,.search,.select,.input){border-radius:14px}
:root[data-skin="clean"] .btn{border-radius:999px;padding-inline:20px}
:root[data-skin="clean"] .brand i{background:linear-gradient(135deg,var(--accent),var(--ember));width:11px;height:11px;box-shadow:none}

/* ---- the nameplate, in each look's own words ---- */
:root[data-skin="tome"] .np-label{font-variant:small-caps;letter-spacing:.08em;font-size:14px;color:var(--accent)}
:root[data-skin="tome"] .nameplate input{font-size:19px;border-bottom:1px solid var(--line)}
:root[data-skin="tome"] .nameplate input:not(:placeholder-shown):not(:focus){border-bottom-color:transparent}
:root[data-skin="protocol"] .nameplate{align-items:center}
:root[data-skin="protocol"] .np-label{background:var(--hazard);color:#121315;font:800 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:3px 7px;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}
:root[data-skin="protocol"] .nameplate input{font:800 15px var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.08em}
:root[data-skin="neon"] .np-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
:root[data-skin="neon"] .np-label::after{content:" >";color:var(--ember)}
:root[data-skin="neon"] .nameplate input{font:600 15px var(--mono);font-style:normal;color:var(--ember);caret-color:var(--ember);text-shadow:0 0 8px rgba(0,229,255,.5)}
:root[data-skin="clean"] .nameplate input{font:600 16px var(--sans);font-style:normal}

:root[data-skin="protocol"] .mode-card{border-radius:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
:root[data-skin="protocol"] .mode-card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
:root[data-skin="tome"] .mode-card{border-radius:3px}
:root[data-skin="tome"] .mode-card-title{font-variant:small-caps;letter-spacing:.04em;font-size:16px}
:root[data-skin="neon"] .mode-card{border-radius:3px;border-color:var(--accent)}
:root[data-skin="neon"] .mode-card-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
