diff options
Diffstat (limited to 'internal/generator/templates/themes/biomech/theme.css')
| -rw-r--r-- | internal/generator/templates/themes/biomech/theme.css | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/internal/generator/templates/themes/biomech/theme.css b/internal/generator/templates/themes/biomech/theme.css new file mode 100644 index 0000000..d43ee0b --- /dev/null +++ b/internal/generator/templates/themes/biomech/theme.css @@ -0,0 +1,52 @@ + :root { --bone:#d0c7bb; --flesh:#803f5d; --vein:#f55b7d; --acid:#93ffd8; --steel:#2d3642; --bg:#09070d; } + * { margin:0; padding:0; box-sizing:border-box; } + body { font-family:'Oxanium',system-ui,sans-serif; background:var(--bg); color:var(--bone); overflow:hidden; height:100vh; } + #three-canvas { position:fixed; inset:0; width:100%; height:100%; z-index:1; } + .overlay { position:relative; z-index:10; height:100vh; display:flex; flex-direction:column; } + header { padding:16px 26px; background:rgba(9,7,13,0.84); backdrop-filter:blur(10px); border-bottom:1px solid rgba(147,255,216,0.16); display:flex; align-items:center; justify-content:space-between; } + .logo { display:flex; align-items:center; gap:14px; } + .logo-mark { font-size:1.8rem; color:var(--acid); text-shadow:0 0 18px rgba(147,255,216,0.24); } + .logo-title h1 { font-size:1.42rem; color:var(--bone); letter-spacing:0.08em; } + .logo-title .subtitle { font-size:0.74rem; color:rgba(208,199,187,0.56); margin-top:2px; } + .logo-title .subtitle a { color:var(--acid); text-decoration:none; } + .logo-title .subtitle a:hover { color:#dffff6; } + .transmit-btn { border:1px solid rgba(147,255,216,0.22); color:var(--acid); padding:8px 16px; text-decoration:none; font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; transition:all 0.18s; } + .transmit-btn:hover { background:rgba(147,255,216,0.1); } + a.header-feed-link { color:rgba(208,199,187,0.68); } + a.header-feed-link:hover { color:var(--acid); } + .nav-hints { background:rgba(12,10,18,0.74); border-bottom:1px solid rgba(147,255,216,0.08); color:rgba(208,199,187,0.44); padding:5px 26px; display:flex; gap:18px; font-size:0.66rem; letter-spacing:0.08em; flex-wrap:wrap; } + .nav-hints kbd { background:rgba(128,63,93,0.14); border:1px solid rgba(147,255,216,0.18); color:var(--acid); padding:0 5px; margin:0 2px; } + .content { flex:1; overflow-y:auto; padding:20px 26px; scrollbar-width:thin; scrollbar-color:#6d4a69 #120d16; } + .page-nav { display:flex; justify-content:center; margin:14px 0; } + .page-nav a { border:1px solid rgba(147,255,216,0.18); color:var(--acid); padding:8px 18px; text-decoration:none; font-size:0.78rem; letter-spacing:0.2em; text-transform:uppercase; } + .page-nav a:hover { background:rgba(147,255,216,0.08); } + .page-nav-footer { flex-shrink:0; padding:8px 26px; display:flex; justify-content:center; background:rgba(9,7,13,0.84); backdrop-filter:blur(10px); border-top:1px solid rgba(147,255,216,0.16); } + .post { background:linear-gradient(180deg, rgba(33,20,31,0.9), rgba(12,9,18,0.92)); border:1px solid rgba(147,255,216,0.08); padding:18px; margin-bottom:13px; cursor:pointer; box-shadow:0 16px 38px rgba(0,0,0,0.28); transition:border-color 0.18s, box-shadow 0.18s, transform 0.18s; } + .post:hover { border-color:rgba(147,255,216,0.22); transform:translateY(-1px); } + .post-active { border-color:rgba(245,91,125,0.28) !important; background:linear-gradient(180deg, rgba(46,18,34,0.94), rgba(13,9,17,0.95)) !important; + box-shadow:0 0 0 1px rgba(147,255,216,0.08), 0 18px 42px rgba(0,0,0,0.42), inset 4px 0 0 var(--vein) !important; } + .post-header { display:flex; justify-content:space-between; margin-bottom:10px; font-size:0.84rem; } + .post-header strong { color:var(--acid); } + .post-time { color:rgba(208,199,187,0.58); font-family:'IBM Plex Mono',monospace; } + .post-text { line-height:1.7; font-size:0.92rem; } + .post-text a { color:var(--acid); text-decoration:none; border-bottom:1px solid rgba(147,255,216,0.18); } + .post-image { margin-top:10px; border:1px solid rgba(147,255,216,0.1); filter:saturate(0.9) hue-rotate(-14deg) contrast(1.06); } + .post-audio { width:100%; margin-top:10px; filter:hue-rotate(-14deg); } + .post-modal { display:none; position:fixed; inset:0; z-index:100; overflow-y:auto; padding:40px 20px; } + .post-modal.active { display:block; } + .modal-inner { max-width:760px; margin:0 auto; background:rgba(11,9,16,0.98); border:1px solid rgba(147,255,216,0.18); padding:34px; box-shadow:0 22px 76px rgba(0,0,0,0.72); } + .modal-close { float:right; background:none; border:none; color:var(--acid); font-family:'IBM Plex Mono',monospace; font-size:0.78rem; cursor:pointer; letter-spacing:0.18em; } + @media(max-width:640px) { .nav-hints{display:none;} header{padding:12px 16px;} .content{padding:14px 16px;} .modal-inner{padding:24px 16px;} } + [data-sno-theme="biomech"] .splash-overlay { + background: + radial-gradient(circle at 50% 22%, rgba(245,91,125,0.14) 0%, transparent 28%), + radial-gradient(circle at 50% 80%, rgba(147,255,216,0.08) 0%, transparent 42%), + linear-gradient(180deg, #100b14 0%, #050407 100%); + } + [data-sno-theme="biomech"] .splash-pod { position:absolute; left:50%; top:10vh; width:min(34vw,220px); height:min(46vw,290px); transform:translateX(-50%); border-radius:48% 48% 42% 42% / 54% 54% 38% 38%; + background:radial-gradient(circle at 50% 35%, rgba(147,255,216,0.18) 0%, rgba(147,255,216,0.06) 28%, rgba(128,63,93,0.38) 62%, rgba(12,9,18,0.8) 100%); + box-shadow:0 0 42px rgba(245,91,125,0.14); opacity:0.72; z-index:1; } + [data-sno-theme="biomech"] .splash-title { font-size:clamp(1.55rem,5vw,2.1rem); color:var(--bone); letter-spacing:0.12em; } + [data-sno-theme="biomech"] .splash-tag { color:var(--acid); letter-spacing:0.22em; } + [data-sno-theme="biomech"] .splash-hint { color:rgba(208,199,187,0.78); } + [data-sno-theme="biomech"] .splash-inner { text-shadow:0 2px 22px rgba(0,0,0,0.95); } |
