Skip to content

Commit 323f918

Browse files
authored
Add styles for icon modal and famous cards
1 parent 1b739da commit 323f918

1 file changed

Lines changed: 142 additions & 0 deletions

File tree

css/styles.css

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,3 +334,145 @@ footer{text-align:center;padding:4rem 2rem;border-top:1px solid var(--border);
334334
.famous-grid{grid-template-columns:1fr}
335335
.hero-cta-row{flex-direction:column;align-items:center}
336336
}
337+
338+
/* ═══════════════════════════════════════════
339+
ICON MODAL + EXPANDED FAMOUS CARDS
340+
═══════════════════════════════════════════ */
341+
342+
/* Expand hint badge */
343+
.card-expand-hint {
344+
position:absolute;top:0.6rem;right:0.6rem;
345+
font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.06em;
346+
color:var(--blue);opacity:0;transition:opacity 0.2s;
347+
background:rgba(0,200,255,0.08);border:1px solid rgba(0,200,255,0.2);
348+
padding:0.2rem 0.45rem;border-radius:3px;pointer-events:none;
349+
}
350+
.famous-card:hover .card-expand-hint { opacity:1; }
351+
.famous-card { position:relative; cursor:pointer; transition:all 0.3s; }
352+
.famous-card:hover {
353+
border-color:rgba(0,200,255,0.4);
354+
transform:translateY(-6px) scale(1.01);
355+
box-shadow:0 28px 60px rgba(0,0,0,0.5), 0 0 50px rgba(0,200,255,0.08);
356+
}
357+
358+
/* 8-column grid (2×4 or auto-fit) */
359+
.famous-grid {
360+
display:grid;
361+
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
362+
gap:1.25rem;
363+
}
364+
365+
/* ── ICON MODAL ─────────────────────────── */
366+
.icon-modal-overlay {
367+
position:fixed;inset:0;z-index:2500;
368+
background:rgba(3,3,7,0.92);
369+
backdrop-filter:blur(20px);
370+
display:flex;align-items:center;justify-content:center;
371+
opacity:0;pointer-events:none;transition:opacity 0.3s;
372+
}
373+
.icon-modal-overlay.active { opacity:1; pointer-events:all; }
374+
375+
.icon-modal {
376+
background:var(--surface);
377+
border:1px solid rgba(0,200,255,0.2);
378+
border-radius:14px;
379+
width:min(900px,96vw);
380+
max-height:92vh;
381+
overflow-y:auto;
382+
padding:2rem;
383+
box-shadow:0 40px 100px rgba(0,0,0,0.6),0 0 60px rgba(0,200,255,0.08);
384+
transform:scale(0.95);
385+
transition:transform 0.3s;
386+
}
387+
.icon-modal-overlay.active .icon-modal { transform:scale(1); }
388+
389+
.icon-modal-header {
390+
display:flex;align-items:center;justify-content:space-between;
391+
margin-bottom:1rem;
392+
}
393+
.icon-modal-header h2 {
394+
font-family:var(--font-display);
395+
font-size:clamp(1.3rem,3vw,2rem);
396+
color:var(--blue);letter-spacing:0.03em;
397+
}
398+
.icon-modal-header button {
399+
background:none;border:1px solid rgba(255,255,255,0.15);
400+
color:var(--text2);width:32px;height:32px;border-radius:6px;
401+
cursor:pointer;font-size:1rem;transition:all 0.2s;
402+
display:flex;align-items:center;justify-content:center;flex-shrink:0;
403+
}
404+
.icon-modal-header button:hover { background:rgba(255,59,48,0.15);border-color:var(--red);color:var(--red); }
405+
406+
.icon-modal-formula {
407+
font-size:clamp(0.9rem,2vw,1.25rem);
408+
color:var(--gold);
409+
text-align:center;
410+
margin-bottom:1.25rem;
411+
padding:0.75rem;
412+
background:rgba(255,215,0,0.04);
413+
border-radius:6px;
414+
border:1px solid rgba(255,215,0,0.1);
415+
filter:drop-shadow(0 0 15px rgba(255,215,0,0.2));
416+
}
417+
418+
#iconModalCanvas {
419+
width:100%;
420+
height:420px;
421+
display:block;
422+
background:#030307;
423+
border-radius:8px;
424+
border:1px solid var(--border);
425+
margin-bottom:1.25rem;
426+
}
427+
428+
.icon-modal-desc {
429+
font-size:0.95rem;color:var(--text2);line-height:1.7;
430+
}
431+
.icon-modal-desc p { margin-bottom:0.6rem; }
432+
.icon-modal-desc strong { color:var(--blue); }
433+
434+
/* ── FOOTER CREDIT ──────────────────────── */
435+
.footer-credit {
436+
margin-top:1.25rem;
437+
font-family:var(--font-mono);
438+
font-size:0.78rem;
439+
color:var(--text3);
440+
display:flex;align-items:center;justify-content:center;
441+
flex-wrap:wrap;gap:0.35rem;
442+
}
443+
.footer-heart {
444+
color:#ff3b30;
445+
animation:heartbeat 1.4s ease-in-out infinite;
446+
display:inline-block;font-size:1rem;
447+
}
448+
@keyframes heartbeat {
449+
0%,100%{transform:scale(1);}
450+
14%{transform:scale(1.25);}
451+
28%{transform:scale(1);}
452+
42%{transform:scale(1.15);}
453+
70%{transform:scale(1);}
454+
}
455+
.footer-math-love {
456+
color:var(--purple);font-size:0.72rem;
457+
}
458+
.footer-author {
459+
display:inline-flex;align-items:center;gap:0.35rem;
460+
color:var(--blue);text-decoration:none;
461+
border:1px solid rgba(0,200,255,0.25);
462+
padding:0.2rem 0.55rem;border-radius:20px;
463+
background:rgba(0,200,255,0.05);
464+
transition:all 0.25s;
465+
}
466+
.footer-author:hover {
467+
background:rgba(0,200,255,0.12);
468+
border-color:rgba(0,200,255,0.6);
469+
box-shadow:0 0 18px rgba(0,200,255,0.25);
470+
color:#fff;
471+
}
472+
.footer-author-name { font-weight:700;letter-spacing:0.06em; }
473+
.footer-linkedin { opacity:0.8; }
474+
475+
@media(max-width:600px){
476+
#iconModalCanvas { height:260px; }
477+
.icon-modal { padding:1.25rem; }
478+
}

0 commit comments

Comments
 (0)