/* NØVA: scenografie e porte disegnate in CSS, senza download esterni. */
/* Ogni storia mantiene gli stessi comandi, ma cambia ambiente e materiali. */
.story-heading>div:first-child{position:relative;z-index:2;max-width:72%}.story-scene{position:absolute;right:0;top:0;height:100%;width:44%;object-fit:cover;opacity:.48;mask-image:linear-gradient(90deg,transparent,#000 45%)}.story-symbol{position:relative;z-index:1;opacity:.15!important}
body[data-story=detective]{background-image:repeating-linear-gradient(100deg,transparent 0 60px,#dfb87504 61px 62px),radial-gradient(ellipse at 85% 0%,#6f4c2d30,transparent 65%);background-size:auto,100% 100%}
body[data-story=detective] .story-heading{background-color:#231e1b;border-color:#80674a}
body[data-story=detective] .card{background:linear-gradient(135deg,#29251ff2,#191921);border-radius:3px;border-top:3px solid #64543f}
body[data-story=detective] .card h3{font-family:Georgia,serif;font-size:23px;font-weight:400}
body[data-story=detective] .card-footer{border-top-style:dashed}
body[data-story=horror]{background-image:radial-gradient(ellipse at 80% 0%,#6a26312b,transparent 60%),radial-gradient(ellipse at 10% 75%,#42334c25,transparent 60%);background-size:100% 100%}
body[data-story=horror] .story-heading{background-color:#211621;border-color:#66414e}
body[data-story=horror] .card{background:linear-gradient(145deg,#281b27,#13141f);border-radius:10px 2px 10px 2px;box-shadow:inset 0 0 35px #0a071a55}
body[data-story=horror] .card h3{font-family:Georgia,serif;letter-spacing:.4px}
body[data-story=horror] .card-icon{border-radius:50%;border-color:#895365}
body[data-story=scifi]{background-image:linear-gradient(#77cfea05 1px,transparent 1px),linear-gradient(90deg,#77cfea05 1px,transparent 1px),radial-gradient(ellipse at 80% 0%,#21496450,transparent 60%);background-size:44px 44px,44px 44px,100% 100%}
body[data-story=scifi] .story-heading{background-color:#0f2532;border-color:#447f97}
body[data-story=scifi] .card{background:linear-gradient(145deg,#112a38ef,#101a2af5);border-radius:2px 18px 2px 2px;box-shadow:inset 3px 0 #6aa7c426}
body[data-story=scifi] .card h3{font-family:var(--mono);font-size:18px;letter-spacing:-.5px}
body[data-story=scifi] .card-icon{border-radius:0;background:#193e50}
body[data-story=faro]{background-image:radial-gradient(ellipse at 85% 15%,#21645b35,transparent 65%),radial-gradient(1px 1px at 15% 18%,#bbdbff70 99%,transparent);background-size:100% 100%,241px 263px}
body[data-story=faro] .story-heading{background-color:#132b30;border-color:#426f69}
body[data-story=faro] .card{background:linear-gradient(145deg,#17313bf0,#101e29f5)}
@media(max-width:700px){.story-heading>div:first-child{max-width:100%}.story-scene{width:100%;opacity:.15;mask-image:none}}
:root{--bg:#090b12;--panel:#141721;--line:#2b2e3d;--accent:#c4b5ef;--muted:#9da0b6}body{background-color:var(--bg);background-image:radial-gradient(ellipse at 70% 0%,#463b662b,transparent 55%),radial-gradient(1px 1px at 20% 20%,#d9cfff70 99%,transparent),radial-gradient(1px 1px at 80% 70%,#d9cfff40 99%,transparent);background-size:100% 100%,313px 271px,431px 337px}.sidebar{background:linear-gradient(#121420f7,#0b0d16);border-color:#292b3b}.brand{font-size:22px;letter-spacing:4px}.brand-icon{background:#c4b5ef;box-shadow:none}.brand-sub{letter-spacing:1.4px}.sidebar-case{background:radial-gradient(ellipse,#41335850,transparent 70%),#141621;border-color:#343247}.mini-lighthouse{color:#c4b5ef;text-shadow:0 0 30px #bcb0ed44}.mini-lighthouse:after{border-color:#c4b5ef40;box-shadow:0 0 0 12px #c4b5ef08}.topbar{background:#0e101bbb}.topbar strong{overflow-wrap:anywhere}.nav-item.active{background:#c4b5ef0d;border-color:#c4b5ef33;border-left-color:var(--accent)}.stat{background:linear-gradient(125deg,#1b1d2be8,#11141ee8)}.stat:after{border-color:#b9a2dd20}.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 6px 24px #c4b5ef0c}.primary:hover{background:#e0d2ff}.notice{background:#181b29;border-color:#34384c}.card{background:linear-gradient(145deg,#1b1e2bf5,#111620f5)}.card.available{border-color:color-mix(in srgb,var(--accent) 45%,#273044)}.card.available:hover{border-color:var(--accent);box-shadow:0 8px 30px #0004}.card.available .badge,.card.available .card-icon{background:#ffffff07;border-color:#ffffff22;color:var(--accent)}.card p{min-height:0}.card-body{min-height:195px}.card-footer .mission-action{white-space:nowrap}.card.available:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sidebar-bottom{margin-top:35px}.sidebar{overflow-y:auto}.sidebar-case{margin-top:34px}main{max-width:1600px;padding:32px 38px 45px}.hub-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:13px 0 30px}.hub-intro h1{font-size:clamp(40px,4.7vw,76px);line-height:1.04;font-weight:550;letter-spacing:-3px;margin:20px 0}.hub-intro h1 em{font-style:normal;font-family:Georgia,serif;font-weight:400;color:#c8b9ed}.hub-intro p{font-size:14px;line-height:1.8;color:#aaabc0}.hub-seal{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:180px;height:180px;flex:none;margin:0 45px;color:#a994d7}.hub-seal>span{font:66px Georgia,serif}.hub-seal>small{font:8px var(--mono);letter-spacing:3px}.seal-ring{position:absolute;inset:0;border:1px solid #b6a0d83b;border-radius:50%;box-shadow:0 0 0 17px #b6a0d808,0 0 80px #8876b511}.seal-ring:before,.seal-ring:after{content:'';position:absolute;inset:15px;border:1px dashed #b6a0d844;border-radius:50%}.seal-ring:after{inset:-14px;border-style:solid;border-color:#b6a0d814}.portal-instruction{font-size:12px;color:var(--muted);margin:3px 0 22px}.portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal{--door:#a3dbaa;position:relative;text-align:left;display:flex;flex-direction:column;min-width:0;padding:0;color:var(--text);border:1px solid #323341;border-radius:14px;background:linear-gradient(150deg,#20222c,#10131c 65%);overflow:hidden;transition:transform .28s,border-color .28s,box-shadow .28s}.portal:hover,.portal:focus-visible{transform:translateY(-7px);border-color:var(--door);box-shadow:0 18px 50px #0007,0 0 35px color-mix(in srgb,var(--door) 10%,transparent)}.portal:focus-visible{outline:2px solid var(--door);outline-offset:4px}.portal-detective{--door:#e6b97a}.portal-horror{--door:#da797f}.portal-scifi{--door:#80d8ee}.portal-number{display:flex;justify-content:space-between;gap:8px;padding:18px 17px 0;font:12px var(--mono);color:var(--door);letter-spacing:1px}.portal-number>span{color:#b7b6c0;font-size:9px;text-transform:uppercase;letter-spacing:.8px;padding-top:2px}.portal-art{position:relative;height:255px;display:block;overflow:hidden;perspective:800px;margin-top:6px}.portal-world{position:absolute;inset:25px 21% 23px;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--door) 42%,#090b10),#0a111c 75%);border-radius:80px 80px 0 0;overflow:hidden}.world-orb{position:absolute;left:50%;top:22%;width:65px;height:65px;transform:translateX(-50%);border:1px solid var(--door);border-radius:50%;box-shadow:0 0 36px color-mix(in srgb,var(--door) 22%,transparent)}.world-mark{position:absolute;top:37%;left:0;right:0;text-align:center;color:var(--door);font-size:58px;text-shadow:0 0 24px var(--door)}.world-horizon{position:absolute;left:-50%;right:-50%;height:100px;bottom:-46px;border-radius:50%;border:1px solid var(--door);background:#080d16;box-shadow:0 -8px 40px color-mix(in srgb,var(--door) 25%,transparent)}.door-frame{position:absolute;inset:24px 20% 20px;display:block;border:2px solid color-mix(in srgb,var(--door) 65%,#1a1c25);border-radius:80px 80px 0 0;box-shadow:0 0 0 7px #0b0d13,0 0 0 8px #45424d,0 0 30px color-mix(in srgb,var(--door) 10%,transparent);perspective:700px;overflow:hidden}.door-leaf{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#171b26,#232938);border:1px solid color-mix(in srgb,var(--door) 25%,#252a38);transition:transform .8s cubic-bezier(.2,.7,.1,1),opacity .8s;backface-visibility:hidden}.door-leaf:after{content:'';position:absolute;inset:18px 9px;border:1px solid color-mix(in srgb,var(--door) 22%,#232836);border-radius:35px 35px 0 0}.door-leaf.left{left:0;transform-origin:left;transform:rotateY(-18deg)}.door-leaf.right{right:0;transform-origin:right;transform:rotateY(18deg)}.door-light{position:absolute;top:10%;bottom:0;left:50%;width:2px;background:var(--door);box-shadow:0 0 15px 3px var(--door);opacity:.65;transition:opacity .4s}.portal:hover .door-leaf.left,.portal:focus-visible .door-leaf.left,.portal.entering .door-leaf.left{transform:rotateY(-78deg)}.portal:hover .door-leaf.right,.portal:focus-visible .door-leaf.right,.portal.entering .door-leaf.right{transform:rotateY(78deg)}.portal:hover .door-light,.portal:focus-visible .door-light{opacity:0}.portal-floor{position:absolute;bottom:4px;left:6%;right:6%;height:35px;background:radial-gradient(ellipse,color-mix(in srgb,var(--door) 28%,transparent),transparent 65%);transform:perspective(100px) rotateX(45deg)}.portal-copy{display:flex;flex:1;flex-direction:column;padding:12px 19px 0}.portal-tag{font:8px var(--mono);letter-spacing:1px;color:var(--door);min-height:28px}.portal-copy>strong{font:26px/1.15 Georgia,serif;font-weight:400;letter-spacing:-.5px;min-height:62px}.portal-description{font-size:11px;color:#a8aaba;line-height:1.8;min-height:100px;margin:12px 0}.portal-meta{font:9px var(--mono);color:#c0becb;margin-bottom:21px}.portal-progress{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;padding:16px 0;border-top:1px solid #393542;margin-top:auto}.portal-progress>span:last-child{color:var(--door);font-weight:700}.portal-horror .portal-world{background:radial-gradient(ellipse at 50% 90%,#702631,#130c15 70%)}.portal-horror .world-orb{border-radius:0;width:30px;height:90px;top:8%;border:0;background:linear-gradient(transparent,#dc7b8544);filter:blur(6px)}.portal-detective .portal-world{background:repeating-linear-gradient(110deg,transparent 0 12px,#e6b97a0d 13px 14px),radial-gradient(ellipse at 50% 70%,#594231,#101019 75%)}.portal-detective .door-leaf{background:repeating-linear-gradient(90deg,#241d1c 0 14px,#302422 15px 17px)}.portal-scifi .world-orb{transform:translateX(-50%) rotate(-25deg);border-width:4px;width:92px;height:28px;top:25%;box-shadow:0 0 20px #80d8ee30}.portal-scifi .door-frame{border-radius:36px 36px 0 0}.portal-scifi .door-leaf{background:repeating-linear-gradient(0deg,#182733 0 29px,#273e48 30px 31px)}.portal-faro .world-horizon{box-shadow:0 -7px 25px #75c3a13b,0 -16px 0 -14px #a3dbaa,0 -30px 0 -28px #a3dbaa}.team-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 25px;padding:23px 25px;border:1px solid #3e374e;border-radius:9px;background:#191623a6}.team-welcome h2{font-size:25px;line-height:1.3;margin:8px 0;overflow-wrap:anywhere}.team-welcome p{color:var(--muted);font-size:12px;margin:0}.team-welcome>div:last-child{display:flex;flex-direction:column;text-align:right;flex:none}.team-welcome strong{font-size:34px;color:var(--accent)}.team-welcome>div>span:last-child{font-size:10px;color:var(--muted)}.team-link-panel{margin-top:25px;max-width:800px}.team-link-panel input{font:11px var(--mono);background:#10121c}.hub-bottom{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding:32px 0 0;color:#b8a6d8;font:9px var(--mono);letter-spacing:1px}.hub-bottom p{margin-left:auto;color:var(--muted);line-height:1.8;letter-spacing:0}.back-stories{border:0;padding:0 0 24px;background:none;color:var(--muted);font-size:12px}.back-stories:hover{color:var(--accent)}.story-heading{position:relative;overflow:hidden;padding:30px 32px;border:1px solid #424055;border-radius:12px;background:radial-gradient(ellipse at 95% 50%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 60%),#141925;display:flex;align-items:center;justify-content:space-between;gap:25px}.story-heading h1{font:clamp(30px,3.8vw,54px)/1.15 Georgia,serif;margin:18px 0}.story-heading p{color:#b2b0c3;max-width:680px}.story-heading .primary{margin-top:15px}.story-symbol{font-size:130px;line-height:1;opacity:.4;color:var(--accent);padding:0 35px;text-shadow:0 0 40px var(--accent)}body[data-story=detective]{--accent:#e6b97a}body[data-story=horror]{--accent:#da797f}body[data-story=scifi]{--accent:#80d8ee}body[data-story=faro]{--accent:#a3dbaa}.loading-state{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.loading-state h1{font-size:23px;color:var(--text)}.loading-orbit{width:65px;height:65px;border:1px solid #c4b5ef25;border-top-color:#c4b5ef;border-radius:50%}.admin-story-summary{border-bottom:1px solid var(--line);padding-bottom:12px}.admin-story-summary p{margin:5px 0;font-size:12px}.admin-main .progress-track{width:160px;gap:2px}.admin-main .progress-step{min-width:3px}.account button{max-width:300px;overflow-wrap:anywhere}button[hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){.seal-ring{animation:orbit 50s linear infinite}.portal-world{animation:portal-breathe 6s ease-in-out infinite}.portal-horror .portal-world{animation-delay:-2s}.portal-scifi .portal-world{animation-delay:-4s}.loading-orbit{animation:orbit 1s linear infinite}#main>section,#main>.team-welcome{animation:arrive .35s ease-out both}.portal:nth-child(2){animation-delay:.04s}.portal:nth-child(3){animation-delay:.08s}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes portal-breathe{50%{filter:brightness(1.35)}}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.portal:hover,.portal:focus-visible{transform:none}}
@media(max-width:1250px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-description{min-height:60px}.portal-copy>strong{min-height:32px}.portal-art{height:245px}.hub-seal{margin-right:10px}.hub-intro h1{font-size:54px}.portal-tag{min-height:24px}.card-body{min-height:210px}}
@media(max-width:700px){main{padding:24px 18px}.hub-intro{padding:0 0 20px}.hub-intro h1{font-size:43px;letter-spacing:-1.8px}.hub-intro p{font-size:12px}.hub-seal{display:none}.portal-grid{gap:13px}.portal-number{font-size:10px;padding:15px 12px 0;flex-direction:column;gap:6px}.portal-number>span{font-size:8px}.portal-art{height:200px}.portal-copy{padding:10px 12px 0}.portal-copy>strong{font-size:23px;min-height:55px}.portal-description{font-size:11px;min-height:116px}.portal-tag{font-size:7px;min-height:32px}.portal-meta{font-size:8px;line-height:1.8;min-height:29px}.portal-progress{font-size:9px;align-items:flex-start;flex-direction:column;gap:7px}.hub-bottom{gap:18px}.hub-bottom p{margin-left:0}.team-welcome{padding:18px;align-items:flex-start;flex-direction:column}.team-welcome>div:last-child{text-align:left}.story-heading{padding:24px}.story-symbol{display:none}.story-heading h1{font-size:34px}.story-heading .primary{max-width:100%;text-align:left}.card-body{min-height:0}.topbar>div:first-child{display:none}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.nav-item{justify-content:flex-start}.account{width:100%;justify-content:flex-end}.account button{max-width:100%}.brand{font-size:22px}.card-footer .mission-action{font-size:11px}}
@media(max-width:370px){.portal-grid{grid-template-columns:1fr}.portal-description,.portal-copy>strong{min-height:0}.portal-art{height:230px}.portal-progress{flex-direction:row}.hub-intro h1{font-size:37px}}

.portal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}.portal-world{opacity:.45}.door-frame{inset:70px 29% 22px;border-radius:50px 50px 0 0;box-shadow:0 0 0 4px #0b0d13,0 0 0 5px #45424d,0 0 30px #ffffff13}.door-leaf{opacity:.86}.portal-art{height:280px}.mission-help{border-left:2px solid var(--accent);padding:5px 17px;background:#ffffff04;margin:22px 0}.mission-help h3,.audio-evidence h3{font-size:14px;margin:12px 0}.audio-evidence{padding:12px 16px;border:1px solid #414354;border-radius:8px;margin:14px 0}.audio-evidence audio{display:block;width:100%;height:44px;margin:13px 0;color-scheme:dark}.audio-download{font-size:12px;color:var(--accent)}.morse-reference{padding:16px;background:#0c1421;border:1px solid #3f4960;border-radius:8px;margin:18px 0}.morse-reference summary{cursor:pointer;font-weight:600;color:var(--accent)}.morse-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.morse-grid>div{display:flex;flex-direction:column;padding:8px;border:1px solid #303d50;border-radius:4px}.morse-grid strong{font-size:12px;color:var(--muted)}.morse-grid code{font-size:19px;letter-spacing:2px;color:#e6ebf4}@media(max-width:700px){.portal-art{height:220px}.door-frame{inset:55px 25% 18px}.morse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.morse-grid code{font-size:16px}}

.brand-icon{position:relative;background:linear-gradient(135deg,#171825 48%,#e5ddf1 49%);border:1px solid #bcb4ce;color:#c7b6e2;font-family:Georgia,serif;font-style:normal;font-size:27px;clip-path:none;border-radius:50%;width:43px;height:43px}.brand-icon small{position:absolute;right:1px;bottom:0;font-size:18px;color:#292337;line-height:1}.hub-seal>span{font-size:63px;position:relative;padding-right:20px}.hub-seal em{position:absolute;font:42px Georgia,serif;color:#e2e0ed;right:-20px;bottom:-5px}.seal-ring{border-left-color:#747080;border-right-color:#ebe4ff;box-shadow:0 0 0 17px #b6a0d806,0 0 80px #8876b511}.brand-sub{font-size:7px}.portal-image{pointer-events:none}
@media(min-width:701px){.hub-intro{padding:0 0 20px}.hub-intro h1{font-size:56px;letter-spacing:-2px;margin:13px 0}.hub-intro p{font-size:13px;margin:8px 0}.hub-seal{width:145px;height:145px}.team-welcome{padding:16px 22px;margin-bottom:20px}.team-welcome h2{font-size:22px;margin:5px 0}.team-welcome strong{font-size:29px}.portal-art{height:245px}}
.credit-wallet{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #67527c;background:linear-gradient(110deg,#2e213d,#182433);border-radius:10px;padding:15px 20px;margin:0 0 22px}.credit-wallet strong{color:#dbc5ff;font-size:16px;white-space:nowrap}.credit-wallet span{color:#b4aec2;font-size:12px}#music-player{position:fixed;z-index:20;bottom:16px;right:22px;display:flex;align-items:center;gap:15px;max-width:calc(100% - 30px);padding:12px 18px;background:#151a29f5;border:1px solid #61526f;border-radius:12px;box-shadow:0 8px 30px #0006}#music-player[hidden]{display:none}#music-label{font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#music-player label{display:flex;align-items:center;gap:10px;font-size:11px;margin:0}#music-player input{width:85px;padding:0;accent-color:#c4b5ef}#music-player button{font-size:11px;padding:8px 12px}.shell footer{padding-bottom:100px}.hint>button{margin:4px 5px 4px 0}.portal .portal-description{overflow-wrap:anywhere}.mission-help p{white-space:pre-wrap}@media(max-width:700px){.credit-wallet{align-items:flex-start;flex-direction:column;gap:4px}#music-player{right:12px;bottom:10px;padding:10px;gap:8px;flex-wrap:wrap}#music-label{max-width:140px}#music-player label{margin-left:auto}}
#golden-reward{width:min(680px,calc(100% - 32px));text-align:center;background:radial-gradient(ellipse at 50% 28%,#503b1f,#171521 65%);border-color:#b28a45}#golden-reward::backdrop{background:#07060bc9;backdrop-filter:blur(7px)}#golden-reward h2{font:36px Georgia,serif;color:#ffe4aa;margin:18px 0}.reward-sub{color:#c7b697}.golden-door{position:relative;width:180px;height:245px;margin:20px auto 30px;border:2px solid #caa056;border-radius:85px 85px 3px 3px;background:#f8d27a;box-shadow:0 0 0 6px #43301b,0 0 50px #e0ad4830;perspective:600px;overflow:hidden;display:block;opacity:1!important}.golden-leaf{position:absolute;inset:0 50% 0 0;border:1px solid #d6b069;background:linear-gradient(100deg,#694617,#d9ae5e 40%,#8f6125);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.golden-leaf:after{content:'';position:absolute;inset:20px 8px;border:1px solid #ffdc8e;box-shadow:inset 0 0 20px #46341455;border-radius:35px 35px 0 0}.golden-right{inset:0 0 0 50%;transform-origin:right;background:linear-gradient(80deg,#8f6125,#d9ae5e 60%,#694617)}.golden-sigil{position:absolute;top:42%;left:0;right:0;color:#fff0c9;font:28px Georgia,serif;transition:opacity .4s}.golden-invitation{position:absolute;bottom:14px;left:0;right:0;font:8px var(--mono);color:#fff0c9;letter-spacing:1px}.golden-glow{position:absolute;inset:0;background:radial-gradient(ellipse,#fffbe9,#f9d579 45%,#b9822b);box-shadow:inset 0 0 45px #fff9cd}.golden-door:hover{box-shadow:0 0 0 6px #604325,0 0 70px #ffc25265}.golden-door.opened .golden-left{transform:rotateY(-100deg)}.golden-door.opened .golden-right{transform:rotateY(100deg)}.golden-door.opened .golden-sigil,.golden-door.opened .golden-invitation{opacity:0}.memory-symbol{font-size:45px;color:#ffda81}#memory-reveal h3{font:26px Georgia,serif;color:#ffdf9f}#memory-reveal>p{max-width:460px;margin:15px auto;line-height:1.9;color:#d4c7b3}.reward-totals{display:flex;justify-content:center;gap:24px;color:#ffe1a0;margin:18px 0}.memory-collection{text-align:left;display:grid;gap:15px}.memory-collection article{display:flex;gap:20px;padding:18px;border:1px solid #625032;border-radius:10px;background:#2a211a}.memory-collection article>span{font-size:30px;color:#ffda81}.memory-collection small{color:#baa682}.memory-collection h3{margin:7px 0;color:#f5d99e}.memory-collection p{font-size:13px}#memories{margin-top:15px}@media(prefers-reduced-motion:no-preference){#memory-reveal:not([hidden]){animation:memory-arrive .8s ease both}@keyframes memory-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}}
/* Fifth world: the Noctis training laboratory. */
.portal-darkness{--door:#bb9aff}.portal-darkness .portal-world{background:radial-gradient(ellipse at 50% 70%,#4b266a,#050509 70%)}.portal-darkness .door-leaf{background:linear-gradient(90deg,#08070c,#21142e,#08070c)}body[data-story=darkness]{--accent:#bb9aff;background:radial-gradient(ellipse at 85% 0,#261235,#080a10 65%)}body[data-story=darkness] .card{border-color:#473154}body[data-story=darkness] .story-heading{background:radial-gradient(ellipse at 90% 30%,#51316b55,transparent 60%),#0e0c15}.cyber-tools,.cyber-lab{margin:20px 0;padding:18px;border:1px solid #534064;border-radius:10px;background:#0c0b14}.cyber-tools summary{cursor:pointer;color:var(--accent);font-weight:600}.cyber-tools pre,.cyber-lab pre{background:#05070c;color:#d1eadf;border:1px solid #303846;padding:16px;border-radius:7px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--mono);max-height:370px;overflow:auto}.cyber-tools p,.cyber-lab p{font-size:13px}.cyber-lab h3{font:25px Georgia,serif}.cyber-lab input{font-family:var(--mono)}
.portal-secret{--door:#76efdf;border-color:#408f91}.portal-secret .portal-world{background:radial-gradient(ellipse at 50% 70%,#11565a,#07121c 70%)}.portal-secret .door-leaf{background:linear-gradient(90deg,#07151b,#12404a,#07151b)}.portal-secret .portal-tag,.portal-secret .portal-progress{color:#a9fff0}body[data-story=secret]{--accent:#76efdf;background:radial-gradient(ellipse at 75% 0,#123c43,#08121b 65%)}body[data-story=secret] .story-heading{background:radial-gradient(ellipse at 90% 30%,#1a777466,transparent 60%),#0b1d25}
@media(min-width:1251px){.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1850px){.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.portal-grid{grid-template-columns:1fr;gap:18px}.portal{max-width:520px;width:100%;margin:auto}.portal-art{height:250px}.portal-description,.portal-copy>strong,.portal-tag{min-height:0}.portal-copy{padding:16px 18px 6px}.portal-copy>strong{font-size:25px}.portal-progress{flex-direction:row;align-items:center}.hub-intro h1{font-size:38px}.credit-wallet{width:100%}.team-link-panel input{max-width:100%}.audio-evidence audio{min-width:0}}
#timer-warning{position:fixed;inset:0;margin:auto;width:min(92vw,620px);height:210px;max-height:none;padding:30px;border:1px solid #e04f63;border-radius:16px;background:linear-gradient(135deg,#1d1018,#280d14);box-shadow:0 0 70px #e3364c55;color:#ff5269;text-align:center;overflow:hidden}
#timer-warning::backdrop{background:#07060bbc;backdrop-filter:blur(3px)}
#timer-warning .timer-warning-label{display:block;font:700 13px/1.4 Consolas,monospace;letter-spacing:.28em;color:#ffafba;margin:16px 0}
#timer-warning strong{display:block;font:800 clamp(2.5rem,10vw,5rem)/1.3 Consolas,monospace;letter-spacing:.11em;text-shadow:0 0 24px #ff3d54}
#timer-warning strong::after{content:'▌';font-size:.65em;animation:timer-caret .6s steps(1,end) infinite}
@property --smoke-edge{syntax:'<percentage>';inherits:false;initial-value:-25%}
#timer-warning.fade{mask-image:linear-gradient(90deg,transparent calc(var(--smoke-edge) - 20%),#000 calc(var(--smoke-edge) + 20%));-webkit-mask-image:linear-gradient(90deg,transparent calc(var(--smoke-edge) - 20%),#000 calc(var(--smoke-edge) + 20%));animation:timer-smoke-wipe 1.5s ease-in-out forwards}
#timer-warning.fade::before{content:'';position:absolute;inset:-35%;pointer-events:none;background:radial-gradient(ellipse at 35% 50%,#9e7a9255,transparent 40%),radial-gradient(ellipse at 70% 60%,#755e8666,transparent 42%);filter:blur(24px);animation:timer-smoke-plume 1.5s ease-out forwards}
#timer-warning.fade::backdrop{animation:timer-backdrop-away 1.5s linear forwards}
@keyframes timer-smoke-wipe{from{--smoke-edge:-25%;filter:blur(0)}to{--smoke-edge:125%;filter:blur(10px)}}
@keyframes timer-smoke-plume{from{opacity:.1;transform:translateX(-30px)}50%{opacity:.48}to{opacity:0;transform:translateX(80px)}}
@keyframes timer-backdrop-away{to{opacity:0}}
@keyframes timer-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){#timer-warning,#timer-warning strong::after{animation:none}#timer-warning.fade{opacity:0}}
@media(max-width:600px){#music-player{left:12px;right:12px;bottom:8px;min-height:50px;justify-content:space-between;flex-wrap:nowrap;padding:5px 10px}#music-player label{display:none}#music-player button{min-height:40px}#music-label{max-width:150px;font-size:11px}.shell footer{padding-bottom:86px}}
.portal-convergence{--door:#f0c979}.portal-convergence .portal-world{background:radial-gradient(ellipse at 50% 60%,#59482b,#0a101c 72%)}.portal-convergence .door-leaf{background:linear-gradient(90deg,#0b1119,#3a3022,#0b1119)}body[data-story=convergence]{--accent:#f0c979;background:radial-gradient(ellipse at 75% 0,#392e1b,#090e18 65%)}body[data-story=convergence] .story-heading{background:radial-gradient(ellipse at 80% 25%,#66512a66,transparent 60%),#111622}
