/* NOVACANVAS: the Cybernova creative laboratory. */
html:has(body.nova-design-page) { background:#070b17; }
body.nova-design-page { --bg-main:#070b17; --text-primary:#edf4ff; --text-secondary:#a6b3cc; --text-muted:#8093af; --color-cyan:#66e8f9; --color-purple:#66e8f9; --color-magenta:#b38bff; background:#070b17; color:#edf4ff; font-family:'Inter',system-ui,sans-serif; }
.nova-design-page #bg-canvas,.nova-design-page .cinematic-hud-frame { display:none; }
.nova-design-page .hud-navbar { background:#0b1122f5; border-color:#8d73c33d !important; box-shadow:0 6px 25px #0002 !important; }
.nova-design-page .hud-navbar :is(.nav-item,.dropdown-toggle) { color:#ece5fb; }
.nova-design-page .nav-links { background:#0b1122; }
.nova-design-page .cinematic-breadcrumb { color:#a4b4cd; }
.nova-design-page .cinematic-hero-section { background:radial-gradient(ellipse at 85% 25%,#7145ff24,transparent 60%); padding-block:30px 65px; }
.nova-design-page .cinematic-hero-inner { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; max-width:1280px; text-align:left; }
.nova-copy { min-width:0; }
.nova-design-page { --font-display:'Inter',system-ui,sans-serif; }
.nova-design-page .cinematic-breadcrumb :is(.crumb-current,.crumb-sep) { color:#a4b4cd; }
.nova-design-page #home h1.canva-hero-title { align-items:flex-start !important; animation:none !important; }
.nova-design-page #home .canva-line { margin-inline:0 !important; text-align:left !important; }
.nova-design-page #home .cinematic-title-box { max-width:100% !important; width:100% !important; margin:0 0 24px !important; padding:0 !important; text-align:left !important; }
.nova-design-page #home h1.canva-hero-title { font-family:'Inter',sans-serif !important; text-align:left !important; width:100% !important; max-width:100% !important; margin:0 !important; filter:none !important; }
.nova-design-page #home .canva-line { font-family:'Inter',sans-serif !important; text-shadow:none !important; filter:none !important; background:none !important; -webkit-text-fill-color:initial !important; color:#edf4ff !important; white-space:normal !important; letter-spacing:-.055em !important; font-weight:800 !important; }
.nova-design-page #home .canva-line-1 { font-size:clamp(2rem,4.4vw,4.3rem) !important; line-height:1.08 !important; }
.nova-design-page #home .canva-line-2 { font-size:clamp(.9rem,1.5vw,1.2rem) !important; color:#78dfee !important; letter-spacing:.12em !important; font-weight:500 !important; margin-top:16px !important; }
.nova-design-page .parent-festival-badge { color:#8ea6c9; font:600 .65rem/1.8 'Inter',sans-serif; letter-spacing:.14em; }
.nova-design-page .hero-cyber-dept-pill { margin:0; display:inline-flex; background:#15243b; border-color:#61d9f333; color:#8be7f5; }
.nova-design-page .hero-cybernova-tagline { justify-content:flex-start; }
.nova-design-page .tagline-wing { display:none; }
.nova-design-page .hero-cybernova-tagline .tagline-text { color:#9db9da; text-shadow:none; font:500 .7rem/1.7 'Inter',sans-serif; letter-spacing:.04em; animation:none; }
.nova-design-page .hero-cinematic-desc { text-align:left; color:#a6b3cc; font:400 .95rem/1.85 'Inter',sans-serif; margin:20px 0; }
.nova-design-page .hero-stats { justify-content:flex-start; flex-wrap:wrap; gap:20px; margin:24px 0; padding:22px 0; border-block:1px solid #7e9fcc26; }
.nova-design-page .stat-val { color:#eaf2ff; text-shadow:none; font:600 1.35rem/1.5 'Inter',sans-serif; }
.nova-design-page .stat-label { color:#99a9c4; font:500 .6rem/1.5 'Inter',sans-serif; }
.nova-design-page .hero-prize-callout { background:none; border:none; box-shadow:none; margin:22px 0; padding:0; text-align:left; align-items:flex-start; }
.nova-design-page .prize-callout-val { color:#8ae8f5; text-shadow:none; font-size:1.7rem; }
.nova-design-page .hero-cinematic-actions { justify-content:flex-start; gap:10px; }
.nova-design-page .hero-cinematic-actions .btn { font:600 .7rem/1.5 'Inter',sans-serif; letter-spacing:0; padding:14px 16px; border-radius:7px; }
.nova-design-page a.register-link[href] { background:#68e3f1 !important; border-color:#68e3f1 !important; color:#fff !important; box-shadow:0 6px 24px #68e3f122; }
.nova-design-page :is(.btn-rulebook-trigger,.btn-cinematic-secondary) { background:#101a2d !important; border-color:#708cba55 !important; color:#d6e4ff !important; box-shadow:none; }
.nova-design-page :is(.section-title,.brief-title,.related-title,.cinematic-cta-text h3) { color:#eaf2ff; font-family:'Inter',sans-serif; letter-spacing:-.035em; }
.nova-design-page .section-label { color:#8be7f5 !important; text-shadow:none !important; }
.nova-design-page :is(.text-gradient-cyan,.text-gradient-purple) { background:linear-gradient(110deg,#6de5fa,#b18afa) !important; -webkit-background-clip:text !important; }
.nova-design-page :is(.cinematic-spec-card,.cinematic-brief-panel,.cinematic-cta-banner,.cinematic-related-card,.podium-card,.faq-item) { background:#0d1526 !important; border-color:#738eb22b !important; box-shadow:0 8px 30px #00000012 !important; }
.nova-design-page :is(.card-value-display,.card-label,.faq-question,.card-subtext,.related-desc,.prose,.brief-body,.cinematic-cta-text p) { color:#b4c2d9 !important; text-shadow:none; }
.nova-design-page :is(.text-cyan,.text-gold) { color:#86e8f3; }
.nova-design-page .podium-card h3 { color:#8ae8f5; text-shadow:none; }
.nova-design-page .contact-section { background:#080e1b; --text-secondary:#a7b8d5; color:#edf4ff; }
.nova-design-page .rulebook-modal { --text-secondary:#bbc5d5; --text-primary:#f1f5fb; --color-cyan:#b9a0f4; color:#f1f5fb; }
.nova-studio { --poster-paper:#0b1730; --poster-ink:#edf9ff; --poster-accent:#62e8fa; --poster-second:#aa7bff; min-width:0; background:#0d1526; border:1px solid #789bc340; border-radius:16px; box-shadow:0 20px 55px #00000044; padding:20px; transform:rotate(1deg); }
.nova-studio[data-palette="citrus"] { --poster-paper:#20172a; --poster-ink:#fff6e9; --poster-accent:#ffc978; --poster-second:#ff7b9b; }
.nova-studio[data-palette="coral"] { --poster-paper:#1b1034; --poster-ink:#f7edff; --poster-accent:#bc9bff; --poster-second:#fa7bc5; }
.nova-studio-top { display:flex; align-items:center; justify-content:space-between; padding:2px 0 16px; color:#9bacca; font:500 .6rem/1.6 'Inter',sans-serif; letter-spacing:.1em; }
.nova-studio-top > span:last-child { font-size:1.7rem; color:#82e9f8; }
.nova-poster { position:relative; overflow:hidden; min-height:350px; padding:24px; background:var(--poster-paper); color:var(--poster-ink); border-radius:4px; transition:background .3s,color .3s; }
.nova-poster-meta { font:500 .55rem/1.6 'Inter',sans-serif; letter-spacing:.08em; }
.nova-poster-title { position:relative; z-index:1; max-width:95%; margin:25px 0 14px; color:inherit; font:800 clamp(2.2rem,4vw,3.5rem)/.98 'Inter',sans-serif; letter-spacing:-.065em; overflow-wrap:anywhere; }
.nova-poster-shapes { display:flex; height:90px; align-items:center; gap:12px; margin:18px 0; }
.nova-poster-shapes span { display:block; width:70px; height:70px; background:var(--poster-ink); border-radius:50%; }
.nova-poster-shapes span:nth-child(2) { border-radius:0; background:var(--poster-accent); transform:rotate(12deg); }
.nova-poster-shapes span:nth-child(3) { background:var(--poster-second); border-radius:50% 50% 0 0; }
.nova-poster-shapes span:nth-child(4) { width:60px; background:transparent; border:9px solid var(--poster-ink); }
.nova-poster-foot { display:flex; justify-content:space-between; align-items:end; font:600 .5rem/1.6 'Inter',sans-serif; letter-spacing:.05em; }
.nova-poster-foot span { font-size:2rem; line-height:1; font-weight:800; }
.nova-controls { padding:20px 2px 0; }
.nova-control-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; }
.nova-control-heading h3 { font:600 1rem/1.4 'Inter',sans-serif; color:#e6f1ff; }
.nova-control-heading > span { font:500 .5rem/1.5 'Inter',sans-serif; color:#91a3c0; letter-spacing:.1em; }
.nova-controls label { display:block; font:500 .7rem/1.6 'Inter',sans-serif; color:#a6b8d5; margin-bottom:6px; }
.nova-controls input { width:100%; padding:11px 12px; border:1px solid #789bc340; border-radius:6px; background:#080f20; color:#edf4ff; font:400 .85rem/1.5 'Inter',sans-serif; box-sizing:border-box; }
.nova-palette-row { display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.nova-palettes { display:flex; gap:6px; }
.nova-palettes button { display:grid; place-items:center; width:44px; height:44px; border:1px solid transparent; border-radius:50%; }
.nova-palettes button[aria-pressed="true"] { border-color:#80e6f7; }
.nova-palettes span { width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,#e8dffa 50%,#eaf5ff 50%); box-shadow:inset 0 0 0 1px #0001; }
.nova-palettes [data-palette="citrus"] span { background:linear-gradient(135deg,#f5f0b8 50%,#2d482f 50%); }
.nova-palettes [data-palette="coral"] span { background:linear-gradient(135deg,#f6d0c4 50%,#743a4c 50%); }
.nova-reset { padding:12px 4px; color:#8be7f5; font:500 .7rem/1.5 'Inter',sans-serif; }
.nova-palette-status { font:400 .6rem/1.5 'Inter',sans-serif; color:#9eb3d2; margin-top:4px; }
.nova-studio :focus-visible { outline:2px solid #80e6f7; outline-offset:3px; }
.nova-ready .nova-studio { animation:nova-paper-enter .7s cubic-bezier(.16,1,.3,1) both; }
@keyframes nova-paper-enter { from{opacity:0;transform:translateY(22px) rotate(4deg)}to{opacity:1;transform:rotate(1deg)} }
.nova-design-page .nova-intro { background:transparent; display:grid; place-items:center; z-index:200000; overflow:hidden; transition:none; }
.nova-intro-panel { position:absolute; inset:0 auto 0 0; width:33.4%; background:#0d1730; }.nova-intro-panel:nth-child(2){left:33.3%;background:#102241}.nova-intro-panel:nth-child(3){left:66.6%;background:#151b3b}
.nova-intro-title { position:relative; text-align:center; padding:24px; color:#eaf5ff; }.nova-intro-title span{font:500 .6rem/1.8 'Inter',sans-serif;letter-spacing:.15em}.nova-intro-title h2{font:italic 500 clamp(2.6rem,8vw,6rem)/1.2 Georgia,serif;letter-spacing:-.045em;margin:20px 0}.nova-intro-title p{font:600 .75rem/1.8 'Inter',sans-serif;letter-spacing:.22em}
.nova-skip { position:absolute; right:24px; bottom:24px; min-height:44px; padding:12px 16px; color:#a6e8f5; font:500 .7rem/1.5 'Inter',sans-serif; z-index:2; }
.nova-intro.is-playing .nova-intro-panel { animation:nova-curtain .7s cubic-bezier(.76,0,.24,1) .5s forwards; }.nova-intro.is-playing .nova-intro-panel:nth-child(2){animation-delay:.62s}.nova-intro.is-playing .nova-intro-panel:nth-child(3){animation-delay:.74s}.nova-intro.is-playing .nova-intro-title{animation:nova-type-intro 1.2s ease both}
@keyframes nova-curtain{to{transform:translateY(-101%)}}@keyframes nova-type-intro{0%{opacity:0;transform:translateY(14px)}25%,60%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-14px)}}
@media(max-width:900px){.nova-design-page .cinematic-hero-inner{grid-template-columns:1fr;gap:34px}.nova-studio{width:min(100%,480px);margin-inline:auto;box-sizing:border-box;transform:none}.nova-design-page #home .canva-line-1{font-size:clamp(2rem,9vw,4rem)!important}.nova-poster-title{font-size:clamp(2.2rem,10vw,3.5rem)}}
@media(max-width:480px){.nova-design-page .cinematic-hero-inner{padding-inline:18px}.nova-studio{padding:15px}.nova-poster{padding:20px;min-height:330px}.nova-poster-shapes{gap:8px}.nova-poster-shapes span{width:56px;height:56px}.nova-design-page .hero-cinematic-actions{flex-direction:column;align-items:stretch}.nova-design-page .hero-cinematic-actions>span,.nova-design-page .hero-cinematic-actions .btn{width:100%}.nova-design-page .stat-divider{display:none}.nova-control-heading>span{font-size:.45rem}}
@media(prefers-reduced-motion:reduce){.nova-design-page .nova-intro{display:none}.nova-ready .nova-studio{animation:none}.nova-poster{transition:none}}

/* A quiet starfield, illuminated glass and an orbital artwork. */
body.nova-design-page {
    background-image:radial-gradient(ellipse at 80% 12%,#563cc51a,transparent 35%),radial-gradient(ellipse at 5% 25%,#1d9bb510,transparent 35%);
}
.nova-design-page .cinematic-hero-section { position:relative; isolation:isolate; }
.nova-design-page .cinematic-hero-section::before {
    content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.28;
    background-image:radial-gradient(circle,#a7ccff 1px,transparent 1px),radial-gradient(circle,#839fce 1px,transparent 1px);
    background-size:97px 113px,173px 181px; background-position:12px 28px,64px 77px;
    mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent);
}
.nova-design-page .cinematic-hero-inner { gap:56px; }
.nova-design-page #home .canva-line-1 {
    background:linear-gradient(105deg,#fff 20%,#c1eaf9 60%,#a799f4) !important;
    background-clip:text !important; -webkit-background-clip:text !important; -webkit-text-fill-color:transparent !important;
    letter-spacing:-.06em !important;
}
.nova-design-page .hero-cyber-dept-pill { box-shadow:none; border-radius:30px; }
.nova-design-page .hero-cyber-dept-pill::before,.nova-design-page .hero-cyber-dept-pill::after { display:none; }
.nova-design-page a.register-link[href] { color:#071523 !important; border-radius:8px; box-shadow:0 5px 28px #61def122; transition:transform .25s ease,box-shadow .25s ease; }
.nova-design-page a.register-link[href]:hover { transform:translateY(-3px); box-shadow:0 8px 34px #61def140; }
.nova-design-page :is(.cinematic-spec-card,.cinematic-brief-panel,.cinematic-cta-banner,.cinematic-related-card,.podium-card) { border-radius:14px; transition:border-color .3s ease,box-shadow .3s ease; }
.nova-design-page :is(.cinematic-spec-card,.cinematic-related-card):hover { border-color:#66dcf26b !important; box-shadow:0 10px 35px #35bfd30c !important; }
.nova-design-page .card-icon-circle { color:#76deed; background:#75dff10d; border-color:#75dff12b; }
.nova-studio { position:relative; transform:none; border-radius:20px; background:linear-gradient(140deg,#15213af2,#0b1222fa); box-shadow:0 30px 90px #0005,0 0 60px #6552dd0b; padding:20px; }
.nova-studio::before { content:''; position:absolute; height:1px; left:20%; right:20%; top:-1px; background:linear-gradient(90deg,transparent,#98eaff,transparent); }
.nova-studio-top { padding-bottom:18px; letter-spacing:.16em; }
.nova-studio-top > span:last-child { font-size:1.3rem; text-shadow:0 0 18px #6de5fa88; }
.nova-poster { min-height:390px; padding:26px; border:1px solid #a0d3ff20; border-radius:12px; background:radial-gradient(ellipse at 70% 55%,color-mix(in srgb,var(--poster-second) 20%,transparent),transparent 65%),var(--poster-paper); transition:background .5s ease,color .4s ease; }
.nova-poster::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.2; background-image:linear-gradient(#b6d5ff30 1px,transparent 1px),linear-gradient(90deg,#b6d5ff30 1px,transparent 1px); background-size:36px 36px; mask-image:linear-gradient(transparent,#000); }
.nova-poster-meta { color:var(--poster-accent); position:relative; z-index:1; letter-spacing:.13em; }
.nova-poster-title { max-width:100%; margin:22px 0 0; font-size:clamp(2.2rem,3.8vw,3.3rem); line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.nova-poster-shapes { position:relative; height:180px; margin:0; justify-content:center; isolation:isolate; }
.nova-poster-shapes::before { content:''; position:absolute; width:175px; height:175px; border-radius:50%; background:radial-gradient(circle,var(--poster-accent),transparent 66%); filter:blur(28px); opacity:.17; }
.nova-poster-shapes span { position:absolute; width:112px; height:112px; border-radius:50%; background:radial-gradient(circle at 28% 25%,#e4ffff,var(--poster-accent) 15%,var(--poster-second) 53%,#090e2560 78%); box-shadow:inset -14px -14px 28px #050916aa,inset 3px 3px 18px #ffffff33,0 0 38px color-mix(in srgb,var(--poster-accent) 20%,transparent); animation:nova-core-breathe 6s ease-in-out infinite; }
.nova-poster-shapes span:nth-child(2),.nova-poster-shapes span:nth-child(3),.nova-poster-shapes span:nth-child(4) { width:235px; height:80px; border-radius:50%; background:none; border:1px solid var(--poster-accent); transform:rotate(-24deg); box-shadow:0 0 14px color-mix(in srgb,var(--poster-accent) 18%,transparent); animation:nova-orbit-drift 9s ease-in-out infinite; }
.nova-poster-shapes span:nth-child(3) { width:210px; height:72px; transform:rotate(32deg); border-color:var(--poster-second); animation-delay:-4.5s; }
.nova-poster-shapes span:nth-child(4) { width:270px; height:130px; border:1px dashed color-mix(in srgb,var(--poster-accent) 30%,transparent); transform:rotate(-24deg); animation:none; box-shadow:none; }
.nova-poster-foot { position:relative; color:#bed0e5; letter-spacing:.1em; }
.nova-poster-foot span { color:var(--poster-accent); font-weight:500; }
.nova-controls { padding-top:22px; }
.nova-controls input { min-height:46px; border-radius:8px; transition:border-color .25s,box-shadow .25s; }
.nova-controls input:focus { border-color:#76dcea; box-shadow:0 0 0 3px #76dcea0d; }
.nova-control-heading > span { letter-spacing:.1em; }
.nova-palettes button { background:transparent; transition:border-color .25s,transform .25s; }
.nova-palettes button:hover { transform:translateY(-2px); }
.nova-palettes span { background:linear-gradient(135deg,#62e8fa,#aa7bff); }
.nova-palettes [data-palette="citrus"] span { background:linear-gradient(135deg,#ffc978,#ff7b9b); }
.nova-palettes [data-palette="coral"] span { background:linear-gradient(135deg,#bc9bff,#fa7bc5); }
.nova-motion { display:block; margin-left:auto; min-height:32px; padding:6px 0 0 12px; font:500 .6rem/1.5 'Inter',sans-serif; color:#a5bedb; }
.nova-studio[data-motion="paused"] .nova-poster-shapes span { animation-play-state:paused; }
.nova-ready .nova-studio { animation:nova-lab-enter .85s cubic-bezier(.16,1,.3,1) both; }
.nova-ready .nova-copy { animation:nova-lab-enter .85s cubic-bezier(.16,1,.3,1) .08s both; }
.nova-intro-title { color:#edf4ff; }
.nova-intro-title h2 { font:600 clamp(2.5rem,7vw,5.5rem)/1.05 'Inter',sans-serif; letter-spacing:-.065em; max-width:850px; }
.nova-intro-title span,.nova-intro-title p { color:#8ee7f6; }
@keyframes nova-core-breathe { 0%,100%{transform:translateY(3px)}50%{transform:translateY(-5px)} }
@keyframes nova-orbit-drift { 0%,100%{rotate:-4deg}50%{rotate:7deg} }
@keyframes nova-lab-enter { from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none} }
@media(max-width:900px) { .nova-design-page .cinematic-hero-inner{gap:38px}.nova-studio{max-width:520px}.nova-poster-title{font-size:clamp(2.2rem,7vw,3.3rem)} }
@media(max-width:480px) { .nova-studio{padding:15px}.nova-poster{padding:20px;min-height:375px}.nova-poster-shapes{height:175px}.nova-control-heading>span{font-size:.45rem}.nova-design-page .hero-prize-callout{flex-wrap:wrap;gap:10px}.nova-poster-shapes span:nth-child(4){width:240px} }
@media(prefers-reduced-motion:reduce) { .nova-ready .nova-copy,.nova-ready .nova-studio,.nova-poster-shapes span{animation:none}.nova-design-page *{scroll-behavior:auto!important}.nova-studio *,.nova-design-page a.register-link[href]{transition:none}.nova-motion{display:none} }
