  :root{
    --honey:#F5B400; --honey-soft:#FFF4D1; --ink:#1F1A14; --ink-2:#5E554A; --line:#EFE4C8;
    --bg:#FFFBF0; --card:#fff; --xhs:#FF2442; --wx:#07C160; --accent:var(--xhs);
  }
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html,body{margin:0;background:var(--bg);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif}
  body{min-height:100vh;padding:0 16px calc(28px + env(safe-area-inset-bottom))}
  .wrap{max-width:480px;margin:0 auto}
  button{font:inherit;cursor:pointer}
  .hide{display:none!important}

  header{padding:24px 4px 16px;display:flex;align-items:center;gap:12px}
  .logo{width:42px;height:42px;flex:none}
  .brand b{display:block;font-size:19px;letter-spacing:.5px}
  .brand span{font-size:12.5px;color:var(--ink-2)}

  /* 选择平台（没带 ?p= 时） */
  .q{font-size:18px;margin:18px 4px 14px}
  .pick{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:18px;padding:22px 20px;
    margin-bottom:12px;font-size:19px;font-weight:700;color:#fff;text-align:left}
  .pick.xhs{background:var(--xhs)} .pick.wx{background:var(--wx)}
  .pick::after{content:"›";margin-left:auto;font-size:26px;font-weight:400}

  .ptitle{font-size:15px;font-weight:700;margin:2px 4px 10px;display:flex;align-items:center;gap:8px}
  .ptitle i{width:10px;height:10px;border-radius:50%;background:var(--accent)}

  .card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
  .text{padding:16px;font-size:15.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word;
    -webkit-user-select:text;user-select:text}
  .text b{font-size:16.5px}
  .imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 16px 16px}
  .imgs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#f3f3f3;display:block}

  .go{display:block;width:100%;margin-top:16px;border:0;border-radius:16px;padding:18px 0;
    font-size:17.5px;font-weight:700;color:#fff;background:var(--accent);letter-spacing:.5px}
  .go:active{transform:scale(.98)}
  .go:disabled{opacity:.6}

  .done{margin-top:12px;display:flex;align-items:center;gap:10px;background:#EAF7EE;border-radius:14px;padding:12px 14px;
    font-size:14.5px;font-weight:600;color:#137333}
  .done button{margin-left:auto;border:0;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:700;
    background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);white-space:nowrap}

  .steps{margin:18px 4px 0;padding:0;list-style:none;font-size:13.5px;color:var(--ink-2);line-height:1.6;counter-reset:s}
  .steps li{counter-increment:s;display:flex;gap:8px;margin-bottom:8px}
  .steps li::before{content:counter(s);flex:none;width:19px;height:19px;line-height:19px;margin-top:1px;
    text-align:center;border-radius:50%;background:var(--honey);color:var(--ink);font-size:11px;font-weight:700}
  .steps b{color:var(--ink)}

  /* 今日口令 */
  .codehint{font-size:13.5px;color:var(--ink-2);margin:0 4px 14px}
  .codein{display:block;width:100%;border:1px solid var(--line);border-radius:16px;padding:16px 0;background:#fff;
    font:inherit;font-size:28px;font-weight:700;letter-spacing:12px;text-align:center;color:var(--ink)}
  .codein:focus{outline:2px solid var(--accent);border-color:transparent}
  .codeerr{min-height:20px;margin-top:10px;text-align:center;font-size:14px;color:#D93025}

  .switch{display:block;text-align:center;margin-top:18px;font-size:13px;color:var(--ink-2);text-decoration:none}
  .empty{text-align:center;padding:60px 0;color:var(--ink-2);line-height:1.9}

  .toast{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%) scale(.92);opacity:0;
    background:rgba(31,26,20,.92);color:#fff;padding:12px 20px;border-radius:12px;font-size:15px;
    pointer-events:none;transition:.2s;z-index:30;max-width:80vw;text-align:center}
  .toast.show{opacity:1;transform:translate(-50%,-50%) scale(1)}

  .mask{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:20}
  .guide-arrow{position:absolute;right:18px;top:6px;width:90px;height:90px}
  .guide-text{position:absolute;right:22px;left:22px;top:104px;color:#fff;font-size:18px;line-height:1.9;text-align:right}
  .guide-text b{color:var(--honey)}
