|
| 1 | +:root{ |
| 2 | + --navy:#1B365D; --blue:#0080CC; --accent:#418FDE; --gold:#D4A01E; |
| 3 | + --bg:#F8FAFC; --card:#FFFFFF; --ink:#1A1A2E; --mid:#555E6E; --light:#889099; |
| 4 | + --stage:#0D1B2A; --line:#E2E8F0; |
| 5 | + --font:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',-apple-system, |
| 6 | + BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; |
| 7 | +} |
| 8 | +*{box-sizing:border-box;margin:0;padding:0} |
| 9 | +html,body{height:100%} |
| 10 | +body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased} |
| 11 | +a{color:inherit;text-decoration:none} |
| 12 | + |
| 13 | +/* ============ INDEX ============ */ |
| 14 | +body.index{display:flex;flex-direction:column;min-height:100%} |
| 15 | +.site-header{ |
| 16 | + text-align:center;padding:64px 24px 40px; |
| 17 | + background:linear-gradient(180deg,#EAF2FB 0%,var(--bg) 100%); |
| 18 | + border-bottom:1px solid var(--line); |
| 19 | +} |
| 20 | +.site-header .brand{color:var(--blue);font-weight:700;letter-spacing:.12em; |
| 21 | + font-size:13px;text-transform:uppercase} |
| 22 | +.site-header h1{color:var(--navy);font-size:clamp(28px,5vw,48px);font-weight:800;margin:10px 0 6px} |
| 23 | +.site-header .tagline{color:var(--mid);font-size:16px} |
| 24 | + |
| 25 | +.events-grid{ |
| 26 | + flex:1;width:100%;max-width:1080px;margin:0 auto;padding:40px 24px 64px; |
| 27 | + display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px; |
| 28 | + align-content:start; |
| 29 | +} |
| 30 | +.event-card{ |
| 31 | + background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden; |
| 32 | + box-shadow:0 1px 2px rgba(16,33,60,.04); |
| 33 | + transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; |
| 34 | + display:flex;flex-direction:column; |
| 35 | +} |
| 36 | +.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(16,33,60,.12); |
| 37 | + border-color:var(--accent)} |
| 38 | +.event-card .thumb{aspect-ratio:16/9;background:#0D1B2A;overflow:hidden} |
| 39 | +.event-card .thumb img{width:100%;height:100%;object-fit:cover;display:block} |
| 40 | +.event-card .meta{padding:18px 20px 22px} |
| 41 | +.event-card .badge{display:inline-block;background:var(--blue);color:#fff;font-weight:700; |
| 42 | + font-size:12px;padding:3px 10px;border-radius:999px;margin-bottom:10px} |
| 43 | +.event-card h2{color:var(--navy);font-size:19px;font-weight:700;line-height:1.3} |
| 44 | +.event-card .date{color:var(--mid);font-size:14px;margin-top:6px} |
| 45 | +.event-card .count{color:var(--light);font-size:12px;margin-top:2px} |
| 46 | +.empty{color:var(--mid);grid-column:1/-1;text-align:center;padding:60px 0} |
| 47 | +.site-footer{text-align:center;padding:24px;color:var(--light);font-size:13px; |
| 48 | + border-top:1px solid var(--line)} |
| 49 | +.site-footer a{color:var(--blue)} |
| 50 | + |
| 51 | +/* ============ VIEWER ============ */ |
| 52 | +body.viewer{height:100vh;overflow:hidden;background:var(--stage)} |
| 53 | +.stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center; |
| 54 | + cursor:pointer;background: |
| 55 | + radial-gradient(120% 120% at 50% 0%,#13263b 0%,var(--stage) 60%)} |
| 56 | +.slide-img{max-width:100%;max-height:100%;object-fit:contain; |
| 57 | + box-shadow:0 10px 50px rgba(0,0,0,.45);user-select:none} |
| 58 | +.nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5; |
| 59 | + width:54px;height:54px;border:none;border-radius:50%;cursor:pointer; |
| 60 | + background:rgba(255,255,255,.10);color:#fff;font-size:30px;line-height:1; |
| 61 | + backdrop-filter:blur(4px);transition:background .15s,opacity .2s;opacity:0} |
| 62 | +.nav:hover{background:rgba(255,255,255,.22)} |
| 63 | +.nav.prev{left:18px}.nav.next{right:18px} |
| 64 | +.stage:hover .nav{opacity:1} |
| 65 | + |
| 66 | +.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:14px; |
| 67 | + padding:12px 18px;color:#fff; |
| 68 | + background:linear-gradient(180deg,rgba(7,15,26,.78),rgba(7,15,26,0)); |
| 69 | + transition:opacity .3s;font-size:14px} |
| 70 | +.topbar.hide{opacity:0;pointer-events:none} |
| 71 | +.topbar .home{color:#cfe2f5;font-weight:600} |
| 72 | +.topbar .home:hover{color:#fff} |
| 73 | +.topbar .title{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} |
| 74 | +.topbar .spacer{flex:1} |
| 75 | +.topbar .counter{color:#aebdce;font-variant-numeric:tabular-nums;letter-spacing:.04em} |
| 76 | +.topbar .dl{border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 12px;border-radius:8px; |
| 77 | + font-weight:600;font-size:13px} |
| 78 | +.topbar .dl:hover{background:rgba(255,255,255,.15)} |
| 79 | +.topbar .fs{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff; |
| 80 | + width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:15px} |
| 81 | +.topbar .fs:hover{background:rgba(255,255,255,.15)} |
| 82 | + |
| 83 | +@media (max-width:640px){ |
| 84 | + .nav{opacity:1;width:44px;height:44px;font-size:24px} |
| 85 | + .topbar .title{max-width:40vw} |
| 86 | + .site-header{padding:44px 20px 28px} |
| 87 | +} |
0 commit comments