From 6d843ccbb15870a5892b383da8c52a8cb01b9345 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:37:24 +0000 Subject: [PATCH 1/3] Initial plan From 9d5d9620c65927d25fdce8e4d24a9de3384b05b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:49:51 +0000 Subject: [PATCH 2/3] Update base CSS and all three theme files with improved styling Co-authored-by: hutoczky <5453461+hutoczky@users.noreply.github.com> --- docs/scifi-ui/styles/base.css | 28 ++-- docs/scifi-ui/styles/cyberpunk.css | 188 +++++++++++++++++++++++++-- docs/scifi-ui/styles/lcars.css | 143 ++++++++++++++++----- docs/scifi-ui/styles/starwars.css | 200 +++++++++++++++++++++++++++-- docs/scifi-ui/styles/themes.css | 2 +- 5 files changed, 489 insertions(+), 72 deletions(-) diff --git a/docs/scifi-ui/styles/base.css b/docs/scifi-ui/styles/base.css index 16ac4bf..a6ac5fa 100644 --- a/docs/scifi-ui/styles/base.css +++ b/docs/scifi-ui/styles/base.css @@ -1,13 +1,14 @@ /* Reset + alap komponensek (JS nélkül is működő) */ *,*::before,*::after{box-sizing:border-box} :root{ - --bg:#080a0d;--text:#e9eefc;--muted:#9fb3bf; + --bg:#0b0d10;--text:#e9eefc;--muted:#9fb3bf; --accent:#ff9800;--accent-2:#ffa726;--border:#ff9800; --panel:rgba(255,255,255,.02);--card:rgba(255,255,255,.04); - --radius:18px;--max:1100px;--pad:18px;--progress-dur:1.6s; + --radius:26px;--card-radius:20px;--max:1100px;--pad:18px;--progress-dur:1.6s; + --space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-6:28px;--space-8:36px; } html{height:100%} -body{min-height:100%;background:radial-gradient(1200px 600px at 50% -10%,#121622 0%,var(--bg) 45%) fixed,var(--bg); +body{min-height:100%;background:radial-gradient(ellipse 1200px 600px at 50% -10%,#1a1d25 0%,var(--bg) 50%),radial-gradient(ellipse 100% 70% at 50% 30%,transparent 60%,rgba(0,0,0,.35)),var(--bg); color:var(--text);font:600 16px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;letter-spacing:.02em} a{color:inherit;text-decoration:none} button{font:inherit;color:inherit;background:none;border:none;cursor:pointer} @@ -23,12 +24,12 @@ img{max-width:100%;height:auto} .switcher .theme{border:1.8px solid var(--border);border-radius:999px;color:#ffd089;padding:9px 16px;font-weight:800;letter-spacing:.12em;text-transform:uppercase} .switcher .theme[aria-pressed="true"]{background:linear-gradient(180deg,var(--accent),color-mix(in oklab,var(--accent),black 30%));color:#141518} .hero{max-width:var(--max);margin:40px auto 12px;padding:0 20px;text-align:center} -.progress{position:relative;height:44px;max-width:620px;margin:0 auto 18px;border-radius:24px;background:#0b0d10;box-shadow:inset 0 0 0 2px rgba(0,0,0,.55);overflow:hidden} -.progress .bar{position:absolute;inset:2px 52px 2px 2px;border-radius:22px 0 0 22px;background:linear-gradient(90deg,#ffa726,#cc6f00);transition:none;width:0;animation:fill var(--progress-dur) cubic-bezier(.2,.9,.2,1) infinite} -.progress .cap{position:absolute;top:2px;right:2px;bottom:2px;width:50px;border-radius:0 22px 22px 0;background:linear-gradient(180deg,#181a1e,#0f1216);border-left:2px solid rgba(122,74,0,.5)} +.progress{position:relative;height:44px;max-width:620px;margin:0 auto var(--space-3);border-radius:24px;background:#0b0d10;box-shadow:inset 0 0 0 2px rgba(0,0,0,.55);overflow:hidden} +.progress .bar{position:absolute;inset:2px 52px 2px 2px;border-radius:22px 0 0 22px;background:linear-gradient(90deg,#ffa726,#cc6f00);transition:none;width:var(--w,0)} +.progress .cap{position:absolute;top:2px;right:2px;bottom:2px;width:50px;border-radius:0 22px 22px 0;background:linear-gradient(180deg,#181a1e,#0f1216);border-left:2px solid rgba(122,74,0,.8)} @keyframes fill{0%{transform:translateX(-100%)}100%{transform:translateX(0)}} -.brand{margin:0 0 12px;font:900 clamp(34px,6.5vw,66px)/1.05 "Segoe UI",system-ui,Roboto,Arial,sans-serif;letter-spacing:.1em;color:var(--accent-2);text-shadow:0 0 12px #ff9d00aa,0 0 1px #000} -.chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:12px} +.brand{margin:0 0 var(--space-2);font:900 clamp(34px,6.5vw,66px)/1.05 "Segoe UI",system-ui,Roboto,Arial,sans-serif;letter-spacing:.1em;color:var(--accent-2);text-shadow:0 0 8px rgba(255,157,0,.45),0 0 1px #000} +.chips{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;margin-top:var(--space-3)} .chip{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:999px;padding:10px 16px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;background:transparent;color:#ffd089} .container{max-width:var(--max);margin:20px auto 60px;padding:0 20px;position:relative;z-index:1} .lcars-rails{position:absolute;inset:0;pointer-events:none;z-index:0} @@ -37,10 +38,10 @@ img{max-width:100%;height:auto} .rail-b{left:-10px;top:230px;height:76px;background:#d45588} .rail-c{right:-10px;top:120px;height:130px;background:#d45588} .rail-d{right:-10px;top:270px;height:210px;background:#ff9900} -.panel{background:var(--panel);border:1.6px solid var(--border);border-radius:var(--radius);padding:var(--pad);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 10px 30px rgba(0,0,0,.45),0 0 40px rgba(255,152,0,.15) inset;margin-bottom:22px} -.panel>h2{margin:0 0 10px;font:800 26px/1.2 "Segoe UI",system-ui,Arial,sans-serif;letter-spacing:.06em} +.panel{background:var(--panel);border:2px solid var(--border);border-radius:var(--radius);padding:var(--pad);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 10px 30px rgba(0,0,0,.45),0 0 40px rgba(255,152,0,.12) inset;margin-bottom:var(--space-4)} +.panel>h2{margin:0 0 var(--space-2);font:800 26px/1.2 "Segoe UI",system-ui,Arial,sans-serif;letter-spacing:.06em} .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px} -.card{background:var(--card);border:1.2px solid color-mix(in oklab,var(--border),#000 35%);border-radius:16px;padding:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)} +.card{background:var(--card);border:2px solid color-mix(in oklab,var(--border),#000 35%);border-radius:var(--card-radius);padding:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)} .card h3{margin:0 0 6px;font-weight:800;font-size:18px;letter-spacing:.04em} .card .muted{margin:0 0 10px;color:var(--muted);font:500 14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace} .card .actions{display:flex;gap:10px;flex-wrap:wrap} @@ -54,8 +55,7 @@ img{max-width:100%;height:auto} .preloader{position:fixed;inset:0;display:grid;place-items:center;background:#070809;z-index:1000} .preloader[hidden]{display:none} .preloader__lcars{position:relative;height:44px;max-width:520px;width:80%;border-radius:24px;background:#0b0d10;box-shadow:inset 0 0 0 2px rgba(0,0,0,.55)} -.preloader__lcars .preloader__bar{position:absolute;inset:2px 52px 2px 2px;border-radius:22px 0 0 22px;background:linear-gradient(90deg,#ffa726,#cc6f00);animation:fill var(--progress-dur) cubic-bezier(.2,.9,.2,1) infinite;width:var(--w,0)} -.preloader__lcars .preloader__cap{position:absolute;top:2px;right:2px;bottom:2px;width:50px;border-radius:0 22px 22px 0;background:linear-gradient(180deg,#181a1e,#0f1216);border-left:2px solid rgba(122,74,0,.5)} +.preloader__lcars .preloader__bar{position:absolute;inset:2px 52px 2px 2px;border-radius:22px 0 0 22px;background:linear-gradient(90deg,#ffa726,#cc6f00);width:var(--w,0)} +.preloader__lcars .preloader__cap{position:absolute;top:2px;right:2px;bottom:2px;width:50px;border-radius:0 22px 22px 0;background:linear-gradient(180deg,#181a1e,#0f1216);border-left:2px solid rgba(122,74,0,.8)} .preloader__label{margin-top:16px;color:#ffd089;text-align:center} -@keyframes fill{0%{transform:translateX(-100%)}100%{transform:translateX(0)}} @media (prefers-reduced-motion:reduce){.fx-noise,.fx-scanlines{animation:none}.preloader__lcars .preloader__bar,.progress .bar{animation:none}} diff --git a/docs/scifi-ui/styles/cyberpunk.css b/docs/scifi-ui/styles/cyberpunk.css index c7cea4b..89ad3c2 100644 --- a/docs/scifi-ui/styles/cyberpunk.css +++ b/docs/scifi-ui/styles/cyberpunk.css @@ -1,10 +1,178 @@ -:root[data-theme="cyberpunk"]{--bg:#0a0010;--text:#ffe990;--muted:#ff86e6;--panel:#ff00ff14;--card:#ff00ff24;--cp-magenta:#FF2EC0;--cp-cyan:#00E5FF;--cp-yellow:#FFD500;--magenta:#FF2EC0;--cyan:#00E5FF;--yellow:#FFD500;--accent:#FF2EC0;--accent-2:#FFD500;--border:#FF2EC0} -:root[data-theme="cyberpunk"] body{background:radial-gradient(1200px 600px at 50% -10%,#1a0024 0%,#0a0010 45%) fixed,#0a0010;filter:contrast(1.06) saturate(1.25);font-family:"OCR-A","VT323",ui-monospace,monospace} -:root[data-theme="cyberpunk"] .brand{font-family:"OCR-A","VT323",ui-monospace,monospace;color:var(--yellow);text-shadow:0 0 6px rgba(255,46,192,.35),0 0 2px #000,0 0 16px rgba(0,229,255,.25)} -:root[data-theme="cyberpunk"] .panel,:root[data-theme="cyberpunk"] .card,:root[data-theme="cyberpunk"] .chip{border-color:color-mix(in oklab,var(--magenta),#000 35%);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 0 40px #ff00ff22,inset 0 0 30px #ff00ff11} -:root[data-theme="cyberpunk"] .progress .bar{background:linear-gradient(90deg,var(--cp-cyan),#8c2eff)} -@keyframes cp-glitch{0%{clip-path:inset(0 0 0 0);transform:translateX(0)}10%{clip-path:inset(0 0 85% 0);transform:translateX(-2px)}20%{clip-path:inset(80% 0 0 0);transform:translateX(1px)}30%{clip-path:inset(10% 0 60% 0);transform:translateX(-1px)}40%{clip-path:inset(60% 0 20% 0);transform:translateX(2px)}50%{clip-path:inset(0 0 0 0);transform:translateX(0)}60%{clip-path:inset(0 0 70% 0);transform:translateX(2px)}70%{clip-path:inset(65% 0 0 0);transform:translateX(-2px)}80%{clip-path:inset(20% 0 40% 0);transform:translateX(1px)}100%{clip-path:inset(0 0 0 0);transform:translateX(0)}} -@keyframes huePulse{0%{filter:hue-rotate(0)}50%{filter:hue-rotate(12deg)}100%{filter:hue-rotate(0)}} -:root[data-theme="cyberpunk"] .brand[data-glitch="on"]{animation:cp-glitch 1.2s steps(6) infinite, huePulse 1.2s linear infinite} -:root[data-theme="cyberpunk"] .preloader__lcars .preloader__bar{background:linear-gradient(90deg,#FF2EC0,#9b0bb0)} -:root[data-theme="cyberpunk"] .preloader__label{color:#ffe990} +/* Cyberpunk Neon Theme */ +:root[data-theme="cyberpunk"]{ + --bg:#0b0d10; + --text:#ffe990; + --muted:#ff86e6; + --panel:#ff00ff1a; + --card:#ff00ff28; + --cp-magenta:#FF2EC0; + --cp-cyan:#00F0FF; + --cp-yellow:#FFD500; + --magenta:#FF2EC0; + --cyan:#00F0FF; + --yellow:#FFD500; + --accent:#FF2EC0; + --accent-2:#FFD500; + --border:#FF2EC0; +} + +:root[data-theme="cyberpunk"] body{ + background: + radial-gradient(ellipse 1200px 600px at 50% -10%,#1a0024 0%,#0b0d10 50%), + radial-gradient(ellipse 100% 70% at 50% 30%,transparent 60%,rgba(255,46,192,.15)), + #0b0d10; + filter:contrast(1.06) saturate(1.25); + font-family:"OCR-A","VT323",ui-monospace,monospace; +} + +/* Heavy scanlines across page */ +:root[data-theme="cyberpunk"] .fx-scanlines{ + background-image:repeating-linear-gradient(180deg,transparent 0 2px,rgba(255,46,192,.12) 2px 3px); + mix-blend-mode:soft-light; + opacity:.33; +} + +/* Magenta vignette at edges */ +:root[data-theme="cyberpunk"] .fx-vignette{ + background:radial-gradient(ellipse 100% 70% at 50% 30%,transparent 50%,rgba(255,46,192,.25)); +} + +/* Title with glitch effect */ +:root[data-theme="cyberpunk"] .brand{ + position:relative; + font-family:"OCR-A","VT323",ui-monospace,monospace; + color:var(--yellow); + text-shadow: + 2px 0 4px rgba(0,240,255,.6), + -2px 0 4px rgba(255,46,192,.6), + 0 0 12px rgba(255,46,192,.35), + 0 0 2px #000; +} +:root[data-theme="cyberpunk"] .brand[data-glitch="on"]{ + animation:cp-glitch 1.4s steps(8) infinite,cp-noise 0.6s steps(4) infinite; +} +@keyframes cp-glitch{ + 0%{clip-path:inset(0 0 0 0);transform:translateX(0)} + 8%{clip-path:inset(0 0 88% 0);transform:translateX(-3px)} + 16%{clip-path:inset(82% 0 0 0);transform:translateX(2px)} + 24%{clip-path:inset(12% 0 62% 0);transform:translateX(-2px)} + 32%{clip-path:inset(58% 0 22% 0);transform:translateX(3px)} + 40%{clip-path:inset(0 0 0 0);transform:translateX(0)} + 48%{clip-path:inset(0 0 75% 0);transform:translateX(2px)} + 56%{clip-path:inset(68% 0 0 0);transform:translateX(-3px)} + 64%{clip-path:inset(22% 0 42% 0);transform:translateX(2px)} + 72%{clip-path:inset(45% 0 30% 0);transform:translateX(-2px)} + 80%{clip-path:inset(0 0 55% 0);transform:translateX(3px)} + 88%{clip-path:inset(55% 0 0 0);transform:translateX(-2px)} + 100%{clip-path:inset(0 0 0 0);transform:translateX(0)} +} +@keyframes cp-noise{ + 0%{filter:hue-rotate(0deg) brightness(1)} + 25%{filter:hue-rotate(5deg) brightness(1.05)} + 50%{filter:hue-rotate(-5deg) brightness(0.95)} + 75%{filter:hue-rotate(8deg) brightness(1.02)} + 100%{filter:hue-rotate(0deg) brightness(1)} +} + +/* Panels with magenta border and inner glow */ +:root[data-theme="cyberpunk"] .panel{ + background:var(--panel); + border:2px solid var(--magenta); + border-radius:26px; + box-shadow: + 0 0 0 1px rgba(255,255,255,.02) inset, + 0 0 40px rgba(255,46,192,.28), + inset 0 0 35px rgba(255,46,192,.15); +} +:root[data-theme="cyberpunk"] .panel>h2{ + color:var(--magenta); +} + +/* Cards */ +:root[data-theme="cyberpunk"] .card{ + background:var(--card); + border:2px solid var(--magenta); + border-radius:20px; + box-shadow: + 0 0 0 1px rgba(255,255,255,.02) inset, + 0 0 28px rgba(255,46,192,.25), + inset 0 0 25px rgba(255,46,192,.12); +} + +/* Chips/Buttons - neon bordered with filled cores */ +:root[data-theme="cyberpunk"] .chip{ + border:2px solid currentColor; + border-radius:12px; + color:#121316; + font-weight:800; + box-shadow: + 0 0 16px currentColor, + inset 0 0 20px currentColor; +} +:root[data-theme="cyberpunk"] .chip[href="#letoltesek"]{ + background:var(--cyan); + border-color:var(--cyan); +} +:root[data-theme="cyberpunk"] .chip[href="#funkciok"]{ + background:var(--magenta); + border-color:var(--magenta); +} +:root[data-theme="cyberpunk"] .chip[href="#dokumentumok"]{ + background:var(--yellow); + border-color:var(--yellow); +} +:root[data-theme="cyberpunk"] .chip.hollow{ + color:var(--magenta); + background:transparent; + border-color:var(--magenta); + box-shadow:0 0 12px rgba(255,46,192,.2); +} + +/* Pill buttons */ +:root[data-theme="cyberpunk"] .pill{ + border:2px solid var(--magenta); + background:var(--magenta); + color:#121316; + border-radius:12px; + box-shadow: + 0 0 16px var(--magenta), + inset 0 0 20px rgba(255,255,255,.2); +} +:root[data-theme="cyberpunk"] .pill.ghost{ + background:transparent; + color:var(--magenta); + border-style:dashed; + box-shadow:0 0 12px rgba(255,46,192,.2); +} + +/* Progress bar */ +:root[data-theme="cyberpunk"] .progress .bar{ + background:linear-gradient(90deg,var(--cyan),var(--magenta)); +} +:root[data-theme="cyberpunk"] .preloader__lcars .preloader__bar{ + background:linear-gradient(90deg,#FF2EC0,#9b0bb0); +} +:root[data-theme="cyberpunk"] .preloader__label{ + color:var(--yellow); +} + +/* Theme selector buttons */ +:root[data-theme="cyberpunk"] .switcher .theme{ + border:2px solid var(--magenta); + background:transparent; + color:var(--yellow); + box-shadow:0 0 12px rgba(255,46,192,.2); +} +:root[data-theme="cyberpunk"] .switcher .theme[aria-pressed="true"]{ + background:var(--magenta); + color:#121316; + box-shadow:0 0 20px rgba(255,46,192,.4),inset 0 0 20px rgba(255,255,255,.15); +} + +/* Footer */ +:root[data-theme="cyberpunk"] .footer .copy{color:var(--cyan)} +:root[data-theme="cyberpunk"] .footer .to-top{color:var(--yellow);border-bottom:2px solid var(--yellow)} + +@media (prefers-reduced-motion:reduce){ + :root[data-theme="cyberpunk"] .brand[data-glitch="on"]{animation:none} +} diff --git a/docs/scifi-ui/styles/lcars.css b/docs/scifi-ui/styles/lcars.css index 68c3eea..4d1733e 100644 --- a/docs/scifi-ui/styles/lcars.css +++ b/docs/scifi-ui/styles/lcars.css @@ -1,23 +1,25 @@ /* LCARS (Star Trek) — véglegesített megjelenés a referenciakép alapján */ :root[data-theme="lcars"]{ /* Alapszínek */ - --bg:#070809; + --bg:#0b0d10; --text:#ffe7b6; --muted:#ffc977; - --accent:#FF9A3C; - --accent-2:#8C6AFF; - --border:#FF9A3C; - --panel:#1a12030e; + --accent:#F4A019; + --accent-2:#C64B7F; + --cyan-text:#35D8F5; + --border:#F4A019; + --panel:#121418; --card:#ff99000f; - --panel-glow:rgba(255,154,60,0.12); + --panel-glow:rgba(244,160,25,0.12); --progress-dur:1.6s; } /* Háttér és betű */ :root[data-theme="lcars"] body{ background: - radial-gradient(1200px 600px at 50% -10%,#161008 0%,#070809 45%) fixed, - #070809; + radial-gradient(ellipse 1200px 600px at 50% -10%,#1a1510 0%,#0b0d10 50%), + radial-gradient(ellipse 100% 70% at 50% 30%,transparent 60%,rgba(0,0,0,.35)), + #0b0d10; color:var(--text); font-family:"Eurostile","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif; letter-spacing:.02em; @@ -28,48 +30,83 @@ position:relative; color:var(--accent); text-shadow: - 0 0 12px #ff9d00aa, - 0 0 1px #000; - font-weight:800; - letter-spacing:.10em; + 0 0 8px rgba(244,160,25,.55), + 0 0 1px #000, + inset 0 2px 4px rgba(0,0,0,.3); + font-weight:900; + letter-spacing:.07em; } /* Progress – borostyán átmenet LCARS sapkával */ :root[data-theme="lcars"] .progress .bar{ - background:linear-gradient(90deg,#FF9A3C,#FFD79A); - animation:fill var(--progress-dur) cubic-bezier(.2,.9,.2,1) infinite; + background:linear-gradient(90deg,#F4A019,#FFD79A); +} +:root[data-theme="lcars"] .progress .cap{ + background:linear-gradient(180deg,#181a1e,#0f1216); + border-left:2px solid rgba(122,74,0,.9); } :root[data-theme="lcars"] .preloader__lcars .preloader__bar{ - background:linear-gradient(90deg,#FF9A3C,#FFD79A); - animation:lcars-sheen 1.6s linear infinite; + background:linear-gradient(90deg,#F4A019,#FFD79A); +} +:root[data-theme="lcars"] .preloader__lcars .preloader__cap{ + background:linear-gradient(180deg,#181a1e,#0f1216); + border-left:2px solid rgba(122,74,0,.9); } -@keyframes lcars-sheen{0%{opacity:.85}50%{opacity:1}100%{opacity:.85}} /* Téma-váltó kapszulák */ :root[data-theme="lcars"] .switcher .theme{ border:2px solid var(--border); - color:#ffd089; - background:transparent; + color:#0f1116; + background:linear-gradient(180deg,#F4A019,color-mix(in oklab,#F4A019,black 20%)); border-radius:999px; + box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18); +} +:root[data-theme="lcars"] .switcher .theme[data-theme="cyberpunk"]{ + background:linear-gradient(180deg,#C64B7F,color-mix(in oklab,#C64B7F,black 20%)); + border-color:#C64B7F; } :root[data-theme="lcars"] .switcher .theme[aria-pressed="true"]{ - background:linear-gradient(180deg,var(--accent),color-mix(in oklab,var(--accent),black 30%)); - color:#141518; + box-shadow:0 4px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.22); + transform:translateY(-1px); } /* LCARS sín-elemek (a képen lévő oldalsó sínek) */ -:root[data-theme="lcars"] .lcars-rails .rail{background:#ff9900;opacity:.9;filter:drop-shadow(0 0 8px rgba(255,153,0,.4))} +:root[data-theme="lcars"] .lcars-rails .rail{ + background:#F4A019; + opacity:.9; + filter:drop-shadow(0 0 8px rgba(244,160,25,.45)); + width:28px; + border-radius:14px; +} :root[data-theme="lcars"] .lcars-rails .rail-b, -:root[data-theme="lcars"] .lcars-rails .rail-c{background:#d45588} +:root[data-theme="lcars"] .lcars-rails .rail-c{background:#C64B7F} +:root[data-theme="lcars"] .lcars-rails::before, +:root[data-theme="lcars"] .lcars-rails::after{ + content:""; + position:absolute; + width:28px; + height:28px; + border-radius:14px; + background:#F4A019; + filter:drop-shadow(0 0 8px rgba(244,160,25,.45)); +} +:root[data-theme="lcars"] .lcars-rails::before{ + bottom:0; + left:-10px; +} +:root[data-theme="lcars"] .lcars-rails::after{ + bottom:0; + right:-10px; +} /* Panelek – dupla kontúr, erős LCARS körívek */ :root[data-theme="lcars"] .panel{ background:var(--panel); border:2px solid var(--border); - border-radius:28px; + border-radius:26px; box-shadow: 0 0 0 1px rgba(255,255,255,.02) inset, - 0 0 0 3px rgba(255,154,60,.12) inset, + 0 0 0 3px rgba(244,160,25,.12) inset, 0 10px 30px rgba(0,0,0,.45), 0 0 40px var(--panel-glow); padding:22px; @@ -78,6 +115,20 @@ color:var(--accent); font:800 26px/1.2 "Eurostile","Segoe UI",system-ui,Arial,sans-serif; letter-spacing:.06em; + position:relative; +} +:root[data-theme="lcars"] .panel>h2::after{ + content:""; + position:absolute; + bottom:-6px; + left:0; + width:80px; + height:1px; + background:var(--accent); + box-shadow:0 0 4px rgba(244,160,25,.4); +} +:root[data-theme="lcars"] .muted{ + color:var(--cyan-text); } /* Kártyák – belső keret és LCARS-sarkok */ @@ -93,38 +144,60 @@ border:2px solid var(--border); border-radius:999px; padding:10px 16px; - color:#1a1203; - background:linear-gradient(180deg,#ffbe66,#FF9A3C); + color:#0f1116; + background:linear-gradient(180deg,#ffcd7a,#F4A019); text-shadow:0 1px 0 rgba(255,255,255,.15); + box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 3px rgba(0,0,0,.3); } +:root[data-theme="lcars"] .chip[href="#letoltesek"], :root[data-theme="lcars"] .chip[href="#funkciok"]{ - background:linear-gradient(90deg,#FF9A3C,#ffbe66); + background:linear-gradient(180deg,#ffcd7a,#F4A019); + border-color:#F4A019; } :root[data-theme="lcars"] .chip[href="#dokumentumok"]{ - color:#2b1230; - border-color:var(--accent-2); - background:linear-gradient(180deg,#d08fff,#8C6AFF); + color:#0f1116; + border-color:#C64B7F; + background:linear-gradient(180deg,#e87ec0,#C64B7F); } :root[data-theme="lcars"] .chip.hollow{ color:#ffd089; background:transparent; border-style:solid; + box-shadow:none; } /* „Pill” akciógombok */ :root[data-theme="lcars"] .pill{ border:2px solid var(--border); border-radius:999px; - color:#1a1203; - background:linear-gradient(180deg,#ffd089,#FF9A3C); + color:#0f1116; + background:linear-gradient(180deg,#ffcd7a,#F4A019); + box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 3px rgba(0,0,0,.3); } :root[data-theme="lcars"] .pill.ghost{ color:#ffd089; background:transparent; border-color:#ffb35a; border-style:dashed; + box-shadow:none; } /* Lábléc – bal oldalt cyan copyright, jobb oldalt narancs link */ -:root[data-theme="lcars"] .footer .copy{color:#39d3ff} -:root[data-theme="lcars"] .footer .to-top{color:#FF9A3C;border-bottom:2px solid color-mix(in oklab,var(--accent),#fff 10%)} \ No newline at end of file +:root[data-theme="lcars"] .footer{ + position:relative; +} +:root[data-theme="lcars"] .footer .copy{color:var(--cyan-text)} +:root[data-theme="lcars"] .footer .to-top{color:#F4A019;border-bottom:2px solid color-mix(in oklab,var(--accent),#fff 10%)} +:root[data-theme="lcars"] .footer::before, +:root[data-theme="lcars"] .footer::after{ + content:""; + position:absolute; + bottom:-20px; + width:60px; + height:16px; + border-radius:8px; + background:#F4A019; + opacity:.7; +} +:root[data-theme="lcars"] .footer::before{left:0} +:root[data-theme="lcars"] .footer::after{right:0;background:#C64B7F} \ No newline at end of file diff --git a/docs/scifi-ui/styles/starwars.css b/docs/scifi-ui/styles/starwars.css index 03b05e7..9738b94 100644 --- a/docs/scifi-ui/styles/starwars.css +++ b/docs/scifi-ui/styles/starwars.css @@ -1,12 +1,188 @@ -:root[data-theme="starwars"]{--bg:#061118;--text:#dffcff;--muted:#9be4f1;--accent:#2EE6FF;--accent-2:#90F0FF;--border:#2EE6FF;--panel:#0c2a3740;--card:#0d2e3a66;--sw-main:#2EE6FF;--sw-accent:#90F0FF;--grid-glow:rgba(46,230,255,0.08)} -:root[data-theme="starwars"] body{background:radial-gradient(1200px 600px at 50% -10%,#0f2a3a 0%,#061118 45%) fixed,#061118;font-family:"Orbitron","Roboto Mono",ui-monospace,system-ui,monospace;letter-spacing:.06em} -:root[data-theme="starwars"] .brand{font-family:"Orbitron","Roboto Mono",ui-monospace,system-ui,monospace;letter-spacing:.06em;text-shadow:0 0 18px #73ffff55,0 0 3px #72ffff} -:root[data-theme="starwars"] .panel,:root[data-theme="starwars"] .card,:root[data-theme="starwars"] .chip{border-color:color-mix(in oklab,var(--accent),#000 35%);box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 0 22px #6df6ff22,inset 0 0 26px #6df6ff11} -:root[data-theme="starwars"] .fx.holo-grid{opacity:.28;mix-blend-mode:screen;filter:drop-shadow(0 0 6px var(--grid-glow))} -:root[data-theme="starwars"] .fx.holo-grid .hud-line{stroke:#2EE6FF;stroke-opacity:.35;stroke-width:.3;stroke-dasharray:6 8;stroke-dashoffset:0;animation:sw-grid 2s linear infinite} -@keyframes sw-grid{to{stroke-dashoffset:-14}} -:root[data-theme="starwars"] .progress .bar{background:linear-gradient(90deg, rgba(46,230,255,0.12), rgba(144,240,255,0.06))} -:root[data-theme="starwars"] .preloader__lcars .preloader__bar{background:linear-gradient(90deg,#2EE6FF,#0AA1C4)} -:root[data-theme="starwars"] .preloader__label{color:#bff5ff} -:root[data-theme="starwars"] .brand::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 30%, rgba(144,240,255,.18) 45%, transparent 60%);animation:holo-sheen 1.8s ease-in-out infinite;mask:linear-gradient(#000,#000)} -@keyframes holo-sheen{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}} +/* Star Wars HUD Theme */ +:root[data-theme="starwars"]{ + --bg:#0b0d10; + --text:#dffcff; + --muted:#9be4f1; + --accent:#7DEBFF; + --accent-2:#B5F7FF; + --border:#4AD6E8; + --panel:#0c2a3740; + --card:#0d2e3a66; + --sw-main:#7DEBFF; + --sw-accent:#B5F7FF; + --sw-outline:#4AD6E8; + --sw-shadow:#00AAFF; + --grid-glow:rgba(125,235,255,0.12); +} + +:root[data-theme="starwars"] body{ + background: + radial-gradient(ellipse 1200px 600px at 50% -10%,#0f2a3a 0%,#0b0d10 50%), + radial-gradient(ellipse 100% 70% at 50% 30%,transparent 60%,rgba(0,0,0,.35)), + #0b0d10; + font-family:"Orbitron","Roboto Mono",ui-monospace,system-ui,monospace; + letter-spacing:.06em; +} + +/* Title with bevel and scratches */ +:root[data-theme="starwars"] .brand{ + position:relative; + font-family:"Orbitron","Roboto Mono",ui-monospace,system-ui,monospace; + letter-spacing:.06em; + color:var(--sw-main); + text-shadow:0 0 16px rgba(125,235,255,.55),0 0 3px #72ffff,0 2px 4px rgba(0,0,0,.5); +} +:root[data-theme="starwars"] .brand::after{ + content:""; + position:absolute; + top:-2px; + left:-2px; + right:auto; + width:50%; + height:3px; + background:linear-gradient(90deg,var(--sw-main),transparent); + box-shadow:0 0 6px var(--sw-main); + pointer-events:none; +} + +/* Panels with cyan glow and corner notches */ +:root[data-theme="starwars"] .panel{ + background:var(--panel); + border:2px solid var(--sw-outline); + border-radius:26px; + box-shadow: + 0 0 0 1px rgba(255,255,255,.05) inset, + 0 0 24px rgba(125,235,255,.25), + inset 0 0 28px rgba(125,235,255,.12); + position:relative; +} +:root[data-theme="starwars"] .panel>h2{ + position:relative; + color:var(--sw-main); +} +:root[data-theme="starwars"] .panel>h2::after{ + content:""; + position:absolute; + bottom:-8px; + left:0; + width:100%; + height:2px; + background:linear-gradient(90deg,var(--sw-outline),transparent 40%); + box-shadow:0 0 6px var(--sw-main); +} +:root[data-theme="starwars"] .panel::before{ + content:""; + position:absolute; + top:-2px; + left:-2px; + width:20px; + height:20px; + border-top:3px solid var(--sw-accent); + border-left:3px solid var(--sw-accent); + border-radius:26px 0 0 0; +} + +/* Cards with filled background */ +:root[data-theme="starwars"] .card{ + background:var(--card); + border:2px solid var(--sw-outline); + border-radius:20px; + box-shadow: + 0 0 0 1px rgba(255,255,255,.05) inset, + 0 0 18px rgba(125,235,255,.22), + inset 0 0 22px rgba(125,235,255,.1); +} + +/* Chips/Buttons - filled with dark cyan background */ +:root[data-theme="starwars"] .chip{ + border:2px solid var(--sw-outline); + background:linear-gradient(180deg,#1a3844,#0f2026); + color:var(--sw-main); + border-radius:999px; + box-shadow: + 0 0 0 1px rgba(255,255,255,.05) inset, + 0 0 16px rgba(125,235,255,.2), + inset 0 0 20px rgba(125,235,255,.08); +} +:root[data-theme="starwars"] .chip.hollow{ + background:transparent; +} + +/* Pill buttons */ +:root[data-theme="starwars"] .pill{ + border:2px solid var(--sw-outline); + background:linear-gradient(180deg,#1a3844,#0f2026); + color:var(--sw-main); + box-shadow: + 0 0 0 1px rgba(255,255,255,.05) inset, + 0 0 16px rgba(125,235,255,.2), + inset 0 0 20px rgba(125,235,255,.08); +} +:root[data-theme="starwars"] .pill.ghost{ + background:transparent; + border-style:dashed; +} + +/* Progress bar */ +:root[data-theme="starwars"] .progress .bar{ + background:linear-gradient(90deg,rgba(125,235,255,0.3),rgba(181,247,255,0.15)); +} +:root[data-theme="starwars"] .preloader__lcars .preloader__bar{ + background:linear-gradient(90deg,#7DEBFF,#4AD6E8); +} +:root[data-theme="starwars"] .preloader__label{ + color:var(--sw-accent); +} + +/* Theme selector buttons */ +:root[data-theme="starwars"] .switcher .theme{ + border:2px solid var(--sw-outline); + background:linear-gradient(180deg,#1a3844,#0f2026); + color:var(--sw-main); + box-shadow:0 0 12px rgba(125,235,255,.18),inset 0 0 16px rgba(125,235,255,.08); +} +:root[data-theme="starwars"] .switcher .theme[aria-pressed="true"]{ + box-shadow:0 0 18px rgba(125,235,255,.3),inset 0 0 20px rgba(125,235,255,.15); + transform:translateY(-1px); +} + +/* HUD grid overlay - strengthened */ +:root[data-theme="starwars"] .fx.holo-grid{ + opacity:.35; + mix-blend-mode:screen; + filter:drop-shadow(0 0 6px var(--grid-glow)); + background-image: + repeating-linear-gradient(0deg,transparent,transparent 24px,rgba(125,235,255,.25) 24px,rgba(125,235,255,.25) 25px), + repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(125,235,255,.25) 24px,rgba(125,235,255,.25) 25px); + animation:sw-scan-v 6s linear infinite,sw-scan-h 120s linear infinite; +} +@keyframes sw-scan-v{ + 0%{background-position:0 0,0 0} + 100%{background-position:0 -25px,0 0} +} +@keyframes sw-scan-h{ + 0%{background-position:0 0,0 0} + 100%{background-position:0 0,-25px 0} +} + +/* Footer */ +:root[data-theme="starwars"] .footer .copy{color:var(--sw-accent)} +:root[data-theme="starwars"] .footer .to-top{color:var(--sw-main);border-bottom:2px solid var(--sw-outline)} + +/* Scan scratches and dust within panels */ +:root[data-theme="starwars"] .panel::after{ + content:""; + position:absolute; + inset:0; + background: + linear-gradient(90deg,transparent 0,rgba(125,235,255,.03) 1px,transparent 1px) 0 0 / 120px 100%, + radial-gradient(circle at 20% 30%,rgba(125,235,255,.04) 1px,transparent 1px), + radial-gradient(circle at 80% 70%,rgba(125,235,255,.04) 1px,transparent 1px); + pointer-events:none; + border-radius:inherit; +} + +@media (prefers-reduced-motion:reduce){ + :root[data-theme="starwars"] .fx.holo-grid{animation:none} + :root[data-theme="starwars"] .brand::after{animation:none} +} diff --git a/docs/scifi-ui/styles/themes.css b/docs/scifi-ui/styles/themes.css index c23a5cc..ee22609 100644 --- a/docs/scifi-ui/styles/themes.css +++ b/docs/scifi-ui/styles/themes.css @@ -7,4 +7,4 @@ .fx.holo-grid{position:fixed;inset:0;opacity:.25;mix-blend-mode:screen;pointer-events:none} .fx.glitch-overlay{position:fixed;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.3} @media (prefers-reduced-motion:reduce){[data-anim]{animation:none!important;transition:none!important}} -:where(a,button,.chip,.pill):focus-visible{outline:3px solid color-mix(in oklab,var(--accent),#fff 10%);outline-offset:3px;border-radius:12px} +:where(a,button,.chip,.pill):focus-visible{outline:3px solid color-mix(in oklab,var(--accent),#fff 12%);outline-offset:3px;border-radius:12px} From f29551407f50dab153c1fba7e016b75490090261 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:56:42 +0000 Subject: [PATCH 3/3] Add HUD grid overlay for Star Wars theme and minor refinements Co-authored-by: hutoczky <5453461+hutoczky@users.noreply.github.com> --- docs/scifi-ui/index.html | 1 + docs/scifi-ui/styles/base.css | 1 + docs/scifi-ui/styles/starwars.css | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/scifi-ui/index.html b/docs/scifi-ui/index.html index 3d760cf..038de25 100644 --- a/docs/scifi-ui/index.html +++ b/docs/scifi-ui/index.html @@ -40,6 +40,7 @@ +
diff --git a/docs/scifi-ui/styles/base.css b/docs/scifi-ui/styles/base.css index a6ac5fa..3e8771b 100644 --- a/docs/scifi-ui/styles/base.css +++ b/docs/scifi-ui/styles/base.css @@ -14,6 +14,7 @@ a{color:inherit;text-decoration:none} button{font:inherit;color:inherit;background:none;border:none;cursor:pointer} img{max-width:100%;height:auto} .fx{position:fixed;inset:0;pointer-events:none;z-index:0} +.fx-holo-grid{display:none} .fx-scanlines{background-image:repeating-linear-gradient(180deg,transparent 0 2px,rgba(255,255,255,.05) 2px 3px);mix-blend-mode:soft-light;opacity:.25} .fx-noise{background-image:url("data:image/svg+xml;utf8,"); background-size:220px;animation:noiseMove 2.5s linear infinite;mix-blend-mode:overlay} diff --git a/docs/scifi-ui/styles/starwars.css b/docs/scifi-ui/styles/starwars.css index 9738b94..b67b922 100644 --- a/docs/scifi-ui/styles/starwars.css +++ b/docs/scifi-ui/styles/starwars.css @@ -147,7 +147,9 @@ } /* HUD grid overlay - strengthened */ -:root[data-theme="starwars"] .fx.holo-grid{ +:root[data-theme="starwars"] .fx.holo-grid, +:root[data-theme="starwars"] .fx-holo-grid{ + display:block; opacity:.35; mix-blend-mode:screen; filter:drop-shadow(0 0 6px var(--grid-glow)); @@ -183,6 +185,7 @@ } @media (prefers-reduced-motion:reduce){ - :root[data-theme="starwars"] .fx.holo-grid{animation:none} + :root[data-theme="starwars"] .fx.holo-grid, + :root[data-theme="starwars"] .fx-holo-grid{animation:none} :root[data-theme="starwars"] .brand::after{animation:none} }