*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}:root{--glass: rgba(12, 17, 28, .78);--border: rgba(130, 150, 200, .18);--text: #e6ebf5;--muted: #7f8aa3;--accent: #67c5f5;--shadow: 0 12px 40px rgba(0, 0, 0, .45)}body{overflow:hidden;background:#070a12;font-family:Vazirmatn,system-ui,sans-serif;color:var(--text)}canvas{display:block;touch-action:none}button{font:inherit;color:inherit}.glass{background:var(--glass);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}#panel{position:fixed;top:16px;right:16px;width:264px;max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin;padding:14px 18px 16px}#panel header{display:flex;align-items:center;justify-content:space-between}#panel h1{font-size:20px;font-weight:800}#panel-toggle{width:28px;height:28px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;transition:transform .25s,background .2s}#panel-toggle:hover{background:#ffffff14;color:var(--text)}#panel.collapsed #panel-toggle{transform:rotate(180deg)}#panel.collapsed .panel-body{display:none}.stats{font-size:12px;color:var(--muted);margin:2px 0 12px}.search{margin-bottom:10px}#search{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff0d;color:inherit;font:inherit;font-size:13px;outline:none;transition:border-color .2s,background .2s}#search::placeholder{color:var(--muted)}#search:focus{border-color:var(--accent);background:#ffffff14}#results{list-style:none;margin-top:6px}#results:empty{display:none}#results li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;font-size:13px;cursor:pointer}#results li:hover{background:#ffffff14}#results li.empty{color:var(--muted);cursor:default;background:none}.dots{display:inline-flex;gap:3px;vertical-align:middle;margin-inline-start:6px}.dots i{display:block;width:8px;height:8px;border-radius:50%}.line-row{display:flex;align-items:center;gap:8px;padding:4px 6px;margin:0 -6px;border-radius:8px;transition:background .15s,opacity .2s}.line-row:hover{background:#ffffff0f}.line-row.off{opacity:.4}.line-row input{accent-color:var(--accent);cursor:pointer}.swatch{width:22px;height:6px;border-radius:3px;flex-shrink:0}.line-name{border:0;background:none;font-size:14px;cursor:pointer}.line-name:hover{text-decoration:underline;text-underline-offset:5px}.count{margin-inline-start:auto;font-size:11px;color:var(--muted)}.controls{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px}.controls label{display:flex;align-items:center;gap:8px;cursor:pointer}.controls .slider{flex-direction:column;align-items:stretch;gap:2px}.controls input{accent-color:var(--accent)}.controls input[type=range]{width:100%}.btn{margin-top:6px;padding:8px;border:1px solid var(--border);border-radius:10px;background:#67c5f51f;font-size:13px;cursor:pointer;transition:background .2s}.btn:hover{background:#67c5f540}.hint,.credit{font-size:11px;line-height:1.9;color:var(--muted);margin-top:10px}#info{position:fixed;left:16px;bottom:16px;width:290px;padding:16px 18px;animation:rise .35s cubic-bezier(.2,.8,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}#info h2{font-size:22px;font-weight:800;padding-left:28px}#info .en{direction:ltr;text-align:right;font-size:13px;color:var(--muted);margin-top:2px}#info-lines{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}#info-meta{font-size:12px;color:var(--muted);margin-top:10px}#info-close{position:absolute;top:10px;left:12px;border:0;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}#info-close:hover{color:var(--text)}.badge{border:0;border-radius:999px;padding:4px 12px;background:var(--c);color:var(--fg, #fff);font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 0 14px color-mix(in srgb,var(--c) 55%,transparent);transition:transform .15s}.badge:hover{transform:translateY(-1px)}#tooltip{position:fixed;top:0;left:0;z-index:10;display:none;pointer-events:none;padding:7px 11px;border-radius:10px;background:#fffffff5;color:#111;font-size:13px;white-space:nowrap;box-shadow:0 6px 20px #0006}#tooltip strong{font-weight:700}#tooltip small{display:block;direction:ltr;text-align:right;color:#666}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:18px;background:#070a12;color:var(--muted);font-size:14px;transition:opacity .8s ease,visibility .8s}#loader.done{opacity:0;visibility:hidden}.spinner{width:54px;height:54px;border-radius:50%;background:conic-gradient(#e0001f,#2f4389,#67c5f5,#f8e100,#007e46,#ef639f,#7f0b74,#e0001f);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){#panel{top:10px;right:10px;left:10px;width:auto;max-height:60vh}#info{left:10px;right:10px;bottom:10px;width:auto}}
