:root {
  --bg: #070a12;
  --panel: rgba(18, 23, 38, 0.68);
  --panel-2: rgba(13, 17, 29, 0.88);
  --line: rgba(255,255,255,0.09);
  --text: #f4f7ff;
  --muted: #99a4bc;
  --accent: #7c5cff;
  --accent-2: #1bc7ff;
  --accent-3: #45f0b3;
  --shadow: 0 28px 70px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Noto Sans KR", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% 20%, rgba(124,92,255,.12), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(27,199,255,.09), transparent 26%),
    var(--bg);
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 120px 0; position: relative; }

.bg-orb { position: fixed; border-radius: 999px; filter: blur(80px); opacity: .18; pointer-events: none; z-index: -2; }
.orb-1 { width: 340px; height: 340px; background: #6b4cff; left: -120px; top: 22%; }
.orb-2 { width: 420px; height: 420px; background: #00a6ff; right: -170px; top: 52%; }
.noise { position: fixed; inset: 0; opacity: .025; pointer-events: none; z-index: -1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"); }

.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  backdrop-filter: blur(16px);
  background: rgba(7,10,18,.68);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-wrap { height: 72px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .04em; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 0 35px rgba(124,92,255,.35); }
.brand-dot { color: var(--accent-2); }
.nav { display: flex; gap: 28px; }
.nav a { font-size: 13px; color: #b6bfd0; letter-spacing: .08em; transition: .2s ease; }
.nav a:hover { color: white; }
.menu-toggle { display: none; border: 0; background: transparent; color: white; font-size: 24px; cursor: pointer; }

.hero { padding-top: 170px; min-height: 100vh; display: flex; align-items: center; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; }
.eyebrow, .section-kicker { color: #a9b4cc; font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.eyebrow span { width: 34px; height: 1px; background: linear-gradient(90deg, var(--accent-2), var(--accent)); }
.hero h1 { font-size: clamp(46px, 6vw, 86px); line-height: .98; margin: 0; letter-spacing: -.055em; font-weight: 800; }
.gradient-text { background: linear-gradient(90deg, #a58bff, #4ddcff 65%, #64f1c0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-desc { max-width: 690px; margin: 28px 0 0; color: var(--muted); line-height: 1.85; font-size: 16px; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 14px; border: 1px solid var(--line); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--accent), #4d8bff); color: white; box-shadow: 0 14px 40px rgba(93,91,255,.28); border-color: transparent; }
.btn-ghost { background: rgba(255,255,255,.035); color: white; }
.hero-meta { display: flex; gap: 36px; margin-top: 48px; flex-wrap: wrap; }
.hero-meta div { display: flex; flex-direction: column; gap: 7px; }
.hero-meta strong { font-size: 12px; letter-spacing: .14em; }
.hero-meta span { color: var(--muted); font-size: 12px; }

.hero-card { background: linear-gradient(180deg, rgba(20,26,42,.88), rgba(10,14,24,.88)); border: 1px solid rgba(255,255,255,.09); border-radius: 26px; box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.04); overflow: hidden; transform: rotate(1deg); }
.terminal-top { height: 50px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 7px; padding: 0 18px; color: #7c879f; }
.terminal-top span { width: 9px; height: 9px; border-radius: 50%; background: #5b6578; }
.terminal-top em { margin-left: auto; font-style: normal; font-size: 11px; }
.terminal-body { padding: 34px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: #c5cfdf; font-size: 13px; line-height: 1.9; }
.avatar-ring { width: 110px; height: 110px; border-radius: 50%; padding: 3px; margin-bottom: 28px; background: linear-gradient(135deg, var(--accent), var(--accent-2), var(--accent-3)); box-shadow: 0 0 60px rgba(81,120,255,.2); }
.avatar-core { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; background: #0d1220; font-size: 44px; font-weight: 800; font-family: Inter, sans-serif; }
.code-key { color: #68d6ff; }
.code-value { color: #b89cff; }
.online { color: #5af2b7; }
.terminal-line { margin-top: 28px; color: #8f9ab0; border-top: 1px solid var(--line); padding-top: 20px; }

.section-head { display: flex; gap: 26px; align-items: flex-start; margin-bottom: 50px; }
.section-index { font-size: 13px; color: #69748a; padding-top: 7px; }
.section-head h2, .contact-card h2 { margin: 8px 0 0; font-size: clamp(34px, 4vw, 58px); line-height: 1.1; letter-spacing: -.04em; }

.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.glass-card, .stats-grid, .skills-wrap, .contact-card { background: var(--panel); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); backdrop-filter: blur(14px); }
.about-main { padding: 34px; }
.about-main p { color: #adb7ca; line-height: 1.9; margin: 0 0 18px; }
.about-main strong { color: white; }
.stats-grid { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; }
.stat-card { padding: 28px; min-height: 160px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.stat-card:nth-child(2n) { border-right: none; }
.stat-card:nth-last-child(-n+2) { border-bottom: none; }
.stat-card span { color: #67738a; font-size: 11px; }
.stat-card strong { display: block; margin: 14px 0 10px; font-size: 14px; }
.stat-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.project-card { border: 1px solid var(--line); background: rgba(12,16,28,.78); border-radius: 24px; overflow: hidden; transition: transform .25s ease, border-color .25s ease; }
.project-card:hover { transform: translateY(-5px); border-color: rgba(125,105,255,.4); }
.project-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.05fr .95fr; }
.project-visual { min-height: 310px; padding: 28px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; }
.project-visual::before, .project-visual::after { content: ""; position: absolute; border-radius: 50%; filter: blur(10px); opacity: .45; }
.project-visual::before { width: 210px; height: 210px; right: -40px; top: -30px; }
.project-visual::after { width: 120px; height: 120px; left: 35px; bottom: 25px; }
.medical { background: linear-gradient(135deg, #112b3f, #12172d); }
.medical::before { background: #24d6ff; }.medical::after { background: #59ffc0; }
.discord { background: linear-gradient(135deg, #201641, #101728); }.discord::before { background: #8b5dff; }.discord::after { background: #4f7dff; }
.game { background: linear-gradient(135deg, #1c2537, #0f141f); }.game::before { background: #50ffb7; }.game::after { background: #34a9ff; }
.final-op { background: linear-gradient(135deg, #3b171e, #16131d); }.final-op::before { background: #ff5b79; }.final-op::after { background: #8f5cff; }
.visual-label { position: relative; z-index: 1; font-size: 11px; letter-spacing: .14em; color: rgba(255,255,255,.66); }
.visual-icon { position: relative; z-index: 1; font-size: 58px; font-weight: 200; }
.visual-title { position: relative; z-index: 1; font-size: clamp(30px, 4vw, 50px); font-weight: 800; line-height: .95; letter-spacing: -.04em; }
.project-content { padding: 30px; display: flex; flex-direction: column; justify-content: center; }
.project-topline { display: flex; justify-content: space-between; color: #738097; font-size: 10px; letter-spacing: .12em; }
.project-content h3 { font-size: 25px; margin: 18px 0 12px; }
.project-content p { color: var(--muted); line-height: 1.75; margin: 0; }
.tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.tags span, .skill-list span { font-size: 11px; color: #c3cbe0; padding: 8px 11px; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.035); }

.skills-wrap { padding: 34px; display: grid; gap: 28px; }
.skill-group { display: grid; grid-template-columns: 180px 1fr; gap: 20px; align-items: start; }
.skill-group h3 { margin: 6px 0 0; font-size: 14px; }
.skill-list { display: flex; gap: 10px; flex-wrap: wrap; }

.contact-section { padding-bottom: 100px; }
.contact-card { padding: 44px; display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.contact-card p { color: var(--muted); line-height: 1.7; }
.contact-actions { min-width: 270px; display: flex; flex-direction: column; gap: 10px; }
.contact-actions small { color: #6e7990; line-height: 1.5; }

footer { border-top: 1px solid var(--line); }
.footer-wrap { min-height: 90px; display: flex; align-items: center; justify-content: space-between; color: #6f7b90; font-size: 12px; }
.footer-wrap a:hover { color: white; }

.reveal { opacity: 0; transform: translateY(24px); transition: .75s cubic-bezier(.2,.75,.25,1); }
.reveal.show { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: .12s; }

@media (max-width: 900px) {
  .hero-grid, .about-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 140px; min-height: auto; }
  .hero-card { transform: none; }
  .project-card.featured { display: block; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card.featured { grid-column: auto; }
  .skill-group { grid-template-columns: 1fr; }
  .contact-card { flex-direction: column; align-items: flex-start; }
  .contact-actions { width: 100%; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1180px); }
  .section { padding: 90px 0; }
  .menu-toggle { display: block; }
  .nav { display: none; position: absolute; top: 72px; left: 14px; right: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: rgba(10,14,24,.98); flex-direction: column; gap: 4px; }
  .nav.open { display: flex; }
  .nav a { padding: 12px; }
  .hero h1 { font-size: 48px; }
  .hero-meta { gap: 22px; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-card, .stat-card:nth-child(2n), .stat-card:nth-last-child(-n+2) { border-right: none; border-bottom: 1px solid var(--line); }
  .stat-card:last-child { border-bottom: none; }
  .project-visual { min-height: 250px; }
  .contact-card { padding: 28px; }
  .footer-wrap { flex-direction: column; justify-content: center; gap: 10px; }
}


.contact-meta {
  margin-top: 18px;
  display: grid;
  gap: 7px;
}

.contact-meta p {
  margin: 0;
  opacity: 0.88;
  word-break: break-word;
}

.contact-meta strong {
  color: var(--text);
}


/* REINA ecosystem expansion */
.reina-lab-quick {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 50;
  padding: 11px 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(10,12,20,.82);
  backdrop-filter: blur(16px);
  color: var(--text);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  box-shadow: 0 12px 35px rgba(0,0,0,.25);
}
.reina-grid,.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.reina-card,.featured-card,.status-board,.tech-grid,.devlog{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);
  border-radius:24px;
}
.reina-card,.featured-card{padding:28px}
.reina-card h3,.featured-card h3{font-size:1.35rem;margin:14px 0 10px}
.status-row{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.1em;opacity:.9}
.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.status-dot.online{background:#52f59a;box-shadow:0 0 14px #52f59a}
.status-dot.development{background:#ffd45a;box-shadow:0 0 14px #ffd45a}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.chip-row span{padding:7px 10px;border:1px solid rgba(255,255,255,.11);border-radius:999px;font-size:.72rem;opacity:.85}
.reina-terminal{display:grid;gap:8px;margin:18px 0;padding:18px;border-radius:16px;background:rgba(0,0,0,.25);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.reina-terminal span{font-size:.7rem;opacity:.55}.reina-terminal strong{font-size:.92rem}.reina-terminal small{opacity:.65}
.reina-demo-message{min-height:1.5em;margin-top:12px;font-size:.85rem;opacity:.8}
.status-board{overflow:hidden}
.status-board>div{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.07)}
.status-board>div:last-child{border-bottom:0}
.status-board b{font-size:.74rem;letter-spacing:.05em}
.online-text{color:#52f59a}.dev-text{color:#ffd45a}.ended-text,.archive-text{opacity:.48}
.status-note{font-size:.75rem;opacity:.5;margin-top:12px}
.featured-label{font-size:.7rem;font-weight:900;letter-spacing:.12em;opacity:.65}
.tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.tech-grid>div{padding:22px;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.tech-grid strong,.tech-grid span{display:block}.tech-grid span{margin-top:6px;font-size:.72rem;opacity:.55}
.devlog{padding:8px 22px}
.devlog article{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.devlog article:last-child{border-bottom:0}.devlog time{font-size:.76rem;opacity:.5}.devlog h3{margin:0 0 5px;font-size:1rem}.devlog p{margin:0;opacity:.65}
@media(max-width:850px){
  .reina-grid,.featured-grid{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reina-lab-quick{right:14px;bottom:14px}
}
@media(max-width:560px){
  .tech-grid{grid-template-columns:1fr}
  .devlog article{grid-template-columns:1fr;gap:7px}
  .status-board>div{align-items:flex-start;flex-direction:column;gap:6px}
}


/* REINA official character */
.reina-character-card {
  grid-column: span 1;
  overflow: hidden;
}
.reina-character-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
  gap: 24px;
  align-items: stretch;
}
.reina-character-copy {
  min-width: 0;
}
.reina-eyebrow {
  margin: 12px 0 4px;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .16em;
  opacity: .62;
}
.reina-character-figure {
  position: relative;
  min-height: 430px;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 20%, rgba(120,150,255,.18), transparent 48%),
    rgba(255,255,255,.025);
}
.reina-character-figure img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.reina-character-figure::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(6,8,16,.86), transparent 35%);
}
.reina-character-figure figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.reina-character-figure figcaption strong {
  font-size: 1.35rem;
  letter-spacing: .08em;
}
.reina-character-figure figcaption span {
  font-size: .72rem;
  opacity: .68;
}
.reina-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.reina-hero-visual {
  margin: 18px 0 24px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(255,255,255,.03);
}
.reina-hero-visual img {
  width: 180px;
  height: 180px;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 18px;
}
@media(max-width: 900px) {
  .reina-character-wrap {
    grid-template-columns: 1fr;
  }
  .reina-character-figure {
    min-height: 520px;
  }
  .reina-character-figure img {
    min-height: 520px;
  }
}
@media(max-width: 560px) {
  .reina-character-figure {
    min-height: 430px;
  }
  .reina-character-figure img {
    min-height: 430px;
    object-position: center 16%;
  }
  .reina-hero-visual {
    grid-template-columns: 1fr;
  }
  .reina-hero-visual img {
    width: 100%;
    height: 320px;
  }
}


/* ===== RUKI / REINA Portal Upgrade ===== */
.reina-hero-section{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;padding:120px 0 70px}
.reina-hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(95px);opacity:.18;background:radial-gradient(circle,#8bb8ff,transparent 65%);left:58%;top:20%;pointer-events:none;transition:transform .12s linear}
.reina-hero-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:48px;align-items:center}
.reina-hero-copy h2{font-size:clamp(4rem,9vw,8rem);line-height:.86;margin:12px 0 22px;letter-spacing:-.06em}
.reina-hero-lead{font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.3;margin:0 0 18px}
.reina-hero-copy>p:not(.section-kicker):not(.reina-hero-lead){max-width:610px;opacity:.68;line-height:1.8}
.reina-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.reina-hero-signature{margin-top:30px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;opacity:.42}
.reina-hero-character{position:relative;height:min(720px,72vw);min-height:560px;perspective:1200px;transform-style:preserve-3d}
.reina-hero-character img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 35px 55px rgba(0,0,0,.36));z-index:3;transition:transform .12s ease-out}
.reina-character-shine{position:absolute;inset:10% 12%;border-radius:50%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(155,200,255,.27),transparent 36%);filter:blur(25px);z-index:2;pointer-events:none}
.holo-ring{position:absolute;border:1px solid rgba(135,189,255,.24);border-radius:50%;z-index:1;box-shadow:0 0 40px rgba(123,169,255,.1)}
.holo-ring-a{width:72%;height:72%;left:14%;top:15%;animation:holoSpin 16s linear infinite}
.holo-ring-b{width:50%;height:50%;left:25%;top:26%;animation:holoSpin 11s linear reverse infinite}
@keyframes holoSpin{to{transform:rotate(360deg)}}
.holo-panel{position:absolute;z-index:4;padding:9px 12px;border:1px solid rgba(132,189,255,.23);background:rgba(20,35,62,.36);backdrop-filter:blur(12px);border-radius:10px;font:700 .65rem ui-monospace,monospace;letter-spacing:.1em;color:#bcd8ff;box-shadow:0 0 30px rgba(100,160,255,.08)}
.hp-one{left:2%;top:20%}.hp-two{right:1%;bottom:23%}

.live-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.live-service-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.025)}
.live-service-grid article div{display:grid;gap:3px}.live-service-grid strong{font-size:.88rem}.live-service-grid small{font-size:.68rem;opacity:.46}.live-service-grid b{font-size:.66rem;letter-spacing:.08em}
.service-light{width:9px;height:9px;border-radius:50%;display:block}.service-light.online{background:#59f6a3;box-shadow:0 0 14px #59f6a3}.service-light.demo,.service-light.standby{background:#ffd667;box-shadow:0 0 14px rgba(255,214,103,.5)}.service-light.offline{background:#ff6c7c;box-shadow:0 0 14px rgba(255,108,124,.5)}.service-light.checking{background:#9aa3b6}
.service-footer{display:flex;justify-content:flex-end;gap:14px;align-items:center;margin-top:12px;font-size:.7rem;opacity:.58}.service-footer button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}

.lab-intro{margin-bottom:20px;padding:26px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:rgba(255,255,255,.025)}
.lab-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:20px}
.lab-role-grid span{display:grid;gap:6px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.15)}
.lab-role-grid b{font-size:.76rem}.lab-role-grid small{font-size:.66rem;opacity:.5}
.lab-focus-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.lab-focus-row span{font-size:.65rem;padding:6px 9px;border-radius:999px;background:rgba(120,160,255,.08);border:1px solid rgba(120,160,255,.14)}

.visitor-card{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:34px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(135deg,rgba(111,151,255,.07),rgba(255,255,255,.018))}
.visitor-card h2{margin:7px 0 10px}.visitor-card p{opacity:.6}
.visitor-stats{display:grid;grid-template-columns:repeat(2,130px);gap:10px}.visitor-stats div{display:grid;place-items:center;gap:6px;min-height:120px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(0,0,0,.16)}
.visitor-stats span{font-size:2rem;font-weight:800}.visitor-stats small{font-size:.65rem;letter-spacing:.12em;opacity:.45}

/* REINA chat */
.reina-chat{position:fixed;right:20px;bottom:20px;z-index:120}
.reina-chat-launcher{position:relative;width:64px;height:64px;padding:0;border-radius:50%;overflow:hidden;border:1px solid rgba(161,195,255,.45);background:#111726;cursor:pointer;box-shadow:0 16px 45px rgba(0,0,0,.38),0 0 30px rgba(109,157,255,.13)}
.reina-chat-launcher img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.2)}
.chat-online-dot{position:absolute;right:5px;bottom:5px;width:11px;height:11px;border:2px solid #111726;background:#59f6a3;border-radius:50%}
.reina-chat-panel{position:absolute;right:0;bottom:78px;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100vh - 120px));display:none;grid-template-rows:auto auto 1fr auto auto;border:1px solid rgba(255,255,255,.13);border-radius:24px;overflow:hidden;background:rgba(11,14,24,.95);backdrop-filter:blur(24px);box-shadow:0 25px 80px rgba(0,0,0,.52)}
.reina-chat-panel.open{display:grid;animation:chatIn .18s ease-out}@keyframes chatIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
.reina-chat-panel header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.reina-chat-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden}.reina-chat-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.18)}
.reina-chat-panel header>div:nth-child(2){display:grid}.reina-chat-panel header strong{font-size:.88rem}.reina-chat-panel header span{font-size:.65rem;opacity:.5}.reina-chat-panel header button{width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:inherit;font-size:1.25rem;cursor:pointer}
.reina-chat-status{padding:8px 15px;font-size:.62rem;opacity:.58;border-bottom:1px solid rgba(255,255,255,.06)}.reina-chat-status>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#59f6a3;margin-right:5px}
.reina-chat-messages{overflow:auto;padding:15px;display:flex;flex-direction:column;gap:10px}
.chat-message{max-width:84%;padding:11px 13px;border-radius:15px;font-size:.78rem;line-height:1.55;white-space:pre-wrap}.chat-message.bot{align-self:flex-start;background:rgba(118,157,255,.1);border:1px solid rgba(118,157,255,.12)}.chat-message.user{align-self:flex-end;background:rgba(255,255,255,.08)}
.chat-message.typing{opacity:.55;font-style:italic}
.reina-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.07)}.reina-chat-form input{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.04);color:inherit;padding:11px 12px;outline:none}.reina-chat-form button{width:42px;border:0;border-radius:14px;background:linear-gradient(135deg,#758cff,#9e7dff);color:white;font-size:1.1rem;cursor:pointer}
.reina-chat-panel footer{padding:0 13px 10px;text-align:center;font-size:.58rem;opacity:.32}
.reina-lab-quick{right:96px}

@media(max-width:980px){
 .reina-hero-layout{grid-template-columns:1fr}.reina-hero-character{height:640px}
 .live-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lab-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .reina-hero-section{padding-top:95px}.reina-hero-character{min-height:450px;height:500px}
 .holo-panel{font-size:.55rem}.live-service-grid{grid-template-columns:1fr}
 .lab-role-grid{grid-template-columns:1fr}
 .visitor-card{grid-template-columns:1fr}.visitor-stats{grid-template-columns:repeat(2,1fr)}
 .reina-chat{right:14px;bottom:14px}.reina-lab-quick{display:none}
}


/* ===== KST Live Clock / Uptime ===== */
.ruki-time-panel{
  margin-top:26px;
  max-width:560px;
  padding:20px 22px;
  border:1px solid rgba(140,180,255,.14);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(90,120,210,.08),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.time-panel-top,.time-sub,.uptime-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.time-zone-label,.system-online,.uptime-row span{
  font:800 .64rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.13em;
  opacity:.58;
}
.system-online{display:flex;align-items:center;gap:7px;color:#74f3b2;opacity:.92}
.system-online i{
  width:7px;height:7px;border-radius:50%;background:#59f6a3;box-shadow:0 0 12px #59f6a3;
}
.time-main{
  margin-top:10px;
  font:800 clamp(2.8rem,6vw,5.4rem)/.95 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:-.05em;
}
.time-sub{
  margin-top:8px;
  font:700 .78rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  opacity:.52;
}
.reina-greeting{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:.83rem;
  line-height:1.6;
  opacity:.78;
}
.uptime-row{
  margin-top:13px;
  padding-top:12px;
  border-top:1px dashed rgba(255,255,255,.07);
}
.uptime-row strong{
  font:800 .72rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
}
@media(max-width:620px){
  .ruki-time-panel{padding:18px}
  .time-main{font-size:3rem}
}


/* ===== REINA ALL FEATURES v3 ===== */
.reina-boot{position:fixed;inset:0;z-index:9999;display:none;place-items:center;background:#070a11;color:#eef4ff}.reina-boot.show{display:grid}.boot-core{text-align:center;width:min(470px,86vw)}.boot-logo{display:grid;place-items:center;width:80px;height:80px;margin:0 auto 18px;border-radius:24px;border:1px solid rgba(140,180,255,.3);font-size:2.2rem;font-weight:900;box-shadow:0 0 50px rgba(107,153,255,.16)}.boot-core p,.boot-core small{font:700 .65rem ui-monospace,monospace;letter-spacing:.18em;opacity:.5}.boot-core h2{font:800 clamp(1.1rem,3vw,1.7rem) ui-monospace,monospace;letter-spacing:.08em}.boot-bar{height:3px;background:rgba(255,255,255,.07);margin:24px 0;border-radius:99px;overflow:hidden}.boot-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,#7695ff,#b57eff);transition:width .35s ease}
.notification-bell{position:fixed;right:22px;top:82px;z-index:85;width:43px;height:43px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(11,14,24,.78);color:inherit;backdrop-filter:blur(16px);cursor:pointer}.notification-bell span{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#8a75ff;color:#fff;font:800 .58rem/18px sans-serif}
.weather-brief{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-top:12px;max-width:560px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.025)}.weather-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(125,166,255,.09);font-size:1.4rem}.weather-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.weather-top span{font:800 .62rem ui-monospace,monospace;letter-spacing:.12em;opacity:.5}.weather-top strong{font-size:1.25rem}.weather-copy p{margin:3px 0;font-size:.78rem;line-height:1.5}.weather-copy small{font-size:.63rem;opacity:.42}
.system-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reina-system-card,.notification-card{padding:26px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:rgba(255,255,255,.025)}.system-card-head,.notification-head,.section-split-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.system-card-head h2,.notification-head h2{margin:4px 0}.core-badge{padding:7px 10px;border:1px solid rgba(89,246,163,.2);border-radius:999px;color:#69efa8;font:800 .62rem ui-monospace,monospace;letter-spacing:.1em}.system-lines{display:grid;gap:0;margin-top:17px}.system-lines div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06);font:700 .7rem ui-monospace,monospace}.system-lines span{opacity:.5}.system-lines b.ok{color:#65eda7}.notification-head button{border:0;background:none;color:inherit;opacity:.55;text-decoration:underline;cursor:pointer}.notification-list{display:grid;gap:9px;margin-top:15px;max-height:310px;overflow:auto}.notice-item{padding:12px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.12)}.notice-item header{display:flex;justify-content:space-between;gap:10px}.notice-item b{font-size:.78rem}.notice-item time{font-size:.6rem;opacity:.4}.notice-item p{margin:5px 0 0;font-size:.7rem;line-height:1.55;opacity:.6}.loading-line,.activity-loading{font-size:.73rem;opacity:.45}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.activity-card{padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.022)}.activity-state{display:flex;align-items:center;gap:7px;font:800 .62rem ui-monospace,monospace;letter-spacing:.1em;color:#68efa8}.activity-state i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.activity-card h3{margin:12px 0 7px}.activity-card p{margin:0;font-size:.72rem;opacity:.54;line-height:1.6}
.roadmap-track{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:9px;overflow-x:auto;padding-bottom:8px}.roadmap-item{position:relative;min-height:160px;padding:18px 15px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.02)}.roadmap-item:before{content:"";display:block;width:9px;height:9px;border-radius:50%;margin-bottom:20px;background:#747d91}.roadmap-item.done:before{background:#5df2a6;box-shadow:0 0 14px #5df2a6}.roadmap-item.progress:before{background:#ffd56e;box-shadow:0 0 14px rgba(255,213,110,.5)}.roadmap-item span{font:800 .6rem ui-monospace,monospace;letter-spacing:.1em;opacity:.45}.roadmap-item h3{font-size:.78rem;line-height:1.45;margin:8px 0}.roadmap-item small{font-size:.61rem;opacity:.5}
.section-split-head>span{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.09);font:800 .62rem ui-monospace,monospace;letter-spacing:.08em;opacity:.65}.announcement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.announcement-card{padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.02)}.announcement-card time{font:700 .62rem ui-monospace,monospace;opacity:.4}.announcement-card h3{margin:11px 0 7px;font-size:1rem}.announcement-card p{margin:0;font-size:.73rem;line-height:1.65;opacity:.58}
.discord-community-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:28px;border:1px solid rgba(135,163,255,.15);border-radius:26px;background:linear-gradient(135deg,rgba(92,111,255,.09),rgba(255,255,255,.02))}.discord-brand{display:flex;align-items:center;gap:15px}.discord-orb{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:linear-gradient(135deg,#6777ef,#9a71ef);font-size:1.35rem;font-weight:900}.discord-brand p{margin:0;font:.8rem ui-monospace,monospace;letter-spacing:.12em;opacity:.55}.discord-brand h2{margin:3px 0}.discord-live{display:flex;align-items:center;gap:10px}.discord-live div{display:grid}.discord-live b{font-size:.72rem}.discord-live small{font-size:.62rem;opacity:.48}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px}.chat-suggestions button{border:1px solid rgba(130,165,255,.14);border-radius:999px;background:rgba(120,160,255,.06);color:inherit;padding:7px 9px;font-size:.65rem;cursor:pointer}.reina-chat.thinking .reina-chat-launcher{box-shadow:0 0 0 3px rgba(255,210,100,.08),0 0 35px rgba(255,210,100,.18)}.reina-chat.answering .reina-chat-launcher{box-shadow:0 0 0 3px rgba(120,160,255,.08),0 0 38px rgba(120,160,255,.22)}
.mobile-dock{display:none}.devlog#dynamicDevlog article{transition:.2s ease}
@media(max-width:980px){.system-layout{grid-template-columns:1fr}.activity-grid,.announcement-grid{grid-template-columns:1fr 1fr}.discord-community-card{grid-template-columns:1fr auto}.discord-community-card>.btn{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){body{padding-bottom:72px}.notification-bell{top:auto;bottom:86px;right:14px}.activity-grid,.announcement-grid{grid-template-columns:1fr}.discord-community-card{grid-template-columns:1fr}.mobile-dock{position:fixed;left:10px;right:10px;bottom:9px;z-index:110;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(10,13,22,.92);backdrop-filter:blur(22px);box-shadow:0 15px 50px rgba(0,0,0,.35)}.mobile-dock a,.mobile-dock button{display:grid;justify-items:center;gap:2px;padding:7px 4px;border:0;background:none;color:inherit;text-decoration:none}.mobile-dock span{font-weight:900}.mobile-dock small{font-size:.52rem;opacity:.52}.reina-chat{bottom:84px}.roadmap-track{grid-template-columns:repeat(7,155px)}}


/* ===== Header / Navigation Cleanup v2 ===== */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:150;
  height:74px;
  background:rgba(7,10,18,.86);
  border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter:blur(20px);
}
.nav-wrap{
  height:74px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:26px;
}
.brand{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:max-content;
  cursor:pointer;
  text-decoration:none;
  color:var(--text);
  user-select:none;
}
.brand:hover .brand-mark{
  transform:translateY(-1px);
  box-shadow:0 0 42px rgba(124,92,255,.48);
}
.brand-mark{transition:transform .18s ease,box-shadow .18s ease}

.nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(15px,1.5vw,25px);
  white-space:nowrap;
}
.nav a{
  position:relative;
  padding:27px 0 25px;
  font-size:12px;
  font-weight:700;
  color:#aeb7c9;
  letter-spacing:.09em;
  text-decoration:none;
}
.nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:18px;
  width:0;
  height:2px;
  border-radius:10px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  transform:translateX(-50%);
  transition:width .18s ease;
}
.nav a:hover{color:#fff}
.nav a:hover::after{width:100%}

.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:max-content;
}
.header-join{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#f3f6ff;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  transition:.18s ease;
}
.header-join:hover{
  background:rgba(124,92,255,.12);
  border-color:rgba(144,126,255,.42);
  transform:translateY(-1px);
}
.header-notification{
  position:relative !important;
  inset:auto !important;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:inherit;
  cursor:pointer;
  backdrop-filter:none;
}
.header-notification:hover{background:rgba(255,255,255,.07)}
.bell-icon{font-size:15px;line-height:1}
.notification-count{
  position:absolute;
  right:-4px;
  top:-5px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:9px;
  background:#8a75ff;
  color:white;
  font:800 9px/17px sans-serif;
  text-align:center;
}
.reina-lab-quick{display:none !important}
.notification-bell{position:relative !important;inset:auto !important}

/* Fixed header anchor compensation */
section[id]{scroll-margin-top:94px}
#top{scroll-margin-top:0}

@media(max-width:1180px){
  .nav{gap:14px}
  .nav a{font-size:11px;letter-spacing:.055em}
  .header-join{padding:0 12px;font-size:10px}
}
@media(max-width:980px){
  .nav-wrap{
    display:flex;
    justify-content:space-between;
    gap:14px;
  }
  .header-actions{margin-left:auto}
  .menu-toggle{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:rgba(255,255,255,.035);
    font-size:19px;
  }
  .nav{
    display:none;
    position:absolute;
    top:82px;
    left:14px;
    right:14px;
    max-height:calc(100vh - 110px);
    overflow:auto;
    padding:10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    background:rgba(9,12,21,.97);
    box-shadow:0 22px 70px rgba(0,0,0,.42);
    backdrop-filter:blur(22px);
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .nav.open{display:flex}
  .nav a{
    padding:13px 14px;
    border-radius:11px;
    font-size:12px;
  }
  .nav a::after{display:none}
  .nav a:hover{background:rgba(255,255,255,.05)}
}
@media(max-width:620px){
  .site-header,.nav-wrap{height:66px}
  .brand-mark{width:32px;height:32px}
  .brand>span:last-child{font-size:14px}
  .header-join{display:none}
  .header-notification{width:37px;height:37px;flex-basis:37px}
  .menu-toggle{width:37px;height:37px}
  .nav{top:74px}
}


/* ===== REINA Chat Click Fix ===== */
.reina-chat{z-index:220 !important;pointer-events:none}
.reina-chat-launcher,
.reina-chat-panel{pointer-events:auto}
.reina-chat-launcher{z-index:2;touch-action:manipulation}
.reina-chat-panel{z-index:3}

/* ===== RUKI LIVE EXPERIENCE ===== */
.dynamic-background{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;opacity:.58}
.live-now-card{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:22px 0 8px;padding:11px 15px;border:1px solid rgba(91,225,255,.22);border-radius:14px;background:rgba(10,18,31,.64);box-shadow:inset 0 0 28px rgba(73,195,255,.04)}
.live-now-card .live-dot{width:9px;height:9px;border-radius:50%;background:#64f1c0;box-shadow:0 0 0 0 rgba(100,241,192,.55);animation:livePulse 1.8s infinite}
.live-now-card div{display:grid;gap:3px}.live-now-card small{font-size:9px;letter-spacing:.18em;color:#64f1c0}.live-now-card strong{font-size:12px;color:#eafaff}
@keyframes livePulse{70%{box-shadow:0 0 0 8px rgba(100,241,192,0)}100%{box-shadow:0 0 0 0 rgba(100,241,192,0)}}
.live-lab-section{position:relative}.live-lab-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:18px;margin-bottom:18px}
.system-map-card,.event-feed-card,.constellation-card{padding:22px;overflow:hidden}.live-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.live-card-head span{font-size:10px;letter-spacing:.18em;color:#4ddcff}.live-card-head h3{margin:5px 0 0;font-size:18px}.live-card-head b{font-size:9px;letter-spacing:.12em;color:#64f1c0}
.system-map{display:flex;align-items:center;justify-content:center;min-height:155px}.system-node{position:relative;min-width:100px;padding:14px 10px;text-align:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(4,10,20,.75);transition:.3s}.system-node i{position:absolute;left:7px;top:6px;font-style:normal;font-size:7px;color:#607087}.system-node strong{display:block;font-size:10px}.system-node small{display:block;margin-top:5px;font-size:7px;letter-spacing:.08em;color:#718096}.system-node.online{border-color:rgba(100,241,192,.35);box-shadow:0 0 25px rgba(100,241,192,.08)}.system-node.online:after{content:"";position:absolute;right:7px;top:7px;width:5px;height:5px;border-radius:50%;background:#64f1c0;box-shadow:0 0 10px #64f1c0}.system-node.offline{border-color:rgba(255,92,124,.35)}
.system-link{flex:1;min-width:20px;height:1px;background:rgba(88,174,255,.16);position:relative;overflow:hidden}.system-link span{position:absolute;width:22px;height:1px;background:#4ddcff;box-shadow:0 0 10px #4ddcff;animation:dataFlow 1.6s linear infinite}@keyframes dataFlow{from{left:-25px}to{left:100%}}
.event-terminal{height:155px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.event-line{display:grid;grid-template-columns:58px 1fr;gap:9px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);animation:eventIn .35s ease}.event-line time{color:#55677d}.event-line span{color:#a9bfd1}.event-line.good span{color:#75eec6}.event-line.info span{color:#70d9ff}@keyframes eventIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.constellation-card{min-height:430px}.tech-constellation{position:relative;height:330px;border-radius:18px;background:radial-gradient(circle at 50% 50%,rgba(100,100,255,.12),transparent 43%);overflow:hidden}.constellation-lines{position:absolute;inset:0;width:100%;height:100%}.constellation-lines path{stroke:rgba(86,190,255,.2);stroke-width:1;fill:none;stroke-dasharray:4 7;animation:dashMove 15s linear infinite}@keyframes dashMove{to{stroke-dashoffset:-100}}
.tech-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:1px solid rgba(91,213,255,.25);background:rgba(8,16,30,.84);color:#cfeeff;border-radius:999px;padding:9px 13px;font:600 10px inherit;box-shadow:0 0 20px rgba(80,180,255,.08);transition:.25s;cursor:default}.tech-star:before{content:"";position:absolute;inset:-5px;border:1px solid rgba(105,120,255,.08);border-radius:inherit}.tech-star:hover{transform:translate(-50%,-50%) scale(1.12);border-color:#5ee7ff;box-shadow:0 0 28px rgba(94,231,255,.2)}.tech-star.core{padding:17px 20px;background:radial-gradient(circle,rgba(111,84,255,.35),rgba(8,16,30,.95));border-color:#9b86ff;font-size:13px}.tech-star small{display:block;font-size:6px;color:#8b9eb3}
.ambient-toggle{position:fixed;right:22px;bottom:112px;z-index:215;display:flex;align-items:center;gap:7px;border:1px solid rgba(104,216,255,.2);border-radius:999px;background:rgba(7,13,24,.84);backdrop-filter:blur(14px);color:#8da6b8;padding:8px 11px;cursor:pointer}.ambient-toggle b{font-size:8px;letter-spacing:.1em}.ambient-toggle.active{color:#7ef1d0;border-color:rgba(126,241,208,.38);box-shadow:0 0 24px rgba(126,241,208,.08)}
.reina-chat-launcher.idle-glow{animation:reinaIdleGlow 2.2s ease}.reina-idle-bubble{position:fixed;right:24px;bottom:166px;z-index:219;max-width:220px;padding:10px 13px;border:1px solid rgba(101,213,255,.22);border-radius:13px 13px 3px 13px;background:rgba(8,15,28,.94);font-size:10px;color:#cdefff;box-shadow:0 12px 35px rgba(0,0,0,.25);animation:bubbleIn .3s ease}@keyframes reinaIdleGlow{50%{filter:drop-shadow(0 0 18px rgba(102,214,255,.8));transform:scale(1.06)}}@keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:900px){.live-lab-grid{grid-template-columns:1fr}.system-map{overflow-x:auto;justify-content:flex-start;padding-bottom:8px}.system-node{min-width:92px}.system-link{min-width:30px}.tech-constellation{height:300px}.ambient-toggle{right:14px;bottom:98px}.ambient-toggle b{display:none}}
@media(prefers-reduced-motion:reduce){.system-link span,.live-now-card .live-dot,.constellation-lines path{animation:none}.dynamic-background{display:none}}


/* ===== REINA MEMORY / MOOD / TIME SCENE ===== */
:root{
  --reina-scene-glow: rgba(95,213,255,.12);
  --reina-scene-accent: rgba(115,91,255,.12);
  --reina-scene-brightness: 1;
  --reina-eye-x: 0px;
  --reina-eye-y: 0px;
}
body{
  transition:background-color .8s ease, filter .8s ease;
}
body.scene-dawn{
  --reina-scene-glow:rgba(121,139,255,.12);
  --reina-scene-accent:rgba(255,126,185,.08);
}
body.scene-morning{
  --reina-scene-glow:rgba(93,224,255,.13);
  --reina-scene-accent:rgba(115,255,218,.07);
}
body.scene-day{
  --reina-scene-glow:rgba(83,204,255,.11);
  --reina-scene-accent:rgba(103,121,255,.08);
}
body.scene-evening{
  --reina-scene-glow:rgba(136,100,255,.13);
  --reina-scene-accent:rgba(255,123,186,.07);
}
body.scene-night{
  --reina-scene-glow:rgba(74,102,210,.10);
  --reina-scene-accent:rgba(89,63,170,.10);
  --reina-scene-brightness:.93;
}
body.scene-night:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 82% 18%, rgba(82,98,205,.10), transparent 34%),
    linear-gradient(rgba(3,7,14,.13),rgba(2,5,11,.18));
}
body.scene-night .dynamic-background{opacity:.38}
body.scene-night .reina-chat-launcher{filter:brightness(.92) saturate(.92)}
body.scene-night .reina-chat-panel{background:rgba(5,10,20,.96)}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 76%,var(--reina-scene-glow),transparent 26%),
    radial-gradient(circle at 15% 22%,var(--reina-scene-accent),transparent 30%);
  transition:background .8s ease,opacity .8s ease;
  opacity:.8;
}
.reina-mood-badge{
  position:fixed;
  right:22px;
  bottom:184px;
  z-index:214;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:126px;
  padding:8px 11px;
  border:1px solid rgba(92,210,255,.18);
  border-radius:999px;
  background:rgba(6,12,23,.82);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 35px rgba(0,0,0,.18);
  pointer-events:none;
}
.reina-mood-badge .mood-dot{
  width:7px;height:7px;border-radius:50%;
  background:#77e9ff;box-shadow:0 0 12px currentColor;
}
.reina-mood-badge div{display:grid;gap:1px}
.reina-mood-badge small{font-size:7px;letter-spacing:.14em;color:#617e90}
.reina-mood-badge strong{font-size:9px;letter-spacing:.1em;color:#bfefff}
.reina-mood-badge[data-mood="CALM"] .mood-dot{background:#82c9ff}
.reina-mood-badge[data-mood="FOCUSED"] .mood-dot{background:#b39cff}
.reina-mood-badge[data-mood="HAPPY"] .mood-dot{background:#78efc4}
.reina-mood-badge[data-mood="BUSY"] .mood-dot{background:#ffc776}
.reina-chat-launcher{
  --eye-glow-x:var(--reina-eye-x);
  --eye-glow-y:var(--reina-eye-y);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.reina-chat-launcher::after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(circle at calc(50% + var(--eye-glow-x)) calc(45% + var(--eye-glow-y)),rgba(150,230,255,.18),transparent 32%);
  opacity:.8;
  transition:background-position .12s ease;
}
.reina-chat-launcher.reina-looking{
  transform:translate(var(--reina-eye-x),var(--reina-eye-y)) scale(1.015);
  filter:drop-shadow(calc(var(--reina-eye-x) * .5) calc(var(--reina-eye-y) * .5) 13px rgba(87,205,255,.34));
}
.reina-memory-bar{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(6,12,22,.72);
  font:600 8px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
}
.reina-memory-bar span{color:#60dbff}
.reina-memory-bar b{flex:1;color:#6d8497;font-size:8px;font-weight:500}
.reina-memory-bar button{
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  padding:4px 7px;
  background:rgba(255,255,255,.035);
  color:#748a9a;
  font:700 7px inherit;
  cursor:pointer;
}
.reina-memory-bar button:hover{border-color:rgba(104,214,255,.3);color:#bfeeff}
.reina-random-message{
  position:fixed;
  right:24px;
  bottom:166px;
  z-index:219;
  max-width:245px;
  padding:10px 13px;
  border:1px solid rgba(103,214,255,.22);
  border-radius:13px 13px 3px 13px;
  background:rgba(7,14,26,.95);
  color:#cceeff;
  font-size:10px;
  line-height:1.55;
  box-shadow:0 12px 38px rgba(0,0,0,.28);
  animation:reinaMsgIn .28s ease;
}
@keyframes reinaMsgIn{
  from{opacity:0;transform:translateY(8px) scale(.98)}
  to{opacity:1;transform:none}
}
@media(max-width:900px){
  .reina-mood-badge{right:14px;bottom:158px}
}
@media(max-width:620px){
  .reina-mood-badge{display:none}
}

/* ===== RUKI PROFILE CARD ===== */
.ruki-profile-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,340px) 1fr;
  gap:30px;
  align-items:stretch;
  margin-bottom:22px;
  padding:18px;
  overflow:hidden;
  border-color:rgba(94,211,255,.2);
  background:
    radial-gradient(circle at 18% 28%,rgba(75,155,255,.10),transparent 34%),
    linear-gradient(135deg,rgba(10,18,32,.94),rgba(6,10,20,.82));
}
.ruki-profile-card:before{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(113,91,255,.055),transparent 68%);
}
.ruki-profile-photo{
  position:relative;
  min-height:320px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(107,211,255,.22);
  background:#070d18;
  box-shadow:0 18px 55px rgba(0,0,0,.28),inset 0 0 30px rgba(83,180,255,.05);
}
.ruki-profile-photo img{
  width:100%;height:100%;min-height:320px;
  display:block;object-fit:cover;object-position:center 34%;
  transition:transform .5s ease,filter .5s ease;
}
.ruki-profile-card:hover .ruki-profile-photo img{transform:scale(1.025);filter:brightness(1.04)}
.ruki-profile-online{
  position:absolute;left:13px;bottom:13px;
  display:flex;align-items:center;gap:7px;
  padding:7px 10px;border-radius:999px;
  border:1px solid rgba(104,241,194,.26);
  background:rgba(4,12,20,.78);backdrop-filter:blur(12px);
  color:#79efc7;font:700 8px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.12em;
}
.ruki-profile-online i{width:6px;height:6px;border-radius:50%;background:#64f1c0;box-shadow:0 0 10px #64f1c0}
.ruki-profile-info{position:relative;z-index:1;padding:20px 12px 16px 2px;display:flex;flex-direction:column;justify-content:center}
.ruki-profile-eyebrow{font-size:9px;letter-spacing:.2em;color:#58dfff;margin-bottom:9px}
.ruki-profile-info h3{margin:0;font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:.03em}
.ruki-profile-info h3 span{font-size:.45em;color:#8c84ff;vertical-align:top}
.ruki-profile-role{margin:12px 0 16px;color:#9cb7ca;font-size:11px;letter-spacing:.08em}
.ruki-profile-copy{max-width:720px;margin:0;color:#a9b9c7;font-size:13px;line-height:1.85}
.ruki-profile-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.ruki-profile-tags span{padding:6px 9px;border:1px solid rgba(102,203,255,.15);border-radius:8px;background:rgba(83,130,255,.045);font-size:7px;letter-spacing:.12em;color:#88dfff}
.ruki-profile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:3px}
.ruki-profile-meta div{padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.025)}
.ruki-profile-meta small{display:block;margin-bottom:5px;font-size:6px;letter-spacing:.13em;color:#536b7e}
.ruki-profile-meta strong{font-size:9px;color:#d7eaff}.ruki-profile-meta .profile-status{color:#71ecc3}
.ruki-profile-actions{display:flex;gap:9px;margin-top:18px}.ruki-profile-actions .btn{min-height:38px}
.ruki-profile-code{position:absolute;right:14px;top:12px;color:rgba(116,203,255,.16);font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.16em}
@media(max-width:780px){
  .ruki-profile-card{grid-template-columns:1fr;padding:13px}
  .ruki-profile-photo{min-height:390px}.ruki-profile-photo img{min-height:390px}
  .ruki-profile-info{padding:12px 5px 7px}
}
@media(max-width:520px){
  .ruki-profile-photo{min-height:330px}.ruki-profile-photo img{min-height:330px}
  .ruki-profile-meta{grid-template-columns:1fr}
  .ruki-profile-actions{flex-direction:column}
}


/* ===== RUKI OFFICIAL BRAND / SYMBOL ===== */
.ruki-header-symbol{
  width:32px;height:32px;object-fit:cover;border-radius:9px;
  border:1px solid rgba(91,211,255,.28);
  box-shadow:0 0 18px rgba(74,170,255,.15);
  flex:0 0 auto;
}
.ruki-brand-showcase{
  position:relative;overflow:hidden;margin:0 0 22px;padding:0;
  border-color:rgba(86,202,255,.22);
  background:#050b16;
}
.ruki-brand-image-wrap{position:relative;aspect-ratio:16/7;overflow:hidden}
.ruki-brand-image-wrap:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 -80px 80px rgba(3,8,16,.42);
}
.ruki-brand-image-wrap img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center 44%;
}
.ruki-brand-caption{
  position:absolute;left:22px;right:22px;bottom:18px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 13px;border:1px solid rgba(104,216,255,.15);
  border-radius:12px;background:rgba(3,9,18,.72);backdrop-filter:blur(12px);
}
.ruki-brand-caption span{font-size:7px;letter-spacing:.16em;color:#5edfff}
.ruki-brand-caption strong{font-size:11px;letter-spacing:.08em;color:#eef8ff}
.ruki-brand-caption small{margin-left:auto;font-size:7px;letter-spacing:.14em;color:#72889c}
@media(max-width:620px){
  .ruki-header-symbol{width:28px;height:28px;border-radius:8px}
  .ruki-brand-image-wrap{aspect-ratio:1.25/1}
  .ruki-brand-image-wrap img{object-position:center}
  .ruki-brand-caption{left:10px;right:10px;bottom:10px}
  .ruki-brand-caption small{width:100%;margin-left:0}
}

/* ===== RUKI BRAND REDESIGN v2 ===== */
.ruki-brand-showcase{
  min-height:300px!important;
  display:grid!important;
  grid-template-columns:minmax(250px,38%) 1fr!important;
  align-items:center!important;
  gap:clamp(26px,5vw,72px)!important;
  position:relative!important;
  padding:clamp(26px,4vw,52px)!important;
  margin:0 0 28px!important;
  overflow:hidden!important;
  border:1px solid rgba(84,201,255,.18)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 18% 50%,rgba(45,145,255,.13),transparent 31%),
    radial-gradient(circle at 72% 25%,rgba(126,82,255,.08),transparent 30%),
    linear-gradient(125deg,rgba(5,12,25,.98),rgba(7,13,26,.91))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 25px 70px rgba(0,0,0,.18)!important;
}
.ruki-brand-showcase:before{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background-image:linear-gradient(rgba(82,180,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(82,180,255,.025) 1px,transparent 1px)!important;
  background-size:34px 34px!important;
  mask-image:linear-gradient(90deg,#000,transparent 78%)!important;
}
.ruki-brand-showcase:after{
  content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:1px!important;
  background:linear-gradient(90deg,transparent,#4edcff,rgba(133,105,255,.8),transparent)!important;opacity:.55!important;
}
.brand-symbol-stage{
  width:min(100%,300px);aspect-ratio:1;justify-self:center;position:relative;display:grid;place-items:center;
}
.brand-symbol-stage:before{
  content:"";position:absolute;inset:13%;border-radius:50%;
  background:radial-gradient(circle,rgba(61,181,255,.12),transparent 66%);
  filter:blur(7px);
}
.brand-symbol-stage img{
  position:relative;z-index:3;width:72%;height:72%;object-fit:cover;border-radius:28%;
  box-shadow:0 0 45px rgba(64,174,255,.13);filter:saturate(.92) contrast(1.03);
}
.brand-orbit{position:absolute;z-index:2;border:1px solid rgba(78,215,255,.18);border-radius:50%;pointer-events:none}
.orbit-a{width:92%;height:45%;transform:rotate(-14deg);animation:rukiOrbitA 14s linear infinite}
.orbit-b{width:66%;height:98%;transform:rotate(27deg);border-color:rgba(135,107,255,.13);animation:rukiOrbitB 18s linear infinite reverse}
.brand-scanline{position:absolute;z-index:4;left:17%;right:17%;height:1px;background:linear-gradient(90deg,transparent,#65e9ff,transparent);box-shadow:0 0 12px #65e9ff;opacity:.45;animation:brandScan 4.5s ease-in-out infinite}
@keyframes rukiOrbitA{to{transform:rotate(346deg)}}@keyframes rukiOrbitB{to{transform:rotate(387deg)}}@keyframes brandScan{0%,100%{top:25%;opacity:0}20%,80%{opacity:.45}50%{top:75%}}
.brand-identity{position:relative;z-index:3}
.brand-overline{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.22em;color:#62ddff}
.brand-overline i{width:24px;height:1px;background:#62ddff;box-shadow:0 0 8px #62ddff}
.brand-identity h3{margin:13px 0 4px;font-size:clamp(52px,7vw,92px);line-height:.88;letter-spacing:-.045em;color:#f2f7ff}
.brand-identity h3 span{color:#7c83ff;text-shadow:0 0 22px rgba(124,131,255,.5)}
.brand-identity>p{margin:15px 0 0;font:600 10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.28em;color:#8da5ba}
.brand-identity>p b{color:#5edfff;font-weight:400;margin:0 5px}
.brand-description{margin-top:19px;color:#71899d;font-size:10px;letter-spacing:.08em}
.brand-signature{display:flex;align-items:center;gap:15px;margin-top:27px;padding-top:14px;border-top:1px solid rgba(255,255,255,.055)}
.brand-signature span{font-size:7px;letter-spacing:.18em;color:#536d81}.brand-signature strong{font-size:7px;letter-spacing:.15em;color:#8f87ff}
.brand-corner-code{position:absolute;right:18px;top:15px;font:700 6px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:rgba(111,202,255,.25)}
/* header symbol: small brand mark, not a square poster */
.ruki-header-symbol{
  width:34px!important;height:34px!important;border-radius:10px!important;object-fit:cover!important;
  border:1px solid rgba(92,211,255,.23)!important;
  box-shadow:0 0 20px rgba(78,179,255,.11)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.brand:hover .ruki-header-symbol{transform:rotate(-3deg) scale(1.06);box-shadow:0 0 25px rgba(78,204,255,.22)!important}
@media(max-width:760px){
 .ruki-brand-showcase{grid-template-columns:1fr!important;text-align:center!important;padding:28px 18px!important}
 .brand-symbol-stage{width:min(70vw,250px)}
 .brand-overline,.brand-signature{justify-content:center}
 .brand-identity>p{letter-spacing:.18em}
}
@media(prefers-reduced-motion:reduce){.brand-orbit,.brand-scanline{animation:none}}


/* ===== ruki_profile.exe PROFILE — cumulative safe patch ===== */
.ruki-terminal-avatar{
  padding:0!important;overflow:hidden!important;border-radius:50%!important;
  background:#07101d!important;position:relative!important;
  box-shadow:0 0 0 1px rgba(87,221,255,.18),0 0 28px rgba(69,157,255,.10)!important;
}
.ruki-terminal-avatar:after{
  content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  box-shadow:inset 0 0 18px rgba(68,201,255,.12);
}
.ruki-terminal-avatar img,.ruki-terminal-avatar-img{
  width:100%!important;height:100%!important;display:block!important;
  object-fit:cover!important;object-position:center 29%!important;border-radius:50%!important;
  transform:scale(1.04);
}
.ruki-extra-profile{
  display:grid;gap:10px;margin:20px 0 14px;padding:14px 0 0;
  border-top:1px solid rgba(255,255,255,.055);
  font:500 10px ui-monospace,SFMono-Regular,Consolas,monospace;
}
.ruki-extra-profile div{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center}
.ruki-extra-profile span{color:#59ddff}
.ruki-extra-profile b{font-weight:500;color:#b4a8e9;letter-spacing:.02em}
.ruki-extra-profile .terminal-accent{color:#73ecc7;text-shadow:0 0 12px rgba(115,236,199,.18)}
.ruki-terminal-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 20px}
.ruki-terminal-badges span{
  padding:5px 7px;border:1px solid rgba(83,202,255,.15);border-radius:6px;
  background:rgba(62,137,255,.035);color:#78cde9;
  font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;
}
@media(max-width:520px){.ruki-extra-profile div{grid-template-columns:1fr;gap:3px}}

/* ===== RUKI OPS 12 FEATURES ===== */
.ruki-ops{position:relative}.ops-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.ops-stats>div{padding:18px;border:1px solid rgba(91,211,255,.12);border-radius:14px;background:rgba(7,14,27,.72)}
.ops-stats strong{display:block;font-size:28px;color:#eaf8ff}.ops-stats span{font-size:7px;letter-spacing:.15em;color:#5f7c91}
.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.deployment-card,.latency-card,.ruki-timeline{padding:20px}
.ops-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ops-title span{font-size:9px;letter-spacing:.16em;color:#62dcff}.ops-title b{font-size:8px;color:#70ecc4}
.deploy-row{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.045)}
.deploy-row i{width:6px;height:6px;border-radius:50%;background:#68ecc1;box-shadow:0 0 10px #68ecc1}.deploy-row strong{font-size:9px}.deploy-row span{font-size:7px;color:#6feac1}
.latency-card canvas{width:100%;height:145px}.latency-card small{font-size:7px;color:#526b7f}
.ruki-timeline{margin-top:18px}.timeline-track{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:14px}.timeline-track:before{content:"";position:absolute;left:5%;right:5%;top:7px;height:1px;background:rgba(88,202,255,.15)}
.timeline-track>div{position:relative;padding-top:25px}.timeline-track i{position:absolute;top:3px;left:0;width:9px;height:9px;border-radius:50%;background:#263b50;border:2px solid #61dfff}.timeline-track .active i{background:#72edc5;box-shadow:0 0 14px #72edc5}.timeline-track time{display:block;font-size:7px;color:#5edfff}.timeline-track strong{display:block;margin:6px 0;font-size:10px}.timeline-track span{font-size:8px;color:#667f92}
.creator-link{display:grid;grid-template-columns:150px 1fr 150px;align-items:center;gap:20px;margin-top:18px;padding:24px}.creator-node{text-align:center;padding:18px;border:1px solid rgba(90,211,255,.18);border-radius:16px;background:rgba(8,16,30,.75)}.creator-node strong{display:block;font-size:20px}.creator-node small{font-size:7px;color:#5edfff}.creator-node.reina{border-color:rgba(144,111,255,.2)}
.creator-beam{height:42px;position:relative;display:grid;place-items:center}.creator-beam:before{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(100,205,255,.18)}.creator-beam span{position:absolute;width:45px;height:1px;background:#62e4ff;box-shadow:0 0 12px #62e4ff;animation:creatorFlow 2s linear infinite}.creator-beam b{position:relative;background:#07101d;padding:6px 10px;font-size:7px;letter-spacing:.12em;color:#768ea2}@keyframes creatorFlow{from{left:0}to{left:calc(100% - 45px)}}
.build-version{position:fixed;left:16px;bottom:16px;z-index:180;border:1px solid rgba(86,206,255,.13);border-radius:999px;background:rgba(5,11,21,.75);color:#58788d;padding:7px 10px;font-size:7px;letter-spacing:.1em;backdrop-filter:blur(10px)}
.system-notifications{position:fixed;right:18px;top:76px;width:min(340px,calc(100vw - 30px));z-index:300;padding:14px;border:1px solid rgba(89,211,255,.18);border-radius:16px;background:rgba(5,11,22,.96);box-shadow:0 25px 80px rgba(0,0,0,.35);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s}.system-notifications.open{opacity:1;transform:none;pointer-events:auto}.notification-head{display:flex;justify-content:space-between}.notification-head strong{font-size:9px;color:#64ddff}.notification-head button{border:0;background:none;color:#7890a2;font-size:18px}.notice-live{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:9px;color:#9bb1c1}.notice-live b{display:block;color:#71ebc4;font-size:7px;margin-bottom:3px}
.project-modal{position:fixed;inset:0;z-index:500;display:none}.project-modal.open{display:grid;place-items:center}.project-modal-backdrop{position:absolute;inset:0;background:rgba(1,5,11,.75);backdrop-filter:blur(8px)}.project-modal-panel{position:relative;width:min(600px,calc(100vw - 30px));padding:30px;border:1px solid rgba(91,211,255,.2);border-radius:22px;background:#07101d;box-shadow:0 30px 100px #000}.project-modal-close{position:absolute;right:15px;top:12px;border:0;background:none;color:#8499aa;font-size:22px}.project-modal-panel>span{font-size:8px;color:#62ddff}.project-modal-panel h3{font-size:28px;margin:8px 0}.project-modal-panel p{color:#8ea5b6;line-height:1.7}.project-modal-tech{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.project-modal-tech span{padding:6px 8px;border:1px solid rgba(93,211,255,.15);border-radius:7px;font-size:7px;color:#6ddfff}
.first-visit{position:fixed;right:24px;bottom:165px;z-index:350;display:none;align-items:center;gap:12px;max-width:360px;padding:13px;border:1px solid rgba(99,215,255,.2);border-radius:15px;background:rgba(6,13,25,.96);box-shadow:0 20px 60px rgba(0,0,0,.3)}.first-visit.show{display:flex;animation:eventIn .3s ease}.first-visit-core span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #5de1ff;border-radius:50%;color:#dceeff}.first-visit small{display:block;font-size:7px;color:#8b82ff}.first-visit strong{font-size:10px;color:#dcecff}
.boot-v2{position:fixed;inset:0;z-index:9999;display:none;place-items:center;background:#030812}.boot-v2.show{display:grid}.boot-v2-inner{width:min(420px,80vw);text-align:center}.boot-v2-inner b{display:block;font-size:22px;letter-spacing:.15em}.boot-v2-inner span{display:block;margin:12px;color:#65dfff;font-size:8px;letter-spacing:.18em}.boot-v2-inner i{display:block;height:1px;background:linear-gradient(90deg,transparent,#65dfff,transparent);animation:bootLine .65s ease infinite}@keyframes bootLine{50%{opacity:.25}}
.reina-section-active{box-shadow:0 0 0 1px rgba(116,102,255,.12),0 0 70px rgba(101,91,255,.06)}
@media(max-width:800px){.ops-stats{grid-template-columns:1fr 1fr}.ops-grid{grid-template-columns:1fr}.timeline-track{grid-template-columns:1fr 1fr}.creator-link{grid-template-columns:1fr}.creator-beam{transform:rotate(90deg);height:70px}.build-version{display:none}}


/* ===== BOTTOM RIGHT WIDGET STACK FIX ===== */
:root{
  --reina-stack-right: 20px;
  --reina-chat-bottom: 20px;
}

/* chat launcher is the anchor */
.reina-chat{
  right:var(--reina-stack-right)!important;
  bottom:var(--reina-chat-bottom)!important;
}

/* ambient sits directly above launcher */
.ambient-toggle{
  right:var(--reina-stack-right)!important;
  bottom:102px!important;
}

/* mood badge sits above ambient */
.reina-mood-badge{
  right:var(--reina-stack-right)!important;
  bottom:146px!important;
}

/* transient speech / idle messages share ONE slot only */
.reina-random-message,
.reina-idle-bubble{
  right:var(--reina-stack-right)!important;
  bottom:194px!important;
  max-width:260px!important;
}

/* first/repeat-visit greeting goes above all REINA widgets */
.first-visit{
  right:var(--reina-stack-right)!important;
  bottom:252px!important;
  max-width:330px!important;
}

/* notification panel stays independent at the top */
.system-notifications{
  right:20px!important;
  top:76px!important;
  bottom:auto!important;
}

/* prevent two temporary REINA bubbles being visible together */
body.reina-first-visit-active .reina-random-message,
body.reina-first-visit-active .reina-idle-bubble{
  display:none!important;
}

@media(max-width:900px){
  :root{--reina-stack-right:14px}
  .ambient-toggle{bottom:92px!important}
  .reina-mood-badge{bottom:134px!important}
  .reina-random-message,
  .reina-idle-bubble{bottom:180px!important}
  .first-visit{bottom:232px!important;max-width:300px!important}
}

@media(max-width:620px){
  .reina-mood-badge{display:none!important}
  .ambient-toggle{bottom:88px!important}
  .reina-random-message,
  .reina-idle-bubble{bottom:132px!important;max-width:min(260px,calc(100vw - 28px))!important}
  .first-visit{right:14px!important;left:14px!important;bottom:188px!important;max-width:none!important}
}

/* ===== RUKI FEATURE SUITE 15 ===== */
.project-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.project-filter{display:flex;gap:6px;flex-wrap:wrap}.project-filter button,.explorer-detail,.system-log-viewer button{border:1px solid rgba(83,204,255,.14);background:rgba(7,15,28,.72);color:#6e8da3;border-radius:8px;padding:8px 10px;font:700 7px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.project-filter button.active{color:#65e2ff;border-color:rgba(89,222,255,.4);box-shadow:inset 0 0 15px rgba(77,195,255,.05)}.project-search{display:flex;align-items:center;gap:8px;width:min(340px,100%);padding:8px 12px;border:1px solid rgba(83,204,255,.12);border-radius:10px;background:rgba(5,12,23,.7)}.project-search span{color:#5bdfff}.project-search input{width:100%;border:0;outline:0;background:none;color:#cce4f4;font-size:9px}.explorer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.explorer-project{position:relative;padding:22px;overflow:hidden;transition:transform .25s,border-color .25s,opacity .2s}.explorer-project:hover{transform:translateY(-3px);border-color:rgba(89,213,255,.28)}.explorer-project.hidden{display:none}.project-state{font-size:7px;letter-spacing:.13em;color:#61dfff}.explorer-project h3{margin:9px 0;font-size:20px}.explorer-project p{color:#71899b;font-size:10px;line-height:1.7}.explorer-tags{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.explorer-tags span{padding:5px 7px;border:1px solid rgba(89,203,255,.12);border-radius:6px;font-size:6px;color:#739bb3}.explorer-detail{color:#91ddf5}.project-empty{display:none;text-align:center;padding:30px;color:#536e81;font-size:8px}.project-empty.show{display:block}
/* project color identity */
.project-reina{--project-glow:121,94,255}.project-hgmc{--project-glow:44,191,255}.project-aria{--project-glow:95,225,209}.project-astra{--project-glow:113,136,255}.explorer-project:after{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(var(--project-glow),.07);filter:blur(20px);pointer-events:none}
.experiment-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.experiment-panel,.capability-panel{padding:20px}.suite-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.suite-title>span{font-size:8px;letter-spacing:.15em;color:#60dfff}.suite-title b{font-size:7px;color:#8179e9}.experiment-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.045)}.experiment-row strong{font-size:9px}.experiment-row span{font-size:7px}.experiment-row.online span{color:#70eac3}.experiment-row.testing span{color:#61dfff}.experiment-row.planned span{color:#746f93}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.capability-grid>div{padding:13px;border:1px solid rgba(255,255,255,.05);border-radius:10px;background:rgba(255,255,255,.015)}.capability-grid i{display:block;font-style:normal;font-size:6px;color:#5bdfff}.capability-grid strong{display:block;margin:6px 0;font-size:10px}.capability-grid span{font-size:7px;color:#667e90}.ruki-reina-story{display:grid;grid-template-columns:1fr 90px 1fr 90px 1fr;align-items:center;margin-top:16px;padding:24px}.story-node small{font-size:6px;color:#5bdfff}.story-node strong{display:block;margin:8px 0;font-size:14px}.story-node p{margin:0;font-size:8px;line-height:1.6;color:#71889a}.story-node.active strong{color:#79e8c4}.story-link{height:1px;background:rgba(83,208,255,.15);position:relative}.story-link span{position:absolute;top:-1px;width:30px;height:2px;background:#61ddff;box-shadow:0 0 10px #61ddff;animation:storyFlow 2s linear infinite}@keyframes storyFlow{from{left:0}to{left:calc(100% - 30px)}}
.health-grid{display:grid;grid-template-columns:.72fr 1fr 1fr;gap:14px}.health-score,.network-quality,.recovery-card{padding:20px}.health-score{position:relative;min-height:190px;display:flex;flex-direction:column;justify-content:center}.health-score>span{font-size:7px;letter-spacing:.15em;color:#5bdfff}.health-score>strong{font-size:48px;line-height:1;margin:8px 0}.health-score>b{font-size:8px;color:#72eac3}.health-ring{position:absolute;right:20px;width:88px;height:88px;border-radius:50%;border:1px solid rgba(92,218,255,.15);box-shadow:inset 0 0 20px rgba(83,202,255,.05)}.quality-meter{height:5px;background:#111d2b;border-radius:999px;overflow:hidden;margin:24px 0}.quality-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6b76ff,#60e1ff,#6ce7bc);transition:width .35s}.quality-data{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid rgba(255,255,255,.045)}.quality-data span{font-size:7px;color:#5e7689}.quality-data strong{font-size:8px}.recovery-flow{display:flex;align-items:center;gap:9px;margin:26px 0 12px}.recovery-flow span{width:8px;height:8px;border-radius:50%;background:#6ce9c1;box-shadow:0 0 12px #6ce9c1}.recovery-flow strong{font-size:11px}.recovery-card p{font-size:8px;color:#6e8799;line-height:1.6}.system-log-viewer{margin-top:14px;padding:18px}.system-log-lines{height:180px;overflow:auto;padding:12px;background:#040a13;border:1px solid rgba(255,255,255,.04);border-radius:10px;font:500 8px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#70899b}.system-log-lines div b{color:#5bdfff;font-weight:500}.system-log-lines div .ok{color:#6de7be}.system-log-lines div .warn{color:#c5a46b}
.profile-document{display:grid;grid-template-columns:260px 1fr;gap:30px;padding:18px}.profile-document-left{position:relative;min-height:300px;border-radius:17px;overflow:hidden}.profile-document-left img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.profile-document-left>span{position:absolute;left:12px;bottom:12px;padding:7px 9px;border-radius:999px;background:rgba(4,11,20,.82);font-size:7px;color:#6feac1}.profile-document-left i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6feac1;margin-right:5px}.profile-document-main{padding:24px 12px}.profile-document-main>small{font-size:7px;color:#5bdfff;letter-spacing:.15em}.profile-document-main h3{font-size:52px;margin:8px 0}.profile-document-main h3 span{color:#8278f5;font-size:.45em}.profile-document-main>p{color:#839bad;font-size:10px}.profile-document-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.profile-document-data>div{padding:11px;border:1px solid rgba(255,255,255,.05);border-radius:9px}.profile-document-data span{display:block;font-size:6px;color:#557084}.profile-document-data strong{font-size:8px;color:#b9d1e0}.profile-document-actions{display:flex;gap:8px;margin-top:18px}.profile-document-actions a{padding:9px 12px;border:1px solid rgba(85,207,255,.15);border-radius:8px;color:#82dff5;font-size:7px}
/* 3D tilt + neon scan */
.tilt-card{transform-style:preserve-3d;will-change:transform;transition:transform .15s ease}.scan-reveal{position:relative;overflow:hidden}.scan-reveal.scanned:before{content:"";position:absolute;z-index:8;left:-30%;top:0;width:25%;height:100%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(101,223,255,.14),transparent);animation:scanReveal .85s ease forwards}@keyframes scanReveal{to{left:120%}}
.project-gallery-modal{position:fixed;inset:0;z-index:650;display:none}.project-gallery-modal.open{display:grid;place-items:center}.gallery-backdrop{position:absolute;inset:0;background:rgba(1,5,11,.8);backdrop-filter:blur(9px)}.gallery-panel{position:relative;width:min(760px,calc(100vw - 28px));padding:20px;border:1px solid rgba(86,208,255,.2);border-radius:20px;background:#07101d}.gallery-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#7b92a3;font-size:22px}.gallery-head span{display:block;font-size:7px;color:#5bdfff}.gallery-head strong{display:block;margin:5px 0 14px;font-size:17px}.gallery-stage{height:360px;overflow:hidden;border-radius:14px}.gallery-slide{display:none;width:100%;height:100%}.gallery-slide.active{display:block}.gallery-placeholder{height:100%;display:grid;place-content:center;text-align:center;border:1px solid rgba(87,206,255,.09);background:radial-gradient(circle at 50% 40%,rgba(85,117,255,.1),transparent 45%),#050b15}.gallery-placeholder b{font-size:44px;color:#172d42}.gallery-placeholder strong{font-size:14px;color:#bcd7e7}.gallery-placeholder span{font-size:7px;color:#526c80;margin-top:7px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.gallery-controls button{border:0;background:none;color:#68dfff;font-size:8px}.gallery-controls span{font-size:7px;color:#657e91}
/* Mobile Project Drawer */
@media(max-width:720px){
 .project-tools{align-items:stretch;flex-direction:column}.project-search{width:100%}.explorer-grid,.experiment-layout,.health-grid{grid-template-columns:1fr}.ruki-reina-story{grid-template-columns:1fr;gap:14px}.story-link{height:35px;width:1px;justify-self:center}.story-link span{width:2px;height:15px;animation:none}.profile-document{grid-template-columns:1fr}.profile-document-left{min-height:390px}.profile-document-data{grid-template-columns:1fr}.gallery-panel{position:absolute;left:0;right:0;bottom:0;width:100%;border-radius:22px 22px 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom));animation:drawerUp .28s ease}.gallery-stage{height:45vh}@keyframes drawerUp{from{transform:translateY(100%)}to{transform:none}}
}
