.btn-container{--btn-color: #2B64F1;--corner-color: #0002;--corner-dist: 20px;--corner-multiplier: 1.5;--timing-function: cubic-bezier(0, 0, 0, 2.5);--duration: .25s;position:relative;display:flex;align-items:center;justify-content:center;margin:1.5rem 0}.btn{position:relative;min-width:160px;min-height:calc(var(--corner-dist) * 2);border-radius:16px;border:none;padding:.8em 1.5em;background:linear-gradient(#fff3,#0000001a),var(--btn-color);box-shadow:1px 1px 2px -1px #fff inset,0 2px 1px #00000010,0 4px 2px #00000010,0 8px 4px #00000010,0 16px 8px #00000010,0 32px 16px #00000010;transition:transform var(--duration) var(--timing-function),filter var(--duration) var(--timing-function);-webkit-transition:transform var(--duration) var(--timing-function),-webkit-filter var(--duration) var(--timing-function);cursor:pointer}.btn-drawer{position:absolute;display:flex;justify-content:center;min-height:32px;border-radius:16px;border:none;padding:.25em 1em;font-size:.8em;font-weight:600;font-family:DM Sans,sans-serif;color:#ffffffe6;background:linear-gradient(#fff3,#0000001a),var(--btn-color);background-color:var(--btn-color);opacity:0;transition:transform calc(.5 * var(--duration)) ease,filter var(--duration) var(--timing-function),opacity calc(.5 * var(--duration)) ease;-webkit-transition:transform calc(.5 * var(--duration)) ease,-webkit-filter var(--duration) var(--timing-function),opacity calc(.5 * var(--duration)) ease;filter:blur(2px);-webkit-filter:blur(2px)}.transition-top{top:0;left:0;border-radius:12px 12px 0 0;align-items:start}.transition-bottom{bottom:0;right:0;border-radius:0 0 12px 12px;align-items:end}.btn-text{display:inline-block;font-size:1.1em;font-family:DM Sans,sans-serif;font-weight:700;color:#fff0;letter-spacing:.5px;text-transform:uppercase;background-image:linear-gradient(#fff,#e0e0e0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #0003) drop-shadow(0 -1px 0 #fff6);-webkit-filter:drop-shadow(0 1px 0 #0003) drop-shadow(0 -1px 0 #fff6);transition:transform var(--duration) var(--timing-function),filter var(--duration) var(--timing-function),color var(--duration) var(--timing-function);-webkit-transition:transform var(--duration) var(--timing-function),-webkit-filter var(--duration) var(--timing-function),color var(--duration) var(--timing-function)}.btn-corner{position:absolute;width:32px;fill:none;stroke:var(--corner-color);transition:transform var(--duration) var(--timing-function),filter var(--duration) var(--timing-function);-webkit-transition:transform var(--duration) var(--timing-function),-webkit-filter var(--duration) var(--timing-function)}.btn-corner:nth-of-type(1){top:0;left:0;transform:translate(calc(-1 * var(--corner-dist)),calc(-1 * var(--corner-dist))) rotate(90deg)}.btn-corner:nth-of-type(2){top:0;right:0;transform:translate(var(--corner-dist),calc(-1 * var(--corner-dist))) rotate(180deg)}.btn-corner:nth-of-type(3){bottom:0;right:0;transform:translate(var(--corner-dist),var(--corner-dist)) rotate(-90deg)}.btn-corner:nth-of-type(4){bottom:0;left:0;transform:translate(calc(-1 * var(--corner-dist)),var(--corner-dist)) rotate(0)}.btn-container:has(.btn:hover),.btn-container:has(.btn:focus-visible){--corner-color: rgba(43, 100, 241, .3)}.btn-container:has(.btn:hover) .btn,.btn-container:has(.btn:focus-visible) .btn{transform:scale(1.05);filter:drop-shadow(0 16px 16px rgba(43,100,241,.4));-webkit-filter:drop-shadow(0 16px 16px rgba(43,100,241,.4))}.btn-container:has(.btn:hover) .transition-top,.btn-container:has(.btn:focus-visible) .transition-top{transform:translateY(-20px) rotate(3deg);filter:blur(0px);-webkit-filter:blur(0px);animation:hue-anim 3s infinite linear;-webkit-animation:hue-anim 3s infinite linear;opacity:1}.btn-container:has(.btn:hover) .transition-bottom,.btn-container:has(.btn:focus-visible) .transition-bottom{transform:translateY(20px) rotate(3deg);filter:blur(0px);-webkit-filter:blur(0px);animation:hue-anim 3s infinite linear;-webkit-animation:hue-anim 3s infinite linear;opacity:1}.btn-container:has(.btn:hover) .btn-text,.btn-container:has(.btn:focus-visible) .btn-text{filter:drop-shadow(0 1px 0 rgba(0,0,0,.2)) drop-shadow(0 -1px 0 rgba(255,255,255,.4)) drop-shadow(0px 4px 2px rgba(43,100,241,.5));-webkit-filter:drop-shadow(0 1px 0 rgba(0,0,0,.2)) drop-shadow(0 -1px 0 rgba(255,255,255,.4)) drop-shadow(0px 4px 2px rgba(43,100,241,.5));transform:scale(1.03);color:#ffffffe6}.btn-container:has(.btn:hover) .btn-corner:first-of-type,.btn-container:has(.btn:focus-visible) .btn-corner:first-of-type{transform:translate(calc(-1 * var(--corner-multiplier) * var(--corner-dist)),calc(-1 * var(--corner-multiplier) * var(--corner-dist))) rotate(90deg);filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color))}.btn-container:has(.btn:hover) .btn-corner:nth-of-type(2),.btn-container:has(.btn:focus-visible) .btn-corner:nth-of-type(2){transform:translate(calc(var(--corner-multiplier) * var(--corner-dist)),calc(-1 * var(--corner-multiplier) * var(--corner-dist))) rotate(180deg);filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color))}@-moz-document url-prefix(){.btn-container:has(.btn:hover) .btn-corner:nth-of-type(2),.btn-container:has(.btn:focus-visible) .btn-corner:nth-of-type(2){filter:drop-shadow(10px -10px 1px var(--corner-color)) drop-shadow(20px -20px 2px var(--corner-color))}}.btn-container:has(.btn:hover) .btn-corner:nth-of-type(3),.btn-container:has(.btn:focus-visible) .btn-corner:nth-of-type(3){transform:translate(calc(var(--corner-multiplier) * var(--corner-dist)),calc(var(--corner-multiplier) * var(--corner-dist))) rotate(-90deg);filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color))}.btn-container:has(.btn:hover) .btn-corner:nth-of-type(4),.btn-container:has(.btn:focus-visible) .btn-corner:nth-of-type(4){transform:translate(calc(-1 * var(--corner-multiplier) * var(--corner-dist)),calc(var(--corner-multiplier) * var(--corner-dist))) rotate(0);filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 1px var(--corner-color)) drop-shadow(-20px 20px 2px var(--corner-color))}.btn-container:has(.btn:active){--corner-color: rgba(43, 100, 241, .4);--corner-multiplier: .95}.btn-container:has(.btn:active) .btn{transform:scale(.95);filter:drop-shadow(0 10px 4px rgba(43,100,241,.2));-webkit-filter:drop-shadow(0 10px 4px rgba(43,100,241,.2))}.btn-container:has(.btn:active) .transition-top,.btn-container:has(.btn:active) .transition-bottom{transform:translateY(0) scale(.5)}.btn-container:has(.btn:active) .btn-text{filter:drop-shadow(0 1px 0 rgba(0,0,0,.2)) drop-shadow(0 -1px 0 rgba(255,255,255,.4)) drop-shadow(0px 2px 2px rgba(43,100,241,.3));-webkit-filter:drop-shadow(0 1px 0 rgba(0,0,0,.2)) drop-shadow(0 -1px 0 rgba(255,255,255,.4)) drop-shadow(0px 2px 2px rgba(43,100,241,.3));transform:scale(.98);color:#fff}.btn-container:has(.btn:active) .btn-corner:first-of-type{transform:translate(calc(-1 * var(--corner-multiplier) * var(--corner-dist)),calc(-1 * var(--corner-multiplier) * var(--corner-dist))) rotate(90deg);filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color))}.btn-container:has(.btn:active) .btn-corner:nth-of-type(2){transform:translate(calc(var(--corner-multiplier) * var(--corner-dist)),calc(-1 * var(--corner-multiplier) * var(--corner-dist))) rotate(180deg);filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color))}@-moz-document url-prefix(){.btn-container:has(.btn:active) .btn-corner:nth-of-type(2){filter:drop-shadow(10px -10px 2px var(--corner-color)) drop-shadow(20px -20px 3px var(--corner-color))}}.btn-container:has(.btn:active) .btn-corner:nth-of-type(3){transform:translate(calc(var(--corner-multiplier) * var(--corner-dist)),calc(var(--corner-multiplier) * var(--corner-dist))) rotate(-90deg);filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color))}.btn-container:has(.btn:active) .btn-corner:nth-of-type(4){transform:translate(calc(-1 * var(--corner-multiplier) * var(--corner-dist)),calc(var(--corner-multiplier) * var(--corner-dist))) rotate(0);filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color));-webkit-filter:drop-shadow(-10px 10px 2px var(--corner-color)) drop-shadow(-20px 20px 3px var(--corner-color))}@keyframes hue-anim{0%,to{filter:hue-rotate(0deg);-webkit-filter:hue-rotate(0deg)}50%{filter:hue-rotate(-20deg);-webkit-filter:hue-rotate(-20deg)}}@-webkit-keyframes hue-anim{0%,to{-webkit-filter:hue-rotate(0deg)}50%{-webkit-filter:hue-rotate(-20deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #F9FAFB;--white: #FFFFFF;--navy: #111827;--navy2: #1F2937;--amber: #F59E0B;--amber-lt: #FEF3C7;--green: #059669;--green-lt: #D1FAE5;--red: #DC2626;--red-lt: #FEE2E2;--slate: #6B7280;--mist: #F3F4F6;--border: #E5E7EB;--radius: 16px;--rsm: 8px;--sh-sm: 0 1px 2px rgba(0,0,0,.05);--sh: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--sh-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--sh-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04)}html{font-size:16px;scroll-behavior:smooth}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--navy);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--navy);color:#fff;font-family:inherit;font-size:14px;font-weight:600;padding:14px 24px;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d;letter-spacing:-.01em}.btn-primary:hover{background:var(--navy2);box-shadow:var(--sh);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy2);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--slate);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--navy);color:var(--navy);background:var(--mist)}.btn-green{background:var(--green);color:#fff;box-shadow:0 1px 2px #0000000d}.btn-green:hover{background:#047857;transform:translateY(-1px);box-shadow:var(--sh)}.btn-amber{background:var(--amber);color:var(--navy);font-weight:700}.btn-amber:hover{background:#d97706;transform:translateY(-1px)}.btn-base{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:600;padding:12px 24px;border-radius:10px;cursor:pointer;border:none;transition:all .2s ease;letter-spacing:-.01em}.field{margin-bottom:20px}.field label{display:block;font-size:13px;font-weight:500;color:var(--navy);margin-bottom:6px;letter-spacing:-.01em}.field input,.field select,.field textarea{width:100%;background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-family:inherit;color:var(--navy);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field input::placeholder,.field textarea::placeholder{color:#9ca3af}.field input:hover,.field select:hover,.field textarea:hover{border-color:#d1d5db}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #11182714}.field textarea{resize:vertical;min-height:80px}.card{background:var(--white);border-radius:var(--radius);padding:32px;box-shadow:var(--sh);border:1px solid var(--border)}.card-lg{padding:40px 36px;box-shadow:var(--sh-lg)}.error-msg{background:var(--red-lt);border:1px solid #FECACA;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:500;color:var(--red);margin-bottom:16px;display:flex;align-items:center;gap:8px}.spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}.spinner-dark{border:2.5px solid var(--border);border-top-color:var(--navy)}@keyframes spin{to{transform:rotate(360deg)}}.lrow{display:flex;gap:8px;align-items:flex-start}.lopt{flex:1;text-align:center}.lopt input[type=radio]{display:none}.lopt label{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}.lcirc{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--slate);transition:all .2s ease}.lopt input:checked+label .lcirc{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 0 0 4px #1118271a;transform:scale(1.05)}.lopt label:hover .lcirc{border-color:var(--navy2);background:var(--mist)}.ldesc{font-size:10px;font-weight:500;color:var(--slate);line-height:1.3;text-align:center;max-width:60px}.mopts{display:flex;flex-direction:column;gap:10px}.mopt input[type=radio]{display:none}.mopt label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--navy);background:var(--white)}.mopt label:hover{border-color:var(--navy2);background:var(--mist)}.mopt input:checked+label{border-color:var(--navy);background:#f0f1ff;font-weight:600}.mkey{width:28px;height:28px;border-radius:7px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--slate);flex-shrink:0;transition:all .2s ease}.mopt input:checked+label .mkey{background:var(--navy);color:#fff}.qcard{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:24px;margin-bottom:16px;transition:all .2s ease;position:relative}.qcard:hover{border-color:#d1d5db;box-shadow:var(--sh-sm)}.qcard.answered{border-color:#a7f3d0;background:#f0fdf4}.qcard.unanswered-flag{border-color:var(--red)!important;background:var(--red-lt)!important;animation:shake .4s ease-in-out}.qnum{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--amber);margin-bottom:8px}.qtext{font-size:15px;font-weight:500;color:var(--navy);line-height:1.65;margin-bottom:18px}.dbadge{position:absolute;top:16px;right:18px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:100px}.db-LR{background:#eef2ff;color:#4338ca}.db-NA{background:#fef3c7;color:#b45309}.db-VR{background:#d1fae5;color:#047857}.db-AP{background:#f3e8ff;color:#7c3aed}.ddot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.dd-E{background:var(--green)}.dd-M{background:var(--amber)}.dd-H{background:var(--red)}.prog-track{height:6px;background:var(--border);border-radius:100px;overflow:hidden}.prog-fill{height:100%;background:var(--navy);border-radius:100px;transition:width .5s cubic-bezier(.4,0,.2,1)}.band-strong{color:#047857}.band-good{color:#b45309}.band-partial{color:#4338ca}.band-weak{color:#9ca3af}.fill-strong{background:var(--green)}.fill-good{background:var(--amber)}.fill-partial{background:#6366f1}.fill-weak{background:#d1d5db}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:100px}::-webkit-scrollbar-thumb:hover{background:#d1d5db}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.animate-fadeIn{animation:fadeIn .4s ease-out both}.animate-slideUp{animation:slideUp .5s ease-out both}@media (max-width: 640px){.card-lg{padding:28px 20px}.lcirc{width:36px;height:36px;font-size:12px}.ldesc{display:none}.qcard{padding:20px 18px}.mopt label{padding:12px 14px;font-size:13px}}
