
/* Layout: an app-like site. Floating glass nav (bottom tab bar on phones), a living aurora behind everything, one page shown at a time. Night palette on purpose: attacks come at night. */
:root{
  --bg:#070914; --bg2:#0d1124; --glass:rgba(24,29,62,.55); --glass2:rgba(34,40,82,.6); --line:rgba(150,160,255,.14); --line2:rgba(150,160,255,.28);
  --ink:#eef0ff; --mute:#a0a6cf; --dim:#6f75a3;
  --clock:#4ff0d6; --pain:#ffa24c; --auto:#b88cff; --felt:#ff5f86;
  --display:"Unbounded","Trebuchet MS",sans-serif;
  --body:"Onest","Segoe UI",Roboto,sans-serif;
  --r:20px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden;min-height:100vh}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--clock);outline-offset:3px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.01em;text-wrap:balance;margin:0}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clock)}
.mute{color:var(--mute)}

/* living background */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 700px at 70% -10%,#151a3d 0%,transparent 60%),var(--bg)}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38;animation:drift 26s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:46vw;height:46vw;left:-10vw;top:-12vw;background:#2a2fa8}
.aurora i:nth-child(2){width:36vw;height:36vw;right:-8vw;top:20vh;background:#0f7f7a;animation-duration:32s;opacity:.25}
.aurora i:nth-child(3){width:40vw;height:40vw;left:30vw;bottom:-22vw;background:#6a2fb0;animation-duration:38s;opacity:.28}
@keyframes drift{to{transform:translate(6vw,4vh) scale(1.15)}}
.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 20%,#fff6,transparent),radial-gradient(1px 1px at 40% 80%,#fff5,transparent),radial-gradient(1px 1px at 85% 65%,#fff7,transparent),radial-gradient(1px 1px at 10% 70%,#fff4,transparent),radial-gradient(1.5px 1.5px at 55% 45%,#fff6,transparent);background-size:600px 600px;animation:twinkle 8s ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.4}}

/* nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;padding-block:14px}
.topbar .wrap{display:flex;align-items:center;gap:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:.02em;flex-shrink:0}
.logo .mark{width:38px;height:38px;border-radius:50%;background:#04122a url("data:image/webp;base64,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") center/cover;box-shadow:0 0 18px rgba(79,240,214,.45);position:relative}
.logo .mark::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(79,240,214,.35);animation:ring 3s ease-out infinite}
@keyframes ring{from{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}
.navpill{position:relative;display:flex;gap:2px;padding:5px;margin:0 auto;background:var(--glass);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.navpill a{position:relative;z-index:1;display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:500;color:var(--mute);transition:color .25s;white-space:nowrap}
.navpill a svg{width:17px;height:17px;flex-shrink:0}
.navpill a:hover{color:var(--ink)}
.navpill a.on{color:#06121a}
.navpill .glow{position:absolute;z-index:0;top:5px;bottom:5px;border-radius:999px;background:linear-gradient(135deg,var(--clock),#7ee8ff);box-shadow:0 0 24px rgba(79,240,214,.5);transition:left .45s cubic-bezier(.6,.0,.2,1),width .45s cubic-bezier(.6,.0,.2,1)}
.lang{display:flex;padding:4px;background:var(--glass);border:1px solid var(--line);border-radius:999px;flex-shrink:0;backdrop-filter:blur(16px)}
.lang button{background:none;border:0;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--mute)}
.lang button[aria-pressed="true"]{background:var(--glass2);color:var(--ink)}
.tabbar{display:none}
@media (max-width:980px){.navpill a span{display:none}.navpill a{padding:9px 12px}}
@media (max-width:720px){
  .navpill{display:none}
  .topbar .wrap{justify-content:space-between}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;justify-content:space-around;padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:rgba(10,13,32,.82);backdrop-filter:blur(18px);border-top:1px solid var(--line)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--dim);text-decoration:none;background:none;border:0;padding:4px 8px;border-radius:12px;min-width:58px}
  .tabbar svg{width:22px;height:22px}
  .tabbar .on{color:var(--clock)}
  main{padding-bottom:90px}
}
.sheet{position:fixed;inset:0;z-index:40;background:rgba(3,4,12,.6);backdrop-filter:blur(4px);display:flex;align-items:flex-end}
.sheet>div{width:100%;background:var(--bg2);border-top:1px solid var(--line2);border-radius:24px 24px 0 0;padding:18px max(18px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));animation:up .35s cubic-bezier(.2,.8,.2,1)}
.sheet a{display:flex;align-items:center;gap:14px;padding:14px 8px;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
.sheet a:last-child{border-bottom:0}
.sheet svg{width:22px;height:22px;color:var(--clock)}
@keyframes up{from{transform:translateY(60%)}}

/* pages */
.page{animation:pageIn .6s cubic-bezier(.2,.8,.2,1)}
@keyframes pageIn{from{opacity:.35;transform:translateY(14px)}}
.rise{animation:rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0)*70ms)}
@keyframes rise{from{opacity:.25;transform:translateY(18px)}}
.phead{padding-block:40px 28px}
.phead h1{font-size:clamp(30px,4.6vw,54px);line-height:1.08;margin-top:10px;max-width:18ch}
.phead p{max-width:60ch;color:var(--mute);margin:16px 0 0;font-size:17px}
.crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--mute);margin-bottom:14px}
.crumbs a{text-decoration:none;color:var(--clock)}

/* glass card with cursor glow */
.card{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:22px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);min-width:0;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .35s}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(79,240,214,.13),transparent 45%);opacity:0;transition:opacity .3s}
.card:hover::before{opacity:1}
a.card{text-decoration:none;display:block}
a.card:hover,button.card:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.35)}
button.card{text-align:left;width:100%;cursor:pointer}
.card h3{font-size:17px;line-height:1.3;margin:12px 0 8px}
.card p{margin:0;color:var(--mute);font-size:15px}
.ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(79,240,214,.1);color:var(--clock);border:1px solid rgba(79,240,214,.2)}
.ico svg{width:24px;height:24px}
.ico.pain{background:rgba(255,162,76,.1);color:var(--pain);border-color:rgba(255,162,76,.22)}
.ico.auto{background:rgba(184,140,255,.1);color:var(--auto);border-color:rgba(184,140,255,.22)}
.ico.felt{background:rgba(255,95,134,.1);color:var(--felt);border-color:rgba(255,95,134,.22)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;color:var(--clock)}
.more svg{width:16px;height:16px;transition:transform .25s}
.card:hover .more svg{transform:translateX(4px)}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:var(--glass2);border-radius:999px;padding:11px 20px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .2s,box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:linear-gradient(135deg,var(--clock),#7ee8ff);color:#04131a;border-color:transparent;box-shadow:0 8px 30px rgba(79,240,214,.35)}
.btn.primary:hover{box-shadow:0 12px 40px rgba(79,240,214,.55)}
.btn svg{width:18px;height:18px}
.demo{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--pain);background:rgba(255,162,76,.1);border:1px solid rgba(255,162,76,.25);padding:4px 12px;border-radius:999px}
section.block{padding-block:56px}
.bhead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.bhead h2{font-size:clamp(24px,3vw,36px);margin-top:8px}

/* home hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;align-items:center;min-height:min(80vh,760px)}
.hero h1{font-size:clamp(34px,5.4vw,68px);line-height:1.04;margin:14px 0 18px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--clock),#8fa8ff 50%,var(--auto));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.hero p.lead{color:var(--mute);font-size:18px;max-width:40ch;margin:0 0 26px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.stage{position:relative;height:min(76vh,700px);min-height:440px}
#brain{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
#brain:active{cursor:grabbing}
.tags{position:absolute;inset:0;pointer-events:none}
.tag{position:absolute;transform:translate(-50%,-140%);pointer-events:auto;background:rgba(14,18,42,.78);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:3px 11px 3px 4px;font-size:12px;font-weight:500;white-space:nowrap;display:flex;gap:7px;align-items:center;transition:opacity .3s,border-color .3s;color:var(--ink);border:0;box-shadow:0 0 0 1px var(--line)}
.tag b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#070914}
.tag.dim{opacity:.22}
.tag.active{box-shadow:0 0 0 1px currentColor,0 0 18px currentColor}
.tag span{color:var(--ink)}
.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:10px;align-items:center;font-size:13px;color:var(--mute);pointer-events:none;transition:opacity .6s}
.loading i{width:10px;height:10px;border-radius:50%;background:var(--clock);box-shadow:0 0 14px var(--clock);animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(.5);opacity:.4}}
.info{position:absolute;right:0;top:14px;width:330px;max-width:100%;background:rgba(14,18,42,.86);border:1px solid var(--line2);border-radius:var(--r);padding:20px;backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.45);animation:rise .4s cubic-bezier(.2,.8,.2,1)}
.info .k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.info h3{font-size:20px;margin:6px 0 10px}
.info p{margin:0 0 10px;font-size:14px}
.info .tx{font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding-top:10px}
.info .close{position:absolute;right:12px;top:10px;background:none;border:0;color:var(--mute);font-size:22px;line-height:1}
.info .bar{height:3px;border-radius:2px;background:var(--line);margin-top:12px;overflow:hidden}
.info .bar i{display:block;height:100%;background:var(--clock);width:0}
.stagebar{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.chip{background:rgba(14,18,42,.7);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;backdrop-filter:blur(10px);transition:border-color .2s}
.chip:hover{border-color:var(--line2)}
.chip.play{border-color:rgba(79,240,214,.5);color:var(--clock)}
.hint{position:absolute;left:50%;top:6px;transform:translateX(-50%);font-size:12px;color:var(--dim);white-space:nowrap}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0;gap:0}
  .hero .copy{order:2;padding-bottom:20px}
  .stage{order:1;height:62vh;min-height:380px}
  .stage.has-info .stagebar,.stage.has-info .hint{display:none}
  .info{left:0;right:0;top:auto;bottom:6px;width:auto;max-height:36%;overflow:auto;padding:12px 40px 12px 14px}.info h3{font-size:16px;margin:4px 0 6px}.info p{font-size:13px;margin:0 0 6px}.info .tx{display:none}.info .bar{margin-top:6px}
}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{padding:22px}
.stat b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(26px,3.2vw,40px);line-height:1.1;background:linear-gradient(135deg,#fff,#a9b4ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat span{display:block;color:var(--mute);font-size:14px;margin-top:8px}
@media (max-width:820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* article */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;padding-bottom:60px}
.prose{font-size:17px;line-height:1.75;max-width:68ch}
.prose h2{font-size:22px;margin:34px 0 12px}
.prose p{margin:0 0 16px}
.prose ul{margin:0 0 16px;padding-left:22px}
.prose li{margin-bottom:8px}
.callout{border-radius:16px;padding:16px 18px;background:rgba(79,240,214,.07);border:1px solid rgba(79,240,214,.22);font-size:15px;margin:22px 0}
.callout.warn{background:rgba(255,162,76,.07);border-color:rgba(255,162,76,.25)}
.aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:12px}
.aside a{text-decoration:none}
@media (max-width:900px){.article{grid-template-columns:1fr}.aside{position:static}}

/* treatment */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tabs button{background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:600;font-size:14px;color:var(--mute);transition:all .25s}
.tabs button[aria-selected="true"]{background:var(--ink);color:#0a0d22;border-color:var(--ink)}
.ev{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--mute)}
.ev .m{display:flex;gap:4px}
.ev .m i{width:22px;height:6px;border-radius:3px;background:var(--line2)}
.ev .m i.f{background:linear-gradient(90deg,var(--clock),#7ee8ff);box-shadow:0 0 8px rgba(79,240,214,.6)}
.tagline{display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--glass2);color:var(--mute);border:1px solid var(--line)}
.pill.on{color:var(--clock);border-color:rgba(79,240,214,.35)}
.pill.done{color:var(--auto);border-color:rgba(184,140,255,.35)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:22px 0}
.facts div{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:14px}
.facts small{display:block;color:var(--dim);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.facts b{display:block;margin-top:4px;font-weight:600}

/* research timeline */
.tl{position:relative;display:flex;flex-direction:column;gap:16px;padding-left:28px}
.tl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--clock),var(--auto),transparent)}
.tl .card::after{content:"";position:absolute;left:-26px;top:28px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--clock);box-shadow:0 0 12px var(--clock)}
.tl .card{overflow:visible}

/* forum */
.forum{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start;padding-bottom:60px}
.cats{position:sticky;top:100px;display:flex;flex-direction:column;gap:4px}
.cats button{display:flex;align-items:center;gap:12px;background:none;border:0;border-radius:14px;padding:10px 12px;text-align:left;font-weight:500;color:var(--mute);transition:background .2s,color .2s}
.cats button:hover{background:var(--glass)}
.cats button[aria-pressed="true"]{background:var(--glass2);color:var(--ink)}
.cats .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.cats .n{margin-left:auto;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}
.ftools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.search{flex:1;min-width:200px;display:flex;align-items:center;gap:10px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:0 16px}
.search input{flex:1;background:none;border:0;padding:11px 0;outline:0;min-width:0}
.search svg{width:18px;height:18px;color:var(--dim)}
.sort{display:flex;gap:4px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:4px}
.sort button{background:none;border:0;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--mute)}
.sort button[aria-pressed="true"]{background:var(--glass2);color:var(--ink)}
.topics{display:flex;flex-direction:column;gap:10px}
.topic,a.card.topic{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px}
.ava{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:16px;color:#08101e;flex-shrink:0}
.ava.sm{width:36px;height:36px;font-size:14px}
.topic h3{font-family:var(--body);font-weight:600;font-size:16px;margin:0 0 4px;line-height:1.35}
.topic .meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--dim)}
.topic .cnt{text-align:right;font-size:13px;color:var(--mute);white-space:nowrap}
.topic .cnt b{display:block;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.pin{color:var(--pain);font-weight:600}
.solved{color:var(--clock);font-weight:600}
@media (max-width:820px){.forum{grid-template-columns:1fr}.cats{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px}.cats button{white-space:nowrap}.cats .n{display:none}.topic{grid-template-columns:40px minmax(0,1fr)}.topic .cnt{display:none}}
.post{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px}
.post .who{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}
.post .who b{font-weight:600}
.post .who small{color:var(--dim)}
.badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(184,140,255,.14);color:var(--auto)}
.post p{margin:0 0 10px;white-space:pre-line;overflow-wrap:anywhere}.post p a,.src a,.srcl{color:var(--accent,#4ff0d6)}.srcl{display:inline-block;margin-top:6px;font-size:13px;text-decoration:none}.src li{overflow-wrap:anywhere}
.react{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.react button{display:inline-flex;gap:6px;align-items:center;background:var(--glass2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--mute);transition:all .2s}
.react button[aria-pressed="true"]{color:var(--clock);border-color:rgba(79,240,214,.45);background:rgba(79,240,214,.08)}
.react button:active{transform:scale(.94)}
.composer{display:flex;flex-direction:column;gap:12px}
.composer textarea,.composer input,.composer select{width:100%;background:rgba(7,9,20,.6);border:1px solid var(--line);border-radius:14px;padding:12px 14px;outline:0;resize:vertical}
.composer textarea:focus,.composer input:focus,.composer select:focus{border-color:rgba(79,240,214,.5)}
.composer .row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.modal{position:fixed;inset:0;z-index:50;background:rgba(3,4,12,.65);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}
.modal>.card{width:min(620px,100%);animation:rise .35s cubic-bezier(.2,.8,.2,1)}

/* map */
.cover{padding:0;margin-bottom:20px}
.cover.fbanner img{height:clamp(170px,26vw,360px);object-fit:cover;object-position:center 55%}
.kcard{padding:0 0 20px}
.kcard>*:not(.thumb){margin-left:20px;margin-right:20px}
.thumb{display:block;background:radial-gradient(120% 90% at 30% 20%,rgba(79,240,214,.18),transparent 60%),radial-gradient(100% 80% at 80% 90%,rgba(184,140,255,.2),transparent 60%),#0b0f2a;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--line);margin-bottom:4px}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.kcard:hover .thumb img{transform:scale(1.06)}
.ahero{display:grid;grid-template-columns:minmax(0,1fr) min(360px,38%);gap:36px;align-items:center}
.aimg{border-radius:24px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 24px 70px rgba(0,0,0,.45),0 0 60px rgba(79,240,214,.08)}
.aimg img{display:block;width:100%;height:auto}
@media (max-width:760px){.ahero{grid-template-columns:1fr}.aimg{order:-1;max-width:420px}}
.cover img{display:block;width:100%;height:auto;max-width:100%}
.mapwrap{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;padding-bottom:60px}.mapwrap>.card:last-child{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:4px 36px;align-items:start}.mapwrap>.card:last-child>p{grid-column:1;grid-row:1}.mapwrap>.card:last-child>.bars{grid-column:1;grid-row:2}.mapwrap>.card:last-child>.composer{grid-column:2;grid-row:1/span 2}.mapwrap>.card:last-child>.composer:first-child{grid-column:1/-1;grid-row:auto}.mapwrap>.card:last-child .composer{margin-top:0!important}.maptip{position:absolute;transform:translate(-50%,-140%);pointer-events:none;background:rgba(10,12,35,.92);border:1px solid var(--line2);border-radius:10px;padding:5px 10px;font-size:13px;white-space:nowrap}
.mapsvg{position:relative}.mapsvg svg{width:100%;height:auto;display:block}.mapsvg path{stroke:#0a0d26;stroke-width:1.2;stroke-linejoin:round;transition:filter .2s}.mapsvg path:hover{filter:brightness(1.6)}.mapsvg .lbl text{fill:rgba(205,210,255,.62);font-weight:600;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:rgba(8,10,30,.85);stroke-width:5px;pointer-events:none}.mapsvg .lbl .on{fill:#eafffb}.mapsvg .lbl .me{fill:#ffc48a}.mapsvg .pulse{fill:none;stroke:#4ff0d6;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:mpulse 2.4s ease-out infinite;pointer-events:none}@keyframes mpulse{from{transform:scale(.4);opacity:.9}to{transform:scale(2.2);opacity:0}}.mapscroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}@media (max-width:760px){.mapsvg{width:1000px}}
.bars{display:flex;flex-direction:column;gap:12px}
.barrow{display:grid;grid-template-columns:120px minmax(0,1fr) 48px;gap:12px;align-items:center;font-size:14px}
.barrow .t{height:8px;border-radius:4px;background:var(--line)}
.barrow .t i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--clock),var(--auto));animation:grow 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{width:0!important}}
.barrow span:last-child{text-align:right;color:var(--mute);font-variant-numeric:tabular-nums}
@media (max-width:860px){.mapwrap>.card:last-child{grid-template-columns:1fr}.mapwrap>.card:last-child>.composer{grid-column:1;grid-row:auto;margin-top:18px!important}}

/* diary */
.diary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding-bottom:60px}
.phone{width:min(300px,80vw);aspect-ratio:9/19;margin:0 auto;border-radius:44px;border:2px solid var(--line2);background:linear-gradient(180deg,#0e1330,#090b1c);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 0 8px #05060f;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px}
.phone .orb{width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd3a8,var(--pain) 40%,#a3430c 80%);box-shadow:0 0 60px rgba(255,162,76,.55);display:grid;place-items:center;font-weight:700;color:#2a0f00;text-align:center;font-size:15px;animation:breathe 3.5s ease-in-out infinite}
@keyframes breathe{50%{transform:scale(1.05);box-shadow:0 0 90px rgba(255,162,76,.75)}}
.phone small{color:var(--mute);text-align:center}
.feat{display:flex;flex-direction:column;gap:12px;margin:24px 0}
.feat div{display:flex;gap:14px;align-items:flex-start}
@media (max-width:860px){.diary{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding-block:30px;color:var(--dim);font-size:13px}
footer p{margin:0 0 6px;max-width:80ch}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
