@font-face { font-family: 'Vazirmatn Local'; src: local('Vazirmatn'), local('Vazirmatn Regular'), local('Vazirmatn UI'); font-display: swap; } :root { --primary: #6366f1; --primary-dark: #4f46e5; --secondary: #22d3ee; --success: #10b981; --error: #ef4444; --warning: #f59e0b; --bg: #09111f; --bg-soft: #0f172a; --bg-card: rgba(15, 23, 42, 0.82); --bg-elevated: rgba(23, 37, 62, 0.9); --border: rgba(148, 163, 184, 0.18); --border-strong: rgba(148, 163, 184, 0.32); --text: #e5eefc; --text-soft: #bfd1ee; --text-muted: #91a4c8; --radius-lg: 24px; --radius-md: 18px; --radius-sm: 12px; --shadow-lg: 0 12px 28px rgba(2, 8, 23, 0.22); --shadow-md: 0 8px 18px rgba(2, 8, 23, 0.16); --content-max: 960px; --toolbar-size: 2rem; --transition: none; --font-sans: 'Vazirmatn Local', 'Vazirmatn', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; } * { box-sizing: border-box; margin: 0; padding: 0; } html { -webkit-text-size-adjust: 100%; scroll-behavior: auto; } body { min-height: 100vh; font-family: var(--font-sans); line-height: 1.65; color: var(--text); background: radial-gradient(circle at top, rgba(99, 102, 241, 0.12), transparent 34%), linear-gradient(180deg, #08101d 0%, #0b1324 42%, #09111f 100%); } img, svg { display: block; max-width: 100%; } button, input, textarea, select { font: inherit; } a { color: inherit; text-decoration: none; } .container { width: min(100%, var(--content-max)); margin: 0 auto; padding: 24px; } header { padding: 40px 0 28px; text-align: center; } .logo { display: inline-grid; place-items: center; width: clamp(4rem, 11vw, 5.2rem); height: clamp(4rem, 11vw, 5.2rem); margin: 0 auto 18px; border-radius: 24px; font-size: clamp(2rem, 5vw, 2.65rem); background: linear-gradient(135deg, rgba(99, 102, 241, 0.35), rgba(34, 211, 238, 0.18)); border: 1px solid rgba(165, 180, 252, 0.28); box-shadow: 0 0 0 10px rgba(99, 102, 241, 0.07), var(--shadow-md); } h1 { font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; background: linear-gradient(135deg, #fff 0%, #c7d2fe 48%, #bae6fd 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .subtitle { max-width: 38rem; margin: 12px auto 0; color: var(--text-muted); font-size: clamp(0.98rem, 2vw, 1.08rem); } .security-badges, .chip-list, .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; } .security-badges { margin-top: 18px; } .badge, .chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid rgba(129, 140, 248, 0.28); border-radius: 999px; background: rgba(79, 70, 229, 0.12); color: #c7d2fe; font-size: 0.84rem; line-height: 1.2; } .card { position: relative; margin-bottom: 20px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.8)); box-shadow: var(--shadow-lg); } .alert { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--radius-md); margin-bottom: 18px; font-size: 0.95rem; } .compact-alert { margin-bottom: 12px; } .alert-warning { color: #fde68a; border: 1px solid rgba(245, 158, 11, 0.26); background: rgba(245, 158, 11, 0.12); } .alert-error { color: #fecaca; border: 1px solid rgba(239, 68, 68, 0.32); background: rgba(127, 29, 29, 0.22); } .alert-success { color: #bbf7d0; border: 1px solid rgba(16, 185, 129, 0.3); background: rgba(6, 78, 59, 0.26); } .alert-info { color: #c7d2fe; border: 1px solid rgba(99, 102, 241, 0.3); background: rgba(49, 46, 129, 0.24); } .form-group, .password-section, .password-input-wrapper, .custom-expiry-wrapper, .result-box, .tech-specs, .docs-panel, .docs-intro { display: grid; gap: 12px; } .form-group + .form-group, .form-group + .password-section, .settings-grid + .btn, .btn + .result-box { margin-top: 18px; } label, .section-title, .tech-specs h3, .step-content h3, .docs-panel h2, .card h2 { font-weight: 700; letter-spacing: -0.015em; } .section-title, .card h2 { font-size: clamp(1.2rem, 2vw, 1.45rem); } .helper-text, .input-help, .footer-subtitle, .meta-info, .docs-note, .custom-expiry-wrapper small, .password-strength-label, .helper-copy { color: var(--text-muted); font-size: 0.92rem; } textarea, input[type="password"], input[type="text"], input[type="datetime-local"], select, .url-input, .inline-code-block { width: 100%; border-radius: 16px; border: 1px solid var(--border); background: rgba(8, 15, 28, 0.78); color: var(--text); transition: none; } textarea, input[type="password"], input[type="text"], input[type="datetime-local"], select, .url-input { padding: 14px 16px; font-size: 0.97rem; text-align: start; unicode-bidi: plaintext; } textarea:focus, input:focus, select:focus, button:focus-visible, a:focus-visible { outline: none; border-color: rgba(129, 140, 248, 0.82); box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.16); } textarea::placeholder, input::placeholder { color: rgba(191, 209, 238, 0.52); } textarea { min-height: clamp(220px, 40vw, 280px); resize: vertical; line-height: 1.9; font-family: var(--font-mono); } input[type="password"], input[type="text"], input[type="datetime-local"], select, .url-input { min-height: 52px; } select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 42px; } .editor-shell { display: grid; gap: 12px; padding: 14px; border: 1px solid rgba(129, 140, 248, 0.18); border-radius: 22px; background: linear-gradient(180deg, rgba(10, 18, 34, 0.94), rgba(8, 14, 27, 0.88)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02), 0 8px 18px rgba(2, 8, 23, 0.12); } .editor-shell-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; } .editor-shell textarea { margin: 0; border: 1px solid rgba(148, 163, 184, 0.08); background: linear-gradient(180deg, rgba(3, 9, 19, 0.82), rgba(3, 9, 19, 0.68)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.015); } .editor-toolbar { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; border-radius: 15px; background: rgba(7, 13, 25, 0.72); border: 1px solid rgba(148, 163, 184, 0.14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); justify-content: flex-end; } .toolbar-btn { display: inline-grid; place-items: center; width: var(--toolbar-size); height: var(--toolbar-size); border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--text-soft); cursor: pointer; user-select: none; font-size: 0.85rem; user-select: none; transition: none; } .toolbar-btn:hover { background: rgba(99, 102, 241, 0.14); border-color: rgba(129, 140, 248, 0.24); color: #fff; box-shadow: none; } .toolbar-btn:active { transform: none; } .toolbar-btn strong, .toolbar-btn em, .toolbar-strike { font-size: 0.9rem; line-height: 1; } .toolbar-btn em { font-style: italic; } .toolbar-strike { text-decoration: line-through; } .input-help { margin-top: 10px; } .settings-grid, .security-stack { display: grid; gap: 16px; } .settings-grid { grid-template-columns: minmax(0, 1fr); margin-top: 18px; align-items: start; } .option-panel { padding: 16px; border-radius: 20px; border: 1px solid rgba(129, 140, 248, 0.14); background: linear-gradient(180deg, rgba(10, 18, 34, 0.84), rgba(8, 14, 27, 0.72)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); } .option-panel-password, .option-panel-burn { gap: 0; } .feature-toggle { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; cursor: pointer; } .feature-toggle input { position: absolute; opacity: 0; pointer-events: none; } .feature-toggle-main { display: flex; align-items: flex-start; gap: 12px; min-width: 0; flex: 1; } .feature-icon { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 14px; background: rgba(99, 102, 241, 0.12); border: 1px solid rgba(129, 140, 248, 0.18); font-size: 1rem; } .feature-copy { display: grid; gap: 4px; } .feature-title { font-weight: 700; color: var(--text); line-height: 1.35; } .feature-description { font-size: 0.9rem; color: var(--text-muted); line-height: 1.6; } .switch-ui { position: relative; width: 50px; height: 30px; flex: 0 0 50px; border-radius: 999px; background: rgba(30, 41, 59, 0.95); border: 1px solid rgba(148, 163, 184, 0.16); transition: none; } .switch-ui::after { content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 999px; background: #f8fafc; box-shadow: 0 4px 10px rgba(15, 23, 42, 0.35); transition: none; } .feature-toggle:hover .switch-ui { border-color: rgba(129, 140, 248, 0.26); } .feature-toggle input:checked + .feature-toggle-main + .switch-ui { background: linear-gradient(135deg, rgba(99, 102, 241, 0.95), rgba(79, 70, 229, 0.92)); border-color: rgba(165, 180, 252, 0.38); box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1); } .feature-toggle input:checked + .feature-toggle-main + .switch-ui::after { transform: translateX(20px); } .password-input-wrapper, .custom-expiry-wrapper { display: none; } .password-input-wrapper.show, .custom-expiry-wrapper.show { display: grid; margin-top: 14px; padding-top: 14px; border-top: 1px dashed rgba(129, 140, 248, 0.18); } .password-strength-bar { height: 10px; border-radius: 999px; background: rgba(30, 41, 59, 0.9); overflow: hidden; } .password-strength-fill { height: 100%; width: 0; border-radius: inherit; transition: none; background: linear-gradient(90deg, #ef4444, #f59e0b); } .password-strength[data-strength="weak"] .password-strength-fill { background: linear-gradient(90deg, #ef4444, #fb7185); } .password-strength[data-strength="fair"] .password-strength-fill { background: linear-gradient(90deg, #f59e0b, #fbbf24); } .password-strength[data-strength="good"] .password-strength-fill { background: linear-gradient(90deg, #22c55e, #84cc16); } .password-strength[data-strength="strong"] .password-strength-fill { background: linear-gradient(90deg, #06b6d4, #6366f1); } .specs-grid, .docs-grid { display: grid; gap: 16px; } .docs-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .btn { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 52px; padding: 0 20px; border: 0; border-radius: 16px; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff; font-weight: 700; cursor: pointer; box-shadow: 0 10px 20px rgba(79, 70, 229, 0.18); transition: none; } .btn:hover { transform: none; box-shadow: 0 10px 20px rgba(79, 70, 229, 0.18); } .btn:disabled { opacity: 0.7; cursor: wait; transform: none; } .btn-secondary, .btn-copy { background: rgba(17, 24, 39, 0.9); border: 1px solid rgba(148, 163, 184, 0.18); box-shadow: none; color: var(--text); } .btn-copy-content { flex-shrink: 0; } .share-link-group { display: grid; gap: 10px; } .full-width-option { width: 100%; } .url-container { display: flex; gap: 10px; align-items: stretch; } .url-actions { display: flex; gap: 10px; flex-shrink: 0; } .url-actions .btn { min-width: 126px; } .url-input { font-family: var(--font-mono); } .expiry-panel select, .expiry-panel input[type="datetime-local"] { margin-top: 4px; } .meta-info { display: flex; flex-wrap: wrap; gap: 6px; } .result-box, .decrypt-view, .password-prompt { display: none; } .result-box.show, .decrypt-view.show, .password-prompt.show { display: grid; } .password-prompt, .decrypt-view, .result-box { gap: 20px; } .password-prompt .alert, .result-box .alert { margin-bottom: 0; } .password-prompt .btn { width: 100%; margin-top: 8px; } .password-prompt input[type="password"] { margin-top: 8px; } #passwordError { margin-top: 10px !important; } .decrypt-header > div { min-width: 0; flex: 1; } #copyDecryptedBtn { align-self: flex-start; margin-top: 4px; } .decrypt-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; flex-wrap: wrap; } .burn-warning { display: inline-flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; color: #fde68a; border: 1px solid rgba(245, 158, 11, 0.28); background: rgba(120, 53, 15, 0.28); } .decrypted-subject-wrapper { margin-top: 14px; padding: 14px; border-radius: 16px; border: 1px solid rgba(148, 163, 184, 0.16); background: rgba(8, 15, 28, 0.72); } .subject-label { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: 0.78rem; color: #c7d2fe; background: rgba(99, 102, 241, 0.16); margin-bottom: 10px; } .subject-display, .content-box { border-radius: 18px; border: 1px solid rgba(148, 163, 184, 0.16); background: rgba(8, 15, 28, 0.78); } .subject-display { padding: 14px 16px; font-weight: 600; } .content-box { min-height: 180px; padding: clamp(16px, 3vw, 22px); overflow-wrap: anywhere; } .content-box > *:first-child { margin-top: 0; } .content-box > *:last-child { margin-bottom: 0; } .content-box p, .content-box ul, .content-box ol, .content-box blockquote, .content-box pre, .content-box h1, .content-box h2, .content-box h3, .content-box h4, .content-box h5, .content-box h6 { margin-bottom: 1em; } .content-box h1, .content-box h2, .content-box h3, .content-box h4, .content-box h5, .content-box h6 { line-height: 1.25; letter-spacing: -0.02em; } .content-box h1 { font-size: 1.75rem; } .content-box h2 { font-size: 1.45rem; } .content-box h3 { font-size: 1.2rem; } .content-box ul, .content-box ol { padding-inline-start: 1.3rem; } .content-box blockquote { padding: 12px 16px; border-inline-start: 4px solid rgba(129, 140, 248, 0.55); background: rgba(99, 102, 241, 0.1); border-radius: 12px; color: #dbeafe; } .markdown-code, .code-block, .inline-code-block { font-family: var(--font-mono); } .markdown-code, .code-block { padding: 16px; border-radius: 16px; border: 1px solid rgba(148, 163, 184, 0.18); background: rgba(4, 10, 20, 0.92); overflow-x: auto; } .content-box code:not(pre code), .inline-code-block { display: inline-block; padding: 0.18rem 0.45rem; border-radius: 8px; background: rgba(99, 102, 241, 0.14); color: #c7d2fe; } .content-box a { color: #7dd3fc; text-decoration: underline; text-underline-offset: 0.16em; } .steps { display: grid; gap: 14px; margin-top: 18px; } .step { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: flex-start; padding: 16px; border-radius: 18px; background: rgba(8, 15, 28, 0.56); border: 1px solid rgba(148, 163, 184, 0.12); } .step-number { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: rgba(99, 102, 241, 0.18); color: #fff; font-weight: 700; } .step-content p { color: var(--text-muted); margin-top: 4px; } .tech-specs { margin-top: 20px; } .specs-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } .spec-item { padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(148, 163, 184, 0.12); background: rgba(8, 15, 28, 0.56); color: var(--text-soft); font-size: 0.94rem; } .loading { width: 16px; height: 16px; border-radius: 999px; border: 2px solid rgba(255, 255, 255, 0.26); border-top-color: #fff; display: inline-block; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } footer { padding: 12px 0 16px; text-align: center; } .footer-subtitle { margin-top: 6px; } .footer-manifesto { margin: 18px auto 0; max-width: 760px; padding: 16px 18px; border-radius: 18px; border: 1px solid rgba(245, 158, 11, 0.24); background: linear-gradient(180deg, rgba(44, 28, 9, 0.65), rgba(28, 20, 10, 0.42)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.04); } .footer-manifesto-tag { display: inline-flex; align-items: center; justify-content: center; padding: 6px 10px; border-radius: 999px; margin-bottom: 10px; border: 1px solid rgba(245, 158, 11, 0.22); background: rgba(245, 158, 11, 0.12); color: #facc15; font-weight: 700; letter-spacing: 0.02em; } .footer-manifesto p { margin: 0; color: var(--text-soft); line-height: 1.75; } .footer-manifesto p + p { margin-top: 8px; } .footer-links { margin-top: 16px; } .footer-links a { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--text-soft); border: 1px solid rgba(148, 163, 184, 0.15); background: rgba(8, 15, 28, 0.56); transition: none; } .footer-links a:hover, .footer-doc-link:hover { transform: none; border-color: rgba(125, 211, 252, 0.32); background: rgba(14, 165, 233, 0.1); color: #fff; } .footer-doc-link { display: inline-flex; align-items: center; justify-content: center; margin-top: 14px; padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(148, 163, 184, 0.15); background: rgba(8, 15, 28, 0.56); color: var(--text-soft); transition: none; } .api-page .docs-container { width: min(100%, 1100px); } .docs-header { padding-bottom: 22px; } .docs-grid { align-items: start; } .docs-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 16px; } .table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid rgba(148, 163, 184, 0.12); } .docs-table th, .docs-table td { padding: 14px 16px; text-align: start; border-bottom: 1px solid rgba(148, 163, 184, 0.12); } .docs-table th { background: rgba(8, 15, 28, 0.82); color: #dbeafe; font-weight: 700; } .docs-table td { background: rgba(8, 15, 28, 0.45); color: var(--text-soft); } .endpoint { display: inline-flex; align-items: center; justify-content: center; min-width: 54px; padding: 6px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; } .endpoint-post { background: rgba(16, 185, 129, 0.16); color: #bbf7d0; } .endpoint-get { background: rgba(99, 102, 241, 0.16); color: #c7d2fe; } .docs-list { display: grid; gap: 10px; color: var(--text-soft); padding-inline-start: 1.1rem; } .docs-list.ordered { padding-inline-start: 1.2rem; } @media (max-width: 820px) { .container { padding: 18px; } .settings-grid, .docs-grid-2 { grid-template-columns: 1fr; } .editor-shell-head, .decrypt-header { grid-template-columns: 1fr; } .decrypt-header, .editor-shell-head { display: grid; } .btn-copy-content { width: 100%; } } @media (max-width: 640px) { :root { --toolbar-size: 1.9rem; } html { scroll-behavior: auto; } .container { padding: 14px; } .card { backdrop-filter: none; box-shadow: 0 14px 30px rgba(2, 8, 23, 0.24); } header { padding: 28px 0 22px; } .card { border-radius: 20px; padding: 16px; } .security-badges { gap: 8px; } .badge, .chip { font-size: 0.78rem; padding: 7px 10px; } textarea, input[type="password"], input[type="text"], input[type="datetime-local"], select, .url-input { font-size: 16px; } textarea { min-height: 200px; line-height: 1.75; } .editor-shell { padding: 10px; gap: 8px; } .editor-toolbar { width: 100%; justify-content: flex-start; gap: 5px; padding: 5px; } .toolbar-btn { border-radius: 9px; } .option-panel { padding: 14px; border-radius: 18px; } .password-input-wrapper, .custom-expiry-wrapper, .switch-ui, .switch-ui::after, .btn, .toolbar-btn { transition: none; } .password-prompt, .decrypt-view, .result-box { gap: 18px; } .password-prompt .btn, .btn-copy-content, .url-actions .btn { width: 100%; min-height: 48px; } .decrypt-header { gap: 16px; } .url-actions { gap: 8px; } .feature-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 12px; } .feature-title { font-size: 0.95rem; } .feature-description { font-size: 0.86rem; } .switch-ui { width: 46px; height: 28px; flex-basis: 46px; } .switch-ui::after { width: 20px; height: 20px; } .feature-toggle input:checked + .feature-toggle-main + .switch-ui::after { transform: translateX(18px); } .step { grid-template-columns: 1fr; } .step-number { width: 1.8rem; height: 1.8rem; } .footer-manifesto { padding: 14px; border-radius: 16px; } .footer-manifesto p { font-size: 0.95rem; line-height: 1.7; } .footer-links a { width: 42px; height: 42px; } } @media (max-width: 760px) { .url-container { flex-direction: column; } .url-actions { width: 100%; } .url-actions .btn { flex: 1; min-width: 0; } }