:root{--bg: #0a0a1a;--bg-deep: #060612;--surface: #12122a;--surface-hover: #1a1a3a;--border: #2a2a4a;--text: #e5e5f0;--text-dim: #8888aa;--accent: #f59e0b;--accent-light: #fbbf24;--accent-glow: rgba(245, 158, 11, .3);--accent-deep: #d97706;--red: #ef4444;--green: #22c55e;--blue: #3b82f6;--cyan: #06b6d4;--purple: #a855f7;--pink: #ec4899;--radius: 12px;--radius-sm: 8px;--transition: .25s ease;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--topbar-h: 56px;--stats-h: 36px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:16px;transition:opacity .5s ease}#loader.fade-out{opacity:0;pointer-events:none}#loader p{color:var(--accent);font-size:14px;letter-spacing:1px}.loader-star{animation:pulse-glow 1.5s ease-in-out infinite}.loader-star svg polygon{filter:drop-shadow(0 0 10px var(--accent))}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}#topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#0a0a1abf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}#logo{font-size:20px;font-weight:700;color:var(--accent);white-space:nowrap;text-shadow:0 0 20px var(--accent-glow)}#top-actions{display:flex;align-items:center;gap:10px}.btn-wish{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#000;border:none;padding:8px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;transition:var(--transition);white-space:nowrap;box-shadow:0 0 20px var(--accent-glow)}.btn-wish:hover{transform:translateY(-1px);box-shadow:0 0 30px var(--accent-glow),0 4px 12px #0000004d}#search-input{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;width:180px;outline:none;transition:var(--transition)}#search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}#search-input::placeholder{color:var(--text-dim)}#category-filter,#lang-select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:7px 10px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;outline:none}#category-filter:focus,#lang-select:focus{border-color:var(--accent)}#category-filter option,#lang-select option{background:var(--surface);color:var(--text)}#globe-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}#globe-container canvas{display:block}#stats-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;height:var(--stats-h);display:flex;align-items:center;justify-content:center;gap:16px;background:#0a0a1acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);font-size:13px;color:var(--text-dim)}#stats-bar span:not(.stats-sep){color:var(--accent-light);font-weight:600}.stats-sep{opacity:.3}#tooltip{position:fixed;z-index:200;max-width:280px;padding:10px 14px;background:#12122af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;line-height:1.4;pointer-events:none;box-shadow:0 8px 32px #0006;transition:opacity .15s ease}#tooltip.hidden{opacity:0;display:none}.tooltip-text{color:var(--text);margin-bottom:4px}.tooltip-author{color:var(--accent);font-size:11px}.tooltip-likes{color:var(--text-dim);font-size:11px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s ease}.modal-overlay.hidden{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;max-width:420px;width:90%;position:relative;animation:modal-pop .25s ease;box-shadow:0 20px 60px #00000080}@keyframes modal-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.close-btn{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;line-height:1;transition:color var(--transition)}.close-btn:hover{color:var(--text)}.wish-category-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:12px;background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent)}.modal-content .wish-text{font-size:18px;line-height:1.5;margin-bottom:16px;color:var(--text);word-break:break-word}.wish-meta{font-size:13px;color:var(--text-dim);margin-bottom:16px;display:flex;flex-wrap:wrap;gap:12px}.like-btn{background:var(--surface-hover);border:1px solid var(--border);color:var(--text);padding:8px 20px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;transition:var(--transition)}.like-btn:hover{border-color:var(--red);background:#ef44441a}.like-btn.liked{border-color:var(--red);color:var(--red)}#make-wish-panel{position:fixed;top:0;right:0;bottom:0;z-index:400;width:380px;max-width:100vw;background:#0c0c1ef2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--border);transform:translate(0);transition:transform .3s ease;overflow-y:auto}#make-wish-panel.hidden{transform:translate(100%);pointer-events:none}.panel-content{padding:24px;padding-top:calc(var(--topbar-h) + 16px)}.panel-content h2{font-size:22px;color:var(--accent);margin-bottom:8px}.panel-hint{font-size:13px;color:var(--text-dim);margin-bottom:20px}.pin-location{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f59e0b1a;border:1px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;color:var(--accent)}.pin-location.hidden{display:none}.pin-icon{font-size:18px}#wish-text{width:100%;min-height:100px;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:12px;border-radius:var(--radius-sm);font-size:15px;font-family:var(--font);resize:vertical;outline:none;transition:var(--transition)}#wish-text:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}#wish-text::placeholder{color:var(--text-dim)}.char-count{text-align:right;font-size:11px;color:var(--text-dim);margin-top:4px;margin-bottom:12px}.wish-form-row{display:flex;gap:10px;margin-bottom:16px}.wish-form-row input,.wish-form-row select{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;outline:none;transition:var(--transition)}.wish-form-row input:focus,.wish-form-row select:focus{border-color:var(--accent)}.wish-form-row input::placeholder{color:var(--text-dim)}.wish-form-row select option{background:var(--surface);color:var(--text)}.btn-submit{width:100%;padding:12px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#000;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:var(--transition);margin-bottom:10px;box-shadow:0 0 20px var(--accent-glow)}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 30px var(--accent-glow),0 4px 12px #0000004d}.btn-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.cancel-btn{width:100%;padding:10px;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:var(--transition)}.cancel-btn:hover{border-color:var(--text-dim);color:var(--text)}#toast{position:fixed;bottom:60px;left:50%;transform:translate(-50%) translateY(20px);z-index:600;padding:10px 24px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font-size:14px;font-weight:600;box-shadow:0 8px 32px #0006;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#toast.hidden{display:block}#site-footer{position:fixed;bottom:var(--stats-h);left:0;right:0;z-index:50;text-align:center;padding:6px 12px;pointer-events:none;opacity:0;transition:opacity .3s ease}body:hover #site-footer{opacity:.6}#site-footer:hover{opacity:1}.footer-tools{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;pointer-events:all}.footer-links a{color:var(--text-dim);text-decoration:none;font-size:12px;transition:color var(--transition)}.footer-links a:hover{color:var(--accent)}@media (max-width: 768px){#topbar{flex-wrap:wrap;height:auto;padding:8px 12px;gap:6px}#top-actions{width:100%;flex-wrap:wrap;gap:6px}.btn-wish{flex:1;text-align:center;padding:7px 12px;font-size:13px}#search-input{flex:1;min-width:100px;width:auto}#category-filter,#lang-select{flex:0 0 auto}#make-wish-panel{width:100%}.modal-content{margin:16px;padding:20px}#stats-bar{font-size:11px;gap:10px}}@media (max-width: 480px){#logo{font-size:16px}.btn-wish,#search-input{font-size:12px;padding:6px 10px}}[dir=rtl] #make-wish-panel{right:auto;left:0;border-left:none;border-right:1px solid var(--border)}[dir=rtl] #make-wish-panel.hidden{transform:translate(-100%)}[dir=rtl] .close-btn{right:auto;left:14px}body.wish-mode #globe-container{cursor:crosshair}@keyframes wish-appear{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.cat-love{color:#ef4444}.cat-career{color:#3b82f6}.cat-health{color:#22c55e}.cat-travel{color:#06b6d4}.cat-family{color:#a855f7}.cat-peace{color:#f0f0ff}.cat-dream{color:#f59e0b}.cat-other{color:#94a3b8}#welcome-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}#welcome-modal.hidden{display:none}.welcome-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.welcome-card{position:relative;background:linear-gradient(135deg,#1a1a3a,#12122a);border:1px solid rgba(245,158,11,.3);border-radius:20px;padding:40px;max-width:520px;width:100%;box-shadow:0 20px 60px #00000080,0 0 40px #f59e0b1a;animation:welcomeIn .5s ease-out;overflow:hidden}.welcome-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(245,158,11,.08) 0%,transparent 60%);pointer-events:none}@keyframes welcomeIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-card h2{font-size:1.8rem;margin-bottom:16px;color:#f59e0b;text-align:center}.welcome-desc{color:#b0b0c8;font-size:.95rem;line-height:1.6;margin-bottom:12px;text-align:center}.welcome-desc.highlight{color:#e0e0f0;font-weight:500}.welcome-steps{background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:12px;padding:16px 20px;margin:20px 0}.welcome-steps h3{font-size:1rem;color:#f59e0b;margin-bottom:10px}.welcome-steps p{color:#c0c0d8;font-size:.9rem;line-height:1.8;margin:0}.welcome-start{display:block;width:100%;padding:14px;margin-top:20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;font-size:1.1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.welcome-start:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f59e0b4d}.welcome-checkbox{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;cursor:pointer;color:#667;font-size:.85rem}.welcome-checkbox input[type=checkbox]{accent-color:#f59e0b;width:16px;height:16px;cursor:pointer}@media (max-width: 600px){.welcome-card{padding:24px;border-radius:16px}.welcome-card h2{font-size:1.4rem}}[dir=rtl] .welcome-steps p{text-align:right}[dir=rtl] .welcome-desc{text-align:center}
