.subjects{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:stretch;justify-items:stretch}@media(max-width:640px){.subjects{grid-template-columns:1fr}}@media(min-width:641px)and (max-width:1024px){.subjects{grid-template-columns:repeat(2,1fr)}}.subjects__difficulty{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin:0 auto 16px;flex-wrap:wrap;justify-content:center}.subjects__difficulty label{font-weight:600;color:#374151;font-size:clamp(.85rem,2vw,.95rem)}.subjects__difficulty select{font:inherit;padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#111827;cursor:pointer;min-width:120px;font-size:clamp(.85rem,2vw,1rem);transition:border-color .12s ease,background .12s ease}.subjects__difficulty select:hover{border-color:#0d9488;background:#fff}.subjects__difficulty select:focus{outline:2px solid #0d9488;outline-offset:1px;border-color:#0d9488}@media(max-width:480px){.subjects__difficulty{width:100%;flex-direction:column;gap:8px}.subjects__difficulty select{width:100%}}.subject{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:flex-start;padding:clamp(12px,2vw,16px);border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 2px #0000000a;text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.subject:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014;background:#fcfcff}.subject:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}.subject__title{margin:0;font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:600;color:#111827;word-break:break-word}.subject__icon{width:64px;height:64px;display:grid;place-items:center;font-size:clamp(28px,6vw,40px);line-height:1;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0}.subject__icon--nyckeltal{background:linear-gradient(180deg,#e6fffa,#ddf6f4);border-color:#bfeee6;color:#065f46}.subject__icon--produktkalkylering{background:linear-gradient(180deg,#fff7ed,#fff1dd);border-color:#ffe7c3;color:#7c2d12}.subject__desc{color:#4b5563;font-size:clamp(.85rem,2vw,.95rem);line-height:1.5;word-break:break-word}@media(max-width:400px){.subject{grid-template-columns:52px 1fr;gap:12px}.subject__icon{width:52px;height:52px}}.subjects__request-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;min-height:40px;border-radius:8px;border:1px solid #0d9488;background:linear-gradient(180deg,#10b3a6,#0d9488);color:#fff;font-weight:600;font-size:clamp(.85rem,2vw,1rem);cursor:pointer;width:auto;box-shadow:0 1px #fff6 inset,0 1px 2px #02061714;transition:background .15s ease,box-shadow .15s ease,transform .06s ease}.subjects__request-btn:hover{background:linear-gradient(180deg,#119e93,#0f766e);box-shadow:0 2px 6px #0206171f}.subjects__request-btn:active{transform:translateY(1px)}.subjects__request-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ccfbf1,0 2px 6px #0206171f}.subjects__request-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.subjects__request-btn{width:100%}}.subjects__request-btn--secondary{background:#fff;color:#0d9488;border-color:#0d9488;box-shadow:0 1px 2px #0206170f}.subjects__request-btn--secondary:hover{background:#f0fdfa;transform:translateY(-1px);box-shadow:0 4px 10px #02061714}.subjects__request-btn--tertiary{background:#fff;color:#334155;border-color:#cbd5e1;box-shadow:0 1px 2px #0206170d}.subjects__request-btn--tertiary:hover{background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 10px #02061714}.subject__desc{color:#4b5563;font-size:clamp(.9rem,1.6vw,.95rem)}.subject__divider{height:1px;border:0;background:#b7caf0;margin:24px 0}.subjects__gated-wrapper{position:relative;display:grid;gap:8px}.subject--gated{position:relative}.subject--unlocked{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a40,0 4px 14px -4px #16a34a59}.subjects__overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;animation:overlayFade .18s ease}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.subjects__unlock-panel{width:min(92vw,480px);display:grid;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;padding:16px 18px;border-radius:12px;box-shadow:0 10px 20px #0000001f,0 6px 6px #00000014;animation:fadeSlide .18s ease;max-height:90vh;overflow-y:auto}@media(max-width:480px){.subjects__unlock-panel{width:min(95vw,480px);padding:14px 16px;max-height:85vh}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.subjects__unlock-label{font-size:.8rem;font-weight:600;display:grid;gap:4px;color:#334155}.subjects__unlock-input{font:inherit;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;width:100%;box-sizing:border-box}.subjects__unlock-input:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.subjects__unlock-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;align-items:flex-start}.subjects__divider{flex-basis:100%;width:100%;height:1px;border:0;background:#e5e7eb;margin:8px 0}.subjects__request-key{display:grid;gap:8px;grid-template-columns:1fr auto;align-items:center;justify-items:stretch;flex-basis:100%;width:100%}.subjects__request-key .subjects__unlock-label{grid-column:1 / -1;width:100%}@media(max-width:420px){.subjects__request-key{grid-template-columns:1fr}}.subjects__request-key .subjects__unlock-label{text-align:left}.subjects__request-key .subjects__action-btn,.subjects__request-key .subjects__request-btn{justify-self:end}.subjects__action-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;color:#0f172a;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,transform .05s ease}.subjects__action-btn:hover{background:#e2e8f0;box-shadow:0 2px 6px #02061714}.subjects__action-btn:active{transform:translateY(1px)}.subjects__action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #dbeafe,0 2px 6px #0206171a}.subjects__action-btn:disabled{opacity:.6;cursor:not-allowed}.subjects__discord-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:10%;width:234px;height:234px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;box-shadow:0 10px 20px #0000001f,0 6px 6px #00000014;animation:fadeSlide .18s ease}.subjects__discord-link{float:right;margin-left:.5rem}.subjects__discord-icon-static{width:64px;height:64px;display:block;margin:0 auto 8px}.subjects__discord-btn:hover{transform:translateY(-1px) scale(1.03);filter:saturate(1.1)}.subjects__discord-btn:active{transform:translateY(0)}.subjects__discord-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #e0e7ff,0 2px 8px #02061729}.subjects__discord-icon{width:124px;height:124px;pointer-events:none;animation:subjectsDiscordSpin 6s linear infinite}.subjects__discord-btn:hover .subjects__discord-icon{animation-duration:2s}@keyframes subjectsDiscordPulse{0%{box-shadow:0 2px 6px #0206171f,0 0 #5865f273}70%{box-shadow:0 6px 16px #0206172e,0 0 0 10px #5865f200}to{box-shadow:0 2px 6px #0206171f,0 0 #5865f200}}@keyframes subjectsDiscordSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.subjects__discord-btn,.subjects__discord-icon{animation:none}}.ui-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;min-height:40px;border-radius:8px;border:1px solid #94a3b8;background:#fff;color:#0f172a;cursor:pointer;transition:background .12s ease,box-shadow .12s ease,transform .05s ease}.ui-btn:hover{background:#f1f5f9}.ui-btn:active{transform:translateY(1px)}.ui-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn--primary{background:#0d9488;color:#fff;border-color:#0d9488}.ui-btn--primary:hover{background:#0f766e}.ui-btn--secondary{background:#fff;color:#0d9488;border-color:#0d9488}.ui-btn--secondary:hover{background:#f0fdfa}.ui-btn--tertiary{background:#fff;color:#334155;border-color:#cbd5e1}.ui-btn--tertiary:hover{background:#f8fafc}.subjects__request-key .ui-btn{justify-self:end}.subjects__unlock-btn,.subjects__cancel-unlock-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:6px;border:1px solid #64748b;background:#fff;cursor:pointer;transition:background .12s ease,transform .05s ease}.subjects__unlock-btn{background:#0d9488;color:#fff;border-color:#0d9488}.subjects__unlock-btn:hover{background:#0f766e}.subjects__unlock-btn:disabled{opacity:.6;cursor:not-allowed}.subjects__cancel-unlock-btn:hover{background:#f1f5f9}.subjects__unlock-btn:active,.subjects__cancel-unlock-btn:active{transform:translateY(1px)}.subjects__unlock-error{font-size:.75rem;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;padding:6px 8px;border-radius:6px}.subjects__unlock-info{font-size:.75rem;color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;padding:6px 8px;border-radius:6px}.subjects__helper-text{margin-top:10px;color:#6b7280;font-size:.9rem}.subjects__warning-text{margin-top:6px;color:#ef4444}.quiz{display:flex;flex-direction:row;gap:20px;background-color:#fdfdfd;padding:clamp(12px,2.5vw,20px);border-radius:12px;box-shadow:0 0 10px #0000001a}.quiz__left{flex:1;min-width:0}.quiz__title{margin-bottom:16px;font-size:clamp(1.1rem,3vw,1.6rem)}.quiz__question{font-weight:700;color:#1e40af;font-size:clamp(.95rem,2.5vw,1.2rem);margin-bottom:16px;word-break:break-word}.quiz__text-answer{width:100%;max-width:none;min-height:120px;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:clamp(.9rem,2vw,1.1rem);font-family:inherit;line-height:1.6;resize:vertical;box-sizing:border-box;margin-bottom:12px;transition:border-color .2s ease}.quiz__text-answer:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.quiz__text-answer:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.7}.quiz__options{list-style:none;padding:0}.quiz__option{padding:clamp(8px,1.5vw,10px) clamp(12px,2vw,16px);border-radius:8px;margin-bottom:clamp(8px,1.2vw,10px);background-color:#f1f1f1;color:#333;font-size:clamp(.9rem,2vw,1rem);transition:all .2s;cursor:default;word-break:break-word}.quiz__option--selectable{cursor:pointer}.quiz__option--selectable:hover{background-color:#e2e2e2}.quiz__option--correct{background-color:#d4edda;color:green}.quiz__option--wrong-selected{background-color:#f8d7da}.quiz__next-btn{margin-top:clamp(8px,1.2vw,12px);padding:clamp(10px,1.5vw,12px) clamp(16px,2vw,20px);background-color:#0d9488;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:clamp(.9rem,2vw,1rem);cursor:pointer;width:100%;transition:background-color .2s ease,transform .1s ease}.quiz__next-btn:hover:not(:disabled){background-color:#0f766e;transform:translateY(-1px)}.quiz__next-btn:active:not(:disabled){transform:translateY(0)}.quiz__next-btn:disabled{background-color:#94a3b8;cursor:not-allowed;opacity:.6}.quiz__next-hint{margin-top:8px;font-size:clamp(.8rem,2vw,.9rem);color:#6b7280;font-style:italic}.quiz__explanation{flex:1;min-width:0;background-color:#f0f8ff;padding:clamp(14px,2.5vw,24px);border-radius:10px;font-size:clamp(.9rem,2vw,1.1rem);line-height:1.7;color:#1f2937;overflow-y:auto;max-height:600px}.quiz__explanation-text{margin-top:12px;margin-bottom:8px;word-break:break-word}.quiz__explanation-text:first-of-type{margin-top:16px}.result{text-align:center;background-color:#fefefe;padding:clamp(14px,2.5vw,24px);border-radius:12px;box-shadow:0 0 10px #0000001a}@media(max-width:767px){.quiz{flex-direction:column;gap:16px}.quiz__explanation{max-height:400px}}@media(max-width:400px){.quiz{padding:12px}.quiz__text-answer{min-height:100px;padding:10px}}@media(max-height:600px){.quiz{flex-direction:column;gap:12px}.result{padding:12px}}@media(prefers-reduced-motion:reduce){.quiz__option{transition:none}}.content{display:grid;gap:16px}.nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:20px;padding:0 12px}.nav__btn{font:inherit;border:1px solid rgba(255,255,255,.1);color:#e5e7eb;background:#ffffff0d;padding:12px 16px;border-radius:8px;cursor:pointer;text-decoration:none;display:block;text-align:center;font-size:clamp(.9rem,2vw,1rem);transition:background .12s ease,transform .05s ease,border-color .12s ease,color .12s ease}.nav__btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.nav hr{border:0;height:2px;background:#a4b1c540;margin:8px 0}.nav__btn:active{transform:translateY(1px)}.nav__btn--active{background:#0d9488;color:#fff;border-color:#0d9488}.nav__btn--active:hover{background:#0f766e;border-color:#0f766e}.nav__btn.active{background:#0d9488;color:#fff;border-color:#0d9488}.nav__btn.active:hover{background:#0f766e;border-color:#0f766e}@media(max-width:768px){.nav{flex-direction:row;position:static;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 12px 8px;gap:8px}.nav__btn{white-space:nowrap;min-width:fit-content;padding:10px 16px}}.app-footer{margin-top:20px;color:#374151;width:100%;box-sizing:border-box;padding:12px 16px;background:transparent;text-align:left}.app-footer__inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:.75rem;align-items:start}.app-footer__col{display:flex;flex-direction:column;gap:.25rem;min-width:0}.app-footer__col--left{align-items:flex-start}.app-footer__brand-row{display:flex;gap:.6rem;align-items:center}:root{--footer-action-icon-size: 20px}.app-footer__brand-cookies{display:flex;gap:.5rem;align-items:center}.app-footer__brand-row .updates__container,.app-footer__brand-row .updates__btn{margin:0}.app-footer__brand-row .app-footer__cookie-btn{margin:0;background:#f9fafb;border:1px solid #e5e7eb;color:#111827;padding:6px 10px;font-size:.85rem;border-radius:8px;box-sizing:border-box;line-height:1;display:inline-flex;align-items:center;min-height:36px}.app-footer__brand-row .app-footer__cookie-btn:hover{background:#f3f4f6;border-color:#d1d5db}.app-footer__cookie-icon{display:inline-flex;align-items:center;justify-content:center;height:20px;width:20px;margin-right:8px;background:#fff7ed;color:#9a3412;border-radius:6px}.app-footer__brand-row .updates__btn{background:#f9fafb;border:1px solid #e5e7eb;color:#111827;padding:6px 10px;border-radius:8px;font-size:.85rem;box-sizing:border-box;line-height:1;display:inline-flex;align-items:center;min-height:36px}.app-footer__brand-row .updates__btn:hover{background:#f3f4f6;border-color:#d1d5db}.app-footer__col--right{align-items:flex-start}.app-footer__cookie-controls{display:flex;gap:.5rem;align-items:center;justify-content:flex-start;flex-wrap:wrap}.app-footer__updates-trigger{padding:6px 10px;font-size:.85rem}.app-footer__manage-btn{padding:6px 10px;font-size:.85rem;background:#f9fafb;border:1px solid #e5e7eb;color:#111827;border-radius:8px;transition:background .15s ease,border-color .15s ease}.app-footer__manage-btn:hover{background:#f3f4f6;border-color:#d1d5db}.app-footer__updates-icon{margin-right:8px;font-size:calc(var(--footer-action-icon-size) * .55);line-height:1;display:inline-flex;align-items:center;justify-content:center;height:var(--footer-action-icon-size);width:var(--footer-action-icon-size);background:#eff6ff;color:#2563eb;border-radius:6px}.app-footer__copyright{font-size:.9rem}.app-footer__version{font-size:.75rem;color:#9ca3af;margin-top:.25rem;opacity:.7}.app-footer__cookie-icon{display:inline-flex;align-items:center;justify-content:center;height:var(--footer-action-icon-size);width:var(--footer-action-icon-size);margin-right:8px;background:#fff7ed;color:#9a3412;border-radius:6px;font-size:calc(var(--footer-action-icon-size) * .55)}.app-footer__cookie-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.updates,.app-footer__updates{display:block;margin:16px 0 12px;padding:12px 14px;border:1px solid #e5e7eb;color:#374151;background:#fffc;border-radius:10px}.updates a,.app-footer__updates a{color:#1f2937;text-decoration:none}.updates a:hover,.app-footer__updates a:hover{text-decoration:underline}.updates__container,.app-footer__updates-container{display:flex;justify-content:center;margin:16px 0}.updates__title,.app-footer__updates-title{font-weight:700;font-size:.95rem}.updates__message,.app-footer__updates-message{color:#1f2937}.updates__date,.app-footer__updates-date{color:#6b7280;font-size:.85rem}.updates__error,.app-footer__updates-error{color:#b91c1c;font-size:.9rem}.updates__empty,.app-footer__updates-empty{color:#6b7280;font-size:.9rem}.updates__viewer,.app-footer__updates-viewer{display:grid;gap:10px}.updates__row,.app-footer__updates-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.updates__controls,.app-footer__updates-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.updates__btn,.app-footer__updates-btn{appearance:none;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;padding:6px 10px;border-radius:8px;font-size:clamp(.8rem,2vw,.9rem);cursor:pointer;transition:background .15s ease,border-color .15s ease}.updates__btn.app-footer__cookie-btn,.updates__btn.app-footer__updates-trigger{appearance:none;border:1px solid #e5e7eb;background:#f9fafb;color:#111827;padding:6px 10px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-family:inherit}.updates__btn.app-footer__cookie-btn:hover,.updates__btn.app-footer__updates-trigger:hover{background:#f3f4f6;border-color:#d1d5db;color:#111827}.app-footer__brand-row .app-footer__cookie-btn,.app-footer__brand-row .updates__btn{background:#f9fafb;border:1px solid #e5e7eb;color:#111827;padding:6px 10px;border-radius:8px;font-size:.85rem;box-sizing:border-box;line-height:1;display:inline-flex;align-items:center;min-height:36px}.app-footer__brand-row .app-footer__cookie-btn:hover,.app-footer__brand-row .updates__btn:hover,.updates__btn:hover,.app-footer__updates-btn:hover{background:#f3f4f6;border-color:#d1d5db}.updates__btn:active,.app-footer__updates-btn:active{background:#e5e7eb}.updates__btn:disabled,.app-footer__updates-btn:disabled{opacity:.5;cursor:not-allowed}.updates__counter,.app-footer__updates-counter{color:#6b7280;font-size:clamp(.75rem,2vw,.85rem)}@media(max-width:480px){.updates__row,.app-footer__updates-row{flex-direction:column;align-items:stretch;gap:8px}.updates__controls,.app-footer__updates-controls{width:100%}}@media(max-width:640px){.app-footer__inner{grid-template-columns:1fr;grid-auto-flow:row;align-items:center}.app-footer__col{width:100%;align-items:center;text-align:center}.app-footer__cookie-controls{justify-content:center}}@media(max-width:640px){.app-footer__inner{flex-direction:column;align-items:center;gap:.5rem}.app-footer__col--left,.app-footer__col--right{width:100%;align-items:center;text-align:center}.app-footer__inner>*{flex:0 0 auto}.app-footer__cookie-controls{justify-content:center}}.updates__overlay,.app-footer__updates-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.updates__modal,.app-footer__updates-modal{width:min(720px,92vw);max-height:min(80vh,900px);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e5e7eb;padding:16px}.updates__modal-header,.app-footer__updates-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px;flex-wrap:wrap}@media(max-width:640px){.updates__overlay,.app-footer__updates-overlay{padding:12px;align-items:flex-start}.updates__modal,.app-footer__updates-modal{width:100%;max-width:100%;max-height:calc(100vh - 24px);padding:12px;margin-top:12px}.updates__modal-header,.app-footer__updates-modal-header{flex-direction:column;align-items:flex-start}}.cookie-consent-overlay,.app-footer__cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;animation:fadeIn .3s ease-in}.cookie-consent,.app-footer__cookie-consent{max-width:600px;margin:0 auto;background:var(--color-bg-primary, #ffffff);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent__title,.app-footer__cookie-consent-title{margin:0 0 .75rem;font-size:1.25rem;color:var(--color-text-primary, #1a1a1a);font-weight:600}.cookie-consent__description,.app-footer__cookie-consent-description{margin:0 0 1.5rem;color:var(--color-text-secondary, #666);font-size:.95rem;line-height:1.5}.cookie-consent__actions,.app-footer__cookie-consent-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.cookie-btn,.app-footer__cookie-btn{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.cookie-btn--primary,.app-footer__cookie-btn--primary{background:var(--color-primary, #0d9488);color:#fff}.cookie-btn--primary:hover,.app-footer__cookie-btn--primary:hover{background:var(--color-primary-dark, #0f766e);transform:translateY(-1px);box-shadow:0 4px 12px #0d94884d}.cookie-btn--secondary,.app-footer__cookie-btn--secondary{background:var(--color-secondary, #64748b);color:#fff}.cookie-btn--secondary:hover,.app-footer__cookie-btn--secondary:hover{background:var(--color-secondary-dark, #475569);transform:translateY(-1px)}.cookie-btn--tertiary,.app-footer__cookie-btn--tertiary{background:transparent;color:var(--color-text-primary, #1a1a1a);border:1px solid var(--color-border, #e2e8f0)}.cookie-btn--tertiary:hover,.app-footer__cookie-btn--tertiary:hover{background:var(--color-bg-secondary, #f8fafc);border-color:var(--color-border-hover, #cbd5e1)}.cookie-consent__categories,.app-footer__cookie-consent-categories{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.cookie-category,.app-footer__cookie-category{border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:1rem;background:var(--color-bg-secondary, #f8fafc)}.cookie-category__label,.app-footer__cookie-category-label{display:flex;gap:.75rem;cursor:pointer;align-items:flex-start}.cookie-category__label:has(input:disabled){cursor:not-allowed;opacity:.7}.cookie-category__checkbox,.app-footer__cookie-category-checkbox{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.cookie-category__checkbox:disabled,.app-footer__cookie-category-checkbox:disabled{cursor:not-allowed}.cookie-category__content,.app-footer__cookie-category-content{flex:1}.cookie-category__content strong,.app-footer__cookie-category-content strong{display:block;margin-bottom:.25rem;color:var(--color-text-primary, #1a1a1a);font-size:.95rem}.cookie-category__desc,.app-footer__cookie-category-desc{margin:0;color:var(--color-text-secondary, #666);font-size:.85rem;line-height:1.4}@media(prefers-color-scheme:dark){.cookie-consent,.app-footer__cookie-consent{background:#1e293b}.cookie-consent__title,.app-footer__cookie-consent-title{color:#f1f5f9}.cookie-consent__description,.app-footer__cookie-consent-description{color:#94a3b8}.cookie-category,.app-footer__cookie-category{background:#0f172a;border-color:#334155}.cookie-category__content strong,.app-footer__cookie-category-content strong{color:#f1f5f9}.cookie-category__desc,.app-footer__cookie-category-desc{color:#94a3b8}.cookie-btn--tertiary,.app-footer__cookie-btn--tertiary{color:#f1f5f9;border-color:#334155}.cookie-btn--tertiary:hover,.app-footer__cookie-btn--tertiary:hover{background:#0f172a;border-color:#475569}}@media(max-width:640px){.cookie-consent-overlay,.app-footer__cookie-consent-overlay{padding:.5rem}.cookie-consent,.app-footer__cookie-consent{padding:1.25rem}.cookie-consent__title,.app-footer__cookie-consent-title{font-size:1.1rem}.cookie-consent__actions,.app-footer__cookie-consent-actions{flex-direction:column}.cookie-btn,.app-footer__cookie-btn{width:100%}}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:calc(16px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 16px calc(24px + env(safe-area-inset-left));background:#fff;border-bottom:1px solid #e5e7eb;margin:0;box-shadow:0 2px 4px #0000000f}.language-selector,.header__language{display:inline-flex;align-items:center;position:relative}.language-selector:after{content:"▼";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.7em;color:#6b7280;pointer-events:none}.header__title{margin:0;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700;color:#0d9488;letter-spacing:-.02em}.header__right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.header__auth-compact{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header__user-profile{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f0fdfa;border:1px solid #0d9488;border-radius:8px;color:#0f766e;font-weight:500;font-size:clamp(.85rem,2vw,.95rem);white-space:nowrap;cursor:default}.header__user-avatar{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#0f766e}.header__dashboard-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:768px){.header{gap:16px;padding:calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 12px calc(16px + env(safe-area-inset-left))}.header__right{gap:12px}.header__auth-compact{gap:8px}.header__dashboard-options{gap:6px}.header__btn{padding:6px 12px;font-size:.85rem}.language-selector__select,.header__language-select{min-width:120px;font-size:.8rem}}@media(max-width:480px){.header__title{font-size:1.1rem}.header__auth-compact{flex-direction:column;align-items:stretch;gap:6px}.header__dashboard-options,.header__user-profile{justify-content:center}}.header__auth{display:flex;align-items:center;gap:12px}.header__user{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f0fdfa;border:1px solid #0d9488;border-radius:8px;color:#0f766e;font-weight:500}.header__user-icon{font-size:1.2em;line-height:1}.header__user-name{font-size:clamp(.85rem,2vw,.95rem);white-space:nowrap}.header__auth-form{display:flex;align-items:center;gap:8px}.header__input{font:inherit;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#111827;font-size:clamp(.85rem,2vw,.95rem);transition:border-color .15s ease,background .15s ease;min-width:120px}.header__input:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px #0d94881a}.header__input::placeholder{color:#9ca3af}.header__btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;border:1px solid #0d9488;background:#0d9488;color:#fff;font-weight:600;font-size:clamp(.85rem,2vw,.95rem);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s ease,transform .05s ease,border-color .15s ease;min-height:36px}.header__btn:hover{background:#0f766e;border-color:#0f766e;transform:translateY(-1px)}.header__btn:active{transform:translateY(0)}.header__btn--secondary{background:transparent;color:#0d9488}.header__btn--secondary:hover{background:#f0fdfa}.language-selector__select,.header__language-select{font:inherit;padding:8px 32px 8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:clamp(.85rem,2vw,.9rem);font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;min-width:140px;appearance:none;-webkit-appearance:none;-moz-appearance:none}.language-selector__select:focus,.header__language-select:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.language-selector__select:hover,.header__language-select:hover{border-color:#0d9488;background:#f0fdfa;box-shadow:0 1px 3px #0d94881a}.header__btn:hover{background:#0f766e;border-color:#0f766e}.language-selector__select:focus,.header__language-select:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 3px #0d948826}.header__btn:active{transform:translateY(1px)}.header__btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0d948833}.header__btn--secondary{background:#fff;color:#0d9488;border-color:#0d9488}.header__btn--secondary:hover{background:#f0fdfa;border-color:#0f766e;color:#0f766e}@media(max-width:768px){.header{flex-direction:column;align-items:stretch;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 16px 14px}.header__title{text-align:center}.header__right{flex-direction:column-reverse;gap:12px}.header__auth{width:100%;flex-direction:column;gap:10px}.language-selector,.header__language{width:100%}.language-selector__select,.header__language-select{width:100%;min-width:unset}.header__auth-form{width:100%;flex-direction:column}.header__input,.header__btn{width:100%}.header__user{width:100%;justify-content:center}}@media(max-width:400px){.header{padding:12px 14px}.header__input{min-width:0;padding:7px 10px}.header__btn{padding:7px 14px}}.header__modal-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px}.header__modal{width:min(600px,92vw);max-height:min(80vh,900px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e5e7eb;padding:16px;box-sizing:border-box}.auth-wrapper{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:auto}.auth-toggle{display:flex;gap:8px}.auth-forms{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:auto}.header__modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.header__modal-title{margin:0;font-size:1.1rem;font-weight:700}.header__modal-close{background:transparent;border:none;font-size:1.2rem;line-height:1;cursor:pointer}@media(max-width:640px){.header__modal-overlay{padding:12px;align-items:flex-start}.header__modal{width:100%;max-width:100%;max-height:calc(100vh - 24px);padding:12px;margin-top:12px}}.header__modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.header__modal .header__auth-form{flex-direction:column;align-items:stretch}.header__modal .header__input{width:100%}.header__modal .header__btn{width:auto}.header__modal-text{color:#6b7280;margin:0}.header__modal-toggle{padding:8px 12px}.statistics{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.statistics__header{text-align:center;margin-bottom:2rem}.statistics__title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.statistics__subtitle{font-size:1rem;color:var(--text-secondary);margin:0}.statistics__tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);padding-bottom:0;flex-wrap:wrap}.statistics__tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;position:relative;bottom:-2px}.statistics__tab:hover{color:var(--text-primary);background:var(--background-hover)}.statistics__tab--active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.statistics__content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.statistics{padding:1rem}.statistics__title{font-size:1.5rem}.statistics__subtitle{font-size:.875rem}.statistics__tabs{gap:.25rem}.statistics__tab{padding:.5rem 1rem;font-size:.875rem}}@media(max-width:480px){.statistics__tabs{flex-direction:column;border-bottom:none}.statistics__tab{border-bottom:2px solid var(--border-color);border-left:3px solid transparent;bottom:0;text-align:left}.statistics__tab--active{border-bottom-color:var(--border-color);border-left-color:var(--accent-color)}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#000000de;background-color:#f0f0f0}html,body,#root{height:100%}html,body{margin:0;padding:0;background-color:#f0f0f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{overflow-x:hidden}@media(max-width:768px){button,a,input,select,textarea{min-height:44px}}.app{font-family:sans-serif;min-height:100vh;display:flex;gap:0;background-color:#f0f0f0}.app__sidebar{flex-shrink:0;width:240px;background:linear-gradient(180deg,#1a1a1a,#2d2d2d);padding:calc(24px + env(safe-area-inset-top)) 0 calc(20px + env(safe-area-inset-bottom)) 0}.app__main{flex:1;min-width:0;padding:0}@media(max-width:768px){.app{flex-direction:column}.app__sidebar{width:100%;padding:calc(16px + env(safe-area-inset-top)) 0 16px 0}.app__main{padding:0}}.app__content{width:100%;box-sizing:border-box;max-width:1100px;padding:calc(24px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) calc(20px + env(safe-area-inset-left));margin:0 auto}@media(max-width:768px){.app__content{padding:16px calc(12px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}}.app-header{display:flex;justify-content:center;align-items:center;margin-bottom:16px}.app-header__title{margin:0;font-size:clamp(1rem,2.2vw,1.25rem);text-align:center}.app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px}.app-toolbar__subject{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9999px;background:#f3f4f6;color:#111827;font-size:clamp(.85rem,2vw,1rem)}.app-toolbar__subject-icon{font-size:clamp(14px,3vw,16px)}.app-toolbar__subject-text{font-weight:600}.app-toolbar__cancel{border:1px solid #ef4444;color:#fff;background:#ef4444;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:clamp(.85rem,2vw,1rem);transition:background .12s ease,transform .05s ease}.app-toolbar__cancel:hover{background:#dc2626}.app-toolbar__cancel:active{transform:translateY(1px)}@media(max-width:480px){.app-toolbar{flex-direction:column;align-items:stretch}.app-toolbar__subject{justify-content:center}.app-toolbar__cancel{width:100%;text-align:center}}@media(min-aspect-ratio:16/9)and (min-width:1200px){.app__content{max-width:1200px}}.app-nav-warning{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.app-nav-warning__overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.app-nav-warning__panel{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;max-width:480px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .2s ease}.app-nav-warning__title{margin:0 0 12px;font-size:clamp(1.2rem,3vw,1.4rem);font-weight:700;color:#111827}.app-nav-warning__text{margin:0 0 20px;font-size:clamp(.95rem,2vw,1rem);color:#6b7280;line-height:1.6}.app-nav-warning__actions{display:flex;flex-direction:column;gap:10px}.app-nav-warning__btn{font:inherit;padding:12px 16px;border-radius:8px;border:1px solid;font-weight:600;font-size:clamp(.9rem,2vw,1rem);cursor:pointer;transition:background .15s ease,transform .05s ease,box-shadow .15s ease}.app-nav-warning__btn:hover{transform:translateY(-1px)}.app-nav-warning__btn:active{transform:translateY(0)}.app-nav-warning__btn--stay{background:#0d9488;color:#fff;border-color:#0d9488}.app-nav-warning__btn--stay:hover{background:#0f766e;box-shadow:0 4px 10px #0d948833}.app-nav-warning__btn--continue{background:#fff;color:#0d9488;border-color:#0d9488}.app-nav-warning__btn--continue:hover{background:#f0fdfa;box-shadow:0 4px 10px #0d948826}.app-nav-warning__btn--cancel{background:#fff;color:#ef4444;border-color:#ef4444}.app-nav-warning__btn--cancel:hover{background:#fef2f2;box-shadow:0 4px 10px #ef444426}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.app-nav-warning{padding:16px}.app-nav-warning__panel{padding:20px 16px}.app-nav-warning__actions{gap:8px}.app-nav-warning__btn{padding:10px 14px}}@media(prefers-reduced-motion:reduce){.app-toolbar__cancel{transition:none}.app-nav-warning__overlay,.app-nav-warning__panel{animation:none}.app-nav-warning__btn{transition:none}}
