1<!-- 2 ×תר ש×ר ס×פ×ר ×ספר 3 ××ת: ש×××× ××× 4 © 2005 â ×× ××××××ת ש××ר×ת 5 shaulicohen.netlify.app 6--> 7<!DOCTYPE html> 8<html lang="he" dir="rtl"> 9<head> 10 <meta charset="UTF-8"> 11 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 12 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 13 <meta name="author" content="ש×××× ×××"> 14 <meta name="copyright" content="© 2005 ש×××× ××× â ×תר ש×ר ס×פ×ר ×ספר. ×× ××××××ת ש××ר×ת."> 15 <title>ש×ר ס×פ×ר ×ספר</title> 16 <link rel="stylesheet" type="text/css" href="./form.css"> 17 <style> 18 /* ===== Page-level overrides for index ===== */ 19 body { 20 background: 21 radial-gradient(ellipse at 15% 30%, rgba(120, 90, 168, 0.07) 0%, transparent 50%), 22 radial-gradient(ellipse at 85% 10%, rgba(201, 163, 82, 0.06) 0%, transparent 40%), 23 #07101f; 24 padding-top: var(--nav-h); 25 overflow-x: hidden; 26 } 27 28 /* Animated background orbs */ 29 .page-bg-orb { 30 position: fixed; 31 border-radius: 50%; 32 filter: blur(100px); 33 pointer-events: none; 34 z-index: -1; 35 animation: orbDrift 25s ease-in-out infinite; 36 } 37 .orb-gold { 38 width: 500px; height: 500px; 39 background: radial-gradient(circle, rgba(201, 163, 82, 0.11) 0%, transparent 70%); 40 top: -180px; right: -120px; 41 animation-duration: 30s; 42 } 43 .orb-purple { 44 width: 380px; height: 380px; 45 background: radial-gradient(circle, rgba(100, 70, 160, 0.09) 0%, transparent 70%); 46 bottom: 5%; left: -80px; 47 animation-duration: 22s; 48 animation-delay: -11s; 49 } 50 51 @keyframes orbDrift { 52 0%, 100% { transform: translate(0, 0); } 53 33% { transform: translate(25px, -35px); } 54 66% { transform: translate(-18px, 22px); } 55 } 56 57 /* ===== Hero ===== */ 58 .hero { 59 text-align: center; 60 padding: 72px 5% 56px; 61 position: relative; 62 animation: heroReveal 1s ease both; 63 } 64 65 @keyframes heroReveal { 66 from { opacity: 0; transform: translateY(28px); } 67 to { opacity: 1; transform: translateY(0); } 68 } 69 70 .hero-badge { 71 display: inline-block; 72 font-size: 11px; 73 font-weight: 500; 74 letter-spacing: 0.22em; 75 color: var(--gold); 76 text-transform: uppercase; 77 margin-bottom: 28px; 78 padding: 6px 20px; 79 border: 1px solid rgba(201, 163, 82, 0.25); 80 border-radius: 100px; 81 background: rgba(201, 163, 82, 0.05); 82 animation: heroReveal 0.9s ease both; 83 } 84 85 .hero-name { 86 font-family: 'Frank Ruhl Libre', serif; 87 font-weight: 900; 88 font-size: clamp(3rem, 9vw, 5.5rem); 89 line-height: 1.1; 90 background: linear-gradient(155deg, #f0e8d8 20%, #c9a352 60%, #e8c97a 100%); 91 -webkit-background-clip: text; 92 -webkit-text-fill-color: transparent; 93 background-clip: text; 94 margin: 0; 95 animation: heroReveal 1s ease both 0.08s; 96 } 97 98 /* Remove the default h1 underline */ 99 .hero-name::after { display: none; } 100 101 .hero-divider { 102 width: 80px; 103 height: 1px; 104 background: linear-gradient(90deg, transparent, var(--gold), transparent); 105 margin: 28px auto 24px; 106 } 107 108 .hero-tagline { 109 font-size: 1.05rem; 110 font-weight: 300; 111 color: rgba(240, 232, 216, 0.58); 112 line-height: 1.9; 113 max-width: 480px; 114 margin: 0 auto; 115 animation: heroReveal 1s ease both 0.2s; 116 } 117 118 /* ===== Content section ===== */ 119 .content-wrap { 120 max-width: 820px; 121 margin: 0 auto; 122 padding: 0 0 70px; 123 } 124 125 .content-card { 126 background: rgba(13, 27, 48, 0.82); 127 backdrop-filter: blur(20px); 128 -webkit-backdrop-filter: blur(20px); 129 border: 1px solid rgba(201, 163, 82, 0.15); 130 border-radius: 20px; 131 padding: 40px 48px; 132 margin-bottom: 28px; 133 position: relative; 134 overflow: hidden; 135 animation: fadeUp 0.7s ease both; 136 } 137 138 .content-card:nth-child(2) { animation-delay: 0.12s; } 139 .content-card:nth-child(3) { animation-delay: 0.24s; } 140 141 .content-card::after { 142 content: ''; 143 position: absolute; 144 top: 0; right: 0; 145 width: 220px; height: 220px; 146 background: radial-gradient(circle at top right, rgba(201, 163, 82, 0.05) 0%, transparent 70%); 147 pointer-events: none; 148 } 149 150 .card-heading { 151 font-family: 'Frank Ruhl Libre', serif; 152 font-size: 1.6rem; 153 font-weight: 700; 154 color: var(--gold-light); 155 margin-bottom: 22px; 156 display: flex; 157 align-items: center; 158 gap: 12px; 159 } 160 161 .card-heading::after { display: none; } 162 163 .card-heading::before { 164 content: ''; 165 display: inline-block; 166 width: 3px; 167 height: 22px; 168 background: linear-gradient(to bottom, var(--gold), transparent); 169 border-radius: 2px; 170 flex-shrink: 0; 171 order: 1; 172 } 173 174 .card-text { 175 font-size: 1.05rem; 176 line-height: 2.05; 177 color: rgba(240, 232, 216, 0.7); 178 font-weight: 300; 179 text-align: justify; 180 } 181 182 .card-text + .card-text { 183 margin-top: 18px; 184 padding-top: 18px; 185 border-top: 1px solid rgba(201, 163, 82, 0.08); 186 } 187 188 .quote-text { 189 text-align: center !important; 190 font-style: italic; 191 color: rgba(201, 163, 82, 0.72) !important; 192 margin-top: 20px !important; 193 padding-top: 20px !important; 194 font-size: 1rem !important; 195 border-top: 1px solid rgba(201, 163, 82, 0.1) !important; 196 } 197 198 /* ===== Footer ===== */ 199 .site-footer { 200 text-align: center; 201 padding: 28px 5%; 202 color: rgba(240, 232, 216, 0.22); 203 font-size: 0.8rem; 204 font-weight: 300; 205 border-top: 1px solid rgba(201, 163, 82, 0.06); 206 } 207 208 .site-footer .accent { color: var(--gold); opacity: 0.45; margin: 0 8px; } 209 210 @media (max-width: 768px) { 211 .hero { padding: 50px 5% 36px; } 212 .content-card { padding: 28px 24px; } 213 } 214 </style> 215</head> 216<body> 217
218 <a href="#main-content" class="skip-link">××× ×ת××× ×ר×ש×</a> 219 220 <!-- Background orbs --> 221 <div class="page-bg-orb orb-gold" aria-hidden="true"></div> 222 <div class="page-bg-orb orb-purple" aria-hidden="true"></div> 223 224 <!-- Navigation --> 225 <nav dir="rtl" id="window2" aria-label="תפר×× ×¨×ש×"> 226 <button id="menu-toggle" aria-expanded="false" aria-controls="window2" aria-label="×¤×ª× ×ª×¤×¨××">Ⱐתפר××</button> 227 <a href='/'>××£ ר×ש×</a> 228 <a href='/teilim'>ש×רת ×××××</a> 229 <a href='/shaulicohen'>××¤×¢× ××××</a> 230 <a href='/loginuser'>×× ×סת ××ר רש××</a> 231 <a href='/gallery'>ת××× ×ת ×ספר×ת</a> 232 <a href='/form'>ר×ש×× ××ר××</a> 233 <a href="https://cohenshauli.netlify.app/" target="_blank">ספר×× ×ס×פ×ר××</a> 234 <a href='/zicaron'>×ש××§ ×××ר××</a> 235 <a href='/news'>××ש×ת</a> 236 <a href='/code'>ת×× ×× × ×ספ×× ×××ר רש××</a> 237 <a href='/accessibility'>×צ×רת × ××ש×ת</a> 238 <a href='/privacy'>×××× ××ת פר×××ת</a> 239 </nav> 240 <!-- Content --> 241 <main id="main-content"> 242 <section class="content-wrap"> 243 244 <div class="content-card"> 245 <h2 class="card-heading">××ר ××ער×ת</h2> 246 <p class="card-text"> 247 ××תר "ש×ר ס×פ×ר ×ספר" ת×צ×× ×××¢ ת××¨× × ×××××. ××××ª× × ×ש×ש × ×¨ ש×××× ×צ××× ××××ר ××ש×× ×עצ××× ×× ×××× × × ×צ×××, ×××ת ××××, ××××ת ××§×©× ×××ר××× ××× ×××××ת ×שר××. ××פשר×ת×× ×××¨×©× ××××× ×¡ ××××ר ×××ר×× ×רש×××× ×©× ××תר, ×שר ××פשר ××× ××× ××ת ×ת×× ×× × ×ספ××. ת××× ×××× ××! 248 </p> 249 </div> 250 251 <div class="content-card"> 252 <h2 class="card-heading">××××× ××¢×ª× ×</h2> 253 <p class="card-text"> 254 ×× × ××××× ××¢×ª× × ×רצ×× ×ת×× × ××× ×××× × ×× ×¤×©× × ×××××× × ××× ×©×× ××× ×¤×© ×פצ×, ש×× ××× ×ª× × ××תר ×× ××× ××©× ×××× ×§×××©× ×ר×× ××× ×ש××× ×ª××, ××× ××ש×× ×××××ר ש×× × ×× ×¨×¦×× ××××¨× ×ת××¨× ×©×× ××תע××, ××× ××× ×××××× ××××¤× ×©×× ×¨×¦×× × × ××× ××× ××©× ×××× ×§×××©× ×ר×× ××× ×ש××× ×ª××, ×עש×ת × ×ת ר×× ××××¦×¨× × ××עש×ת רצ×× ××ר×× × ××× ×©×× ×¤× ×× ××× ××¢×קר. ×××× ×¨×¦×× ×©×× × ××©× ×××ר ×××× ×× ×¢×©× ×¨×¦×× ××××¨× ×ת××¨× ×©×× ××תע××. 255 </p> 256 <p class="card-text"> 257 ×× × × ×××××× ×× ××ש×× ×©× ××××× ×ש×××ת ×¢× ××××ª× × ×× ×××× ×ª×¨×¢××ת ×¢× ××××ת ×× ××¢× × ×¢× ×עש×× ×ס ×ש××× ××× ××× ×××××× ×××× ××¦× ×צר ×רע ××× × × ××××× ××¢×ª× × ×©×× × × ××××¢×× ×××××× ×× ×××ר×××× ×©×× ××× ××שר×× ×ש×× ××קר ××× ×©××¢×ר ×ס××£ ××× ×¤×¢××× ×©×× ×××× ××××× ×ת ××××ת ××קר×ת ×רצ×× ×ת × ×¤×××ת ש×ש×××ת ××××××ת ××× ××××× × ×©×ש×××, ×××× ×× × ×©×× ×ש×× ×¢× ×©×× ××× ×©×× ××× ×¢××× ××× ××¤× × ×¢×¦××, ××ת××: ×שר×× ××§×××©× ×ר×× ××× ××. 258 </p> 259 <p class="card-text quote-text"> 260 "×××× ×רצ×× ×××¨× ×¤× ×××××× ××× ××¤× ×× ×-×-×-× ×¦××¨× ××××××" 261 </p> 262 </div> 263 264 </section> 265 </main> 266 267 <footer class="site-footer"> 268 <a href='/privacy' style='color:rgba(201,163,82,0.55); font-size:0.75rem; text-decoration:none;'>×××× ××ת פר×××ת</a> 269 <br> 270 <a href='/accessibility' style='color:rgba(201,163,82,0.55); font-size:0.75rem; text-decoration:none;'>×צ×רת × ××ש×ת</a> 271 <br> 272 <span style="color:rgba(201,163,82,0.9); font-size:0.8rem; text-decoration:none; display:block; margin-top:10px;">© 2005 ×× ××××××ת ש××ר×ת ××תר "ש×ר ס×פ×ר ×ספר" ש×××× ×××</span> 273 </footer> 274 275
275<script src="form.js"></script>
275 276
276<script> 277 // Handle email confirmation / recovery tokens in URL hash 278 (function() { 279 var hash = window.location.hash.substring(1); 280 if (!hash) return; 281 var params = {}; 282 hash.split('&').forEach(function(p) { 283 var kv = p.split('='); 284 params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || ''); 285 }); 286 if ((params.type === 'signup' || params.type === 'email_confirmation') && params.access_token) { 287 var expiresAt = Date.now() + (parseInt(params.expires_in) || 3600) * 1000; 288 localStorage.setItem('nf_token', JSON.stringify({ 289 access_token: params.access_token, 290 refresh_token: params.refresh_token || '', 291 expires_in: parseInt(params.expires_in) || 3600, 292 expires_at: expiresAt 293 })); 294 alert("××××××× ××שר ××צ×××! ×ר×× ××× ××תר ש×ר ס×פ×ר ×ספר."); 295 window.location.href = './code.html'; 296 } else if (params.type === 'recovery' && params.access_token) { 297 window.location.href = './reset-password.html' + window.location.hash; 298 } 299 })(); 300 </script>
vendor: 1 bytes, line 300
300
301<script src="./auth-nav.js"></script>
301 302</body> 303</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.