.start-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;text-align:center;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}.start-logo{display:block;margin:0 auto 16px;max-width:220px;width:66%;height:auto;object-fit:contain}.start-title{font-size:24px;font-weight:800;margin:0 0 12px;letter-spacing:.2px}.start-desc{color:var(--muted);margin:0 0 18px}.start-btn{display:block;width:100%;height:52px;border-radius:12px;border:1px solid var(--border);background:var(--start-btn-bg);color:var(--white);font-weight:800;font-size:16px;font-family:inherit;cursor:pointer}.start-btn:hover:not(:disabled){background:#1a2235}.start-btn:disabled{opacity:.6;cursor:not-allowed}.start-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.quiz-card{background:var(--card);border:1px solid var(--violet-35);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px;position:relative;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}@media (max-width: 420px){.quiz-card{padding:20px;border-radius:14px}}.quiz-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.question-title{font-size:26px;font-weight:800;letter-spacing:.2px;line-height:1.25;margin:0;overflow-wrap:anywhere}@media (max-width: 420px){.question-title{font-size:20px}}.counter{color:var(--muted);font-weight:700;white-space:nowrap;font-size:14px}.divider{height:1px;background:linear-gradient(90deg,var(--divider-grad-1),var(--divider-grad-2),var(--divider-grad-1));margin:18px 0 22px}.q-image-btn{display:block;width:100%;margin:0 0 18px;padding:0;border:0;background:transparent;cursor:zoom-in;position:relative;border-radius:14px;overflow:hidden;font-family:inherit;transition:transform .12s ease,box-shadow .16s ease}.q-image-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px var(--purple-shadow)}.q-image-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.q-image{display:block;max-width:100%;width:100%;height:auto;border-radius:14px;border:1px solid var(--violet-35);background:var(--btn);max-height:320px;object-fit:contain}.q-image-hint{position:absolute;right:10px;bottom:10px;padding:4px 10px;border-radius:999px;background:#0b0820b3;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--violet-35);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));cursor:zoom-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lightbox-fade .18s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.image-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px #00000080}.image-lightbox-close{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;border-radius:999px;border:1px solid var(--violet-35);background:#0b0820b3;color:var(--text);font-size:28px;font-weight:700;line-height:1;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-lightbox-close:hover{border-color:var(--accent)}.options-grid{display:grid;grid-template-columns:1fr;gap:14px}.option-btn{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:14px;min-height:58px;padding:14px 18px;border:2px solid var(--violet-35);border-radius:16px;background:var(--option-bg);color:var(--text);font-size:18px;font-weight:800;font-family:inherit;cursor:pointer;transition:transform .06s ease,box-shadow .16s ease,border-color .12s ease,background .12s ease;position:relative;overflow-wrap:anywhere}@media (max-width: 420px){.option-btn{min-height:52px;font-size:16px}}.option-btn:before{content:"";width:20px;height:20px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--violet-70);background:radial-gradient(circle at 50% 50%,var(--accent-blue-09),var(--accent-blue-00) 55%);opacity:.25;flex:0 0 20px;transition:box-shadow .16s ease,opacity .12s ease,background .12s ease}.option-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px var(--purple-shadow)}.option-btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.option-btn[aria-selected=true],.option-btn.selected{border-color:var(--accent);background:var(--accent-blue-008)}.option-btn[aria-selected=true]:before,.option-btn.selected:before{opacity:1;box-shadow:inset 0 0 0 6px var(--accent-blue-1),0 0 18px var(--accent-blue-08)}.option-btn[disabled]{cursor:not-allowed;opacity:.7}.nav{display:flex;gap:12px;align-items:center;margin-top:28px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.nav .ghost{height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--violet-35);background:transparent;color:var(--muted);font-weight:700;font-family:inherit;cursor:pointer}.nav .ghost:hover{border-color:var(--violet-65);color:var(--text)}.nav .primary{height:56px;padding:0 22px;border-radius:999px;border:1px solid var(--violet-65);background:var(--accent);color:var(--text-on-accent);font-weight:900;font-family:inherit;font-size:16px;cursor:pointer;box-shadow:0 10px 30px var(--accent-blue-045);transition:transform .06s ease}.nav .primary:hover:not(:disabled){transform:translateY(-1px)}.nav .primary:disabled{opacity:.45;filter:saturate(.5);cursor:not-allowed}.nav .primary.full{flex:1}.nav .primary:focus-visible,.nav .ghost:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.end-card{background:var(--card);border:1px solid var(--violet-35);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px 30px;text-align:center;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}@media (max-width: 420px){.end-card{padding:24px 20px 22px;border-radius:14px}}.end-hero{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 18px;position:relative;height:72px}.jb-logo{height:56px;width:auto;animation:jb-bounce 3.6s ease-in-out infinite}.jb-text{font-weight:900;font-size:28px;letter-spacing:1.8px;display:inline-block;animation:jb-bounce 3.6s ease-in-out infinite reverse,jb-rotate 7s linear infinite;transform-origin:center}@keyframes jb-bounce{0%{transform:translate(-22%) rotate(-6deg)}25%{transform:translate(0) rotate(0)}50%{transform:translate(22%) rotate(6deg)}75%{transform:translate(0) rotate(0)}to{transform:translate(-22%) rotate(-6deg)}}@keyframes jb-rotate{0%{rotate:0deg}to{rotate:360deg}}.end-copy{color:var(--text);font-weight:800;opacity:.95;margin:6px 0 16px}.result-number{text-align:center;font-size:clamp(72px,14vw,132px);font-weight:900;line-height:1;letter-spacing:1px;margin:12px 0 18px;color:var(--accent);text-shadow:0 0 28px var(--accent-blue-045),0 6px 30px var(--purple-shadow)}@media (max-width: 420px){.result-number{font-size:72px}}.cta-text{text-align:center;color:var(--muted);margin:6px 0 14px;font-weight:700}.cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:14px 0 0}.end-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 24px;border-radius:999px;border:1px solid var(--violet-65);background:var(--accent);color:var(--text-on-accent);font-weight:900;font-family:inherit;font-size:16px;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px var(--accent-blue-045);transition:transform .06s ease}.end-btn:hover{transform:translateY(-1px)}.end-btn.ghost-btn{background:transparent;color:var(--text);border:1px solid var(--violet-35);box-shadow:none}.end-btn.ghost-btn:hover{border-color:var(--violet-65)}.end-btn .icon{height:22px;width:auto}.selector-app{width:min(1140px,100%);display:flex;flex-direction:column;gap:18px}.header{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 0 0}.header .brand{width:36px;height:36px;border-radius:8px}.header h1{font-size:24px;font-weight:900;letter-spacing:.4px;margin:0;color:var(--text)}body.qr-mode .header{display:none}.selector-card-panel{background:var(--card);border:1px solid var(--violet-35);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}@media (max-width: 420px){.selector-card-panel{padding:20px;border-radius:14px}}.search-row{margin-bottom:16px}.search-input{width:100%;height:52px;padding:0 18px;border-radius:12px;border:2px solid var(--violet-35);background:var(--option-bg);color:var(--text);font-family:inherit;font-weight:700;font-size:16px;transition:border-color .12s ease,background .12s ease}.search-input::placeholder{color:var(--muted);font-weight:600}.search-input:focus{outline:3px solid var(--focus-outline);outline-offset:2px;border-color:var(--accent)}.state{min-height:24px;margin:8px 0 16px}.empty{color:var(--muted);text-align:center;font-weight:700}.quiz-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.quiz-item{border:2px solid var(--violet-35);border-radius:16px;padding:18px 20px;background:var(--option-bg);color:var(--text);cursor:pointer;transition:transform .06s ease,box-shadow .16s ease,border-color .12s ease,background .12s ease}.quiz-item:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 30px var(--purple-shadow);background:var(--accent-blue-008)}.quiz-item:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.quiz-name{font-weight:900;margin:0 0 10px;text-align:center;font-size:24px;line-height:1.2;letter-spacing:.2px;color:var(--text)}.distro{text-align:center;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.2px}.selector-card{background:var(--option-bg);border:2px solid var(--violet-35);border-radius:16px;padding:24px;margin-bottom:18px;text-align:center}.selector-card .quiz-name{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.1;margin:0 0 12px}.selector-card .distro{margin-top:6px;font-size:14px}.confirm-actions{justify-content:center;margin-top:18px}.confirm-actions .btn.primary{height:44px;padding:0 18px;border-radius:10px;font-size:14px}.qr-heading{text-align:center;margin:0 0 16px;font-size:28px;font-weight:900;letter-spacing:.5px}.qr-wrap{position:relative;width:min(640px,92vw);margin:12px auto;display:flex;justify-content:center}.qr-svg{width:100%;height:auto;display:block;border-radius:16px;border:1px solid var(--violet-45);background:var(--white);padding:16px;box-shadow:0 14px 40px var(--black-35)}.qr-svg svg{width:100%;height:auto;display:block}.qr-url{text-align:center;color:var(--muted);font-size:13px;word-break:break-all;margin:10px 0 0;font-weight:600}.hidden-corner{position:fixed;width:96px;height:96px;bottom:0;border:0;background:transparent;padding:0;margin:0;cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent}.hidden-corner.left{left:0}.hidden-corner.right{right:0}.hidden-corner:focus{outline:none}.hidden-corner.active{background:#7c7cff14}@media (max-width: 540px){.header{flex-direction:column;gap:8px}.header h1{font-size:20px}}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/JetBrainsMono-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--bg: transparent;--card: rgba(17, 10, 33, .55);--text: #f8fafc;--muted: rgba(255, 255, 255, .65);--border: #8b5cf6;--btn: #0b0820;--btn-disabled: #a5a6d3;--shadow: 0 20px 60px rgba(0, 0, 0, .3), 0 0 0 1px rgba(139, 92, 246, .25);--radius: 26px;--accent: #7c7cff;--accent-2: #a78bfa;--text-on-accent: #0b0720;--white: #ffffff;--start-btn-bg: #111827;--violet-35: rgba(139, 92, 246, .35);--violet-45: rgba(139, 92, 246, .45);--violet-65: rgba(139, 92, 246, .65);--violet-70: rgba(139, 92, 246, .7);--option-bg: rgba(255, 255, 255, .03);--divider-grad-1: rgba(255, 255, 255, .08);--divider-grad-2: rgba(139, 92, 246, .5);--purple-shadow: rgba(107, 33, 168, .35);--focus-outline: rgba(199, 210, 254, .7);--white-15: rgba(255, 255, 255, .15);--white-35: rgba(255, 255, 255, .35);--black-25: rgba(0, 0, 0, .25);--black-35: rgba(0, 0, 0, .35);--time-grad-start: #ff7a6e;--time-grad-end: #feb36b;--time-color: #16f2a6;--accent-blue-1: rgba(124, 124, 255, 1);--accent-blue-09: rgba(124, 124, 255, .9);--accent-blue-08: rgba(124, 124, 255, .8);--accent-blue-045: rgba(124, 124, 255, .45);--accent-blue-008: rgba(124, 124, 255, .08);--accent-blue-00: rgba(124, 124, 255, 0);--err: #ff5c5c}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:#0b0820;color:var(--text);font-family:JetBrains Mono,Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));line-height:1.5;min-height:100dvh}button,input,select,textarea{font-family:inherit}@media (max-width: 420px){body{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}}#shader-target{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;border:0}#root{display:contents}.container{width:min(1140px,100%)}@media (max-width: 420px){.container{width:min(1140px,calc(100vw - 32px))}}.panel{background:var(--card);border:1px solid var(--violet-35);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 40px;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}@media (max-width: 420px){.panel{padding:20px;border-radius:14px}}.title{font-size:28px;font-weight:800;text-align:center;margin:0 0 8px;letter-spacing:.2px}.muted{color:var(--muted);text-align:center;margin:0 0 16px}.loading{color:var(--muted);text-align:center;font-weight:700}.error{color:var(--err);text-align:center;font-weight:800;margin-top:8px}.actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.btn{border:1px solid var(--violet-35);background:transparent;color:var(--text);cursor:pointer;font-weight:700;font-family:inherit;font-size:16px;height:52px;padding:0 22px;border-radius:12px;transition:transform .06s ease,box-shadow .16s ease,border-color .12s ease,background .12s ease}.btn:focus-visible{outline:3px solid var(--focus-outline);outline-offset:2px}.btn.primary{height:56px;padding:0 26px;border-radius:999px;border:1px solid var(--violet-65);background:var(--accent);color:var(--text-on-accent);font-weight:900;box-shadow:0 10px 30px var(--accent-blue-045)}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.primary:disabled{opacity:.45;filter:saturate(.5);cursor:not-allowed}.btn.secondary{background:transparent;color:var(--muted);border:1px solid var(--violet-35);height:44px;padding:0 18px;border-radius:10px;font-weight:700}.btn.secondary:hover{border-color:var(--violet-65);color:var(--text)}.btn[disabled]{cursor:not-allowed;opacity:.6}.chip{background:var(--option-bg);border:1px solid var(--violet-35);padding:4px 10px;border-radius:999px;font-weight:800;color:var(--text);font-size:12px;letter-spacing:.3px}.chip.easy{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--text-on-accent);border-color:transparent}.chip.medium{background:linear-gradient(135deg,var(--time-grad-start),var(--time-grad-end));color:var(--text-on-accent);border-color:transparent}.chip.hard{background:linear-gradient(135deg,#ff5cb8,#ff2d95);color:#2b0017;border-color:transparent}.diagnostics{margin-top:12px;color:var(--muted)}.diagnostics summary{cursor:pointer;font-weight:700}.diagnostics pre{white-space:pre-wrap;font-size:12px;color:var(--muted);background:var(--btn);padding:10px;border-radius:8px;border:1px solid var(--violet-35)}.time-badge{position:fixed;right:14px;top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#110a218c;border:1px solid var(--violet-35);box-shadow:0 6px 18px var(--black-25);-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);z-index:1000;transition:background .3s ease,border-color .3s ease}.time-badge.pulsate{background:linear-gradient(135deg,#ff7a6ed9,#feb36bd9);border-color:#fff3;animation:pulsate 1.2s ease-in-out infinite}@keyframes pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.92}to{transform:scale(1);opacity:1}}.time-icon{font-size:13px;line-height:1;opacity:.85}.time-label{color:var(--muted);font-weight:800;letter-spacing:.4px;font-size:11px;text-transform:uppercase}.time-value{color:var(--text);font-weight:800;font-size:14px;letter-spacing:.5px;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.time-divider{color:var(--muted);opacity:.5;font-weight:600;font-size:12px}.time-progress{color:var(--muted);font-weight:700;font-size:12px;letter-spacing:.3px;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.time-badge.pulsate .time-label,.time-badge.pulsate .time-value,.time-badge.pulsate .time-divider,.time-badge.pulsate .time-progress{color:var(--text-on-accent)}@media (max-width: 420px){.time-badge{padding:5px 10px;gap:6px}.time-value{font-size:13px}.time-progress{font-size:11px}.time-label{font-size:10px}}
