  :root{
    --paper:#F4F1E8; --ink:#10142B; --slate:#5A6478; --red:#D8412F;
    --rule:rgba(16,20,43,.14);
    --strk:rgba(16,20,43,.055);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html,body{height:100%}
  body{
    font-family:"Noto Serif SC","Source Han Serif SC","STSong","SimSun",serif;
    background:var(--paper); color:var(--ink); overflow:hidden;
  }
  #ink{position:fixed;inset:0;width:100%;height:100%;display:block}
  /* 版式网格：水墨长在排版系统里 */
  .grid{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.32;transition:opacity 1.4s ease;
    background-image:linear-gradient(rgba(16,20,43,.055) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(16,20,43,.055) 1px,transparent 1px);
    background-size:120px 120px;}
  body.be-align .grid{opacity:.62}
  .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;
    background-image:repeating-linear-gradient(0deg,transparent 0 2px,rgba(16,20,43,.012) 2px 3px)}

  /* 知识流：按住时背后穿行的中英文术语（升维感） */
  .stream{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;
    opacity:0;transition:opacity .55s ease}
  body.holding .stream{opacity:1}
  .row{position:absolute;left:0;white-space:nowrap;display:flex;will-change:transform,filter;
    font-weight:400;line-height:1.25}
  .row .t{padding-right:.6em}
  .row.en{font-family:Bahnschrift,"Segoe UI",sans-serif;letter-spacing:.06em}
  .row.cn{font-family:"Noto Serif SC","STSong",serif;letter-spacing:.12em}

  /* 品牌字标：折页符号 + SYLLANOTE（Bahnschrift）+ 枢页 */
  .brand{position:fixed;top:30px;left:40px;z-index:4;display:flex;align-items:flex-end;gap:15px}
  .brand .mk{width:36px;height:51px;display:block}
  .brand .mk path{fill:var(--ink)}
  .brand .mk rect{fill:var(--red)}
  .brand .bw{font-family:Bahnschrift,"Segoe UI",sans-serif;font-weight:700;font-size:21px;
    letter-spacing:.3em;color:var(--ink);line-height:1;padding-bottom:2px}
  .brand .bc{font-family:"Noto Serif SC","STSong",serif;font-size:13px;font-weight:700;
    letter-spacing:.3em;color:var(--slate);line-height:1;padding-bottom:3px}

  main{
    position:relative;z-index:2;height:100%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:6vh 6vw;
  }
  .kicker{
    font-family:Bahnschrift,"Noto Serif SC",serif;
    letter-spacing:.42em;text-indent:.42em;font-size:12px;color:var(--slate);
    text-transform:uppercase;margin-bottom:4.5vh;
  }
  h1{
    font-size:clamp(38px,7vw,96px);line-height:1.18;font-weight:700;
    letter-spacing:.02em;white-space:nowrap;
    transition:letter-spacing 1.2s ease, opacity .6s ease;
  }
  /* 全角标点占满一个字身，行尾会 optical 偏左 —— 负 margin 拉回视觉居中 */
  .pn{margin-right:-1em}
  body.holding h1{letter-spacing:.06em}
  .sub{
    margin-top:3.2vh;color:var(--slate);font-size:clamp(14px,1.4vw,17px);
    letter-spacing:.08em;
  }
  /* ---- 手势门 ---- */
  .gate{margin-top:7vh;position:relative;width:132px;height:132px;
    display:flex;align-items:center;justify-content:center}
  .gate svg{position:absolute;inset:0;transform:rotate(-90deg);pointer-events:none}
  .gate .track{fill:none;stroke:var(--rule);stroke-width:1.5}
  .gate .fill{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;
    stroke-dasharray:377;stroke-dashoffset:377}
  #holdBtn{
    width:96px;height:96px;border-radius:50%;cursor:pointer;
    border:1px solid var(--rule);background:rgba(244,241,232,.72);
    backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
    font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:13px;font-weight:600;
    letter-spacing:.5em;text-indent:.5em;
    color:var(--ink);
    transition:transform .35s cubic-bezier(.2,.9,.2,1), box-shadow .35s;
    user-select:none;-webkit-user-select:none;touch-action:none;
  }
  #holdBtn:hover{box-shadow:0 8px 30px rgba(16,20,43,.12)}
  body.holding #holdBtn{transform:scale(.92)}
  /* 序幕开始：hero 退场 */
  body.seq .gate,body.seq h1,body.seq .sub,body.seq .kicker{
    opacity:0;transition:opacity .6s ease;pointer-events:none}

  /* ---- 序幕章节字幕 ---- */
  .chap{position:fixed;left:0;right:0;bottom:104px;z-index:2;pointer-events:none;
    opacity:0;transition:opacity .5s;height:20px}
  body.seq .chap{opacity:1}
  body.done .chap{opacity:0}
  .chap .c{position:absolute;left:0;right:0;top:0;text-align:center;
    font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:11px;font-weight:600;
    letter-spacing:.45em;text-indent:.45em;color:var(--slate);
    opacity:0;transition:opacity .45s ease}
  body.be-scatter:not(.be-align) .chap .c1{opacity:1}
  body.be-align:not(.be-stack) .chap .c2{opacity:1}
  body.be-stack .chap .c3{opacity:1}

  /* ---- 序幕舞台 ---- */
  .pages{position:fixed;inset:0;z-index:2;pointer-events:none;
    opacity:0;transition:opacity .7s ease}
  body.seq .pages{opacity:1}
  body.done .pages{opacity:0;transition:opacity .55s ease}
  .pg{
    position:absolute;left:50%;top:50%;width:150px;height:198px;
    margin:-99px 0 0 -75px;
    background:linear-gradient(160deg,#FCFAF3,#F4F0E4);
    border:1px solid rgba(16,20,43,.16);border-radius:2px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65),
               0 4px 10px rgba(16,20,43,.10),
               0 24px 52px rgba(16,20,43,.17);
    opacity:0;overflow:hidden;
    transform:translate(calc(var(--sx) + 46px),calc(var(--sy) + 34px)) rotate(calc(var(--sr) + 8deg)) scale(.92);
    transition:transform .95s cubic-bezier(.22,.9,.24,1), opacity .55s ease;
  }
  .pg:nth-child(1){transition-delay:.00s}.pg:nth-child(2){transition-delay:.06s}
  .pg:nth-child(3){transition-delay:.12s}.pg:nth-child(4){transition-delay:.18s}
  .pg:nth-child(5){transition-delay:.24s}.pg:nth-child(6){transition-delay:.30s}
  .pg:nth-child(7){transition-delay:.36s}.pg:nth-child(8){transition-delay:.42s}
  body.be-scatter .pg{opacity:1;
    transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scale(.96)}
  body.be-align .pg{opacity:1;
    transform:translate(var(--ax),var(--ay)) rotate(0deg) scale(1);
    transition:transform .9s cubic-bezier(.3,1.25,.35,1), opacity .55s ease}
  body.be-stack .pg{opacity:1;transform:translate(var(--px,0px),var(--py,0px)) rotate(var(--pr,0deg)) scale(1);
    transition:transform .75s cubic-bezier(.5,0,.15,1), opacity .4s ease}
  /* 纸堆的微小错位 = 手工感 */
  body.be-stack .pg:nth-child(1){--px:0px;--py:0px;--pr:-1.2deg}
  body.be-stack .pg:nth-child(2){--px:3px;--py:-2px;--pr:.9deg}
  body.be-stack .pg:nth-child(3){--px:-2px;--py:2px;--pr:-.6deg}
  body.be-stack .pg:nth-child(4){--px:2px;--py:1px;--pr:1.1deg}
  body.be-stack .pg:nth-child(5){--px:-3px;--py:-1px;--pr:-.9deg}
  body.be-stack .pg:nth-child(6){--px:1px;--py:-2px;--pr:.6deg}
  body.be-stack .pg:nth-child(7){--px:-1px;--py:2px;--pr:-1deg}
  body.be-stack .pg:nth-child(8){--px:2px;--py:0px;--pr:1.3deg}
  /* 页面双面：课件原样(raw) ↔ Syllanote 排版(fmt) */
  .layer{position:absolute;inset:0;transition:opacity .6s ease .35s}
  .pg .fmt{opacity:0}
  body.be-align .pg .raw{opacity:0;transition-delay:0s}
  body.be-align .pg .fmt{opacity:1}
  body.be-stack .pg .fmt{opacity:1;transition-delay:0s}
  /* raw：课件原样，拥挤 */
  .band{background:var(--ink);color:#EFECE1;font-family:Bahnschrift,"Segoe UI",sans-serif;
    font-size:9px;font-weight:600;letter-spacing:.12em;padding:9px 12px 8px}
  .cramp{font-size:8.5px;line-height:1.45;color:rgba(16,20,43,.68);padding:9px 12px 0;text-align:justify}
  .cramp b{font-size:9.5px;color:var(--ink)}
  .cramp .fig{height:40px;margin:8px 0 0;border:1px solid rgba(16,20,43,.2);border-radius:1px;
    background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(16,20,43,.08) 14px 15px),
               linear-gradient(to top,rgba(16,20,43,.13) 0 1px,transparent 1px)}
  /* fmt：Syllanote 排版，留白与层级 */
  .fmt .fhd{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink);
    padding:17px 15px 0;line-height:1.3}
  .fmt .fsub{font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:8px;
    letter-spacing:.18em;color:var(--slate);padding:6px 15px 0}
  .fmt .frule{height:1px;background:var(--rule);margin:11px 15px 0}
  .fmt .ftx{font-size:9.2px;line-height:1.7;color:rgba(16,20,43,.6);padding:9px 15px 0}
  .fmt .ftx b{color:var(--ink);font-weight:700}
  .fmt .fkey{margin:9px 15px 0;padding:6px 9px;border-left:2px solid var(--ink);
    background:rgba(16,20,43,.045);font-size:8.8px;line-height:1.55;color:rgba(16,20,43,.72)}

  /* 合并印章：品牌「折页」符号压印（替代文字枢） */
  .stamp{position:absolute;left:50%;top:50%;opacity:0;transition:opacity .4s ease;pointer-events:none}
  body.be-stack .stamp{opacity:1}
  .seal{position:absolute;left:30px;top:12px;width:92px;height:92px;
    background:linear-gradient(150deg,#DE4A31,#C4321E);border-radius:10px;transform:rotate(-5deg);
    box-shadow:0 10px 30px rgba(216,65,47,.40), 0 3px 8px rgba(150,30,15,.3);}
  .seal svg{position:absolute;left:50%;top:50%;width:56px;height:62px;
    transform:translate(-50%,-52%)}
  .seal svg path{fill:#F7F3E8}
  .seal::before{content:"";position:absolute;inset:5px;border:1.5px solid rgba(247,243,232,.72);border-radius:7px}
  .seal::after{content:"";position:absolute;inset:0;border-radius:10px;
    background:radial-gradient(85% 85% at 28% 22%,rgba(247,243,232,.16),transparent 48%),
               radial-gradient(65% 65% at 78% 82%,rgba(110,10,0,.28),transparent 58%)}
  body.be-stack .seal{animation:press .55s cubic-bezier(.2,1.5,.3,1) .3s both}
  @keyframes press{
    0%{opacity:0;transform:rotate(-5deg) scale(1.7)}
    55%{opacity:1;transform:rotate(-5deg) scale(.94)}
    100%{opacity:1;transform:rotate(-5deg) scale(1)}
  }
  .stamp .txt{position:absolute;top:138px;left:0;transform:translateX(-50%);
    white-space:nowrap;text-align:center}
  .stamp .txt h3{font-size:clamp(18px,2vw,24px);letter-spacing:.12em;margin-bottom:9px}
  .stamp .txt p{font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:10px;font-weight:600;
    color:var(--slate);letter-spacing:.34em;text-indent:.34em;text-transform:uppercase}
  /* 合并涟漪 */
  .ripple{position:fixed;left:50%;top:50%;width:130px;height:130px;margin:-65px 0 0 -65px;
    border:1px solid rgba(16,20,43,.32);border-radius:50%;opacity:0;pointer-events:none;z-index:2}
  body.be-stack .ripple{animation:rip 1.6s cubic-bezier(.2,.6,.35,1) .75s forwards}
  @keyframes rip{0%{opacity:.45;transform:scale(1)}100%{opacity:0;transform:scale(7.5)}}

  /* ---- 终幕：登录面板 ---- */
  /* 1014 注册屏横向大卡片：资料屏 panel 加宽成左右两栏（藏书票预览 + 两列表单） */
  .panel.wide{width:min(900px,94vw);padding:34px 38px 32px}
  .panel.wide .reg-wide{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start;margin-top:12px}
  @media (max-width:760px){.panel.wide .reg-wide{grid-template-columns:1fr}.panel.wide{width:min(460px,92vw)}}
  .panel .exmini{align-self:center;background:#F7F3E8;color:#10142B;border:1px solid rgba(16,20,43,.22);
    outline:3px double rgba(16,20,43,.32);outline-offset:4px;padding:14px 18px 18px}
  body.darkmode .panel .exmini{background:#F7F3E8}
  .panel .exmini .xm-brand{font-size:8.5px;letter-spacing:.26em;text-align:center;color:rgba(16,20,43,.5)}
  .panel .exmini .xm-name{font-family:Georgia,"Songti SC",serif;font-size:21px;font-weight:600;
    text-align:center;margin:16px 0 10px;min-height:28px;line-height:1.3;word-break:break-word}
  .panel .exmini .xm-name.empty{color:rgba(16,20,43,.28);font-style:italic;font-size:15px}
  .panel .exmini .xm-rule{width:44px;height:2px;background:#D8412F;margin:0 auto 10px}
  .panel .exmini .xm-motto{font-family:Georgia,"Songti SC",serif;font-style:italic;font-size:12px;
    line-height:1.65;text-align:center;color:rgba(16,20,43,.8);min-height:38px;word-break:break-word}
  .panel .exmini .xm-motto.empty{color:rgba(16,20,43,.3)}
  .panel .exmini .xm-foot{margin-top:14px;font-size:8px;letter-spacing:.22em;text-align:center;color:rgba(16,20,43,.42)}
  .panel.wide .reg-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  .panel.wide .reg-fields .full{grid-column:1 / -1}
  .panel.wide .reg-fields label{margin:10px 0 4px}
  .panel.wide .reg-nick-row{display:flex;gap:8px;align-items:center}
  .panel.wide .reg-nick-row .reg-nick-input{flex:1}
  .panel.wide .reg-nick-dice{flex:0 0 auto;width:38px;height:38px;border:1px solid var(--rule);
    background:transparent;font-size:15px;cursor:pointer;border-radius:6px}
  .panel.wide #schoolResults{max-height:180px;overflow:auto}
  .stage2{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;transition:opacity .7s ease .3s}
  body.done .stage2{opacity:1;pointer-events:auto}
  .panel{
    width:min(400px,88vw);padding:38px 40px 36px;
    border:1px solid var(--rule);background:rgba(244,241,232,.88);
    backdrop-filter:blur(10px);
    transform:translateY(16px) scale(.985);transition:transform .7s cubic-bezier(.2,.9,.2,1) .3s;
  }
  body.done .panel{transform:translateY(0) scale(1)}
  /* IP 墨点：欢迎回来 */
  .blob{width:86px;height:auto;margin:0 auto 2px;display:block;animation:bob 3.6s ease-in-out infinite;
    will-change:transform;transform:translateZ(0);backface-visibility:hidden}
  .blob-dark{display:none}
  body.darkmode .blob{display:none}
  body.darkmode .blob-dark{display:block;animation:bob 3.6s ease-in-out infinite;
    will-change:transform;transform:translateZ(0);backface-visibility:hidden}
      
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  .panel h2{font-size:24px;letter-spacing:.12em;text-indent:.12em;margin-bottom:6px}
  .panel .pp{font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:10.5px;font-weight:600;
    color:var(--slate);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;margin-bottom:24px}
  .panel label{display:block;font-size:11px;letter-spacing:.25em;color:var(--slate);margin:16px 0 6px}
  .panel input{
    width:100%;border:none;border-bottom:1px solid var(--rule);background:transparent;
    padding:8px 2px;font-family:inherit;font-size:15px;color:var(--ink);outline:none;
    transition:border-color .25s;
  }
  .panel input:focus{border-color:var(--ink)}
  .panel button[type=submit]{
    margin-top:30px;width:100%;padding:14px;border:none;cursor:pointer;
    background:var(--ink);color:var(--paper);font-family:inherit;font-size:14px;
    letter-spacing:.4em;text-indent:.4em;transition:background .25s;
  }
  .panel button[type=submit]:hover{background:#232a4d}
  .panel .err{color:#D8412F;font-size:12px;margin:8px 0 0;letter-spacing:.03em}
  .panel .privacy{color:var(--slate);font-size:11px;margin:10px 0 0;letter-spacing:.04em;text-align:center}
  .panel.shake{animation:pshake .4s}
  @keyframes pshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
  body.darkmode .panel .err{color:#FF8A73}
  .alt{margin-top:18px;font-size:11.5px;color:var(--slate);letter-spacing:.12em;text-align:center}
  .alt b{color:var(--red);font-weight:600}
  .skip{position:fixed;right:26px;bottom:22px;z-index:4;font-size:11px;color:var(--slate);
    letter-spacing:.28em;text-indent:.28em;opacity:0;pointer-events:none;transition:opacity .5s}
  .tgl{position:fixed;left:26px;bottom:22px;z-index:9;border:1px solid var(--rule);background:transparent;
    color:var(--slate);font-family:Bahnschrift,"Segoe UI",sans-serif;font-size:11px;letter-spacing:.25em;
    text-indent:.25em;padding:8px 14px;cursor:pointer;transition:color .25s,border-color .25s}
  .tgl:hover{color:var(--ink);border-color:var(--ink)}
  body.seq:not(.done) .skip{opacity:.75}
  footer{position:fixed;bottom:22px;left:0;right:0;z-index:2;text-align:center;
    font-size:11px;color:var(--slate);letter-spacing:.3em;text-indent:.3em;
    transition:opacity .5s}
  footer .p2{display:none}
  body.done footer .p1{display:none}
  body.done footer .p2{display:inline}
  /* 无 WebGL 降级 */
  body.no-webgl #ink{display:none}
  body.no-webgl{background:
    radial-gradient(120% 90% at 20% 10%,rgba(16,20,43,.08),transparent 55%),
    radial-gradient(100% 80% at 85% 80%,rgba(90,100,120,.12),transparent 60%),
    var(--paper)}
  /* 暗色 */
  body.darkmode{--paper:#10142B;--ink:#EDEADF;--slate:#9AA1B5;--rule:rgba(237,234,223,.20);
    --strk:rgba(237,234,223,.09);background:#10142B}
  body.darkmode .grid{background-image:linear-gradient(rgba(237,234,223,.05) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(237,234,223,.05) 1px,transparent 1px)}
  body.darkmode #holdBtn{background:rgba(22,26,48,.55);color:var(--ink)}
  body.darkmode .pg{background:linear-gradient(160deg,#1B2040,#141834);border-color:rgba(237,234,223,.14);
    box-shadow:0 14px 38px rgba(0,0,0,.45)}
  body.darkmode .band{background:rgba(237,234,223,.1);color:var(--ink)}
  body.darkmode .cramp{color:rgba(237,234,223,.6)}
  body.darkmode .cramp b{color:var(--ink)}
  body.darkmode .cramp .fig{border-color:rgba(237,234,223,.18);background:
    repeating-linear-gradient(90deg,transparent 0 14px,rgba(237,234,223,.07) 14px 15px),
    linear-gradient(to top,rgba(237,234,223,.12) 0 1px,transparent 1px)}
  body.darkmode .fmt .fhd,body.darkmode .fmt .ftx b{color:var(--ink)}
  body.darkmode .fmt .ftx{color:rgba(237,234,223,.58)}
  body.darkmode .fmt .frule{background:var(--rule)}
  body.darkmode .fmt .fkey{border-left-color:var(--ink);background:rgba(237,234,223,.06);color:rgba(237,234,223,.7)}
  body.darkmode .panel{background:rgba(22,26,48,.85)}
  body.darkmode .panel button[type=submit]{background:#EDEADF;color:#10142B}
  body.darkmode .panel button[type=submit]:hover{background:#fff}
  body.holding h1{text-shadow:0 0 22px rgba(244,241,232,.95),0 0 55px rgba(244,241,232,.75)}
  body.darkmode.holding h1{text-shadow:0 0 22px rgba(16,20,43,.95),0 0 55px rgba(16,20,43,.8)}
  body.darkmode .ripple{border-color:rgba(237,234,223,.3)}
  .instant *{transition:none !important;animation-duration:.01s !important;animation-delay:0s !important}
  @media (prefers-reduced-motion:reduce){ #holdBtn{transition:none} }

/* ---------- 平台认证三屏增量（panel 内手机号 → 验证码 → 选学校） ---------- */
/* ---------- 选校搜索（Ian 1003：搜索式 combobox + 未找到→申请） ---------- */
.panel input#schoolSearch,.panel input#regNick,.panel input#majorInput,
.panel input#applyName,.panel input#applyContact{
  width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;color:var(--ink);
  background:var(--paper);border:1px solid rgba(16,20,43,.38);border-radius:0;margin:0;
}
.panel input:focus{border-color:var(--ink)}
.school-results{border:1px solid var(--ink);background:var(--paper);max-height:200px;overflow:auto;margin-top:6px}
.school-result{padding:9px 12px;font-size:13.5px;cursor:pointer;color:var(--ink)}
.school-result:hover{background:var(--ink);color:var(--paper)}
.school-none{padding:9px 12px;font-size:12.5px;color:var(--slate)}
.school-none a{cursor:pointer;text-decoration:underline;color:var(--ink)}
.school-picked{margin-top:6px;font-size:13px;font-weight:600;color:var(--ink)}
.opt-hint{font-weight:400;font-size:11px;color:var(--slate);letter-spacing:.02em}
.ghost-line{background:none;border:none;border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;font:inherit;font-size:13px;padding:2px 0}
.panel .hint{font-size:12px;color:var(--slate);margin:6px 0 0}
/* 注册屏昵称行（Ian 1003：内联样式收编，与主站 .dice-btn 同款语言） */
.reg-nick-row{display:flex;gap:8px}
.reg-nick-input{flex:1;min-width:0}
.reg-nick-dice{padding:10px 12px;border:1px solid var(--ink);background:var(--paper);cursor:pointer;font-size:16px;line-height:1}
.reg-nick-dice:hover{background:var(--paper2,#ECE8DB)}

.panel .step[hidden]{display:none}
.panel select{
  width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;color:var(--ink);
  background:var(--paper);border:1px solid rgba(16,20,43,.38);border-radius:0;
}
.panel select:focus{border-color:var(--ink)}
.panel .devhint{
  font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--ink);
  background:var(--paper2,#ECE8DB);padding:6px 10px;margin:10px 0 0;
}
.panel .alt{color:var(--slate);font-size:11px;margin:10px 0 0;text-align:center}
.panel .alt a{color:var(--ink);cursor:pointer;text-underline-offset:3px}
.panel .alt a[data-dead]{opacity:.5;cursor:not-allowed}
