:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;--bg-base: #080c14;--bg-surface: #0d1220;--bg-raised: #111827;--bg-overlay: #161e2e;--bg-input: rgba(255, 255, 255, .04);--border-subtle: rgba(255, 255, 255, .07);--border-base: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .18);--border-focus: rgba(96, 165, 250, .65);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-inverse: #ffffff;--accent-from: #2563eb;--accent-to: #6d28d9;--accent-glow: rgba(37, 99, 235, .18);--accent-solid: #3b82f6;--success-bg: rgba(16, 185, 129, .09);--success-border:rgba(16, 185, 129, .22);--success-text: #6ee7b7;--error-bg: rgba(239, 68, 68, .09);--error-border: rgba(239, 68, 68, .22);--error-text: #fca5a5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .12s;--duration-base: .18s;--tg-safe-top: env(safe-area-inset-top, 0px);--tg-safe-bottom: env(safe-area-inset-bottom, 0px);color:var(--text-primary);background:var(--bg-base)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;width:100%;min-height:100dvh}body{background:radial-gradient(ellipse 70% 40% at 50% -10%,rgba(37,99,235,.1),transparent),radial-gradient(ellipse 50% 30% at 100% 20%,rgba(109,40,217,.07),transparent),var(--bg-base);overscroll-behavior:none}button,input,textarea,select{font:inherit}.page{min-height:100dvh;padding:calc(var(--space-4) + var(--tg-safe-top)) var(--space-4) calc(var(--space-6) + var(--tg-safe-bottom))}.shell{max-width:480px;margin:0 auto}.hero{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-5);flex-wrap:wrap}.hero h1{font-size:26px;line-height:1.1;margin:0 0 var(--space-1);color:var(--text-inverse);letter-spacing:-.025em;font-weight:700}.hero p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.45}.heroActions{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap}.pill,.badge{display:inline-flex;align-items:center;border:1px solid var(--border-base);background:#ffffff0d;color:var(--text-secondary);border-radius:var(--radius-sm);padding:3px var(--space-2);font-size:11px;font-weight:500;letter-spacing:.01em}.badge.ghost{background:transparent;border-color:var(--border-subtle);font-size:11px;padding:2px var(--space-2)}.searchWrap{width:100%}.searchWrap label,.formRow label{display:block;margin-bottom:var(--space-1);color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.01em}.section{margin-bottom:var(--space-5)}.sectionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-2)}.sectionHeader h2{margin:0;color:var(--text-inverse);font-size:16px;font-weight:600;letter-spacing:-.01em}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);min-height:140px;display:flex;flex-direction:column;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);box-shadow:inset 0 1px #ffffff0a;-webkit-tap-highlight-color:transparent}.card:active{background:var(--bg-raised);border-color:var(--border-base)}@media(hover:hover){.card:hover{border-color:var(--border-strong);background:var(--bg-raised)}}.iconWrap{width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb38,#6d28d92e);margin-bottom:var(--space-3);flex-shrink:0}.cardBody h3{margin:0 0 var(--space-1);color:var(--text-inverse);font-size:14px;line-height:1.25;font-weight:600}.cardBody p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.cardFooter{margin-top:auto;padding-top:var(--space-3);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.tileMeta{display:flex;flex-wrap:wrap;gap:var(--space-1)}.field{width:100%;border-radius:var(--radius-sm);border:1px solid var(--border-base);background:var(--bg-input);color:var(--text-primary);padding:var(--space-3) var(--space-3);outline:none;min-height:44px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.field::placeholder{color:var(--text-tertiary)}.field:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #60a5fa1f}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.button,.iconButton{border:0;cursor:pointer;color:var(--text-inverse);background:linear-gradient(135deg,var(--accent-from),var(--accent-to));border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:13px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:opacity var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.button:active,.iconButton:active{opacity:.88}@media(hover:hover){.button:hover,.iconButton:hover{opacity:.92;box-shadow:0 0 0 3px var(--accent-glow)}}.button:disabled{opacity:.45;cursor:not-allowed}.button.secondary{background:#ffffff12;border:1px solid var(--border-base);color:var(--text-primary)}.button.secondary:active{background:#ffffff1c}.buttonInline{display:inline-flex;align-items:center;gap:var(--space-2)}.iconButton{padding:var(--space-2);min-height:36px;min-width:36px;line-height:0}.successBox,.errorBox{margin-top:var(--space-5);border-radius:var(--radius-md);padding:var(--space-4)}.successBox{background:var(--success-bg);border:1px solid var(--success-border)}.errorBox{background:var(--error-bg);border:1px solid var(--error-border)}.successHeader{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;flex-wrap:wrap}.successTitle{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--success-text);font-weight:600;font-size:14px}.successMeta{margin-top:var(--space-1);color:var(--text-secondary);font-size:13px}.resultBlock{margin-top:var(--space-3)}.resultTitle{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.resultBlock pre{margin:0;overflow:auto;border-radius:var(--radius-sm);padding:var(--space-3);background:#080c14cc;border:1px solid var(--border-subtle);color:#bfdbfe;font-size:12px;line-height:1.5}.resultText{border-radius:var(--radius-sm);padding:var(--space-3);background:#080c1499;border:1px solid var(--border-subtle);color:#dbeafe;font-size:13px;line-height:1.5}.statsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.statCard{border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:inset 0 1px #ffffff08}.statLabel{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.statValue{margin-top:var(--space-1);font-size:22px;font-weight:700;color:var(--text-inverse);letter-spacing:-.02em;line-height:1.1}.tableWrap{overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}.resultTable{width:100%;border-collapse:collapse;min-width:360px;background:#080c1499}.resultTable th,.resultTable td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);font-size:13px}.resultTable th{color:var(--text-tertiary);background:#ffffff05;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.resultTable td{color:var(--text-primary)}.resultTable tr:last-child td{border-bottom:none}.modalBackdrop{position:fixed;inset:0;background:#080c14c7;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:50;animation:backdropIn var(--duration-base) var(--ease-out)}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:480px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-raised);border:1px solid var(--border-base);border-bottom:none;box-shadow:0 -8px 40px #0006;padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--space-5) + var(--tg-safe-bottom));max-height:92dvh;overflow:auto;background-image:radial-gradient(circle at 50% 8px,rgba(255,255,255,.18) 0 2px,transparent 2px);animation:sheetIn var(--duration-base) var(--ease-out)}@keyframes sheetIn{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modalHeader{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-5)}.modalHeader h3{margin:0 0 var(--space-1);font-size:20px;font-weight:700;color:var(--text-inverse);letter-spacing:-.02em}.modalHeader p{margin:0;color:var(--text-secondary);font-size:13px}.form{display:grid;gap:var(--space-4)}.formRow{display:grid;gap:var(--space-1)}.formActions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap}.infoRow{display:grid;gap:2px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05}.infoLabel{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.infoValue{color:var(--text-primary);font-size:13px;line-height:1.4}.breakAll{word-break:break-all}.error{color:var(--error-text);font-size:12px;margin-top:var(--space-1)}.divider{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-4) 0}@media(min-width:600px){.shell{max-width:560px}.grid,.statsGrid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:30px}.modal{border-radius:var(--radius-lg);border-bottom:1px solid var(--border-base);max-width:480px;padding:var(--space-6)}.modalBackdrop{align-items:center;padding:var(--space-5)}}@media(max-width:360px){:root{font-size:14px}.hero h1{font-size:22px}.grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.card{min-height:120px;padding:var(--space-2)}.button,.iconButton{font-size:12px;padding:var(--space-2) var(--space-3)}}
