madebydanny.uk written in html, css, and a lot of JavaScript I don't understand
madeydanny.uk
html
css
javascript
1 :root {
2 --bg: #121212;
3 --card-bg: #4a2b32;
4 --stat-bg: #2a1a21;
5 --text: #fff;
6 --subtext: #dcbaba;
7 --link: #ffcccc;
8 --border: rgba(255,255,255,0.1);
9 --red: #ff6b6b;
10 }
11
12 * { box-sizing: border-box; margin: 0; padding: 0; }
13 body {
14 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
15 background: var(--bg);
16 color: var(--text);
17 line-height: 1.5;
18 min-height: 100vh;
19 }
20
21 a { color: var(--link); text-decoration: none; }
22 a:hover { text-decoration: underline; }
23
24 .site-header {
25 text-align: center;
26 padding: 44px 20px 10px;
27 max-width: 900px;
28 margin: 0 auto;
29 }
30
31 .site-header h1 { font-size: 2rem; margin-bottom: 8px; }
32 .site-header p { color: var(--subtext); font-size: 0.95rem; }
33
34 .tabs-wrap { max-width: 900px; margin: 20px auto 0; padding: 0 20px; }
35 .tab-bar {
36 display: flex;
37 gap: 4px;
38 border-bottom: 1px solid var(--border);
39 overflow-x: auto;
40 scrollbar-width: none;
41 }
42 .tab-bar::-webkit-scrollbar { display: none; }
43 .tab-btn {
44 font-size: 0.9rem;
45 font-weight: 600;
46 color: var(--subtext);
47 border-bottom: 2px solid transparent;
48 padding: 10px 18px;
49 white-space: nowrap;
50 margin-bottom: -1px;
51 display: inline-block;
52 }
53 .tab-btn.active { color: var(--link); border-bottom-color: var(--link); }
54
55 .card {
56 background: var(--card-bg);
57 border: 1px solid var(--border);
58 border-radius: 16px;
59 padding: 32px;
60 box-shadow: 0 6px 12px rgba(0,0,0,0.35);
61 margin-top: 26px;
62 }
63
64 .card h2 { font-size: 1.25rem; margin-bottom: 8px; }
65 .desc { color: var(--subtext); font-size: 0.9rem; margin-bottom: 20px; }
66 hr.divider { border: none; border-top: 1px solid var(--border); margin: 28px 0; }
67
68 .limits-grid {
69 display: grid;
70 grid-template-columns: repeat(3, minmax(0, 1fr));
71 gap: 14px;
72 }
73
74 .limit-card {
75 background: linear-gradient(135deg, var(--stat-bg) 0%, #3f242b 100%);
76 border: 1px solid var(--border);
77 border-radius: 12px;
78 padding: 18px;
79 text-align: center;
80 }
81
82 .limit-card i { font-size: 1.2rem; color: var(--link); }
83 .limit-value { margin-top: 10px; font-size: 1.45rem; font-weight: 700; }
84 .limit-label { color: var(--subtext); font-size: 0.78rem; text-transform: uppercase; margin-top: 2px; }
85 .limit-note { color: var(--subtext); opacity: 0.85; font-size: 0.75rem; margin-top: 6px; }
86
87 .limits-note {
88 margin-top: 16px;
89 background: rgba(0,0,0,0.2);
90 border: 1px solid var(--border);
91 border-radius: 10px;
92 padding: 12px 14px;
93 font-size: 0.86rem;
94 color: var(--subtext);
95 }
96 .limits-note i { color: var(--red); margin-right: 4px; }
97
98 .usage-section {
99 margin-top: 24px;
100 background: rgba(0,0,0,0.2);
101 border: 1px solid var(--border);
102 border-radius: 12px;
103 padding: 18px;
104 }
105
106 .usage-section h2 { font-size: 1rem; margin-bottom: 12px; }
107 .usage-loading { color: var(--subtext); font-size: 0.9rem; }
108 .usage-row { display: flex; justify-content: space-between; font-size: 0.85rem; margin-bottom: 6px; }
109 .usage-track { height: 10px; background: rgba(255,255,255,0.08); border-radius: 999px; overflow: hidden; }
110 .usage-fill { height: 100%; width: 0%; background: linear-gradient(90deg, #6ee7a8, #34c759); transition: width 0.35s ease; }
111 .usage-fill.warn { background: linear-gradient(90deg, #ffd166, #fca311); }
112 .usage-fill.danger { background: linear-gradient(90deg, #ff8b8b, #ff5f5f); }
113
114 .site-footer {
115 max-width: 900px;
116 margin: 26px auto 40px;
117 padding: 0 20px;
118 text-align: center;
119 color: var(--subtext);
120 font-size: 0.85rem;
121 }
122
123 @media (max-width: 780px) {
124 .limits-grid { grid-template-columns: 1fr; }
125 .card { padding: 24px; }
126 }