:root{--font-main: "Outfit", "Inter", system-ui, sans-serif;--bg-gradient: radial-gradient(circle at 50% 0%, #0f172a 0%, #020617 100%);--primary: #f43f5e;--primary-glow: rgba(244, 63, 94, .4);--secondary: #6366f1;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--text-main: #f8fafc;--text-muted: #94a3b8;--card-blur: 20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-main);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;justify-content:center}#root{width:100%;max-width:680px;height:100vh;height:100dvh;display:flex;flex-direction:column}.layout-root{flex:1;display:flex;flex-direction:column;padding:1.25rem;gap:1.25rem}.mapor-logo{font-size:2.5rem;font-weight:900;letter-spacing:-2px;margin:0;background:linear-gradient(to right,#f43f5e,#fb7185);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(244,63,94,.3))}.header-desc{font-size:.9rem;color:var(--text-muted);margin-top:.5rem;line-height:1.4}.glass-card{position:relative;flex:1;background:#0f172a99;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border:1px solid var(--glass-border);border-radius:24px;padding:1.5rem;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.curse-text{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:1rem 0}.main-text{font-size:clamp(1.5rem,6vw,2.2rem);font-weight:800;line-height:1.2;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.3)}.curse-translation{margin-top:.75rem;font-size:1rem;color:var(--text-muted);font-style:italic;font-weight:400}.vote-controls{display:flex;justify-content:center;gap:1.5rem;margin:1rem 0}.vote-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted);padding:.6rem 1.2rem;border-radius:100px;transition:all .2s cubic-bezier(.4,0,.2,1)}.vote-btn:active{transform:scale(.9)}.vote-btn.upvote:hover{background:#10b9811a;color:#10b981;border-color:#10b9814d}.vote-btn.downvote:hover{background:#f43f5e1a;color:#f43f5e;border-color:#f43f5e4d}.meta-info{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:auto;padding-top:1.5rem;font-size:.75rem;opacity:.8}.badge{font-size:.75rem;font-weight:600;background:var(--glass);border:1px solid var(--glass-border);padding:.4rem .8rem;border-radius:8px;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.category-filter{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0;margin-top:1rem;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;font-size:.8rem;font-weight:600;padding:.5rem 1rem;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;transition:all .2s}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px var(--primary-glow)}.main-actions{display:flex;flex-direction:column;gap:.75rem}.btn-primary{width:100%;padding:1.15rem;font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;background:var(--primary);color:#fff;border:none;border-radius:16px;box-shadow:0 8px 30px var(--primary-glow);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-primary:active{transform:translateY(2px);box-shadow:0 4px 12px var(--primary-glow)}.secondary-actions{display:flex;gap:.75rem}.btn-secondary{flex:1;background:var(--glass);border:1px solid var(--glass-border);color:#fff;padding:1rem;border-radius:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer}.share-row{display:flex;gap:.75rem}.btn-share-main{flex:2;background:linear-gradient(135deg,var(--secondary),#818cf8);color:#fff;border:none;border-radius:16px;padding:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 8px 20px #6366f14d}.btn-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--glass);border:1px solid var(--glass-border);color:#fff;cursor:pointer}.safe-toggle{display:flex;align-items:center;justify-content:space-between;background:var(--glass);border:1px solid var(--glass-border);padding:.75rem 1rem;border-radius:16px;flex:1}.switch{position:relative;display:inline-block;width:44px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#334155;transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(20px)}.ad-slot{width:100%;height:60px;background:#ffffff03;border:1px dashed rgba(255,255,255,.05);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#1e293b;text-transform:uppercase;letter-spacing:2px}.modal-overlay{position:fixed;inset:0;background:#020617e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:flex-end}@media(min-width:500px){.modal-overlay{align-items:center;justify-content:center;padding:2rem}}.modal-sheet{background:#1e293b;width:100%;border-radius:32px 32px 0 0;padding:2rem;max-height:90vh;overflow-y:auto;border:1px solid var(--glass-border)}@media(min-width:500px){.modal-sheet{border-radius:24px;max-width:450px}}.form-field{margin-bottom:1.25rem}.form-field label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.5rem}.form-field input,.form-field select,.form-field textarea{width:100%;background:#0f172a;border:1px solid var(--glass-border);border-radius:12px;padding:.75rem;color:#fff;font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
