:root{--bg:#080911;--panel:#10111f;--line:#333044;--text:#f7ecf4;--muted:#a79aad;--blue:#9dc6ff;--red:#ff91ad;--pink:#ffc5df;--mono:'DM Mono',monospace;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--sans);background:radial-gradient(ellipse at 50% -8%,#422b4f42,transparent 44%),radial-gradient(ellipse at 5% 66%,#263d6240,transparent 33%),radial-gradient(ellipse at 96% 70%,#68304640,transparent 36%),#080911;overflow-x:hidden}body:before{position:fixed;content:'';inset:0;pointer-events:none;opacity:.21;background-image:linear-gradient(#80758e21 1px,transparent 1px),linear-gradient(90deg,#80758e21 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 90%,transparent)}.ambient{position:fixed;width:360px;height:360px;filter:blur(100px);opacity:.13;border-radius:100%;pointer-events:none}.ambient-one{background:#678fff;left:-200px;top:400px}.ambient-two{background:#ff5e9d;right:-180px;top:450px}.sparkles{pointer-events:none;position:absolute;top:180px;left:7%;font-size:22px;color:#b8c9ff66;letter-spacing:70vw}.sparkles span{position:absolute;top:260px;left:40vw;color:#fcaac266}.topbar{height:74px;padding:0 clamp(18px,4.5vw,75px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff16;background:#0b0b1480;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;font-weight:500}.brand-icon{color:#ff9dc0;font-size:29px;text-shadow:0 0 22px #ff89b766}.brand-alt{color:#b3a2bd}.system-clock{font:10px var(--mono);color:#ad9eb2;letter-spacing:.1em;display:flex;gap:12px;align-items:center}.system-clock #clock{color:#f0d4e3}.online-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:100%;background:#ffb6ce;box-shadow:0 0 12px #ff8ab0}.clock-sep{opacity:.4}main{max-width:1450px;padding:0 clamp(13px,3.7vw,55px);margin:auto;position:relative}.intro{text-align:center;padding:78px 0 50px;position:relative}.hero-pill{display:inline-flex;gap:13px;align-items:center;font:9px var(--mono);letter-spacing:.16em;color:#fbd4e6;background:#ffbed314;border:1px solid #fbb5d63c;padding:11px 17px;border-radius:30px}.hero-pill span{color:#ffb6d5}.intro-overline{color:#a998b9;letter-spacing:.27em;font:10px var(--mono);margin:37px 0 14px}.intro h1{font:600 clamp(58px,8.4vw,110px)/1.1 var(--serif);letter-spacing:-.06em;margin:0 auto 25px;text-shadow:0 6px 65px #d64f9e28}.intro h1 em{font-weight:500;font-style:italic;background:linear-gradient(100deg,#b3cfff,#f2b2e3 55%,#ffabc4);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-description{margin:0 auto;line-height:1.9;font-size:15px;color:#bdb0c2}.hero-description strong{color:#fbe0f0;font-weight:600}.date-range{display:flex;align-items:center;justify-content:center;gap:24px;margin:28px auto 0;font:11px var(--mono);color:#cab7ce}.date-heart{font:19px var(--serif);color:#e9a3cc;display:flex;align-items:center;gap:8px}.date-heart i{width:80px;height:1px;background:linear-gradient(90deg,transparent,#e3a2c6,transparent)}.hero-scroll{display:flex;align-items:center;justify-content:center;gap:15px;margin:38px 0 0;font:9px var(--mono);letter-spacing:.14em;color:#95849e}.scroll-line{height:1px;width:35px;background:#766076}.system{border:1px solid #b1a1be36;border-radius:22px;background:linear-gradient(155deg,#131425e8,#0e101df5 55%,#171120f0);box-shadow:0 30px 100px #0006,0 0 80px #ffc3e409,inset 0 1px #ffffff11;overflow:hidden}.system-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 27px;border-bottom:1px solid #c7b2c323;font:10px var(--mono);letter-spacing:.12em;color:#d6b8cf}.system-heading .online-dot{margin-right:9px}.heading-code,.system-right{color:#92849c}.network{isolation:isolate;display:grid;position:relative;grid-template-columns:minmax(0,1fr) 205px minmax(0,1fr);align-items:center;gap:24px;padding:45px 34px 53px;min-height:710px}.network:before{content:'';position:absolute;z-index:-1;inset:10% 20%;background:radial-gradient(ellipse at center,#e39ddd12,transparent 66%)}.wires{position:absolute;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}.cluster{min-width:0}.cluster-heading{display:flex;align-items:center;gap:10px;min-height:46px;margin-bottom:25px}.channel-symbol{flex:none;display:grid;place-items:center;height:38px;width:38px;border-radius:12px;font-size:21px}.blue-symbol{color:#b5d4ff;background:#83aaf325;border:1px solid #a3c4ff44}.red-symbol{color:#ffc0ce;background:#f67eaf25;border:1px solid #ff9fbb44}.channel-info{display:flex;flex-direction:column;gap:5px;min-width:0}.channel-info strong{font:500 11px var(--mono);letter-spacing:.08em;white-space:nowrap}.blue-cluster .channel-info strong{color:#b9d7ff}.red-cluster .channel-info strong{color:#ffb5cc}.channel-info small{font-size:11px;color:#a396aa;white-space:nowrap}.cluster-heading .small{margin-left:auto;font:10px var(--mono);color:#9f93a9;white-space:nowrap}.nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:22px 8px}.node{width:67px;height:67px;max-width:100%;border-radius:50%;border:1px solid #65596d80;background:radial-gradient(circle at 33% 25%,#3b3a4d,#191925 76%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#af9cad;box-shadow:inset 0 0 12px #0005;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;z-index:1}.node .day{font:500 12px var(--mono);letter-spacing:-.04em;color:#c9b9ca}.node .year{font:9px var(--mono);color:#8c8094;margin-top:2px}.node .node-id{position:absolute;top:-8px;right:-5px;color:#98879d;background:#161321;padding:3px 4px;border-radius:5px;font:8px var(--mono);border:1px solid #62566a55}.node:disabled{opacity:.57;cursor:not-allowed}.node.unlocked.blue{border-color:#9ac8ff;background:radial-gradient(circle at 34% 28%,#41618e,#1a2e4f 80%);box-shadow:0 0 19px #6db0ff44,inset 0 0 15px #759fff22}.node.unlocked.red{border-color:#ff9eba;background:radial-gradient(circle at 34% 28%,#914962,#3d1f39 80%);box-shadow:0 0 19px #ff6fa544,inset 0 0 15px #ff9fd122}.node.unlocked .day{color:#fff0f8}.node.today.blue{border-color:#ddedff;box-shadow:0 0 0 4px #82b0fa20,0 0 30px #89adff8a;animation:pulseBlue 3s infinite}.node.today.red{border-color:#ffe3ec;box-shadow:0 0 0 4px #ff91ba20,0 0 30px #ff84bb8a;animation:pulseRed 3s infinite}.node:not(:disabled):hover{transform:translateY(-4px) scale(1.07)}.node:focus-visible,.close:focus-visible,.message-foot button:focus-visible{outline:2px solid #fff;outline-offset:4px}.hub-column{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.hub-wrap{width:185px;height:185px;position:relative;display:grid;place-items:center}.hub-halo{position:absolute;inset:0;border:1px dashed #e1b8d566;border-radius:50%;animation:rotate 65s linear infinite}.hub-halo:after{content:'✧';position:absolute;top:8px;left:16px;color:#ffc5de;font-size:17px;text-shadow:0 0 14px #f99dc2}.inner-halo{inset:14px;border-style:solid;border-color:#f5cae033;animation-direction:reverse}.inner-halo:after{content:''}.hub{width:139px;height:139px;border-radius:50%;background:radial-gradient(circle at center,#38273e,#1b2036 75%);border:1px solid #f2bbdc8a;box-shadow:0 0 55px #f89cca33,inset 0 0 30px #e3b6ff25;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}.hub-top,.hub-bottom{font:9px var(--mono);letter-spacing:.12em;color:#dcc2dc}.hub-heart{font:75px/1 var(--serif);color:#ffbedb;text-shadow:0 0 29px #ff9dc9a8;animation:heartbeat 3.8s ease-in-out infinite}.hub-caption{text-align:center;font:9px/2 var(--mono);color:#9f92aa;letter-spacing:.06em;margin:0}.hub-caption span{color:#f6b4d6}.hub-state{border:1px solid #ab87a34b;background:#f3bfd810;color:#efc5df;font:9px var(--mono);letter-spacing:.06em;padding:9px 13px;border-radius:30px}.hub-state i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#f9a8ca;margin-right:7px;box-shadow:0 0 8px #f9a8ca}.system-footer{border-top:1px solid #c7b2c323;display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap;padding:19px;font:9px var(--mono);color:#a69ab0;letter-spacing:.08em}.system-footer span{display:flex;align-items:center;gap:7px}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.legend-dot.available{background:#9dc6ff}.legend-dot.current{background:#ffaac8;box-shadow:0 0 10px #ffaac8}.legend-dot.locked{border:1px solid #776a84}.afterword{padding:68px 12px 48px;text-align:center;max-width:600px;margin:auto}.afterword-icon{font-size:27px;color:#f4b6d6}.afterword h2{font:500 clamp(27px,4vw,40px)/1.4 var(--serif);margin:13px auto 15px}.afterword h2 em{color:#e7a8cf}.afterword p{font-size:13px;line-height:2;color:#b4a6ba}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 42px}.infocard{background:#161423ca;border:1px solid #bba5c02f;border-radius:16px;padding:27px 30px}.mini-title{font:10px var(--mono);color:#edb5d4;letter-spacing:.08em}.big-metric{font:500 44px var(--serif);color:#f5d8e8;margin-top:12px}.big-metric span{font:11px var(--mono);color:#9d90a7}.bar-track{height:4px;margin:19px 0 13px;background:#403249;border-radius:20px;overflow:hidden}.bar-fill{height:100%;width:0;background:linear-gradient(90deg,#97b9ff,#ee99c4);border-radius:20px;transition:width .4s}.infocard p{color:#b0a4b7;line-height:1.8;font-size:12px;margin:9px 0 0}.guide p{margin:12px 0 0}.step{color:#eeb6d4;font:10px var(--mono);margin-right:10px}.site-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #bba4bd26;color:#887d95;padding:23px 0 32px;font:9px var(--mono);letter-spacing:.08em}.modal{display:none;position:fixed;inset:0;z-index:20;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-shade{position:absolute;inset:0;background:#05040bdf;backdrop-filter:blur(12px)}.modal-box{position:relative;width:min(100%,550px);padding:0 35px 30px;background:radial-gradient(ellipse at top right,#344c7459,transparent 48%),linear-gradient(155deg,#1c192e,#10101c);border:1px solid #a7c4f1a1;border-radius:22px;box-shadow:0 28px 120px #000c,0 0 80px #95c1fa24;animation:rise .3s ease}.modal.red .modal-box{background:radial-gradient(ellipse at top right,#773e5e73,transparent 48%),linear-gradient(155deg,#25182b,#120e1c);border-color:#f4a1c1b8;box-shadow:0 28px 120px #000c,0 0 80px #f889b327}.modal-head{height:68px;border-bottom:1px solid #f3c9e02c;display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);letter-spacing:.12em;color:#b3d2ff}.modal.red .modal-head{color:#ffb5cb}.close{border:0;background:none;font-size:30px;color:#e9dce7;cursor:pointer}.message-meta{display:flex;justify-content:space-between;gap:10px;color:#a99eaf;font:10px var(--mono);margin:27px 0 10px}.message-icon{font:65px/1 var(--serif);color:#c5dcff;text-align:center;margin-top:17px}.modal.red .message-icon{color:#ffb1ce}.modal h2{text-align:center;font:500 32px var(--serif);margin:12px 0 20px}.message-text{text-align:center;font:500 20px/1.75 var(--serif);min-height:120px;color:#f9eef8;margin:0 auto 30px;max-width:450px}.message-foot{border-top:1px solid #f3c9e02c;display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:22px;color:#baa5b7;font:9px var(--mono);letter-spacing:.06em}.message-foot b{color:#f4a4c9}.message-foot button{background:linear-gradient(120deg,#bbd7ff,#f2c3e5);border:0;border-radius:9px;padding:13px 16px;color:#211527;font:500 10px var(--mono);cursor:pointer}.modal.red .message-foot button{background:linear-gradient(120deg,#ffc2d1,#f2b5e0)}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes pulseBlue{50%{box-shadow:0 0 0 5px #82b0fa10,0 0 33px #89adffbb}}@keyframes pulseRed{50%{box-shadow:0 0 0 5px #ff91ba10,0 0 33px #ff84bbbb}}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1130px){.network{grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr);gap:8px;padding:32px 15px}.hub-wrap{width:135px;height:135px}.hub{height:108px;width:108px}.hub-heart{font-size:57px}.nodes{gap:21px 5px}.node{width:59px;height:59px}.cluster-heading{gap:7px}.cluster-heading .small{font-size:9px}.channel-info small{font-size:9px}}@media(max-width:740px){.topbar{height:62px;padding:0 14px}.brand{font-size:11px}.system-clock{font-size:8px;gap:8px}.clock-sep{display:none}main{padding:0 11px}.intro{padding:64px 4px 45px}.intro h1{font-size:clamp(54px,12vw,83px)}.intro-overline{font-size:9px;letter-spacing:.16em}.hero-description{font-size:13px}.hero-pill{font-size:8px}.date-range{font-size:9px;gap:13px}.date-heart i{width:34px}.system{border-radius:17px}.system-heading{padding:17px 12px;font-size:8px}.system-right,.heading-code{display:none}.network{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'hub hub' 'blue red';align-items:start;gap:23px 7px;min-height:auto;padding:25px 8px 30px}.hub-column{grid-area:hub;gap:10px}.hub-wrap{width:125px;height:125px}.hub{width:100px;height:100px}.hub-heart{font-size:51px}.hub-caption{font-size:8px}.blue-cluster{grid-area:blue}.red-cluster{grid-area:red}.cluster-heading{align-items:center;min-height:61px;margin-bottom:14px;gap:5px;flex-wrap:wrap;justify-content:center}.channel-symbol{width:30px;height:30px;font-size:17px}.channel-info{flex:1;min-width:0}.channel-info strong{font-size:8px;white-space:normal;line-height:1.4}.channel-info small{font-size:9px;white-space:normal}.cluster-heading .small{width:100%;text-align:center;font-size:8px}.nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 2px}.node{width:62px;height:62px}.node .day{font-size:11px}.node .year{font-size:8px}.node .node-id{font-size:7px}.system-footer{gap:10px 16px;padding:16px 7px;font-size:8px}.afterword{padding:49px 8px 36px}.bottom-grid{grid-template-columns:1fr;gap:13px}.infocard{padding:22px}.site-footer{font-size:8px;line-height:1.6}.site-footer span:last-child{text-align:right}.modal-box{padding:0 19px 25px}.message-text{font-size:19px}.message-foot{flex-wrap:wrap}.wires{opacity:.65}}@media(max-width:370px){.node{width:52px;height:52px}.cluster-heading{min-height:76px}.channel-info strong{font-size:7px}.system-clock{font-size:7px}.hero-pill{font-size:7px}.hero-description{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* v3 — compact black terminal / romantic accents */
:root{--bg:#030408;--panel:#07090e;--text:#e6edf5;--muted:#84909e;--blue:#4c9cff;--red:#f04a55;--pink:#f79bc1;--mono:'DM Mono',Consolas,monospace;--serif:var(--mono);--sans:var(--mono)}
body{font-family:var(--mono);background:radial-gradient(ellipse at 49% 2%,#2311213a,transparent 35%),#030408;color:var(--text)}
body:before{opacity:.13;background-image:linear-gradient(#3c4d6722 1px,transparent 1px),linear-gradient(90deg,#3c4d6722 1px,transparent 1px);background-size:28px 28px}
.ambient{opacity:.04;filter:blur(120px)}
.sparkles{display:none}
.topbar{height:50px;background:#05070b;border-bottom:1px solid #252432;padding:0 clamp(13px,3.4vw,45px)}
.brand{font-size:11px;letter-spacing:.03em}
.brand-icon{font-size:19px}
.brand-alt{color:var(--pink)}
.system-clock{font-size:9px}
main{max-width:1320px;padding:0 clamp(12px,2.5vw,32px)}
.intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:14px 24px;text-align:left;padding:28px 0 20px}
.intro-copy{min-width:0}
.hero-pill{padding:7px 11px;border-radius:6px;font-size:9px;letter-spacing:.065em;background:#f79bc10a;border-color:#f79bc139}
.intro h1{font-family:var(--mono);font-size:clamp(22px,3.15vw,40px);font-weight:500;line-height:1.25;letter-spacing:-.06em;margin:12px 0 9px;text-shadow:none;white-space:normal}
.intro h1 em{font-family:var(--mono);font-weight:500;font-style:normal;background:none;-webkit-text-fill-color:var(--pink);color:var(--pink)}
.intro h1 .cursor{color:var(--pink);animation:blink 1.15s steps(1) infinite}
.hero-description{font:11px/1.8 var(--mono);margin:0;max-width:540px;color:#8f9cab}
.hero-description strong{font-weight:500;color:#f2bed5}
.pink-text{color:var(--pink)}
.date-range{justify-content:flex-start;margin:12px 0 0;gap:12px;font:10px var(--mono);color:#93a1b1}
.date-heart{font:11px var(--mono);color:var(--pink);white-space:nowrap}
.intro-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mood-card{padding:15px 13px;min-height:122px;border:1px solid #263749;background:linear-gradient(145deg,#081220,#070a10);border-radius:8px;display:flex;flex-direction:column;gap:7px}
.mood-card.spicy{border-color:#5d252d;background:linear-gradient(145deg,#1d0a0e,#0b080b)}
.card-label{font:8px var(--mono);color:#679ad3;letter-spacing:.01em}
.spicy .card-label{color:#e36873}
.card-title{font:500 12px var(--mono);color:#73b5ff}
.spicy .card-title{color:#ff686f}
.mood-card p{font:10px/1.7 var(--mono);color:#94a9be;margin:0}
.spicy p{color:#c6a0a4}
.unlock-note{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:43px;background:#0b0b10;border:1px solid #25222e;border-left:2px solid var(--pink);border-radius:5px;padding:9px 13px;font:10px/1.7 var(--mono);color:#b3b4c2}
.unlock-note b{color:#d9e3f0;font-weight:500}
.unlock-note strong{color:var(--pink);font-weight:500}
.note-icon{color:var(--pink);font-size:17px}
.system{border:1px solid #252a35;border-radius:9px;background:linear-gradient(145deg,#080c12,#06080d);box-shadow:0 16px 40px #0007}
.system-heading{padding:14px 18px;font-size:9px;color:#b0b8c4;border-color:#242a36}
.heading-main{color:var(--pink)}
.system-right,.heading-code{color:#687889}
.network{min-height:575px;gap:13px;padding:23px 20px 27px;grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr)}
.network:before{background:radial-gradient(ellipse at center,#f79bc108,transparent 65%)}
.cluster-heading{margin-bottom:13px;min-height:36px;gap:8px}
.channel-symbol{height:29px;width:29px;border-radius:7px;font-size:16px}
.blue-symbol{color:#68b2ff;background:#0a2545;border:1px solid #3a7bca}
.red-symbol{color:#fc6269;background:#3c1118;border:1px solid #a13d47}
.channel-info strong{font-size:10px}
.blue-cluster .channel-info strong{color:#78bcff}
.red-cluster .channel-info strong{color:#ff7077}
.channel-info small{font-family:var(--mono);font-size:9px;color:#75899e}
.red-cluster .channel-info small{color:#bb8991}
.cluster-heading .small{font-size:9px}
.nodes{gap:12px 4px}
.node{width:57px;height:57px;background:radial-gradient(circle at 35% 24%,#18202b,#0b0e16 76%);border-color:#263340}
.node .day{font-size:11px;color:#8592a1}
.node .year{font-size:8px;color:#6d7888}
.node.unlocked.blue{border-color:#438de0;background:radial-gradient(circle at 33% 25%,#1b4a80,#0a172e 78%);box-shadow:0 0 15px #3585f535}
.node.unlocked.red{border-color:#db434f;background:radial-gradient(circle at 33% 25%,#7c202d,#260b11 78%);box-shadow:0 0 15px #e6384338}
.node.unlocked .day{color:#edf4ff}
.node.today.red{border-color:#ff737c;box-shadow:0 0 0 3px #f43d491e,0 0 22px #ed323f8a}
.node.today.blue{border-color:#8bc9ff;box-shadow:0 0 0 3px #3686fe1e,0 0 22px #308dff8a}
.hub-column{gap:13px}
.hub-wrap{width:124px;height:124px}
.hub{width:98px;height:98px;background:radial-gradient(circle,#2b1527,#10101d 75%);border-color:#e98ab66b;box-shadow:0 0 30px #e789bd23}
.hub-heart{font:50px/1 var(--mono);color:var(--pink)}
.hub-top,.hub-bottom{font:8px var(--mono);letter-spacing:.03em}
.hub-caption{font:8px/1.9 var(--mono);letter-spacing:0}
.hub-state{padding:7px 10px;font-size:8px;border-radius:5px}
.system-footer{padding:12px;font-size:8px;border-color:#242a36}
.legend-dot.available{background:#4c9cff}
.legend-dot.current{background:var(--pink)}
.bottom-grid{gap:12px;margin:14px 0 22px}
.infocard{background:#080b12;border:1px solid #242935;border-radius:8px;padding:16px 19px}
.mini-title{color:var(--pink);font-size:9px}
.big-metric{font:500 30px var(--mono);margin-top:10px;color:#e0e8f4}
.big-metric span{font-size:10px}
.infocard p{font:10px/1.7 var(--mono)}
.bar-track{margin:12px 0 9px}
.bar-fill{background:linear-gradient(90deg,#368efc,#ec7baf)}
.guide p{margin:7px 0 0}
.step{color:var(--pink)}
.site-footer{font-size:8px;padding:15px 0 21px;border-color:#242a36}
.modal-box{border-radius:10px;background:linear-gradient(145deg,#111825,#080c13);border-color:#438cdf}
.modal.red .modal-box{background:linear-gradient(145deg,#270d13,#0c090e);border-color:#e24a55;box-shadow:0 28px 100px #000c,0 0 60px #d9303923}
.modal.red .modal-head,.modal.red .message-icon{color:#ff6974}
.modal-head{height:52px}
.modal h2{font:500 19px var(--mono)}
.message-text{font:13px/1.95 var(--mono)}
.message-icon{font:48px var(--mono)}
.message-foot button{border-radius:5px;background:#a8d1ff}
.modal.red .message-foot button{background:#ff9097}
@keyframes blink{50%{opacity:0}}
@media(max-width:1130px){
 .network{grid-template-columns:minmax(0,1fr) 115px minmax(0,1fr);gap:5px;padding:20px 10px;min-height:530px}
 .hub-wrap{width:105px;height:105px}.hub{width:84px;height:84px}.hub-heart{font-size:41px}
 .node{width:52px;height:52px}.nodes{gap:13px 2px}
 .intro{grid-template-columns:1fr 1fr}
}
@media(max-width:740px){
 .topbar{height:47px;padding:0 12px}.system-clock{font-size:8px}
 main{padding:0 9px}
 .intro{padding:19px 0 13px;grid-template-columns:1fr;gap:13px}
 .intro h1{font-size:clamp(21px,6.2vw,32px);margin:10px 0 7px}
 .hero-pill{font-size:8px}
 .hero-description{font-size:10px}
 .date-range{font-size:9px}
 .intro-cards{gap:8px}
 .mood-card{min-height:104px;padding:11px 9px;gap:6px}
 .card-label{font-size:7px}.card-title{font-size:10px}.mood-card p{font-size:9px}
 .unlock-note{font-size:9px;padding:9px;gap:7px}
 .system-heading{padding:12px 10px;font-size:8px}
 .network{grid-template-columns:1fr 1fr;grid-template-areas:'hub hub' 'blue red';gap:13px 6px;min-height:0;padding:15px 6px 20px}
 .hub-column{grid-area:hub;gap:5px}.hub-wrap{width:94px;height:94px}.hub{width:76px;height:76px}.hub-heart{font-size:36px}
 .hub-caption{font-size:7px}.hub-state{font-size:7px;padding:5px 9px}
 .blue-cluster{grid-area:blue}.red-cluster{grid-area:red}
 .cluster-heading{min-height:53px;margin-bottom:12px;gap:4px}
 .channel-symbol{width:25px;height:25px;font-size:14px}
 .channel-info strong{font-size:8px}.channel-info small{font-size:8px}
 .cluster-heading .small{font-size:8px}
 .nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 2px}
 .node{width:56px;height:56px}.node .day{font-size:10px}
 .system-footer{font-size:7px;padding:10px 5px;gap:8px}
 .bottom-grid{grid-template-columns:1fr;gap:9px;margin:11px 0 19px}
 .infocard{padding:13px}
 .site-footer{font-size:7px;gap:8px}
 .modal-box{padding:0 16px 19px}.message-text{font-size:12px}
}
@media(max-width:370px){
 .node{width:49px;height:49px}.node .day{font-size:9px}
 .card-title{font-size:9px}.mood-card p{font-size:8px}
 .system-clock{font-size:7px}
}



/* Mobile: compact day navigator. Desktop grid and all desktop visual behavior unchanged. */
.map-scene{display:contents}
.mobile-day-selector{display:none}
@media(max-width:740px){
  .network{display:block!important;position:relative;height:164px!important;min-height:0!important;overflow:hidden;padding:6px 0!important;touch-action:auto;cursor:default;background:radial-gradient(circle at center,#26122255,transparent 64%)}
  .map-scene{display:flex!important;align-items:center;justify-content:center;position:relative;width:100%;height:100%;transform:none!important;touch-action:auto}
  .map-scene .wires,.map-scene .cluster{display:none!important}
  .map-scene .hub-column{display:flex;align-items:center;justify-content:center;position:relative;grid-area:auto;width:100%;height:100%;gap:0;pointer-events:none;margin:0;z-index:1}
  .map-scene .hub-wrap{width:140px;height:140px}
  .map-scene .hub{width:107px;height:107px}
  .map-scene .hub-heart{font-size:48px;animation:heartbeat 22s ease-in-out infinite!important}
  .map-scene .hub-halo{animation:rotate 300s linear infinite!important}
  .map-scene .inner-halo{animation-direction:reverse!important;animation-duration:380s!important}
  .map-scene .hub-caption,.map-scene .hub-state{display:none}
  .mobile-day-selector{display:block;border-top:1px solid #292632;padding:12px 9px 14px;background:#07090e}
  .day-selector-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;font:9px var(--mono);color:#f79bc1;letter-spacing:.03em;margin:0 3px 11px}
  .day-selector-heading span:last-child{color:#798596;font-size:8px;text-align:right}
  .day-selector-nav{display:flex;align-items:center;gap:6px;min-width:0}
  .day-arrow{flex:0 0 29px;width:29px;height:54px;border-radius:6px;border:1px solid #353342;background:#12121a;color:#ffb8d6;font:24px var(--mono);touch-action:manipulation}
  .day-arrow:disabled{opacity:.25}
  .date-rail{min-width:0;flex:1;display:flex;overflow-x:auto;gap:7px;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .date-rail::-webkit-scrollbar{display:none}
  .date-chip{flex:0 0 71px;height:51px;border-radius:7px;border:1px solid #333849;background:#0e141e;color:#a4b2c1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;scroll-snap-align:center;font-family:var(--mono);cursor:pointer;touch-action:manipulation}
  .date-chip span{font-size:8px;color:#707f90}
  .date-chip strong{font-size:12px;font-weight:500;letter-spacing:-.03em}
  .date-chip.available{border-color:#47658c;color:#bcd8fb}
  .date-chip.selected{background:#261a27;border:1px solid #f79bc1;color:#ffd5e7;box-shadow:0 0 0 1px #f79bc12a}
  .date-chip.selected span{color:#e6a1c0}
  .selected-day-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 3px 9px;gap:8px;color:#e9dbe7;font:10px var(--mono)}
  #dateAvailability{font-size:9px;color:#f79bc1;text-align:right}
  .day-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .read-action{min-width:0;min-height:65px;padding:10px 8px;border:1px solid;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-align:left;font:500 10px var(--mono)}
  .read-action>span:first-child{font-size:20px}
  .read-action>span:last-child{display:flex;flex-direction:column;gap:6px}
  .read-action small{font:8px var(--mono);letter-spacing:.02em;opacity:.75}
  .read-blue{background:#0b1c31;border-color:#3578bd;color:#91c7ff}
  .read-red{background:#290d14;border-color:#a63642;color:#ff7782}
  .read-action:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.5)}
  .read-action:focus-visible,.date-chip:focus-visible,.day-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
  .system-footer{padding:9px 6px;font-size:7px;min-height:0}
}
