/* ===== holographic-iris · 全息虹彩 ===== */
:root{
  --bg:#eef0f6; --card:rgba(255,255,255,.7); --card2:rgba(255,255,255,.85);
  --edge:rgba(150,140,200,.3); --edge2:rgba(150,140,200,.5);
  --ink:#2a2740; --sub:#6a6585; --dim:#a39ec0;
  --rainbow:linear-gradient(110deg,#90e0ff,#c79bff 30%,#ffb3e6 55%,#bfe9b5 78%,#90e0ff);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,"SF Mono",Consolas,monospace;
  --maxw:920px; --r:20px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#15131f; --card:rgba(40,36,60,.6); --card2:rgba(52,46,78,.7);
    --edge:rgba(180,160,255,.26); --edge2:rgba(180,160,255,.42);
    --ink:#f0ecff; --sub:#b7afd6; --dim:#7a719c;
    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.62;min-height:100vh;position:relative;overflow-x:hidden;
  padding:0 clamp(16px,4vw,30px) calc(44px + env(safe-area-inset-bottom));}
a{color:inherit;text-decoration:none;}
::selection{background:#c79bff;color:#fff;}
kbd{font-family:var(--mono);font-size:11.5px;background:var(--card2);border:1px solid var(--edge2);border-radius:6px;padding:2px 7px;color:var(--ink);}

@keyframes shift{to{background-position:200% center;}}
.foil-text{background:var(--rainbow);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shift 6s linear infinite;}

.iris{position:fixed;inset:0;z-index:-1;opacity:.6;
  background:conic-gradient(from 0deg at 30% 20%,#90e0ff,#c79bff,#ffb3e6,#bfe9b5,#ffe39b,#90e0ff);
  filter:blur(80px) saturate(1.2);animation:swirl 22s linear infinite;}
@keyframes swirl{to{transform:rotate(360deg) scale(1.2);}}

.wrap{max-width:var(--maxw);margin:0 auto;padding-top:calc(18px + env(safe-area-inset-top));}

/* glass */
.glass,.ann,.head,.prism-inner,.hcard,.note,.way,.foot{backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);}

/* announcement */
.ann{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--edge);border-radius:999px;padding:10px 18px;}
.ann-gem{width:12px;height:12px;border-radius:3px;background:var(--rainbow);background-size:200%;animation:shift 5s linear infinite;flex:none;transform:rotate(45deg);}
.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;}

/* header */
.head{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--card);border:1px solid var(--edge);border-radius:18px;padding:13px 18px;margin-top:14px;}
.brand{display:flex;align-items:center;gap:11px;font-size:clamp(18px,4vw,22px);font-weight:800;}
.brand-foil{width:18px;height:18px;border-radius:6px;background:var(--rainbow);background-size:200%;animation:shift 5s linear infinite;flex:none;}
.shimmer-btn{width:40px;height:40px;border-radius:12px;cursor:pointer;background:var(--card2);border:1px solid var(--edge2);color:var(--ink);display:grid;place-items:center;transition:.22s;}
.shimmer-btn svg{width:18px;height:18px;}
.shimmer-btn:hover{transform:rotate(-15deg);}

/* main */
section{margin-top:clamp(24px,5vw,40px);}

.hero{text-align:center;padding-top:clamp(16px,4vw,30px);}
.kick{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--sub);margin-bottom:16px;}
.hero h1{font-size:clamp(40px,12vw,92px);font-weight:800;line-height:1;letter-spacing:-.03em;word-break:break-word;}
.hero-p{max-width:560px;margin:18px auto 0;color:var(--sub);font-size:clamp(14.5px,2.6vw,17px);}

/* prism / main domain */
.prism{padding:2px;border-radius:calc(var(--r) + 8px);background:var(--rainbow);background-size:200%;animation:shift 8s linear infinite;}
.prism-inner{background:var(--card2);border-radius:calc(var(--r) + 6px);padding:clamp(24px,5vw,38px);}
.prism-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;}
.prism-key{font-size:11.5px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase;}
.prism-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#a06fe0;}
.prism-live i{width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,#90e0ff,#ffb3e6);animation:bb 2.4s infinite;}
@keyframes bb{50%{opacity:.4;}}
.prism-domain{font-size:clamp(24px,7vw,50px);font-weight:800;letter-spacing:-.02em;margin:16px 0 24px;word-break:break-all;}
.prism-act{display:flex;flex-wrap:wrap;gap:12px;}
.gem-btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--sans);font-size:14.5px;font-weight:700;padding:13px 26px;border:none;border-radius:14px;transition:.2s;}
.gem-go{background:var(--ink);color:var(--bg);}
.gem-go:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(150,120,220,.6);}
.gem-cp{background:transparent;color:var(--ink);border:1px solid var(--edge2);}
.gem-cp:hover{background:var(--card);}
.prism-save{display:inline-block;margin-top:22px;font-size:13px;color:var(--sub);cursor:pointer;}
.prism-save:hover{color:#a06fe0;}

/* blocks */
.block-h{display:flex;align-items:center;gap:13px;font-size:clamp(19px,4.5vw,27px);font-weight:800;margin-bottom:20px;padding-left:4px;}
.block-no{font-family:var(--mono);font-size:13px;color:#fff;background:linear-gradient(135deg,#c79bff,#90e0ff);border-radius:8px;padding:3px 9px;}

/* cards / backups */
.cards{display:grid;gap:12px;}
.hcard{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--edge);border-radius:15px;padding:14px 18px;transition:.22s;}
.hcard:hover{transform:translateX(4px);border-color:var(--edge2);}
.hc-n{font-family:var(--mono);font-size:13px;color:#a06fe0;}
.hc-h{flex:1;font-size:clamp(13.5px,3.2vw,16px);word-break:break-all;}
.hc-ok{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sub);}
.hc-ok i{width:6px;height:6px;border-radius:999px;background:linear-gradient(135deg,#90e0ff,#bfe9b5);}
.hc-cp{background:var(--card2);border:1px solid var(--edge2);color:var(--ink);font-size:12px;padding:6px 14px;border-radius:999px;cursor:pointer;transition:.2s;}
.hc-cp:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* notes / notice */
.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.note{background:var(--card);border:1px solid var(--edge);border-radius:17px;padding:22px;transition:.22s;}
.note:hover{transform:translateY(-3px);border-color:var(--edge2);}
.note-n{font-family:var(--mono);font-size:13px;color:#a06fe0;display:block;margin-bottom:10px;}
.note b{font-size:16px;display:block;margin-bottom:7px;}
.note p{color:var(--sub);font-size:13.5px;}
.note-pin{display:flex;align-items:flex-start;gap:10px;margin-top:14px;background:var(--card2);border:1px solid var(--edge2);border-radius:15px;padding:15px 18px;color:var(--sub);font-size:13.5px;}
.note-pin strong{color:#a06fe0;}

/* ways / contact */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.way{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--edge);border-radius:17px;padding:22px;cursor:pointer;transition:.22s;}
.way:hover{transform:translateY(-3px);border-color:var(--edge2);}
.way-ic{width:42px;height:42px;border-radius:13px;background:var(--card2);border:1px solid var(--edge2);display:grid;place-items:center;color:#a06fe0;margin-bottom:8px;}
.way-ic svg{width:20px;height:20px;}
.way-k{font-size:12px;color:var(--dim);}
.way-v{font-size:15px;font-weight:600;word-break:break-all;}

/* footer */
.foot{margin-top:clamp(36px,7vw,60px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;background:var(--card);border:1px solid var(--edge);border-radius:var(--r);padding:22px 24px;}
.foot-id{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:14px;}
.foot nav{display:flex;flex-wrap:wrap;gap:16px;}
.foot nav a{color:var(--sub);font-size:13px;transition:.2s;}
.foot nav a:hover{color:#a06fe0;}
.foot small{color:var(--dim);font-size:12.5px;width:100%;}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,16px);z-index:60;opacity:0;pointer-events:none;display:inline-flex;align-items:center;gap:9px;
  background:var(--card2);border:1px solid var(--edge2);border-radius:999px;padding:12px 22px;font-size:14px;color:var(--ink);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px -20px rgba(150,120,220,.5);transition:.3s cubic-bezier(.2,.8,.2,1);}
.toast span[aria-hidden]{color:#a06fe0;}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto;}

/* reveal */
.rise{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1);}
.rise.on{opacity:1;transform:none;}

@media (max-width:760px){.notes,.ways{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .rise{opacity:1;transform:none;}.foil-text{animation:none!important;}.iris{animation:none!important;}
}
