/* Shared visual system: rooms in the same cyber studio. */
.cyber-world { --cream:#f6eeea;--muted:#c8bab8;--pink:#ff7f8c;--gold:#dda69a;--line:#ab586244; color:#f6eeea; background:#100d11; }
.cyber-world:not(.cyber-home) { min-height:100svh; background:radial-gradient(ellipse at 88% 10%,#571b243b,transparent 48%),#100d11; }
.cyber-world .world-header { min-height:84px;max-width:none;background:#09080be8;border-bottom:1px solid #9c434d44;padding:12px 5%; }
.cyber-world .world-header .wordmark > span {color:#ff8e98;font-size:46px;text-shadow:none;}
.cyber-world .world-header .wordmark b {color:#f6eeea;font-size:10px;}
.cyber-world .world-header nav a,.cyber-world .world-footer nav a {color:#e9dedd;font-size:12px;text-transform:none;letter-spacing:.3px;}
.cyber-world .world-header nav a[aria-current] {color:#ff9ba5;}
.cyber-world .world-footer {max-width:none;background:#09080b;border-top:1px solid #9c434d44;color:#c8bab8;padding:24px 5%;margin-top:45px;}
.cyber-world .world-footer .footer-signature {display:block;font-size:10px;margin-top:7px;color:#c8bab8;}
.cyber-world main a:not(.studio-destination):not(.studio-explore):not(.world-button):not(.button):not(.case-evidence-preview) {color:#ffa0aa;text-underline-offset:5px;}
.cyber-world main a:hover {text-decoration:underline;text-underline-offset:5px;}
.cyber-world .link-butterfly {display:none!important;}
.cyber-world :focus-visible {outline:2px solid #ffa0aa;outline-offset:5px;}
.cyber-world [hidden] {display:none!important;}
.cyber-world .button,.world-button {border:1px solid #e77583;color:#fff3f0;background:#29141bcc;display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;font:500 13px var(--sans);border-radius:30px;text-decoration:none;cursor:pointer;line-height:1.5;}
.cyber-world .button:hover,.world-button:hover {background:#5c2632;text-decoration:none;}
.world-shell {width:min(1220px,90%);margin-inline:auto;}
.room-intro {padding-top:60px;padding-bottom:40px;}
.room-eyebrow {color:#e6aaa8;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;line-height:1.6;}
.room-intro h1,.contact-story h1 {font:500 clamp(46px,5.5vw,78px)/1.05 var(--serif);letter-spacing:-1px;margin:20px 0 25px;}
.room-intro h1 em,.contact-story h1 em {color:#ffa0aa;font-weight:500;}
.room-lead {font:400 17px/1.8 var(--sans);max-width:730px;color:#cfbfbd;}
.room-back {font-size:13px;display:inline-block;margin-bottom:25px;}
.world-section-heading {display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px;}
.world-section-heading h2 {font:500 36px/1.2 var(--serif);}
.world-section-heading p {font-size:14px;color:#cfbfbd;}
/* Projects: evidence and a quiet index, rather than simulated live telemetry. */
.room-projects {background:radial-gradient(ellipse at 100% 28%,#47222c55,transparent 50%),#100d11;}
.featured-case {display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:45px;padding-top:26px;padding-bottom:45px;border-bottom:1px solid #ab586244;}
.featured-case h2 {font:500 clamp(34px,3.5vw,50px)/1.1 var(--serif);margin:14px 0 22px;}
.featured-case p:not(.room-eyebrow) {color:#cfbfbd;line-height:1.8;margin-bottom:25px;}
.case-evidence-preview {display:block;color:#e6d4cf;}
.case-evidence-preview img {width:100%;height:auto;display:block;border:1px solid #8e555766;box-shadow:0 20px 60px #0005;}
.case-evidence-preview span {display:block;margin-top:14px;font-size:12px;line-height:1.6;}
.project-workspace {padding-top:38px;padding-bottom:35px;}
.world-filters {display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 26px;}
.world-filters button {border:0;border-bottom:2px solid transparent;background:none;color:#d4c5c2;padding:10px 0;font:400 13px var(--sans);cursor:pointer;flex:0 1 auto;border-radius:0;}
.world-filters button[aria-pressed="true"] {color:#ffacb4;background:none;border-bottom-color:#ff8a98;}
.world-project-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px;}
.world-project {padding:28px 0;border-top:1px solid #ab586244;}
.world-project h3 {font:500 31px/1.2 var(--serif);margin:10px 0 18px;}
.world-project p:not(.room-eyebrow) {color:#cfbfbd;line-height:1.75;font-size:15px;margin-bottom:22px;}
.world-project a {font-size:14px;}
/* About: a warmer personal room, preserving the portrait and story. */
.cyber-world.room-about {background:radial-gradient(ellipse at 0% 20%,#653a2433,transparent 70%),#110d0e;}
.cyber-world .about-story {background:transparent;}
.cyber-world .about-label {color:#e6aaa8;}
.cyber-world .about-story h1 em,.cyber-world .about-greeting strong {color:#ff9ba5;}
.cyber-world .about-greeting,.cyber-world .about-body p {color:#e0d4cf;}
.cyber-world .about-signature {color:#ffa0aa;}
.story-chapters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:45px;padding-bottom:35px;}
.story-chapters article {border-top:1px solid #ab586244;padding-top:23px;}
.story-chapters h2 {font:500 29px/1.2 var(--serif);margin:12px 0 20px;}
.story-chapters p:not(.room-eyebrow) {color:#cfbfbd;font-size:15px;line-height:1.85;}
.cyber-world .about-connect {border-color:#ab586244;padding-top:22px;}
/* Library: a searchable collection with real, readable source information. */
.room-resources {background:radial-gradient(ellipse at 5% 25%,#57263255,transparent 50%),#110e13;}
.library-search {padding-top:24px;padding-bottom:22px;border-top:1px solid #ab586244;}
.library-search > label {display:block;font:500 28px/1.3 var(--serif);margin-bottom:18px;}
.library-search input {width:100%;max-width:750px;background:#20191f;border:1px solid #92657099;border-radius:0;color:#fff4f0;padding:17px 18px;font:16px var(--sans);}
.library-search input::placeholder {color:#bbaaaa;opacity:1;}
#resource-count {color:#c8bab8;font-size:13px;}
.resource-collection {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;}
.library-entry {padding:26px 0;border-top:1px solid #ab586244;}
.library-entry h2 {font:500 30px/1.2 var(--serif);margin:12px 0 18px;}
.library-entry h2 a {text-decoration:none;}
.library-entry p:not(.room-eyebrow) {color:#cfbfbd;font-size:15px;line-height:1.8;}
.library-entry .resource-source {font-size:12px!important;color:#bba9a5!important;margin-top:16px;}
.library-note {padding-top:30px;padding-bottom:35px;border-top:1px solid #ab586244;margin-top:28px;}
.library-note h2 {font:500 30px/1.2 var(--serif);margin-bottom:18px;}
.library-note p {color:#cfbfbd;font-size:14px;line-height:1.8;max-width:750px;}
/* Contact: a quiet, human invitation. */
.room-contact {background:radial-gradient(ellipse at 10% 25%,#5f222c66,transparent 55%),#100d11;}
.contact-room {display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:60px;padding-bottom:45px;}
.contact-story h1 {font-size:clamp(44px,4.5vw,65px);}
.contact-links {display:flex;flex-wrap:wrap;gap:20px;margin:28px 0;}
.contact-links a {font-size:14px;}
.contact-butterfly {object-fit:contain;opacity:.75;transform-origin:center;animation:world-butterfly 7s ease-in-out infinite;margin-top:25px;}
@keyframes world-butterfly {0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-7px) rotate(3deg)}}
.world-contact-form {padding:32px;background:#1d171ddd;border-top:1px solid #ab586288;align-self:start;}
.world-contact-form h2 {font:500 34px/1.2 var(--serif);margin-bottom:16px;}
.world-contact-form label {display:block;font-size:13px;color:#e3d3d0;margin:20px 0 9px;}
.world-contact-form input,.world-contact-form textarea {display:block;width:100%;border:1px solid #92657099;border-radius:0;background:#110d12;color:#fff4f0;padding:12px;font:16px/1.6 var(--sans);}
.world-contact-form textarea {resize:vertical;min-height:140px;}
.world-contact-form button {margin-top:25px;}
.world-contact-form p {font-size:13px;line-height:1.75;color:#c8bab8;}
#contact-status {margin-top:18px;}
/* All case studies share a reading surface and accent system. */
.cyber-world.honeypot-showcase {background:radial-gradient(ellipse at 95% 0%,#57202c44,transparent 50%),#100d11;color:#f6eeea;}
.cyber-world .showcase-main {padding-top:35px;}
.cyber-world .showcase-story > p,.cyber-world .showcase-discoveries p,.cyber-world .showcase-notes p,.cyber-world .showcase-tools,.cyber-world .showcase-next p {color:#cfbfbd;}
.cyber-world .showcase-kicker {color:#e6aaa8;}
.cyber-world .showcase-story h1 em,.cyber-world .showcase-discoveries h2 em {color:#ffa0aa;}
.cyber-world .showcase-evidence figure {background:#231c23;border:1px solid #ab586244;}
.cyber-world .showcase-evidence figcaption,.cyber-world .showcase-image-hint {color:#cfbfbd;}
.cyber-world .evidence-switcher button {color:#d7c5c2;}
.cyber-world .evidence-switcher button[aria-pressed="true"] {color:#ffacb4;border-color:#ff8a98;}
.cyber-world .showcase-notes details,.cyber-world .showcase-next,.cyber-world .showcase-discoveries {border-color:#ab586244;}
.cyber-world .showcase-notes summary::before {color:#ff9ba5;}
.cyber-world .project-process li,.cyber-world .project-process strong {color:#f6eeea;border-color:#ab586244;}
.cyber-world .project-process span {color:#cfbfbd;}
.cyber-world .project-control-region {background:#231c23;color:#e6d4cf;}
.cyber-world .project-control-panel p {color:#cfbfbd;}
.case-study-body {display:grid;grid-template-columns:1.2fr .8fr;gap:55px;padding-bottom:45px;}
.case-study-body h2 {font:500 31px/1.2 var(--serif);margin:28px 0 18px;}
.case-study-body p {color:#cfbfbd;line-height:1.85;font-size:16px;}
.case-source {padding:24px;background:#21191f;align-self:start;}
.case-source a {display:block;margin-top:22px;font-size:14px;line-height:1.6;}
.cyber-world.balanced-page {background:#100d11;color:#f6eeea;}
.cyber-world.balanced-page main {--cream:#f6eeea;--muted:#cfbfbd;--pink:#ffa0aa;--gold:#e6aaa8;--line:#ab586244;background:transparent;}
.cyber-world.balanced-page main .lead,.cyber-world.balanced-page main .prose p {color:#cfbfbd;}
.cyber-world.balanced-page main .eyebrow {color:#e6aaa8;}
.cyber-world.balanced-page .journal-body > p:not(.journal-signature),.cyber-world.balanced-page .journal-byline,.cyber-world.balanced-page .journal-byline span {color:#ddd0cd;}
.cyber-world.balanced-page .journal-heading h1 em,.cyber-world.balanced-page .journal-signature {color:#ffa0aa;}
.cyber-world .prose p {color:#cfbfbd;}
.cyber-world .evidence-figure figcaption {color:#cfbfbd;}
/* The transition is a short theatrical scene, never an authentication claim. */
.level-transition {position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at center,#3d1425,#09080b 65%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff0eb;animation:level-in .2s ease-out;padding:24px;}
.level-kicker {color:#ffa0aa;font-size:12px;letter-spacing:4px;margin-bottom:20px;}
.level-title {font:500 clamp(32px,5vw,70px)/1.1 var(--serif);margin-bottom:28px;}
.level-transition progress {width:min(300px,70vw);height:3px;accent-color:#ff8a98;display:block;margin:0 auto;}
.level-transition button {background:none;border:0;color:#d7c2c0;font:13px var(--sans);padding:12px;cursor:pointer;margin-top:30px;}
@keyframes level-in {from{opacity:0}to{opacity:1}}
/* The homepage retains its artwork and single screen composition. */
.cyber-world.cyber-home .world-footer {margin-top:0;padding:10px 4.5%;}
.cyber-world.cyber-home .world-header {min-height:78px;}
@media(max-width:850px){.cyber-world .world-header{flex-wrap:wrap;}.world-project-grid,.resource-collection,.story-chapters{grid-template-columns:1fr;}.featured-case,.contact-room,.case-study-body{grid-template-columns:1fr;gap:30px;}.room-intro{padding-top:38px;}.world-section-heading{display:block;}.contact-room{padding-top:35px;}.cyber-world .world-footer{gap:20px;}.cyber-world.cyber-home .world-header{flex-wrap:nowrap;}.cyber-world.cyber-home .world-footer{padding:6px;}}
@media(max-width:600px){.world-shell{width:88%;}.room-intro h1{font-size:46px;}.world-contact-form{padding:24px 20px;}.world-filters{gap:8px 20px;}.world-filters button{font-size:12px;}.cyber-world .world-footer{flex-direction:column;align-items:flex-start;}.cyber-world .world-footer nav{flex-wrap:wrap;gap:12px 20px;}.cyber-world.cyber-home .world-footer{align-items:center;}.cyber-world .world-header nav.is-open{background:#100d11;}}
@media(prefers-reduced-motion:reduce){.contact-butterfly,.level-transition{animation:none;}.cyber-world *{scroll-behavior:auto!important;}}
.field-guide {display:grid;grid-template-columns:290px minmax(0,1fr);gap:65px;padding-top:22px;padding-bottom:55px;}
.field-guide-index {display:flex;flex-direction:column;align-self:start;border-left:1px solid #ab586244;}
.field-guide-index button {border:0;border-left:2px solid transparent;background:none;color:#c8bab8;text-align:left;cursor:pointer;padding:13px 0 13px 20px;font:400 14px/1.45 var(--sans);margin-left:-1px;}
.field-guide-index button[aria-pressed="true"] {color:#ffacb4;border-left-color:#ff8a98;background:#42203033;}
.field-guide-content {min-width:0;}
.career-panel {position:sticky;top:25px;}
.career-panel h2 {font:500 clamp(34px,4vw,52px)/1.1 var(--serif);margin:15px 0 25px;}
.career-panel h3 {font:500 25px/1.25 var(--serif);margin:28px 0 12px;color:#f4ded9;}
.career-panel p {color:#cfbfbd;font-size:15px;line-height:1.85;}
.career-panel .field-guide-description {font-size:19px;}
.career-panel .field-guide-note {font-size:12px;margin-top:30px;}
.career-panel .career-actions a {font-size:14px;}
@media(max-width:850px){.field-guide{grid-template-columns:1fr;gap:30px;}.field-guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-left:0;}.field-guide-index button{padding:10px;border-left:0;border-bottom:1px solid #ab586244;margin:0;}.field-guide-index button[aria-pressed="true"]{border-bottom-color:#ff8a98;}.career-panel{position:static;}}
/* Quiet room views echo the homepage without masquerading as lab evidence. */
.room-projects .room-intro,.room-resources .room-intro {position:relative;isolation:isolate;}
.room-projects .room-intro::after,.room-resources .room-intro::after {content:'';position:absolute;right:0;top:36px;width:28%;height:230px;z-index:-1;background-image:url('../images/cyber-studio-features.webp');background-size:200% 200%;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 25%),linear-gradient(0deg,transparent,#000 30%);mask-composite:intersect;}
.room-projects .room-intro::after {background-position:left top;}
.room-resources .room-intro::after {background-position:right top;}
.contact-story::after {content:'';display:block;margin-top:20px;width:100%;height:210px;background:url('../images/cyber-studio-features.webp') right bottom/200% 200%;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 80%,transparent);opacity:.65;}
@media(max-width:1000px){.room-projects .room-intro::after,.room-resources .room-intro::after{display:none;}}
@media(max-width:850px){.contact-story::after{height:150px;}.contact-butterfly{width:55px;height:55px;margin-top:0;}}
.contact-butterfly {animation-duration:4.5s;animation-iteration-count:1;}

/* The approved artwork stays still; short entrance cues add depth in code. */
html.world-smooth {scroll-behavior:smooth;}
.motion-ready.cyber-home .studio-copy {animation:studio-enter .65s ease-out both;}
.motion-ready.cyber-home .studio-destinations {animation:studio-enter .6s .15s ease-out both;}
.motion-ready .world-header .brand-butterfly {animation:brand-greeting 3.2s ease-in-out 1;transform-origin:55% 60%;}
.motion-ready.cyber-home .studio-hero::after {content:'';position:absolute;right:0;top:36%;width:24%;height:34%;background:linear-gradient(110deg,transparent,#f1435318,transparent);pointer-events:none;z-index:-1;opacity:0;animation:monitor-light 3.8s .5s ease-in-out 1;}
@keyframes studio-enter {from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-greeting {0%,100%{transform:rotate(0) scaleX(1)}40%{transform:rotate(-4deg) scaleX(.93)}70%{transform:rotate(3deg) scaleX(.98)}}
@keyframes monitor-light {0%,100%{opacity:0;transform:translateX(-10px)}40%{opacity:.65}75%{opacity:.3;transform:translateX(5px)}}
.cyber-world .world-project,.cyber-world .library-entry {transition:transform .25s ease,border-color .25s ease;}
.cyber-world .world-project:hover,.cyber-world .library-entry:hover {transform:translateY(-2px);border-color:#c7778177;}
.reveal-pending {opacity:0;transform:translateY(12px);}
.story-chapters article,.world-project,.library-entry,.case-study-body > div > h2,.showcase-discoveries {transition:opacity .55s ease,transform .55s ease;}
.reveal-pending:focus-within {opacity:1;transform:none;}
/* A single 1.65 second navigation scene with real controls and progress. */
.cyber-world.is-transitioning > :not(.level-transition) {filter:brightness(.65);}
.level-transition {background:#09080bf2;animation:level-in .22s ease-out both;backdrop-filter:blur(3px);overflow:hidden;}
.level-scene {position:relative;z-index:1;}
.level-scan {position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#ff6072aa 30%,#ffa0aa 50%,#ff6072aa 70%,transparent);box-shadow:0 0 12px #ed375a44;opacity:0;animation:level-scan .55s .15s ease-in-out both;pointer-events:none;}
.level-butterfly {display:block;width:70px;height:70px;object-fit:contain;margin:0 auto 25px;opacity:0;filter:drop-shadow(0 0 9px #e94a5a44);animation:level-symbol .3s .4s ease-out forwards;}
.level-transition .level-kicker {opacity:0;animation:level-words .25s .65s ease-out forwards;}
.level-transition .level-title {opacity:0;animation:level-words .3s .85s ease-out forwards;}
.level-transition .level-progress {opacity:0;animation:level-words .2s 1.05s ease-out forwards;}
.level-transition .level-continue {position:absolute;bottom:28px;color:#e5d4d0;z-index:2;}
.level-transition progress::-webkit-progress-bar {background:#4c2934;}
.level-transition progress::-webkit-progress-value {background:#ff91a0;}
@keyframes level-scan {0%{transform:translateY(-2svh);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(102svh);opacity:0}}
@keyframes level-symbol {from{opacity:0;transform:scale(.94)}to{opacity:.9;transform:scale(1)}}
@keyframes level-words {from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html.world-smooth{scroll-behavior:auto}.motion-ready .studio-copy,.motion-ready .studio-destinations,.motion-ready .world-header .brand-butterfly,.motion-ready .studio-hero::after,.level-transition,.level-transition *{animation:none!important;}.reveal-pending{opacity:1;transform:none;}.cyber-world .world-project,.cyber-world .library-entry,.story-chapters article,.case-study-body > div > h2,.showcase-discoveries{transition:none;}.cyber-world .world-project:hover,.cyber-world .library-entry:hover{transform:none;}}
.world-project,.library-entry {position:relative;}
.world-project > a::after,.library-entry h2 a::after {content:'';position:absolute;inset:0;}
.world-project:focus-within,.library-entry:focus-within {outline:2px solid #ffa0aa;outline-offset:5px;}
.cyber-world .about-portrait {position:relative;}
.portrait-caption {position:absolute;bottom:12px;left:18px;color:#f6eeea;background:#100d11d9;padding:5px 9px;font:11px/1.6 var(--sans);}

/* The owner is preparing their own resource content. */
.cyber-world.room-resources {display:flex;flex-direction:column;min-height:100svh;}
.room-resources .resources-blank {flex:1;}
.cyber-world.room-resources .world-footer {margin-top:0;}
