diff options
Diffstat (limited to 'static')
| -rw-r--r-- | static/calculation.svg | 1 | ||||
| -rw-r--r-- | static/main.css | 360 |
2 files changed, 361 insertions, 0 deletions
diff --git a/static/calculation.svg b/static/calculation.svg new file mode 100644 index 0000000..ba6bab9 --- /dev/null +++ b/static/calculation.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100%" height="100%" fill="#3498db"/><path fill="#ffffff" d="M38.925 56.7v-4.6h22.15v4.6zm0-8.83V43.3h22.15v4.57z"/></svg>
\ No newline at end of file diff --git a/static/main.css b/static/main.css new file mode 100644 index 0000000..a904518 --- /dev/null +++ b/static/main.css @@ -0,0 +1,360 @@ +:root { + --bg-main:#121212; + --bg-card:#1e1e1e; + --border:#333333; + --text-primary:#ffffff; + --text-secondary:#a0a0a0; + --text-muted:#d1d1d1; + --accent:#e2e2e2; + --accent-glow:rgba(255,255,255,0.1); +} +body { + background-color:var(--bg-main); + color:var(--text-primary); + font-family:system-ui,-apple-system,sans-serif; + margin:0; + padding:0; +} +.view-home { + display:flex; + justify-content:center; + align-items:center; + min-height:100vh; + padding:20px; + background:radial-gradient(circle at top right,#0b0c0e 0%,#000000 100%); +} +.view-home .container { + width:100%; + max-width:580px; + text-align:center; +} +.view-home .hero-logo { + font-size:4.5rem; + margin-bottom:30px; + letter-spacing:-3px; + font-weight:800; +} +.view-home .search-input-wrapper { + margin-bottom:24px; +} +.view-home .search-box { + font-size:1.1rem; + padding:16px 28px; + box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06); +} +.view-home .buttons { + display:flex; + gap:12px; + justify-content:center; +} +.view-home button { + padding:10px 24px; + border-radius:8px; + font-weight:600; + font-size:0.9rem; + cursor:pointer; + transition:all 0.2s; + border:1px solid transparent; +} +.view-home .btn-primary { + background:var(--accent); + color:var(--bg-main); +} +.view-home .btn-primary:hover { + filter:brightness(1.1); + transform:translateY(-1px); +} +.view-home .btn-secondary { + background:var(--bg-card); + color:var(--text-primary); + border-color:var(--border); +} +.view-home .btn-secondary:hover { + background:var(--border); + border-color:var(--text-secondary); +} +header { + display:flex; + align-items:center; + gap:20px; + padding:15px 60px; + border-bottom:1px solid var(--border); + background:var(--bg-main); +} +.search-form { + flex-grow:1; + max-width:600px; +} +h1 { + font-size:1.5rem; + margin:0; + letter-spacing:-1px; + white-space:nowrap; +} +h1 span { + color:var(--accent); +} +.search-box { + width:100%; + padding:12px 24px; + border-radius:99px; + border:1px solid var(--border); + background:var(--bg-card); + color:white; + outline:none; + transition:border-color 0.2s,box-shadow 0.2s; +} +.search-box:focus { + border-color:var(--accent); + box-shadow:0 0 0 4px var(--accent-glow); +} +.nav-tabs { + padding:0 60px; + border-bottom:1px solid var(--border); + background:var(--bg-main); +} +.nav-container { + display:flex; + gap:30px; + max-width:1200px; +} +.nav-tabs a { + padding:14px 0; + color:var(--text-secondary); + text-decoration:none; + font-size:0.9rem; + font-weight:500; + border-bottom:2px solid transparent; + transition:color 0.2s; +} +.nav-tabs a:hover { + color:var(--text-primary); +} +.nav-tabs a.active { + color:var(--accent); + border-bottom-color:var(--accent); +} +.image-results-container { + padding:30px 60px; +} +.image-grid { + display:grid; + grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); + gap:24px; + max-width:1600px; + margin:0 auto; +} +.image-card { + background:var(--bg-card); + border-radius:12px; + overflow:hidden; + border:1px solid var(--border); + transition:transform 0.2s ease,border-color 0.2s; +} +.image-link { + text-decoration:none; + display:block; +} +.image-card:hover { + transform:translateY(-4px); + border-color:var(--accent); +} +.image-wrapper { + position:relative; + aspect-ratio:4/3; + background:#000; + overflow:hidden; +} +.image-wrapper img { + width:100%; + height:100%; + object-fit:cover; + display:block; + transition:opacity 0.3s; +} +.image-overlay { + position:absolute; + inset:0; + background:rgba(15,23,42,0.7); + display:flex; + align-items:center; + justify-content:center; + opacity:0; + transition:opacity 0.2s; +} +.image-card:hover .image-overlay { + opacity:1; +} +.overlay-buttons { + display:flex; + flex-direction:column; + gap:10px; + width:70%; +} +.overlay-btn { + padding:8px 16px; + border-radius:20px; + font-size:0.8rem; + font-weight:700; + text-decoration:none; + text-align:center; + transition:filter 0.2s; +} +.overlay-btn:hover { + filter:brightness(1.1); +} +.overlay-btn.primary { + background:var(--accent); + color:var(--bg-main); +} +.overlay-btn.secondary { + background:rgba(255,255,255,0.1); + color:white; + backdrop-filter:blur(4px); + border:1px solid rgba(255,255,255,0.2); +} +.image-info { + padding:12px; +} +.image-caption { + display:block; + font-size:0.85rem; + color:var(--text-primary); + white-space:nowrap; + overflow:hidden; + text-overflow:ellipsis; + margin-bottom:4px; +} +.image-source { + display:block; + font-size:0.75rem; + color:var(--text-secondary); + white-space:nowrap; + overflow:hidden; + text-overflow:ellipsis; +} +.content-layout { + display:grid; + grid-template-columns:140px minmax(0,700px) 450px; + gap:60px; + padding:30px 60px; +} +.results-container { + grid-column:2; +} +.result { + margin-bottom:32px; +} +.result a { + color:var(--accent); + text-decoration:none; + font-size:1.25rem; + display:inline-block; + margin-bottom:4px; +} +.url { + color:var(--text-secondary); + font-size:0.85rem; + display:block; + margin-bottom:4px; +} +.desc { + color:var(--text-muted); + line-height:1.6; + margin:0; +} +.infobox { + grid-column:3; + background:var(--bg-card); + border:1px solid var(--border); + border-radius:12px; + align-self:start; + margin-bottom: 10px; +} +.infobox-header { + padding:20px; + border-bottom:1px solid var(--border); +} +.infobox-title { + font-size:1.5rem; + font-weight:600; + margin:0; +} .infobox-content { + display: flex; + flex-direction: column; + gap: 12px; +} + +.read-more { + color: var(--accent); + font-weight: bold; + text-decoration: none; + font-size: 0.9rem; + align-self: flex-start; +} + +.read-more:hover { + text-decoration: underline; +} .infobox-main { + display:flex; + gap:15px; + padding:20px; +} +.infobox-image { + width:120px; + height:120px; + min-width:120px; + border-radius:8px; + border:1px solid var(--border); + object-fit:cover; +} +.infobox-summary { + display: block; + font-size:0.95rem; + line-height:1.5; + color:var(--text-muted); + margin:0; +} +@media (max-width:1200px) { + .content-layout { + grid-template-columns:1fr; + padding:20px 30px; + } + .results-container,.infobox-sidebar { + grid-column:1; + max-width:100%; + } + .infobox-sidebar { + order:-1; + margin-bottom:-80px; + } + .nav-tabs,.image-results-container { + padding:0 30px; + } + header { + padding:15px 30px; + } +}@media (max-width:600px) { + header { + flex-direction:column; + align-items:center; + padding:15px 0px; + } + .search-box { + padding:12px 16px; + width:91vw; + } + .search-form { + width:100%; + } + .image-grid { + grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); + gap:12px; + } + .image-results-container { + padding:20px; + } + .view-home .hero-logo { + font-size:3rem; + } + |
