/* ===== minimal-line · 线框极简 ===== */
:root{
  --bg:#fcfcfb; --ink:#1c1c1a; --sub:#5a5a55; --dim:#a0a09a; --line:rgba(0,0,0,.13); --acc:#1c1c1a;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,"SF Mono",Consolas,monospace; --maxw:780px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{--bg:#0f0f0e;--ink:#ededea;--sub:#a8a8a2;--dim:#666660;--line:rgba(255,255,255,.14);--acc:#ededea;color-scheme:dark;}}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.75;min-height:100vh;font-weight:300;}
a{color:inherit;text-decoration:none;}::selection{background:var(--ink);color:var(--bg);}
kbd{font-family:var(--mono);font-size:11.5px;border:1px solid var(--line);padding:1px 6px;color:var(--ink);}
.shell{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,40px) calc(48px + env(safe-area-inset-bottom));}
.rule{border:none;height:1px;background:var(--line);margin:0;}
.ann{display:flex;align-items:center;gap:14px;padding:calc(16px + env(safe-area-inset-top)) 0 14px;border-bottom:1px solid var(--line);}
.ann-dot{width:7px;height:7px;border-radius:999px;background:var(--ink);flex:none;}
.ann p{flex:1;font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ann-clk{font-family:var(--mono);font-size:12.5px;color:var(--dim);flex:none;}
.head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:28px 0;}
.brand{font-size:clamp(18px,4vw,22px);font-weight:500;letter-spacing:.02em;}
.mode{font-size:12.5px;letter-spacing:.1em;background:transparent;border:1px solid var(--line);color:var(--ink);padding:7px 16px;cursor:pointer;transition:.2s;}
.mode:hover{background:var(--ink);color:var(--bg);}
section{padding:clamp(40px,7vw,72px) 0;}
.hero{}
.kick{font-size:12px;letter-spacing:.22em;color:var(--dim);text-transform:uppercase;margin-bottom:22px;}
.hero h1{font-size:clamp(40px,11vw,80px);font-weight:300;line-height:1.04;letter-spacing:-.02em;word-break:break-word;}
.hero-p{max-width:54ch;margin-top:26px;color:var(--sub);font-size:clamp(15px,2.6vw,17px);}
.primary{}
.p-meta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:11.5px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase;}
.p-live{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--sub);}
.p-live i{width:6px;height:6px;border-radius:999px;background:var(--ink);}
.p-domain{font-size:clamp(26px,7vw,52px);font-weight:300;letter-spacing:-.02em;margin:22px 0 26px;word-break:break-all;}
.p-act{display:flex;flex-wrap:wrap;align-items:center;gap:24px;}
.link{font-size:14px;cursor:pointer;background:transparent;border:none;color:var(--ink);padding:0;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:.2s;}
.link-go{font-weight:500;}
.link:hover{opacity:.55;}
.p-save{font-family:var(--mono);font-size:12px;color:var(--sub);cursor:pointer;}.p-save:hover{color:var(--ink);}
.sect-h{font-size:clamp(18px,4vw,24px);font-weight:400;margin-bottom:30px;display:flex;align-items:baseline;gap:16px;}
.no{font-family:var(--mono);font-size:13px;color:var(--dim);}
.rows{display:grid;}
.row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);transition:.2s;}
.row:first-child{border-top:1px solid var(--line);}
.row:hover{padding-left:8px;}
.row-n{font-family:var(--mono);font-size:13px;color:var(--dim);}
.row-h{flex:1;font-size:clamp(14px,3.4vw,16.5px);word-break:break-all;}
.row-ok{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--sub);}
.row-ok i{width:6px;height:6px;border-radius:999px;background:var(--ink);}
.row-cp{font-size:12px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:6px 14px;cursor:pointer;transition:.2s;}
.row-cp:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.notes{list-style:none;counter-reset:n;display:grid;gap:22px;}
.notes li{position:relative;padding-left:38px;counter-increment:n;}
.notes li::before{content:"0"counter(n);position:absolute;left:0;top:1px;font-family:var(--mono);font-size:12px;color:var(--dim);}
.notes b{display:block;font-weight:500;margin-bottom:4px;}
.notes span{color:var(--sub);font-size:14.5px;}
.quiet{margin-top:26px;font-size:13px;color:var(--sub);}
.quiet strong{color:var(--ink);font-weight:500;}
.touch{display:grid;border-top:1px solid var(--line);}
.trow{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s;}
.trow:hover{padding-left:8px;}
.tr-k{width:120px;flex:none;font-size:12px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase;}
.tr-v{flex:1;font-size:clamp(15px,3.4vw,18px);word-break:break-all;}
.tr-a{font-family:var(--mono);font-size:12px;color:var(--sub);opacity:0;transition:.2s;}.trow:hover .tr-a{opacity:1;}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:28px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
.foot-id{font-size:15px;font-weight:500;}
.foot nav{display:flex;flex-wrap:wrap;gap:18px;}
.foot nav a{color:var(--sub);font-size:12.5px;transition:.2s;}.foot nav a:hover{color:var(--ink);}
.foot small{font-family:var(--mono);color:var(--dim);font-size:12px;width:100%;}
.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,16px);z-index:50;opacity:0;pointer-events:none;font-size:13.5px;background:var(--ink);color:var(--bg);padding:13px 24px;transition:.28s cubic-bezier(.2,.8,.2,1);}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal.on{opacity:1;transform:none;}
@media (max-width:620px){.tr-k{width:92px;}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.reveal{opacity:1;transform:none;}}
