:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#edf0f5;--navy-900:#fff;--navy-850:#f8fafc;--navy-800:#f1f5f9;--gold:#e3004f;--gold-soft:#c90044;--coral:#e3004f;--enter-magenta:#e3006f;--enter-blue:#2f7df6;--muted:#4b5563;--cream:#111827;--line:#00000014;--shadow:0 10px 30px #0000000f;background:#edf0f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--navy-950);overscroll-behavior-y:none}body{color:#111827;overscroll-behavior-y:none;background:radial-gradient(circle at 80% 2%,#e3004f0f,#0000 25rem),linear-gradient(#f4f6fa,#edf0f5);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{color:inherit;cursor:pointer}.app-shell{background:#fff;border-left:1px solid #0000000f;border-right:1px solid #0000000f;flex-direction:column;width:min(100%,540px);height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 50px #00000014}.map-texture{opacity:.06;pointer-events:none;background-image:linear-gradient(32deg,#0000 48%,#e3004f33 49%,#0000 50%),linear-gradient(145deg,#0000 47%,#e3004f26 48%,#0000 49%);background-size:86px 74px,122px 104px;height:360px;position:absolute;inset:130px 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.enter-xxx-stage{z-index:0;pointer-events:none;contain:paint;place-items:center;display:grid;position:absolute;inset:76px 0 72px;overflow:hidden}.enter-xxx-mark{opacity:0;transform-origin:50%;will-change:opacity, transform;position:absolute;top:50%;left:50%}.enter-xxx-mark svg{width:100%;height:100%;display:block;overflow:visible}.enter-xxx-mark-left,.enter-xxx-mark-right{z-index:1;filter:drop-shadow(0 0 5px #ffffffe6)drop-shadow(0 0 18px #ff2296bf);width:min(31vw,155px);height:min(38vw,186px)}.enter-xxx-mark-left{animation:6s cubic-bezier(.16,.78,.22,1) both enter-xxx-left}.enter-xxx-mark-middle{z-index:2;filter:drop-shadow(0 0 6px #fffffff0)drop-shadow(0 0 22px #48e1ffb8);width:min(39vw,198px);height:min(48vw,238px);animation:6s cubic-bezier(.16,.78,.22,1) both enter-xxx-middle}.enter-xxx-mark-right{animation:6s cubic-bezier(.16,.78,.22,1) both enter-xxx-right}.enter-xxx-glow{aspect-ratio:1.35;filter:blur(14px);opacity:0;background:radial-gradient(#c51fff57 0%,#e3006f2e 38%,#0000 72%);border-radius:50%;width:min(82vw,440px);animation:6s ease-out both enter-xxx-glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.72)}.topbar{z-index:20;padding:calc(12px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) 10px calc(18px + env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff2;border-bottom:1px solid #e3004f33;flex:none;position:sticky;top:0}@media (display-mode:standalone){.topbar{padding-top:max(calc(12px + env(safe-area-inset-top,0px)), 36px)}}.brand-lockup{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:32px;margin-bottom:8px;display:grid}.brand-lockup .brand-toggle{text-overflow:ellipsis;white-space:nowrap;justify-self:start;min-width:0;overflow:hidden}.brand-lockup .brand-edition{white-space:nowrap;justify-self:end}.brand-mark,.signature-brand{color:#111827;letter-spacing:-.025em;align-items:baseline;line-height:1;display:inline-flex}.brand-toggle{font:inherit;cursor:pointer;background:0 0;border:0;padding:3px 0}.brand-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}.brand-mark b,.signature-brand b{color:#111827;font-size:1rem;font-weight:950}.brand-mark i,.signature-brand i,.brand-equals{margin:0 4px;font-style:normal;font-weight:950;color:#e3004f!important}.brand-mark strong,.signature-brand strong,.brand-you{letter-spacing:.04em;font-size:1rem;font-weight:950;color:#e3004f!important}.brand-flip-container{vertical-align:top;perspective:180px;min-width:3.6ch;height:1.2em;transform-style:preserve-3d;margin-left:0;display:inline-block;position:relative}.brand-you-text,.brand-name-text{color:#e3004f;backface-visibility:hidden;transform-origin:50% 50% -10px;will-change:transform, opacity;font-weight:950;transition:transform 1.2s cubic-bezier(.33,1,.68,1),opacity 1s;display:inline-block}.brand-you-text.flip-in,.brand-name-text.flip-in{opacity:1;transform:rotateX(0)translateY(0%)scale(1)}.brand-you-text.flip-out{opacity:0;pointer-events:none;position:absolute;top:0;left:0;transform:rotateX(75deg)translateY(75%)scale(.85)}.brand-name-text.flip-out{opacity:0;pointer-events:none;position:absolute;top:0;left:0;transform:rotateX(-75deg)translateY(-75%)scale(.85)}.brand-edition{color:#e3004f;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#e3004f14;border:1px solid #e3004f4d;border-radius:999px;align-items:center;gap:3px;padding:5px 8px;font-family:inherit;font-size:.57rem;font-weight:900;display:inline-flex}.brand-edition:hover{background:#e3004f24}.brand-edition:focus-visible{outline:2px solid var(--enter-magenta);outline-offset:3px}.brand-edition span,.brand-edition small{font:inherit}.brand-edition b{color:var(--enter-magenta);font-size:.8rem;line-height:.8}.brand-edition small{opacity:.72}.identity-row,.identity,.detail-row,.section-heading,.standings-card,.primary-button{align-items:center;display:flex}.identity-row{justify-content:space-between}.identity{color:#111827;gap:9px;font-size:.9rem;font-weight:750}.flag{background:#f1f5f9;border:1px solid #0000001a;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.25rem;display:grid;box-shadow:0 3px 10px #0000000d}.icon-button{color:#111827;background:#f8fafc;border:1px solid #0000001a;border-radius:13px;place-items:center;width:42px;height:42px;padding:0;display:grid;position:relative}.icon-button svg{width:20px}.notification-dot{background:#e3004f;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:8px;right:8px}main{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e3004f4d transparent;flex:auto;min-height:0;padding:18px 16px 22px;position:relative;overflow-y:auto}main::-webkit-scrollbar{width:6px}main::-webkit-scrollbar-track{background:0 0}main::-webkit-scrollbar-thumb{background:#e3004f4d;border-radius:999px}.pull-refresh-indicator{min-height:0;color:var(--muted);opacity:0;justify-content:center;align-items:center;gap:8px;font-size:.74rem;font-weight:800;transition:height .18s,opacity .14s,color .14s;display:flex;overflow:hidden}.pull-refresh-indicator.is-visible,.pull-refresh-indicator.is-refreshing,.pull-refresh-indicator.is-complete{opacity:1}.pull-refresh-indicator svg{width:17px;height:17px;color:var(--gold)}.pull-refresh-indicator.is-complete{color:#60d9ad}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.pull-refresh-indicator.is-refreshing svg{animation:.65s linear infinite pull-refresh-spin}}.welcome{padding:0 3px 14px}.welcome-date{color:var(--muted);text-transform:capitalize;margin:4px 0 0;font-size:.72rem;font-weight:720}.welcome h1,.placeholder-view h1{letter-spacing:-.035em;color:#111827;margin:2px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,7vw,2.35rem);line-height:1.05}.eyebrow{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:850}.enter-day-heading{color:var(--enter-magenta);letter-spacing:.085em;text-transform:none}.enter-day-heading:first-letter{font-weight:950}.welcome-copy,.placeholder-view>p:last-of-type{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.next-card{background:radial-gradient(circle at 92% 15%,#e3004f0f,#0000 9rem),linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e3004f33;border-radius:22px;padding:17px;box-shadow:0 8px 24px #0000000d}.card-kicker{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#e3004f;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:.68rem;font-weight:900;display:inline-flex}.next-card h2{color:#111827;max-width:400px;margin:13px 0 11px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.06}.next-card-title-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.next-card-title-row h2{flex:1}.next-details{border-top:1px dashed #0000001f;gap:8px;padding:11px 0;display:grid}.detail-row{color:#1f2937;gap:10px;font-size:.88rem}.detail-row svg{width:18px;color:var(--gold)}.detail-row strong{color:#111827;font-size:1.35rem}.detail-row.countdown{color:#e3004f;font-weight:720}.detail-row.countdown svg{color:#e3004f}.primary-button{color:#fff;background:#e3004f;border-radius:15px;justify-content:center;gap:8px;min-height:48px;margin-top:5px;font-size:.93rem;font-weight:850;text-decoration:none;box-shadow:0 6px 20px #e3004f4d}.primary-button svg{width:21px}.primary-button:focus-visible,button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e3004f}.timeline-section{margin-top:22px}.section-heading{justify-content:space-between;margin:0 3px 10px}.section-heading h2{color:#111827;margin:0;font-size:1.25rem}.section-heading span{color:var(--muted);font-size:.85rem}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:0 0 9px 31px;position:relative}.timeline li:before{content:"";background:#0000001f;width:2px;position:absolute;top:21px;bottom:-21px;left:10px}.timeline li:last-child:before{display:none}.timeline-dot{background:#94a3b8;border:4px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:20px;left:2px;box-shadow:0 0 0 2px #94a3b8}.timeline .next .timeline-dot{background:var(--gold);box-shadow:0 0 0 2px var(--gold), 0 0 14px #e3004f4d}@keyframes livePulse{0%{opacity:.9;transform:scale(.95);box-shadow:0 0 #e3004fb3}70%{opacity:1;transform:scale(1);box-shadow:0 0 0 6px #e3004f00}to{opacity:.9;transform:scale(.95);box-shadow:0 0 #e3004f00}}.live-pulse-dot{background:#e3004f;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite livePulse;display:inline-block}.card-kicker.is-active{color:#fff;background:#e3004f}.card-kicker.is-active .live-pulse-dot{background:#fff}.card-kicker.is-next-day{color:#e3004f;background:#e3004f1f}.card-kicker.is-completed{color:#fff;background:linear-gradient(135deg,#e3004f,#990035)}.completed-hero-content{gap:12px;margin-top:6px;display:grid}.completed-card-copy{color:#475569;margin:0 0 4px;font-size:.9rem;line-height:1.45}.timeline-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.now-active-pill{color:#e3004f;letter-spacing:.04em;text-transform:uppercase;background:#e3004f1f;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.65rem;font-weight:900;display:inline-flex}.next-up-pill{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#64748b1a;border-radius:999px;padding:3px 8px;font-size:.63rem;font-weight:850;display:inline-flex}.timeline .current .timeline-card{background:linear-gradient(135deg,#e3004f0f,#fff);border-color:#e3004f66;box-shadow:0 4px 16px #e3004f1a}.timeline .current .timeline-dot{background:#e3004f;box-shadow:0 0 0 2px #e3004f,0 0 14px #e3004f66}.timeline .current time{color:#e3004f}.timeline .past{opacity:.55}.timeline .past .timeline-card{background:#f8fafc;border-color:#0000000a}.timeline .past time{color:#94a3b8;font-weight:700}.timeline .past strong{color:#64748b;font-weight:600}.timeline .past small{color:#a1a1aa}.timeline .past .timeline-dot{background:#cbd5e1;box-shadow:0 0 0 2px #e2e8f0}.timeline-card{background:#f8fafc;border:1px solid #00000014;border-radius:17px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;min-height:60px;padding:11px 14px;display:grid}.programme-weather-button{background:linear-gradient(145deg,#fff,#ffedf5f0);border:1px solid #e3004f2e;border-radius:14px;flex:none;align-self:center;place-items:center;width:42px;height:42px;font-size:1.45rem;line-height:1;display:grid;box-shadow:0 5px 14px #e3004f17}.programme-weather-button:hover,.programme-weather-button:focus-visible{border-color:var(--gold);transform:translateY(-1px)}.timeline-body{gap:2px;min-width:0;display:grid}.timeline-badge-cell{flex:none;justify-content:flex-end;align-items:center;display:flex}.timeline-card time{color:#111827;font-weight:850}.timeline .next time{color:var(--gold)}.timeline-card strong,.timeline-card small{display:block}.timeline-card strong{color:#111827;line-height:1.25}.timeline-card small{color:var(--muted);margin-top:2px}.timeline-card svg{width:19px;color:var(--gold)}.standings-card{text-align:left;cursor:pointer;background:linear-gradient(135deg,#e3004f12,#fff);border:1.5px solid #e3004f47;border-radius:22px;align-items:center;gap:14px;width:100%;margin-top:18px;padding:16px 18px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 8px 24px #e3004f14}.standings-card:hover,.standings-card:active{border-color:#e3004f80;transform:translateY(-2px);box-shadow:0 12px 28px #e3004f29}.standings-flag-wrapper{flex:none}.standings-copy{flex:1;gap:2px;min-width:0;display:grid}.standings-kicker{color:#e3004f;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:4px;font-size:.65rem;font-weight:900;display:inline-flex}.standings-kicker svg{width:13px;height:13px}.standings-copy strong{color:#111827;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:800;line-height:1.2}.standings-copy p{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.78rem;font-weight:550;overflow:hidden}.standings-action{color:#fff;background:#e3004f;border-radius:999px;flex:none;align-items:center;gap:4px;padding:8px 12px;font-size:.76rem;font-weight:850;display:inline-flex;box-shadow:0 4px 12px #e3004f40}.standings-action svg{width:14px;height:14px}.programme-view{padding-bottom:8px}.page-intro{padding:0 3px 14px}.page-intro h1{letter-spacing:-.035em;color:#111827;margin:2px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.85rem,7vw,2.45rem);line-height:1.04}.page-intro>p:last-child{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.day-switcher{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px;display:grid}.day-switcher button{color:#4b5563;background:#f8fafc;border:1px solid #0000001a;border-radius:15px;place-content:center;gap:2px;min-height:52px;font-weight:850;display:grid}.day-switcher button small{letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:750}.day-switcher button.active{border-color:var(--gold);color:#fff;background:#e3004f;box-shadow:0 6px 18px #e3004f40}.day-overview{background:#fff;border:1px solid #e3004f33;border-radius:23px;padding:16px;box-shadow:0 8px 24px #0000000d}.day-overview-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.day-overview-heading p{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:850}.day-overview-heading .enter-day-title{color:var(--enter-magenta);text-transform:none;margin-bottom:3px}.day-overview-heading .day-date{color:var(--muted);text-transform:capitalize;margin-bottom:5px;font-size:.72rem;font-weight:750;display:block}@media (prefers-reduced-motion:no-preference){.brand-edition b{animation:4s ease-in-out infinite enter-x-glow}}@media (prefers-reduced-motion:reduce){.enter-xxx-stage{display:none}}@keyframes enter-xxx-left{0%{opacity:0;transform:translate(calc(-50% - 110vw),-50%)scale(.7)rotate(-7deg)}8.5%{opacity:.92;transform:translate(calc(-50% - min(23vw,112px)),-50%)scale(1.035)rotate(1deg)}10%,93%{opacity:.78;transform:translate(calc(-50% - min(22vw,106px)),-50%)scale(1)rotate(0)}98.5%,to{opacity:0;transform:translate(calc(-50% - min(22vw,106px)),-50%)scale(1.025)}}@keyframes enter-xxx-middle{0%,2%{opacity:0;transform:translate(-50%,calc(-50% - 110vh))scale(.68)}9%{opacity:1;transform:translate(-50%,-50%)scale(1.045)}10.5%,93%{opacity:.92;transform:translate(-50%,-50%)scale(1)}98.5%,to{opacity:0;transform:translate(-50%,-50%)scale(1.025)}}@keyframes enter-xxx-right{0%{opacity:0;transform:translate(calc(110vw - 50%),-50%)scale(.7)rotate(7deg)}8.5%{opacity:.92;transform:translate(calc(-50% + min(23vw,112px)),-50%)scale(1.035)rotate(-1deg)}10%,93%{opacity:.78;transform:translate(calc(-50% + min(22vw,106px)),-50%)scale(1)rotate(0)}98.5%,to{opacity:0;transform:translate(calc(-50% + min(22vw,106px)),-50%)scale(1.025)}}@keyframes enter-xxx-glow{0%,7%{opacity:0;transform:translate(-50%,-50%)scale(.72)}9.5%{opacity:1;transform:translate(-50%,-50%)scale(1.06)}11%,93%{opacity:.88;transform:translate(-50%,-50%)scale(1)}98.5%,to{opacity:0;transform:translate(-50%,-50%)scale(1.15)}}@keyframes enter-x-glow{0%,75%,to{text-shadow:0 0 #e3006f00}85%{text-shadow:0 0 10px #e3006f80}}.day-overview-heading h2{color:#111827;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.12}.day-overview-heading svg{width:25px;color:var(--gold);flex:none}.day-overview>p{color:var(--muted);margin:9px 0 0;font-size:.88rem;line-height:1.4}.programme-list{gap:9px;margin:15px 0 0;padding:0;list-style:none;display:grid;position:relative}.programme-list:before{content:"";background:linear-gradient(var(--gold), #0000001a);width:2px;position:absolute;top:19px;bottom:19px;left:30px}.programme-list li{grid-template-columns:60px minmax(0,1fr) 42px;align-items:start;gap:11px;display:grid;position:relative}.weather-modal-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09142a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.weather-modal-content{width:min(100%,470px);position:relative}.weather-modal-close{z-index:2;color:#334155;background:#ffffffe6;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 3px 12px #0f172a26}.weather-modal-close svg{width:18px;height:18px}.weather-widget-card.programme-weather-popup{background-color:#fff;background-image:radial-gradient(circle at 92% 8%,#e3004f14,#0000 9rem),linear-gradient(135deg,#eef9ff 0%,#fff5f9 54%,#fff 100%);border:1px solid #e3004f3d;margin:0;padding-right:52px;box-shadow:0 24px 70px #09142a59}.weather-popup-source{color:#64748b;margin-top:9px;font-size:.67rem;display:block}.programme-list time{z-index:1;border:2px solid var(--gold);min-height:42px;color:var(--gold);background:#fff;border-radius:13px;place-items:center;font-size:.8rem;font-weight:900;display:grid;position:relative}.programme-activity{background:#f8fafc;border:1px solid #00000014;border-radius:18px;min-width:0;padding:12px}.activity-category{color:var(--gold);letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;font-size:.65rem;font-weight:900;display:inline-block}.programme-activity h3{color:#111827;margin:0;font-size:1rem;line-height:1.28}.programme-activity p{color:var(--muted);align-items:center;gap:7px;margin:8px 0 0;font-size:.82rem;line-height:1.3;display:flex}.programme-activity p svg{width:15px;height:15px;color:var(--gold);flex:none}.programme-activity a{min-height:44px;color:var(--gold);align-items:center;gap:7px;margin-top:8px;font-size:.82rem;font-weight:850;text-decoration:none;display:inline-flex}.programme-activity a svg{width:15px;height:15px}.programme-note{border-left:3px solid var(--gold);color:var(--muted);background:#f8fafc;border-radius:0 12px 12px 0;margin:18px 3px 0;padding:13px 15px;font-size:.82rem;line-height:1.45}.map-view{padding-bottom:8px}.route-canvas{background:#f8fafc;border:1px solid #e3004f33;border-radius:25px;height:250px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000f}.route-map{object-fit:cover;filter:contrast(1.05)brightness(.98);width:100%;height:100%;position:absolute;inset:0}.map-marker{z-index:3;color:#fff;background:#e3004f;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;transition:transform .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #e3004f66}.map-marker:hover{transform:translate(-50%,-50%)scale(1.2)}.map-marker b{color:#fff;font-style:normal}.map-attribution{width:-moz-fit-content;width:fit-content;color:var(--muted);margin:5px 6px 0 auto;font-size:.6rem;text-decoration:none;display:block}.route-heading{justify-content:space-between;align-items:center;margin:22px 4px 12px;display:flex}.route-heading h2{color:#111827;margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.route-heading svg{color:#e3004f;width:22px;height:22px}.route-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.route-card{background:#fff;border:1px solid #00000014;border-radius:20px;gap:10px;padding:16px;transition:all .2s;display:grid;box-shadow:0 4px 16px #0000000a}.route-card:hover{border-color:#e3004f4d;box-shadow:0 8px 24px #e3004f14}.route-card-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.route-stop-badge{color:#e3004f;letter-spacing:.05em;text-transform:uppercase;background:#e3004f14;border:1px solid #e3004f40;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:900;display:inline-flex}.route-stop-time{color:#4b5563;align-items:center;gap:5px;font-size:.82rem;font-weight:850;display:inline-flex}.route-stop-time svg{color:#e3004f;width:15px;height:15px}.route-card-body h3{color:#111827;margin:0 0 4px;font-size:1.05rem;font-weight:850}.route-card-body p{color:#64748b;align-items:center;gap:6px;margin:0;font-size:.82rem;display:flex}.route-card-body p svg{color:#e3004f;flex:none;width:15px;height:15px}.route-action-button{color:#e3004f;background:#e3004f0f;border:1px solid #e3004f40;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;margin-top:4px;padding:0 14px;font-size:.82rem;font-weight:850;text-decoration:none;transition:all .2s;display:inline-flex}.route-action-button:hover{color:#fff;background:#e3004f}.route-action-button svg{width:16px;height:16px}@keyframes flagWave{0%{transform:scale(1)rotate(0);box-shadow:0 4px 14px #e3004f33}50%{transform:scale(1.06)rotate(3deg)translateY(-1px);box-shadow:0 8px 22px #e3004f59}to{transform:scale(1)rotate(-2deg);box-shadow:0 4px 14px #e3004f33}}@keyframes flagSheen{0%{transform:translate(-100%)rotate(25deg)}to{transform:translate(200%)rotate(25deg)}}.waving-flag{border:2px solid #e3004f;border-radius:50%;animation:3.5s ease-in-out infinite alternate flagWave;display:inline-block;position:relative;overflow:hidden}.waving-flag .flag-wave-sheen{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:3s ease-in-out infinite flagSheen;position:absolute;inset:-50%}.team-hero{background:linear-gradient(135deg,#e3004f0d,#fff);border:1.5px solid #e3004f47;border-radius:24px;gap:14px;padding:20px;display:grid;position:relative;box-shadow:0 8px 24px #0000000d}.team-hero.is-leader{background:linear-gradient(135deg,#e3004f1a,#fff);border-color:#e3004f99;box-shadow:0 12px 32px #e3004f26}.team-hero-header{align-items:center;gap:14px;display:flex}.hero-class-tag{gap:2px;display:grid}.hero-class-code{color:#e3004f;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.hero-country-name{color:#111827;font-family:Georgia,Times New Roman,serif;font-size:1.38rem;font-weight:800}.team-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hero-stat-card{background:linear-gradient(135deg,#e3004f0a,#fff);border:1px solid #e3004f33;border-radius:16px;gap:3px;padding:12px 14px;display:grid;box-shadow:0 2px 10px #00000005}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;font-weight:850}.stat-value{color:#e3004f;font-size:1.15rem;font-weight:900}.stat-value small{color:#64748b;font-size:.72rem;font-weight:800}.hero-chaser-banner{color:#e3004f;text-align:center;background:#e3004f12;border:1px solid #e3004f33;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.78rem;font-weight:800;display:flex}.hero-chaser-banner b{color:#e3004f;font-weight:900}.score-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:17px 4px 11px;display:flex}.score-meta span{align-items:center;gap:7px;font-size:.73rem;font-weight:800;display:flex}.score-meta small{font-size:.68rem}.status-pulse{background:var(--gold);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e3004f26}.leaderboard{gap:9px;margin:0;padding:0;list-style:none;display:grid}.leaderboard li{background:#fff;border:1px solid #00000014;border-radius:20px;grid-template-columns:36px 36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px 14px;transition:all .2s;display:grid;box-shadow:0 4px 16px #00000008}.leaderboard li.own-team{background:linear-gradient(100deg,#e3004f0f,#fff);border:2px solid #e3004f;box-shadow:0 8px 24px #e3004f1f}.standing-rank-badge{border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.rank-1 .standing-rank-badge{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #f59e0b;box-shadow:0 4px 10px #f59e0b33}.rank-2 .standing-rank-badge{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #94a3b8}.rank-3 .standing-rank-badge{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #d97706}.rank-num{color:#4b5563;font-size:.85rem}.medal-icon{font-size:1.2rem}.standing-flag{font-size:1.6rem}.standing-team{gap:2px;min-width:0;display:grid}.standing-team-header{align-items:center;gap:6px;display:flex}.standing-team-header strong{text-overflow:ellipsis;white-space:nowrap;color:#111827;font-size:.92rem;overflow:hidden}.own-team-badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#e3004f;border-radius:999px;padding:2px 7px;font-size:.6rem;font-weight:900;display:inline-block}.standing-team small{color:var(--muted);font-size:.68rem}.score-track{background:#0000000f;border-radius:99px;height:6px;margin-top:6px;display:block;overflow:hidden}.score-track i{border-radius:inherit;background:linear-gradient(90deg,#f43f5e,#e3004f);height:100%;display:block;box-shadow:0 0 8px #e3004f59}.standing-points{text-align:right;gap:0;min-width:44px;display:grid}.standing-points b{color:#e3004f;font-size:1.05rem;font-weight:900}.standing-points small{color:var(--muted);font-size:.6rem}.points-section{margin-top:24px}.points-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.points-grid button{text-align:left;background:#fff;border:1px solid #00000014;border-radius:18px;align-items:flex-start;gap:10px;width:100%;min-height:80px;padding:13px;transition:all .2s;display:flex;box-shadow:0 4px 16px #00000008}.points-grid button:hover,.points-grid button:focus-visible{border-color:#e3004f4d;transform:translateY(-2px);box-shadow:0 8px 24px #e3004f14}.points-grid button>svg{color:#e3004f;flex:none;width:22px;height:22px}.points-grid button>svg:last-child{color:#94a3b8;width:15px;height:15px;margin-left:auto}.points-grid button div{gap:4px;min-width:0;display:grid}.points-grid strong{color:#111827;font-size:.85rem;line-height:1.2}.points-grid span{color:var(--muted);font-size:.7rem;line-height:1.35}.opportunity-modal-overlay{z-index:300}.opportunity-modal{width:min(94vw,560px);max-height:min(88vh,760px)}.opportunity-modal-title{align-items:center;gap:11px;min-width:0;display:flex}.opportunity-modal-title>span{color:#fff;background:linear-gradient(145deg,#e3004f,#9f1239);border-radius:13px;flex:none;place-items:center;width:40px;height:40px;display:grid}.opportunity-modal-title svg{width:21px}.opportunity-modal-title>div{gap:2px;min-width:0;display:grid}.opportunity-modal-title small{color:#be185d;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:900}.opportunity-modal-body{gap:18px;display:grid}.opportunity-modal-body section{gap:9px;display:grid}.opportunity-modal-body h3{color:#111827;margin:0;font-size:.94rem}.opportunity-modal-body section>p{color:#64748b;margin:0;font-size:.78rem;line-height:1.5}.opportunity-intro{background:#e3004f0e;border:1px solid #e3004f2e;border-radius:14px;padding:14px}.opportunity-intro strong{color:#881337;font-size:.9rem}.opportunity-intro p{color:#475569;margin:5px 0 0;font-size:.78rem;line-height:1.5}.opportunity-assignment-list,.opportunity-programme-list,.opportunity-check-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.opportunity-assignment-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px;display:grid}.opportunity-assignment-list li>div{gap:3px;display:grid}.opportunity-assignment-list strong{color:#111827;font-size:.78rem}.opportunity-assignment-list p{color:#64748b;margin:0;font-size:.7rem;line-height:1.4}.opportunity-assignment-list small{color:#9f1239;text-align:right;font-size:.67rem;font-weight:800;line-height:1.45}.opportunity-programme-list li{background:#f8fafc;border-radius:11px;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;display:grid}.opportunity-programme-list time{color:#be185d;font-size:.7rem;font-weight:900}.opportunity-programme-list li>div{gap:2px;display:grid}.opportunity-programme-list strong{color:#111827;font-size:.78rem}.opportunity-programme-list small{color:#64748b;font-size:.68rem}.opportunity-check-list li{color:#475569;padding:0 0 0 24px;font-size:.76rem;line-height:1.5;position:relative}.opportunity-check-list li:before{color:#fff;content:"✓";background:#16a34a;border-radius:50%;place-items:center;width:17px;height:17px;font-size:.62rem;font-weight:1000;display:grid;position:absolute;top:1px;left:0}@media (max-width:520px){.opportunity-modal-overlay{align-items:flex-end;padding:10px}.opportunity-modal{border-radius:22px 22px 14px 14px;width:100%;max-height:calc(100dvh - 20px)}.opportunity-assignment-list li{grid-template-columns:1fr}.opportunity-assignment-list small{text-align:left}}.more-view{padding-bottom:8px}.more-view.large-text .more-panel{font-size:1.12rem}.profile-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e3004f4d;border-radius:23px;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;min-height:90px;padding:14px;display:grid;box-shadow:0 6px 20px #0000000d}.profile-avatar{border:2px solid var(--gold);width:48px;height:48px;color:var(--gold);background:#e3004f14;border-radius:18px;place-items:center;display:grid}.profile-avatar svg{width:28px;height:28px}.profile-copy{gap:2px;display:grid}.profile-copy small{color:var(--muted);font-size:.67rem}.profile-copy strong{color:#111827;font-family:Georgia,Times New Roman,serif;font-size:1.18rem}.profile-copy span{color:var(--gold);font-size:.72rem}.profile-card>svg{width:22px;color:var(--gold)}.more-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.more-menu button{text-align:left;color:#111827;background:#fff;border:1px solid #00000014;border-radius:17px;grid-template-columns:35px minmax(0,1fr) 14px;align-items:center;gap:9px;min-height:76px;padding:12px;display:grid}.more-menu button.active{border-color:var(--gold);background:#e3004f0f}.more-menu-icon{width:35px;height:35px;color:var(--gold);background:#e3004f14;border-radius:11px;place-items:center;display:grid}.more-menu-icon svg{width:18px;height:18px}.more-menu button>span:nth-child(2){gap:4px;min-width:0;display:grid}.more-menu strong{color:#111827;font-size:.78rem;line-height:1.15}.more-menu small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.2;overflow:hidden}.more-menu button>svg{width:14px;color:var(--muted)}.more-menu button.active>svg{color:var(--gold)}.more-panel{color:#111827;background:#fff;border:1px solid #00000014;border-radius:23px;margin-top:14px;padding:15px}.more-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px;display:flex}.more-panel-heading h2{color:#111827;margin:3px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.35em}.more-panel-heading>svg{width:24px;color:var(--gold)}.notification-heading-actions{align-items:center;gap:8px;display:flex}.unread-pill-badge{color:#e3004f;white-space:nowrap;background:#e3004f1a;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:850;display:inline-flex}.mark-all-read-btn{color:#e3004f;cursor:pointer;background:#e3004f0d;border:1px solid #e3004f40;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:850;transition:all .2s;display:inline-flex}.mark-all-read-btn:hover{color:#fff;background:#e3004f;border-color:#e3004f}.mark-all-read-btn svg{width:14px;height:14px}.all-read-status{color:#059669;background:#0596691a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:850;display:inline-flex}.all-read-status svg{width:14px;height:14px}.check-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.check-item{background:#fff;border:1px solid #00000014;border-radius:20px;align-items:flex-start;gap:14px;padding:16px;transition:all .2s;display:flex;box-shadow:0 4px 16px #00000008}.check-item:hover{border-color:#e3004f4d;box-shadow:0 6px 20px #e3004f14}.check-item-icon{color:#e3004f;background:#e3004f14;border-radius:12px;flex:none;place-items:center;width:36px;height:36px;display:grid}.check-item-icon svg{width:20px;height:20px}.check-item-content{gap:4px;min-width:0;display:grid}.check-item-badge{color:#e3004f;letter-spacing:.03em;text-transform:uppercase;background:#e3004f1a;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:.68rem;font-weight:850;display:inline-block}.check-item-title{color:#111827;font-size:.98rem;font-weight:850;line-height:1.3}.check-item-body{color:#475569;margin:2px 0 0;font-size:.85rem;line-height:1.45}.discount-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.discount-card{background:#fff;border:1px solid #00000014;border-radius:20px;gap:8px;padding:16px;display:grid;box-shadow:0 4px 16px #00000008}.discount-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.discount-header strong{color:#111827;font-size:1rem;font-weight:850}.discount-validity{color:#e3004f;background:#e3004f14;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:800;display:inline-block}.discount-description{color:#475569;margin:0;font-size:.86rem;line-height:1.45}.discount-address{color:#64748b;align-items:center;gap:5px;font-size:.78rem;display:flex}.discount-address svg{color:#e3004f;width:14px;height:14px}.discount-terms{color:#64748b;background:#f8fafc;border-radius:10px;margin:4px 0 0;padding:8px 12px;font-size:.75rem;line-height:1.35}.discount-route-btn{color:#fff;background:#e3004f;border-radius:12px;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:7px 14px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.settings-list{gap:10px;margin:14px 0 0;display:grid}.settings-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:16px;display:flex;box-shadow:0 4px 16px #00000008}.settings-copy{gap:3px;display:grid}.settings-copy strong{color:#111827;font-size:.95rem;font-weight:850}.settings-copy small{color:#64748b;font-size:.8rem;line-height:1.35}.toggle{background:#cbd5e1;border-radius:999px;flex:none;width:44px;height:24px;transition:background .2s;display:block;position:relative}.toggle b{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0003}.toggle.active{background:#e3004f}.toggle.active b{transform:translate(20px)}.notification-list{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.notification-list li{background:linear-gradient(110deg, color-mix(in srgb, var(--audience-accent,#e3004f) 11%, transparent), transparent 62%);box-shadow:inset 4px 0 0 color-mix(in srgb, var(--audience-accent,#e3004f) 72%, transparent);border-radius:20px;margin:0;padding:0;list-style:none}.notification-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:20px;gap:8px;width:100%;padding:16px;transition:all .2s;display:grid;box-shadow:0 4px 16px #00000008}.notification-item:hover,.notification-item:active{border-color:#e3004f4d;transform:translateY(-1px);box-shadow:0 6px 20px #e3004f14}.notification-list li.unread .notification-item{background:linear-gradient(135deg,#e3004f0a,#fff);border:1.5px solid #e3004f59;box-shadow:0 6px 20px #e3004f14}.notification-item-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.notification-audience-badge{border-left:4px solid var(--audience-accent,#e3004f);background:color-mix(in srgb, var(--audience-accent,#e3004f) 12%, white);color:#172033;border-radius:999px;padding:.32rem .55rem;font-size:.72rem;font-weight:800;line-height:1.2}.notification-time-badge{color:#e3004f;white-space:nowrap;background:#e3004f14;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:850;display:inline-flex}.notification-time-badge svg{width:13px;height:13px}.notification-unread-badge{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#e3004f;border-radius:999px;padding:3px 8px;font-size:.62rem;font-weight:900}.notification-copy{gap:4px;display:grid}.notification-copy strong{color:#111827;font-size:.96rem;font-weight:850;line-height:1.3}.notification-copy span{color:#475569;font-size:.85rem;line-height:1.45}.time-travel-bar{background:linear-gradient(135deg,#e3004f0a,#fff);border:1.5px dashed #e3004f4d;border-radius:20px;flex-direction:column;gap:8px;margin:14px 0 18px;padding:12px 14px;display:flex;box-shadow:0 4px 14px #00000005}.time-travel-label{color:#e3004f;letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:6px;font-size:.76rem;font-weight:850;display:flex}.time-travel-label small{color:#64748b;text-transform:none;font-size:.72rem;font-weight:700}.time-travel-label svg{color:#e3004f;width:14px;height:14px}.time-travel-presets{flex-wrap:wrap;gap:6px;display:flex}.time-travel-presets button{color:#475569;cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:850;transition:all .18s}.time-travel-presets button:hover{color:#e3004f;border-color:#e3004f59}.time-travel-presets button.active{color:#fff;background:#e3004f;border-color:#e3004f;box-shadow:0 4px 12px #e3004f40}.time-travel-presets button.real.active{color:#fff;background:#059669;border-color:#059669;box-shadow:0 4px 12px #05966940}.contact-list{gap:14px;margin-top:14px;display:grid}.contact-list article{background:#fff;border:1px solid #00000014;border-radius:20px;gap:8px;padding:16px;display:grid;box-shadow:0 4px 16px #00000008}.contact-list article>strong{color:#111827;margin-bottom:2px;font-size:.95rem;font-weight:850}.contact-list article>span{color:#64748b;font-size:.84rem;line-height:1.4}.contact-action{color:#111827;background:linear-gradient(135deg,#e3004f0a,#fff);border:1.5px solid #e3004f33;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .2s;display:flex}.contact-action:hover{border-color:#e3004f;transform:translateY(-1px);box-shadow:0 4px 14px #e3004f1f}.contact-action span{gap:2px;display:grid}.contact-action b{color:#111827;font-size:.92rem;font-weight:850}.contact-action small{color:#e3004f;font-size:.78rem;font-weight:700}.contact-action svg{color:#e3004f;flex:none;width:18px;height:18px}.emergency-note{color:#990035;text-align:center;background:#e3004f14;border:1px solid #e3004f33;border-radius:14px;margin:18px 0 0;padding:12px 16px;font-size:.82rem;line-height:1.4}.pov-upload-flow{gap:14px;margin-top:14px;display:grid}.pov-category-list{gap:10px;margin-top:14px;display:grid}.pov-category-intro{color:#64748b;margin:0 0 4px;font-size:.82rem;line-height:1.45}.pov-category-list>button{color:#111827;text-align:left;background:#fff;border:1.5px solid #e3004f2e;border-radius:15px;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:11px;width:100%;padding:12px;display:grid}.pov-category-list>button>span:nth-child(2){gap:2px;min-width:0;display:grid}.pov-category-list>button strong{font-size:.86rem;line-height:1.25}.pov-category-list>button small{color:#64748b;font-size:.7rem}.pov-category-list>button>svg{color:#e3004f;width:18px}.pov-category-number{color:#e3004f;background:#e3004f17;border-radius:12px;place-items:center;width:38px;height:38px;font-size:.78rem;font-weight:900;display:grid}.pov-category-back{color:#be0042;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;padding:7px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.pov-category-back svg{width:16px}.pov-assignment{background:linear-gradient(135deg,#e3004f0a,#fff);border:1.5px solid #e3004f40;border-radius:20px;gap:6px;padding:16px;display:grid;box-shadow:0 4px 16px #e3004f0f}.pov-assignment label{color:#e3004f;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}.pov-assignment select{color:#111827;background:#fff;border:1px solid #0000001f;border-radius:12px;width:100%;margin-bottom:6px;padding:10px 12px;font-size:.9rem;font-weight:800}.pov-assignment strong{color:#111827;font-size:1.05rem;font-weight:850}.pov-assignment p{color:#475569;margin:0;font-size:.85rem;line-height:1.45}.pov-assignment small{color:#64748b;font-size:.75rem;font-weight:700}.pov-counter-badge{color:#e3004f;background:#e3004f14;border:1px solid #e3004f33;border-radius:12px;align-items:center;gap:8px;margin:6px 0 2px;padding:8px 12px;font-size:.82rem;font-weight:850;display:flex}.pov-counter-badge svg{flex:none;width:16px;height:16px}.pov-counter-badge>span{flex:1;gap:2px;display:grid}.pov-counter-badge>span strong{color:#9f1239;font-size:.82rem}.pov-counter-badge>span small{color:#be185d;font-size:.7rem}.pov-counter-badge>button{color:#be185d;cursor:pointer;background:#ffffffb8;border:0;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;padding:0;display:grid}.pov-counter-badge>button:disabled{cursor:wait;opacity:.65}.pov-usage-error{color:#b45309!important}.pov-file-button{color:#e3004f;cursor:pointer;background:#fff;border:2px dashed #e3004f59;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:.9rem;font-weight:850;transition:all .2s;display:flex}.pov-file-button:hover{background:#e3004f0a;border-color:#e3004f}.pov-file-button input{display:none}.pov-file-button svg{width:22px;height:22px}.pov-caption{color:#111827;gap:6px;font-size:.82rem;font-weight:800;display:grid}.pov-caption textarea{color:#111827;resize:vertical;background:#f8fafc;border:1px solid #0000001f;border-radius:14px;width:100%;min-height:70px;padding:10px 12px;font-family:inherit;font-size:.86rem}.pov-consent{color:#475569;cursor:pointer;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.4;display:flex}.pov-consent input{accent-color:#e3004f;margin-top:3px}.pov-privacy-note{color:#64748b;margin:0;font-size:.76rem;line-height:1.4}.pov-success{color:#059669;background:#0596691a;border:1px solid #0596694d;border-radius:14px;align-items:center;gap:8px;padding:12px 14px;font-size:.84rem;font-weight:850;display:flex}.pov-success svg{width:18px;height:18px}.pov-submit{width:100%;margin-top:4px}.class-submissions-section{border-top:1px solid #00000014;gap:12px;margin-top:8px;padding-top:16px;display:grid}.class-submissions-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.class-submissions-heading h3,.class-submissions-heading p{margin:0}.class-submissions-heading h3{font-size:1rem}.class-submissions-heading p{color:#64748b;margin-top:3px;font-size:.76rem}.class-submissions-heading button{color:#e3004f;background:#fff;border:1px solid #e3004f40;border-radius:10px;padding:7px 10px;font-size:.74rem;font-weight:850}.class-submissions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.class-submission-card{background:#fff;border:1px solid #0000001a;border-radius:15px;min-width:0;overflow:hidden}.class-submission-card.status-approved{border-color:#05966973}.class-submission-card.status-rejected{border-color:#e3004f40}.class-submission-photo{aspect-ratio:1;color:#94a3b8;background:#eef2f7;border:0;border-radius:0;place-items:center;width:100%;display:grid;overflow:hidden}.class-submission-photo img{object-fit:cover;width:100%;height:100%}.class-submission-photo svg{width:28px;height:28px}.class-submission-photo:disabled{cursor:default}.class-submission-info{gap:4px;padding:9px;display:grid}.class-submission-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.class-submission-info p,.class-submission-info small{color:#64748b;margin:0;font-size:.7rem;line-height:1.35}.pov-review-status{color:#475569;letter-spacing:.03em;text-transform:uppercase;background:#eef2f7;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:3px 6px;font-size:.62rem;font-weight:900}.pov-review-status.status-approved{color:#047857;background:#0596691f}.pov-review-status.status-rejected{color:#b0003c;background:#e3004f1a}.avg-panel-copy{color:#334155;background:#e3004f09;border:1px solid #e3004f2b;border-radius:16px;padding:14px 15px;font-size:.8rem;line-height:1.5}.avg-panel-copy p{margin:0 0 8px}.avg-panel-copy ul{gap:7px;margin:0;padding-left:18px;display:grid}.avg-choice{border:1px solid #e2e8f0;border-radius:16px;gap:9px;margin:14px 0 0;padding:14px;display:grid}.avg-choice legend{color:#111827;padding:0 5px;font-size:.8rem;font-weight:850;line-height:1.4}.avg-choice button{color:#334155;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:11px 12px;font-weight:850}.avg-choice button.selected{color:#be0042;background:#e3004f14;border-color:#e3004f}.avg-message{color:#047857;align-items:center;gap:8px;margin:10px 0 0;font-size:.78rem;font-weight:800;display:flex}.avg-message svg{width:17px}.pov-photo-modal{z-index:1000;padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));color:#fff;background:#030a19f5;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;display:grid;position:fixed;inset:0}.pov-photo-modal>button{color:#fff;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:50%;justify-self:end;place-items:center;width:44px;height:44px;display:grid}.pov-photo-zoom{overscroll-behavior:contain;touch-action:pinch-zoom;min-height:0;overflow:auto}.pov-photo-modal img{object-fit:contain;width:100%;min-width:100%;height:auto;margin:auto;display:block}.pov-photo-modal>strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;font-size:.82rem;overflow:hidden}.institutional-signature{text-align:center;border-top:1px solid #0000000f;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-top:24px;padding:20px 16px 12px;display:flex}.institutional-signature .signature-brand{margin-bottom:2px;font-size:1rem}.institutional-signature span{color:#64748b;font-size:.76rem;line-height:1.4}.institutional-signature small{color:#94a3b8;letter-spacing:.04em;font-size:.7rem;font-weight:700}.bottom-nav{z-index:5;width:100%;padding:9px 8px max(9px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #00000014;flex:none;grid-template-columns:repeat(5,1fr);display:grid;position:relative;box-shadow:0 -8px 24px #0000000f}.bottom-nav button{color:#64748b;background:0 0;border:0;border-radius:13px;place-items:center;gap:4px;min-height:58px;padding:5px 2px;font-size:.68rem;font-weight:720;display:grid;position:relative}.bottom-nav button:before{content:"";background:0 0;border-radius:4px;width:34px;height:3px;position:absolute;top:-9px}.bottom-nav button.active{color:#e3004f;font-weight:850}.bottom-nav button.active:before{background:#e3004f}.bottom-nav svg{width:22px;height:22px}@media (min-width:700px){body{padding:30px 0}.app-shell{border-radius:34px;height:calc(100dvh - 60px)}.bottom-nav{border-radius:0 0 34px 34px}}@media (prefers-reduced-motion:no-preference){button,a{transition:transform .16s,background-color .16s}button:active,a:active{transform:scale(.98)}}.auth-shell{background:radial-gradient(circle at 80% 2%,#e3004f14,#0000 30rem),linear-gradient(#f4f6fa,#edf0f5);justify-content:center;align-items:center;width:100%;min-height:100dvh;margin:0;padding:24px 18px;display:flex;position:relative}.auth-map{opacity:.06;pointer-events:none;background-image:radial-gradient(circle at 50% 30%,#e3004f33,#0000 70%);position:absolute;inset:0}.auth-card{z-index:2;text-align:center;color:#111827;background:#fff;border:1px solid #e3004f40;border-radius:28px;width:min(100%,460px);padding:36px 28px;position:relative;box-shadow:0 20px 60px #00000014}.auth-card p{color:#4b5563;margin:0 0 16px;font-size:.92rem;line-height:1.5}.auth-brand{color:#111827;justify-content:center;align-items:baseline;gap:4px;font-size:1.6rem;font-weight:900;display:flex}.auth-brand span{color:#e3004f}.auth-brand i{color:#111827;font-style:normal}.auth-card h1{color:#111827;margin:0 0 10px;font-size:1.65rem;font-weight:850}.auth-form label{color:#111827;letter-spacing:.05em;font-size:.78rem;font-weight:800}.auth-input{background:#f8fafc;border:1px solid #00000026;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.auth-input input{color:#111827;background:0 0;border:0;width:100%;height:48px;font-size:.95rem}.auth-input input:focus{outline:none}.auth-primary{color:#fff;cursor:pointer;background:#e3004f;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:50px;font-size:.95rem;font-weight:850;display:flex;box-shadow:0 6px 20px #e3004f4d}.auth-primary:disabled{opacity:.5;cursor:not-allowed}.auth-secondary{color:#e3004f;cursor:pointer;background:#e3004f0f;border:1px solid #e3004f4d;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;margin-top:14px;padding:0 16px;font-size:.85rem;font-weight:800;display:inline-flex}.auth-role-tests{text-align:center;gap:8px;padding-top:2px;display:grid}.auth-role-tests>span{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.auth-role-test-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.auth-role-test-grid button{color:#111827;background:#f8fafc;border:1px solid #11182724;border-radius:11px;place-content:center;gap:2px;min-width:0;min-height:52px;padding:7px 5px;font-size:.76rem;font-weight:850;display:grid}.auth-role-test-grid button:hover{background:#e3004f0d;border-color:#e3004f73}.auth-role-test-grid small{color:#64748b;text-overflow:ellipsis;font-size:.66rem;font-weight:700;overflow:hidden}.auth-help{color:#64748b;text-align:center;margin-top:8px;font-size:.78rem;line-height:1.4}.auth-error{color:#dc2626;text-align:center;font-size:.8rem;font-weight:750}.auth-notice{color:#059669;text-align:center;font-size:.8rem;font-weight:750}.organizer-dashboard{gap:16px;width:100%;display:grid}.dashboard-topbar{color:#fff;background:linear-gradient(135deg,#111827,#1f2937);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;box-shadow:0 6px 20px #00000026}.dashboard-title{align-items:center;gap:12px;display:flex}.dashboard-title svg{color:#e3004f;width:26px;height:26px}.dashboard-title h1{margin:0;font-size:1.15rem;font-weight:900}.dashboard-title small{color:#9ca3af;font-size:.72rem}.shortcut-help-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.76rem;font-weight:800;display:inline-flex}.dashboard-grid{grid-template-columns:1fr;gap:14px;width:100%;display:grid}.app-shell .dashboard-main{min-height:0;padding:0;display:block;overflow:visible}.dashboard-sidebar{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.dashboard-sidebar::-webkit-scrollbar{display:none}.dashboard-sidebar button{color:#475569;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:850;transition:all .2s;display:inline-flex}.dashboard-sidebar button.active{color:#fff;background:#e3004f;border-color:#e3004f;box-shadow:0 4px 14px #e3004f40}.secondary-button{color:#e3004f;cursor:pointer;background:#e3004f0f;border:1.5px solid #e3004f40;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:850;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.secondary-button:hover{color:#fff;background:#e3004f;border-color:#e3004f;transform:translateY(-1px);box-shadow:0 4px 16px #e3004f40}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e3004f,#be0042);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:850;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #e3004f4d}.primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #e3004f66}.dashboard-panel{background:#fff;border:1px solid #00000012;border-radius:24px;gap:18px;padding:24px;display:grid;box-shadow:0 4px 20px #00000008}.panel-header{flex-direction:column;align-items:stretch;gap:14px;display:flex}.panel-header h2{color:#111827;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:900}.panel-header p{color:#64748b;margin:4px 0 0;font-size:.86rem}.table-filters-bar{flex-wrap:wrap;gap:12px;display:flex}.search-input-wrapper{flex:1;min-width:220px;position:relative}.search-input-wrapper svg{color:#94a3b8;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input-wrapper input{color:#111827;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;width:100%;padding:11px 14px 11px 42px;font-size:.88rem;font-weight:600;transition:all .2s}.search-input-wrapper input:focus{background:#fff;border-color:#e3004f;outline:none;box-shadow:0 0 0 3.5px #e3004f1f}.select-filters{gap:10px;display:flex}.select-filters select{color:#111827;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;padding:11px 16px;font-size:.86rem;font-weight:800;transition:all .2s}.select-filters select:focus{background:#fff;border-color:#e3004f;outline:none;box-shadow:0 0 0 3.5px #e3004f1f}.people-record-summary{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:7px 12px;min-height:36px;padding:8px 12px;font-size:.82rem;font-weight:700;display:flex}.people-record-summary strong{color:#111827;font-size:.92rem}.people-record-primary{color:#334155}.people-record-breakdown{color:#475569;margin-left:auto}@media (max-width:640px){.people-record-summary{align-items:flex-start}.people-record-breakdown{width:100%;margin-left:0}}.table-responsive-wrapper{border:1px solid #e2e8f0;border-radius:16px;width:100%;overflow-x:auto}.dashboard-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:.88rem}.dashboard-table th{color:#64748b;text-transform:uppercase;letter-spacing:.08em;background:#f8fafc;border-bottom:1.5px solid #e2e8f0;padding:14px 16px;font-size:.72rem;font-weight:850}.table-sort-button{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.table-sort-button:hover,.table-sort-button:focus-visible{color:#e3004f}.table-sort-button:focus-visible{outline-offset:4px;border-radius:3px;outline:2px solid #e3004f59}.table-sort-button svg{flex:none;width:14px;height:14px}.dashboard-table .student-number-column{white-space:nowrap;width:5.4rem;min-width:5.4rem}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.people-dashboard-table{table-layout:fixed;min-width:0;font-size:.8rem}.people-dashboard-table th,.people-dashboard-table td{text-overflow:ellipsis;padding:10px 6px;overflow:hidden}.people-dashboard-table th:first-child{width:10%}.people-dashboard-table th:nth-child(2){width:4.8rem}.people-dashboard-table th:nth-child(3){width:12%}.people-dashboard-table th:nth-child(4){width:5.4rem}.people-dashboard-table th:nth-child(5){width:24%}.people-dashboard-table th:nth-child(6){width:13%}.people-dashboard-table th:nth-child(7){width:5.2rem}.people-dashboard-table th:nth-child(8){width:6.4rem}.people-dashboard-table th:nth-child(9){width:5.75rem}.people-dashboard-table .name-prefix-column{white-space:nowrap;width:4.8rem;max-width:4.8rem}.people-dashboard-table .role-badge{white-space:normal;max-width:100%;padding-inline:7px;line-height:1.15}.people-dashboard-table td:nth-child(5){white-space:nowrap}.dashboard-table td{color:#111827;border-bottom:1px solid #f1f5f9;padding:14px 16px}.dashboard-table tbody tr{transition:background .15s}.dashboard-table tbody tr:hover{background:#f8fafc}.role-badge{color:#475569;letter-spacing:.03em;background:#f1f5f9;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:900;display:inline-block}.role-badge.role-student{color:#2563eb;background:#3b82f61a}.role-badge.role-buddy{color:#059669;background:#10b9811a}.role-badge.role-poer{color:#7c3aed;background:#8b5cf61a}.role-badge.role-interested_teacher{color:#e3004f;background:#e3004f1a}.role-badge.role-organizer{color:#d97706;background:#f59e0b1a}.status-dot-active{color:#059669;font-size:.78rem;font-weight:800}.status-dot-inactive{color:#dc2626;font-size:.78rem;font-weight:800}.programme-dashboard-table{table-layout:fixed;min-width:0}.programme-dashboard-table th:first-child{width:11%}.programme-dashboard-table th:nth-child(2){width:14%}.programme-dashboard-table th:nth-child(3){width:22%}.programme-dashboard-table th:nth-child(4){width:15%}.programme-dashboard-table th:nth-child(5){width:12%}.programme-dashboard-table th:nth-child(6){width:9%}.programme-dashboard-table th:nth-child(7){width:5.75rem}.programme-dashboard-table th,.programme-dashboard-table td{vertical-align:middle;padding-inline:10px}.programme-dashboard-table th:first-child,.programme-dashboard-table td:first-child{white-space:nowrap}.programme-day-cell{text-transform:capitalize}.programme-time-cell,.programme-location-cell{align-items:center;gap:6px;display:inline-flex}.programme-time-cell svg,.programme-location-cell svg{color:#e3004f;flex:none;width:15px;height:15px}.programme-time-cell span,.programme-location-cell{color:#64748b}.programme-title-cell{gap:4px;display:grid}.programme-title-cell span{color:#64748b;font-size:.78rem}.new-programme-location{background:#e3004f09;border:1px solid #e3004f38;border-radius:16px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:14px;display:grid}.new-programme-location legend{color:#e3004f;padding:0 6px;font-size:.82rem;font-weight:900}.new-programme-location .full-width{grid-column:1/-1}.table-row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;min-width:78px;display:flex}.dashboard-table .table-actions-column{white-space:nowrap;overflow:visible}.table-row-actions .secondary-button{border-radius:10px;padding:6px 12px;font-size:.78rem}.table-row-actions .table-action-button{box-sizing:border-box;border-width:1.5px;border-radius:10px;justify-content:center;width:36px;min-width:36px;height:36px;padding:0;line-height:1;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.table-row-actions .table-action-button:hover:not(:disabled){transform:translateY(-1px)}.table-row-actions .table-action-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.table-row-actions .table-action-button svg{flex:none;width:16px;height:16px}.danger-button{color:#ef4444;cursor:pointer;background:#ef444414;border:1.5px solid #ef444440;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:850;transition:all .2s;display:inline-flex}.danger-button:hover{color:#fff;background:#ef4444;border-color:#ef4444;box-shadow:0 4px 12px #ef444440}.pov-grid-dashboard{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.pov-dashboard-card{cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:18px;transition:all .2s;display:grid;overflow:hidden;box-shadow:0 4px 14px #0000000a}.pov-dashboard-card:hover{border-color:#e3004f;transform:translateY(-2px);box-shadow:0 8px 24px #e3004f1f}.pov-dashboard-card.is-winner{border:2.5px solid #f59e0b;box-shadow:0 0 20px #f59e0b4d}.pov-dashboard-card.is-evaluated:not(.is-winner){filter:grayscale(.85);opacity:.65}.pov-card-img-holder{aspect-ratio:4/3;width:100%;position:relative}.pov-card-img-holder img{object-fit:cover;width:100%;height:100%}.pov-protected-preview,.pov-photo-load-state{text-align:center;color:#475569;background:linear-gradient(135deg,#f8fafc,#e2e8f0);align-content:center;place-items:center;gap:10px;width:100%;height:100%;min-height:180px;padding:24px;display:grid}.pov-protected-preview svg,.pov-photo-load-state svg{width:30px;height:30px}.winner-badge{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.7rem;font-weight:900;display:flex;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 4px 12px #0000004d}.evaluated-overlay{color:#fff;background:#11182799;place-items:center;font-size:.78rem;font-weight:850;display:grid;position:absolute;inset:0}.pov-card-details{gap:4px;padding:12px;display:grid}.class-tag{color:#e3004f;background:#e3004f1a;border-radius:999px;align-self:flex-start;padding:2px 7px;font-size:.68rem;font-weight:900;display:inline-block}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111827bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:min(100%,650px);padding:24px;position:relative;box-shadow:0 20px 50px #0000004d}.modal-close{cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:16px;right:16px}.pov-modal-overlay{height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-items:flex-start;overflow:hidden}.modal-content.pov-modal{max-height:calc(100dvh - max(24px, calc(env(safe-area-inset-top) + env(safe-area-inset-bottom))));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:0;overflow-y:auto}.pov-modal-header{z-index:3;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;margin:0 -8px 16px;padding:14px 8px 12px;display:flex;position:sticky;top:0}.pov-modal-close{color:#111827;cursor:pointer;min-width:44px;min-height:44px;font:inherit;background:#f1f5f9;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:850;display:inline-flex}.pov-modal-close svg{width:18px;height:18px}.pov-modal-body{gap:18px;display:grid}.pov-modal-photo img{object-fit:cover;border-radius:16px;width:100%;max-height:320px}.pov-photo-load-state{border-radius:16px}.pov-consent-audit{border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:.82rem;font-weight:750}.pov-consent-audit.is-confirmed{color:#166534;background:#dcfce7}.pov-consent-audit.is-legacy{color:#92400e;background:#fef3c7}.award-points-box{background:linear-gradient(135deg,#e3004f0a,#fff);border:1.5px solid #e3004f40;border-radius:18px;gap:12px;margin-top:14px;padding:16px;display:grid}.points-input-row{align-items:center;gap:8px;display:flex}.points-input-row input{color:#e3004f;text-align:center;border:1.5px solid #e3004f;border-radius:12px;width:100px;padding:10px;font-size:1.2rem;font-weight:900}.quick-points-buttons{gap:8px;display:flex}.quick-points-buttons button{cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:10px;flex:1;padding:8px;font-weight:850}.quick-points-buttons button:hover{color:#e3004f;border-color:#e3004f}@media (min-width:900px){.dashboard-grid{grid-template-columns:176px minmax(0,1fr);gap:16px}.dashboard-sidebar{flex-flow:column}.dashboard-sidebar button{justify-content:flex-start;width:100%}.pov-modal-body{grid-template-columns:1fr 1fr}}.moderation-actions-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:8px;margin-top:14px;padding:14px;display:grid}.moderation-label{color:#64748b;font-size:.78rem;font-weight:800}.moderation-button-group{gap:8px;display:flex}.moderation-btn{cursor:pointer;border:0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:.78rem;font-weight:850;transition:all .2s;display:inline-flex}.moderation-btn.reject-btn{color:#e3004f;background:#e3004f1a;border:1px solid #e3004f40}.moderation-btn.reject-btn:hover{color:#fff;background:#e3004f}.moderation-btn.delete-btn{color:#475569;background:#64748b1a;border:1px solid #64748b40}.moderation-btn.delete-btn:hover{color:#fff;background:#475569}.app-shell.large-text-mode{font-size:1.1rem}.app-shell.large-text-mode p,.app-shell.large-text-mode span,.app-shell.large-text-mode strong,.app-shell.large-text-mode small,.app-shell.large-text-mode button,.app-shell.large-text-mode input,.app-shell.large-text-mode select,.app-shell.large-text-mode label{font-size:110%!important}.app-shell.large-text-mode h1{font-size:2.1rem!important}.app-shell.large-text-mode h2{font-size:1.6rem!important}.app-shell.large-text-mode h3{font-size:1.3rem!important}.header-button-group{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.header-button-group button{flex:auto;justify-content:center;padding:8px 12px;font-size:.8rem}.modal-content.import-modal{width:min(100%,850px);max-height:90vh;overflow-y:auto}.notification-state{text-align:center;color:#64748b;background:#f8fafc;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px 20px;font-size:.85rem;display:flex}.notification-state svg{color:#94a3b8;width:28px;height:28px}.notification-state strong{color:#111827;font-size:.95rem;font-weight:850}.organizer-logs-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.organizer-log-item{background:#fff;border:1px solid #00000014;border-radius:16px;gap:6px;padding:14px;display:grid;box-shadow:0 2px 10px #00000005}.log-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.log-header strong{color:#111827;font-size:.88rem;font-weight:850}.log-time{color:#e3004f;white-space:nowrap;background:#e3004f14;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800}.log-body{color:#475569;margin:0;font-size:.82rem;line-height:1.4}.shortcuts-modal{width:min(100%,480px)}.shortcuts-modal .modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.title-with-icon{align-items:center;gap:12px;display:flex}.title-with-icon svg{color:#e3004f;width:24px;height:24px}.title-with-icon h3{color:#111827;margin:0;font-size:1.15rem;font-weight:900}.shortcuts-list{gap:10px;display:grid}.shortcut-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.shortcut-key-group{flex:none;align-items:center;gap:6px;display:flex}.shortcut-key-group kbd{color:#111827;background:#fff;border:1.5px solid #cbd5e1;border-bottom:3px solid #94a3b8;border-radius:8px;padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:850;display:inline-block;box-shadow:0 1px 3px #00000014}.shortcut-key-group span{color:#64748b;font-size:.78rem;font-weight:750}.shortcut-desc{color:#334155;text-align:right;font-size:.84rem;font-weight:750}.app-shell .dashboard-grid{grid-template-columns:1fr!important;gap:14px!important}.app-shell:not(.widescreen-dashboard) .dashboard-sidebar{flex-flow:wrap!important;gap:8px!important;width:100%!important;padding-bottom:4px!important;display:flex!important}.app-shell:not(.widescreen-dashboard) .dashboard-sidebar button{text-align:center!important;white-space:nowrap!important;flex:auto!important;justify-content:center!important;padding:8px 12px!important;font-size:.8rem!important}.app-shell.widescreen-dashboard{border-radius:28px!important;width:min(98vw,1440px)!important;max-width:1440px!important;margin:16px auto!important;padding:0!important;box-shadow:0 16px 50px #0000001f!important}.app-shell.widescreen-dashboard .topbar,.app-shell.widescreen-dashboard .bottom-nav,.app-shell.widescreen-dashboard .institutional-signature,.app-shell.widescreen-dashboard .more-view>.page-intro,.app-shell.widescreen-dashboard .more-view>.profile-card,.app-shell.widescreen-dashboard .more-view>.more-menu{display:none!important}.app-shell.widescreen-dashboard main{padding:0!important}.app-shell.widescreen-dashboard .more-view{padding:20px!important}.app-shell.widescreen-dashboard .organizer-dashboard .dashboard-grid{grid-template-columns:176px minmax(0,1fr)!important;gap:16px!important}.app-shell.widescreen-dashboard .organizer-dashboard .dashboard-sidebar{flex-flow:column!important;gap:8px!important;display:flex!important;overflow-x:visible!important}.app-shell.widescreen-dashboard .organizer-dashboard .dashboard-sidebar button{border-radius:14px!important;justify-content:flex-start!important;width:100%!important;padding:10px 12px!important;font-size:.82rem!important}.app-shell.widescreen-dashboard .organizer-dashboard .dashboard-panel{min-width:0;padding:20px}.app-shell.widescreen-dashboard .organizer-dashboard .panel-header{flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important}.app-shell.widescreen-dashboard .organizer-dashboard .header-button-group{flex-wrap:nowrap!important;width:auto!important}.view-mode-toggle-btn{background:#ffffff26!important;border-color:#ffffff4d!important}.view-mode-toggle-btn:hover{background:#ffffff40!important}.person-name-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-number-pill{color:#64748b;letter-spacing:.03em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:850}.compose-message-card{background:linear-gradient(135deg,#e3004f08,#fff);border:1.5px solid #e3004f33;border-radius:20px;gap:18px;padding:24px;display:grid;box-shadow:0 4px 20px #00000005}.compose-message-card h3{color:#111827;margin:0;font-size:1.1rem;font-weight:900}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.form-grid label{color:#475569;letter-spacing:.02em;gap:6px;font-size:.78rem;font-weight:850;display:grid}.form-grid label.full-width{grid-column:1/-1}.person-notification-options{background:#e3004f0b;border:1px solid #e3004f38;border-radius:14px;grid-column:1/-1;margin:4px 0 0;padding:14px}.person-notification-options .person-notification-toggle{flex-direction:row;align-items:center;gap:10px;margin-bottom:10px;font-weight:800;display:flex}.person-notification-options .person-notification-toggle input{width:20px;height:20px;accent-color:var(--accent);margin:0}.recipient-picker{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:16px;align-content:start;gap:10px;min-width:0;margin:0;padding:14px;display:grid}.recipient-picker.full-width{grid-column:1/-1}.recipient-picker legend{color:#334155;padding:0 5px;font-size:.78rem;font-weight:900}.selection-shortcut{color:#be0042;background:#fff;border:1px solid #e3004f47;border-radius:999px;justify-self:start;padding:7px 11px;font-size:.75rem;font-weight:850}.selection-shortcut.active{color:#fff;background:#e3004f}.recipient-options{flex-wrap:wrap;gap:7px;display:flex}.recipient-option{background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;padding:7px 10px;grid-template-columns:none!important;gap:6px!important;display:inline-flex!important}.recipient-option.active{color:#be0042;background:#e3004f12;border-color:#e3004f}.recipient-option input,.recipient-person input{accent-color:#e3004f;height:16px;margin:0;width:16px!important}.recipient-person-list{gap:7px;max-height:210px;display:grid;overflow:auto}.recipient-person{background:#fff;border-radius:10px;align-items:center;padding:8px;grid-template-columns:18px 1fr!important;gap:9px!important;display:flex!important}.recipient-person span{gap:1px;display:grid}.recipient-person b{color:#111827}.recipient-person small,.recipient-help{color:#64748b;font-size:.72rem}.recipient-error{color:#b91c1c}.form-grid input,.form-grid select,.form-grid textarea{color:#111827;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;width:100%;padding:11px 14px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s}.form-grid textarea{resize:vertical;min-height:112px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{background:#fff;border-color:#e3004f;outline:none;box-shadow:0 0 0 3.5px #e3004f1f}.compose-actions{justify-content:flex-end;margin-top:4px;display:flex}.message-history{gap:14px;margin-top:14px;display:grid}.history-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-header h3{color:#111827;margin:0;font-size:1.05rem;font-weight:900}.history-header small,.compose-heading small{color:#64748b;margin-top:4px;font-size:.78rem;line-height:1.4;display:block}.compose-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.compose-heading h3{margin:0}.compact-button{white-space:nowrap;width:auto;min-height:38px;padding:8px 12px}.compact-button svg,.filter-reset-button svg,.edit-badge svg{width:15px;height:15px}.message-filter-grid{grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:10px;display:grid}.message-filter-grid label{gap:5px;display:grid}.message-filter-grid label>span{color:#475569;font-size:.72rem;font-weight:850}.message-filter-grid select{color:#111827;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:11px;padding:8px 10px;font-size:.8rem}.filter-reset-button{color:#475569;min-height:40px;font:inherit;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.history-sort{color:#64748b;align-items:center;gap:8px;font-size:.8rem;display:flex}.history-sort select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:6px 10px;font-size:.8rem;font-weight:750}.message-list{gap:12px;display:grid}.message-history-card{width:100%;color:inherit;font:inherit;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:18px;gap:8px;padding:16px 20px;transition:border-color .2s;display:grid;box-shadow:0 2px 12px #00000005}.message-history-card:hover{border-color:#e3004f4d}.editable-message-card{cursor:pointer}.editable-message-card:focus-visible{outline-offset:2px;outline:3px solid #e3004f38}.msg-badges .edit-badge{color:#b0003d;background:#e3004f14;border-color:#e3004f2e;align-items:center;gap:5px;display:inline-flex}@media (max-width:900px){.message-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-reset-button{grid-column:1/-1}}@media (max-width:560px){.compose-heading{flex-direction:column;align-items:stretch}.compact-button{width:100%}.message-filter-grid{grid-template-columns:1fr}.filter-reset-button{grid-column:auto}}.msg-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.msg-header strong{color:#111827;font-size:.95rem;font-weight:850}.msg-time{color:#e3004f;white-space:nowrap;background:#e3004f14;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:800}.message-history-card p{color:#475569;margin:0;font-size:.85rem;line-height:1.45}.msg-badges{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.msg-badges .badge{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800}.system-status-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:6px;display:grid}.status-card.ok{background:linear-gradient(135deg,#0596690d,#fff);border:1.5px solid #05966940;border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 4px 16px #0596690d}.status-card.ok svg{color:#059669;flex:none;width:32px;height:32px}.status-card.ok strong{color:#111827;font-size:.95rem;font-weight:850;display:block}.status-card.ok small{color:#059669;margin-top:2px;font-size:.78rem;font-weight:750;display:block}.dns-guide-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1.5px solid #e3004f33;border-radius:22px;gap:12px;margin-top:10px;padding:24px;display:grid;box-shadow:0 4px 20px #00000008}.subtle-tab-btn{opacity:.7;border-style:dashed!important;font-size:.78rem!important}.subtle-tab-btn:hover,.subtle-tab-btn.active{opacity:1;border-style:solid!important}.dns-records-list{gap:14px;margin-top:8px;display:grid}.dns-record-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:10px;padding:16px;display:grid}.dns-record-meta{align-items:center;gap:10px;display:flex}.record-type{color:#fff;letter-spacing:.05em;background:#e3004f;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:900;display:inline-block}.dns-record-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.dns-field{gap:4px;display:grid}.dns-field small{color:#64748b;font-size:.72rem;font-weight:850}.dns-field code{color:#38bdf8;word-break:break-all;background:#0f172a;border:1px solid #334155;border-radius:10px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.code-box{color:#38bdf8;background:#0f172a;border:1px solid #334155;border-radius:16px;gap:8px;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.6;display:grid;box-shadow:inset 0 2px 6px #0000004d}.code-box code{word-break:break-all;color:#38bdf8;display:block}.prog-location-tag{color:#e3004f;background:#e3004f14;border:1px solid #e3004f33;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:4px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.prog-location-tag svg{color:#e3004f;width:14px;height:14px}.clickable-team-row{cursor:pointer;transition:transform .15s,box-shadow .15s}.clickable-team-row:hover,.clickable-team-row:focus-visible{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.team-row-arrow{color:#94a3b8;vertical-align:middle;width:14px;height:14px;margin-left:6px;display:inline-block}.modal-title-with-flag{align-items:center;gap:12px;display:flex}.modal-dialog-card{z-index:101;background:#fff;border:1px solid #e3004f33;border-radius:24px;flex-direction:column;width:min(92vw,480px);max-height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0006}.modal-dialog-header{background:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-dialog-header h2{color:#111827;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.close-modal-icon-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:inline-flex}.close-modal-icon-btn:hover{color:#fff;background:#e3004f}.modal-dialog-body{flex:1;padding:20px;overflow-y:auto}.modal-dialog-footer{background:#f8fafc;border-top:1px solid #f1f5f9;justify-content:flex-end;padding:14px 20px;display:flex}.close-modal-text-btn{color:#fff;cursor:pointer;background:#e3004f;border:0;border-radius:12px;padding:10px 22px;font-size:.9rem;font-weight:850;box-shadow:0 4px 14px #e3004f40}.close-modal-text-btn:hover{background:#be185d}.score-modal-rank-badge{color:#e3004f;font-size:.8rem;font-weight:750}.score-history-header{margin-bottom:14px}.score-history-header h3{color:#111827;margin:0 0 4px;font-size:1.1rem}.score-history-header p{color:#64748b;margin:0;font-size:.83rem}.score-history-list{gap:10px;max-height:340px;padding-right:4px;display:grid;overflow-y:auto}.score-history-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:14px;padding:12px 14px;display:flex}.points-pill{color:#fff;white-space:nowrap;background:#e3004f;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:.85rem;font-weight:900;display:inline-flex;box-shadow:0 3px 10px #e3004f40}.score-info-col strong{color:#111827;margin-bottom:3px;font-size:.9rem;display:block}.score-meta-line{align-items:center;gap:8px;display:flex}.score-cat-tag{color:#475569;background:#e2e8f0;border-radius:6px;padding:2px 7px;font-size:.7rem;font-weight:850}.score-cat-tag.cat-povfoto{color:#be185d;background:#fce7f3}.score-cat-tag.cat-experience{color:#1e40af;background:#dbeafe}.score-cat-tag.cat-citygame{color:#92400e;background:#fef3c7}.score-cat-tag.cat-vlaggenparade{color:#166534;background:#dcfce7}.score-cat-tag.cat-bonus{color:#6b21a8;background:#f3e8ff}.weather-widget-card{background:linear-gradient(135deg,#38bdf814,#e3004f0f,#fff);border:1px solid #38bdf840;border-radius:18px;margin:14px 0 10px;padding:14px 16px;box-shadow:0 4px 16px #0000000a}.weather-widget-header{align-items:center;gap:12px;margin-bottom:6px;display:flex}.weather-widget-icon{font-size:1.8rem;line-height:1}.weather-widget-header strong{color:#111827;font-size:.95rem;display:block}.weather-source-tag{color:#0284c7;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:800}.weather-widget-advice{color:#475569;margin:0;font-size:.84rem;line-height:1.35}.mutation-action{border-top:1px solid #00000014;grid-column:1/-1;gap:5px;margin-top:8px;padding-top:9px;display:grid}.mutation-action>span{color:var(--gold);text-transform:uppercase;font-size:.66rem;font-weight:850}.mutation-action select{color:#111827;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #e3004f4d;border-radius:11px;outline:0;padding:0 34px 0 11px;font-size:.74rem;font-weight:750}.mutation-action select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e3004f1a}.mutation-action-conflict{border-top:1px solid #e3004f2e;grid-column:1/-1;padding-top:8px;font-weight:800;color:#b4234b!important}.comparison-conflict-explanation{color:#5b2436;background:#fff7f9;border:1px solid #f2a8bc;border-radius:11px;grid-column:1/-1;gap:7px;margin-top:9px;padding:11px 12px;display:grid}.comparison-conflict-explanation>strong{color:#9f1239;white-space:normal}.comparison-conflict-explanation p{margin:0;line-height:1.5}.comparison-conflict-explanation code{color:#881337;background:#ffe4ec;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em;font-weight:800}.content-mutation-review{border-top:1px solid #e3004f29;gap:10px;margin-top:14px;padding-top:14px;display:grid}.content-mutation-review h4{color:#111827;margin:2px 0 0;font-family:Georgia,serif;font-size:1.08rem}.content-mutation-review>div>p:last-child{color:var(--muted);margin:5px 0 0;font-size:.72rem;line-height:1.45}.content-mutation-review ul{scrollbar-color:var(--gold) #f1f5f9;gap:8px;max-height:430px;margin:0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.content-mutation-review li{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:98px minmax(0,1fr);gap:3px 10px;padding:12px;display:grid}.content-mutation-review li.changed .comparison-status{background:#b9d5ff}.content-mutation-review li.missing .comparison-status{color:#fff;background:#b4234b}.content-mutation-review li>strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.content-mutation-review li>small{color:var(--muted);font-size:.67rem}.comparison-deactivation-note{border-left:3px solid var(--gold);color:#5b2436;background:#e3004f0f;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:.72rem;line-height:1.45}.competition-admin{gap:18px;display:grid}.competition-round-tabs{flex-wrap:wrap;gap:8px;display:flex}.competition-round-tabs button{border:1px solid var(--line);color:#475569;background:#fff;border-radius:999px;padding:9px 13px;font-weight:800}.competition-round-tabs button.active{border-color:var(--gold);color:#fff;background:var(--gold)}.competition-score-editor,.finale-control{border:1px solid var(--line);background:#fff;border-radius:18px;gap:14px;padding:18px;display:grid}.competition-score-editor h3,.finale-control h3{color:#111827;align-items:center;gap:8px;margin:0;display:flex}.competition-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.competition-editor-heading p{color:#64748b;margin:5px 0 0;font-size:.8rem}.competition-editor-heading>strong{color:#155e75;background:#cffafe;border-radius:999px;flex:none;padding:7px 10px;font-size:.74rem}.competition-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.competition-score-row{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px;min-width:0;padding:14px;display:grid;box-shadow:0 4px 14px #0f172a09}.competition-score-row.is-confirmed{background:#f0fdf4;border-color:#86efac}.competition-score-row.is-published{background:#eef2ff;border-color:#a5b4fc}.competition-class-name{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 7px;min-width:0;display:grid}.competition-class-name b{overflow-wrap:anywhere;min-width:0}.competition-class-name small{color:#64748b;grid-column:1/-1;width:100%}.competition-points-field{color:#64748b;gap:4px;font-size:.68rem;font-weight:800;display:grid}.competition-points-field input{color:#111827;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:6px 8px;font-size:1rem;font-weight:900}.competition-points-field input:disabled{color:#334155;opacity:1;background:#e2e8f0}.competition-confirm-field{color:#475569;cursor:pointer;background:#f8fafc;border-radius:10px;grid-column:1/-1;align-items:center;gap:8px;min-height:42px;padding:8px 10px;font-size:.75rem;font-weight:850;display:flex;position:relative}.competition-confirm-field input{opacity:0;width:1px;height:1px;position:absolute}.competition-confirm-field svg{color:#64748b;flex:none;width:19px}.competition-confirm-field span{min-width:0;line-height:1.35}.is-confirmed .competition-confirm-field{color:#166534;background:#dcfce7}.is-confirmed .competition-confirm-field svg{color:#16a34a}.competition-confirm-field:has(input:disabled){cursor:default}.competition-confirm-progress{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.competition-confirm-progress>div{color:#334155;gap:3px;font-size:.78rem;display:grid}.competition-confirm-progress span{color:#64748b;font-size:.72rem}.competition-publish-review{background:#fffbeb;border:1px solid #facc15;border-radius:14px;gap:12px;padding:16px;display:grid}.competition-publish-review h4{color:#713f12;margin:0}.competition-publish-review ul{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.competition-publish-review li{color:#475569;background:#fff;border-radius:8px;justify-content:space-between;gap:8px;padding:7px 9px;font-size:.72rem;display:flex}.competition-publish-review>label{color:#713f12;align-items:center;gap:8px;font-size:.8rem;font-weight:850;display:flex}.competition-publish-review>label input{width:18px;height:18px}.competition-publish-review>button{justify-self:start}.finale-control>p{color:#64748b;margin:0;line-height:1.5}.finale-control ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.finale-control li{background:#f8fafc;border-radius:11px;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.finale-control li>b{color:var(--gold);font-size:.72rem}.finale-control li button{background:#e2e8f0;border:0;border-radius:8px;width:34px;height:34px;padding:7px}.finale-control li button svg{width:100%;height:100%}.finale-next-card{color:#fff;text-align:center;background:linear-gradient(145deg,#101f46,#6d1743);border-radius:18px;justify-items:center;gap:8px;padding:22px;display:grid}.finale-next-card>span{color:#f7c94b;text-transform:uppercase;font-size:.75rem;font-weight:900}.finale-next-card>strong{font-size:1.45rem}.finale-next-card>p{color:#e2e8f0;margin:0;font-size:.75rem}.finale-reset-control{background:#fff7f7;border:1px solid #fecaca;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:4px;padding:14px;display:flex}.finale-reset-control div{gap:3px;display:grid}.finale-reset-control strong{color:#991b1b;font-size:.86rem}.finale-reset-control p{color:#7f1d1d;margin:0;font-size:.76rem;line-height:1.45}.finale-reset-control .danger-button{flex:none;padding:10px 14px}.finale-reset-control .danger-button:disabled{cursor:not-allowed;opacity:.55}.finale-reset-control.is-locked{background:#ecfdf5;border-color:#a7f3d0;justify-content:flex-start}.finale-reset-control.is-locked>svg{color:#047857;flex:none;width:22px;height:22px}.finale-reset-control.is-locked strong{color:#065f46}.finale-reset-control.is-locked p{color:#047857}.finale-reset-control.is-rehearsing{background:#fffbeb;border-color:#fbbf24}.finale-reset-control.is-rehearsing>svg{color:#b45309;flex:none;width:22px;height:22px}.finale-reset-control.is-rehearsing strong,.finale-reset-control.is-rehearsing p{color:#92400e}.finale-rehearsal-actions{grid-template-columns:repeat(2,auto);gap:8px!important}.finale-rehearsal-actions button{white-space:nowrap}.finale-reset-overlay{z-index:520}.finale-reset-dialog{border-color:#fecaca}.finale-reset-title{align-items:center;gap:10px;display:flex}.finale-reset-title svg{color:#dc2626;width:22px;height:22px}.finale-reset-dialog-body{gap:16px;display:grid}.finale-reset-dialog-body>p{color:#7f1d1d;margin:0;line-height:1.55}.finale-reset-preserved{color:#166534;background:#f0fdf4;border-radius:12px;gap:3px;padding:12px;display:grid}.finale-reset-preserved span{font-size:.78rem;line-height:1.45}.finale-reset-dialog-body label{color:#374151;gap:4px;font-size:.82rem;font-weight:750;display:grid}.finale-reset-dialog-body input{color:#7f1d1d;letter-spacing:.03em;background:#fff;border:2px solid #fecaca;border-radius:12px;width:100%;padding:12px 14px;font:800 .9rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.finale-reset-dialog-body input:focus{border-color:#dc2626;outline:3px solid #dc262624}.finale-reset-dialog-footer{gap:10px}.finale-reset-dialog-footer .danger-button{padding:10px 14px}.finale-reset-dialog-footer .danger-button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:700px){.finale-reset-control{flex-direction:column;align-items:stretch}.finale-reset-control .danger-button{width:100%}.finale-rehearsal-actions{grid-template-columns:1fr}}.finale-score-check{background:#ffffff1a;border:1px solid #ffffff3d;border-radius:12px;gap:8px;width:min(100%,440px);padding:14px;display:grid}.finale-score-check>b{color:#f7c94b;font-size:1.45rem}.finale-score-check label{justify-content:center;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.finale-score-check input{width:19px;height:19px}@media (max-width:980px){.competition-score-grid{grid-template-columns:1fr}}@media (max-width:720px){.competition-editor-heading,.competition-confirm-progress{flex-direction:column;align-items:stretch}.competition-score-row{grid-template-columns:minmax(0,1fr) 92px;padding:12px}}.finale-reveal-overlay{z-index:5000;color:#fff;background:radial-gradient(circle at 50% 25%,#e3004f8c,#030c25f7 60%);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.finale-reveal-card{text-align:center;background:#081637eb;border:1px solid #ffffff38;border-radius:28px;justify-items:center;gap:8px;width:min(100%,480px);padding:30px 24px;animation:.55s cubic-bezier(.2,.8,.2,1) finale-card-in;display:grid;box-shadow:0 30px 100px #0000008c}.finale-reveal-card>p{color:#f7c94b;letter-spacing:.16em;margin:0;font-size:.76rem;font-weight:950}.finale-reveal-flag{filter:drop-shadow(0 10px 20px #00000059);font-size:4.5rem}.finale-reveal-card h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,10vw,3.4rem)}.finale-reveal-card>strong{color:#cbd5e1}.finale-reveal-card>small{text-transform:uppercase;letter-spacing:.12em;margin-top:10px}.finale-reveal-card output{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 35px #f7c94b8c;min-width:4ch;font-size:clamp(4.5rem,24vw,8rem);font-weight:1000;line-height:.95}.finale-reveal-card>b{color:#f7c94b;text-transform:uppercase}.finale-reveal-total{background:#ffffff1a;border-radius:12px;margin:8px 0;padding:10px 16px}.leaderboard li.just-revealed{background:linear-gradient(90deg,#f7c94b33,#e3004f1a);outline:3px solid #f7c94b;animation:1.2s ease-in-out 2 just-revealed}@keyframes finale-card-in{0%{opacity:0;transform:scale(.82)translateY(28px)}}@keyframes just-revealed{50%{transform:scale(1.018);box-shadow:0 0 30px #f7c94b73}}@media (prefers-reduced-motion:reduce){.finale-reveal-card,.leaderboard li.just-revealed{animation:none}}.import-modal{color:#111827;scrollbar-color:#e3004f #f1f5f9}.import-modal .more-panel-heading{padding-right:44px}.import-privacy,.import-ready,.import-error,.import-file-name,.comparison-empty,.comparison-stop,.comparison-blocked,.import-applied{align-items:flex-start;gap:11px;display:flex}.import-privacy{background:#eefaf5;border:1px solid #b7e4d2;border-radius:16px;padding:14px}.import-privacy svg,.import-ready svg,.comparison-empty svg,.import-applied svg{color:#14805e;flex:none;width:21px;height:21px}.import-privacy p,.import-ready p,.comparison-empty p,.comparison-stop p,.import-applied p{color:#4b5563;gap:3px;margin:0;font-size:.78rem;line-height:1.45;display:grid}.import-privacy strong,.import-ready strong,.comparison-empty strong,.comparison-stop strong,.import-applied strong{color:#111827;font-size:.84rem}.import-file-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e3004f,#c90044);border:1px solid #e3004f;border-radius:15px;justify-content:center;align-items:center;gap:9px;min-height:54px;margin-top:14px;padding:12px 16px;font-size:.84rem;font-weight:850;display:flex;position:relative;box-shadow:0 8px 20px #e3004f2e}.import-file-button.loading{cursor:wait;opacity:.7}.import-file-button svg{width:20px;height:20px}.import-file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.import-error{color:#9f1239;background:#fff1f4;border:1px solid #f2a8bc;border-radius:14px;flex-wrap:wrap;margin:13px 0 0;padding:12px;font-size:.77rem;line-height:1.45}.import-error span{flex:1}.import-error button{min-height:42px;color:inherit;font:inherit;cursor:pointer;background:#ffffffc7;border:1px solid;border-radius:12px;flex:0 0 100%;font-weight:800}.import-error svg,.comparison-blocked svg{color:#e3004f;flex:none;width:19px;height:19px}.import-result{gap:12px;margin-top:16px;display:grid}.import-file-name{align-items:center;padding:0 2px}.import-file-name svg{color:#e3004f;flex:none;width:22px;height:22px}.import-file-name span{gap:2px;min-width:0;display:grid}.import-file-name small{color:#64748b;font-size:.68rem}.import-file-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.import-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.import-summary article{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;place-content:center;justify-items:center;gap:2px;min-height:88px;padding:9px 6px;display:grid}.import-summary svg{color:#e3004f;width:19px;height:19px}.import-summary strong{color:#c90044;font-size:1.28rem}.import-summary span{color:#64748b;font-size:.67rem}.import-summary .has-errors strong{color:#b4234b}.import-content-summary{color:#4b5563;background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;flex-wrap:wrap;gap:7px 13px;padding:12px;font-size:.7rem;display:flex}.import-content-summary strong{color:#111827;flex-basis:100%;font-size:.8rem}.import-ready,.comparison-empty,.import-applied{background:#eefaf5;border:1px solid #b7e4d2;border-radius:14px;padding:13px}.import-issues{background:#fff1f4;border:1px solid #f2a8bc;border-radius:14px;padding:13px}.import-issues h3{color:#9f1239;align-items:center;gap:7px;margin:0 0 9px;font-size:.84rem;display:flex}.import-issues h3 svg{width:18px;height:18px}.import-issues ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.import-issues li{color:#4b5563;grid-template-columns:50px 1fr;gap:8px;font-size:.74rem;display:grid}.import-issues li b{color:#9f1239}.import-issues>p{color:#9f1239;margin:9px 0 0;font-size:.74rem}.import-compare-button,.import-apply-button{color:#e3004f;background:#fff;border:1px solid #e3004f;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:0 15px;font-size:.8rem;font-weight:850;display:flex}.import-compare-button svg{width:19px;height:19px}.import-compare-button:disabled{cursor:wait;opacity:.6}.import-apply-button{color:#fff;background:linear-gradient(135deg,#e3004f,#c90044);justify-content:center;margin-top:11px}.comparison-result{border-top:1px solid #e3004f2e;margin-top:5px;padding-top:17px}.comparison-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.comparison-heading h3{color:#111827;margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.comparison-heading>svg{color:#e3004f;width:23px;height:23px}.comparison-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px;display:grid}.comparison-counts span,.comparison-counts button{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;align-items:baseline;gap:5px;min-height:38px;padding:8px 10px;font-size:.69rem;display:flex}.comparison-counts button{text-align:left;font-family:inherit}.comparison-counts button.active{color:#111827;background:#fff1f4;border-color:#e3004f}.comparison-counts b{color:#c90044;font-size:.92rem}.comparison-counts .warning b{color:#b4234b}.content-comparison{color:#4b5563;background:#eefaf5;border:1px solid #b7e4d2;border-radius:13px;gap:4px;margin-top:10px;padding:12px;font-size:.72rem;display:grid}.content-comparison strong{color:#111827;font-size:.8rem}.content-comparison.warning{background:#fff1f4;border-color:#f2a8bc}.content-comparison p{color:#9f1239;align-items:flex-start;gap:7px;margin:3px 0 0;display:flex}.content-comparison p svg{flex:none;width:15px;height:15px}.comparison-tools{grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:12px;display:grid}.comparison-tools>button,.comparison-tools label{color:#4b5563;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:41px}.comparison-tools>button{white-space:nowrap;padding:0 11px;font-size:.69rem;font-weight:800}.comparison-tools>button b{color:#c90044;margin-left:4px}.comparison-tools>button.active{color:#111827;background:#fff1f4;border-color:#e3004f}.comparison-tools label{align-items:center;gap:7px;padding:0 10px;display:flex}.comparison-tools label svg{color:#e3004f;flex:none;width:15px;height:15px}.comparison-tools input{color:#111827;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:.7rem}.comparison-range{color:#64748b;text-align:right;margin:8px 1px 0;font-size:.65rem}.comparison-list{scrollbar-color:#e3004f #f1f5f9;gap:8px;max-height:430px;margin:12px 0 0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.comparison-list li{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:82px minmax(0,1fr);gap:3px 10px;padding:12px;display:grid}.comparison-status{color:#fff;text-align:center;text-transform:uppercase;background:#e3004f;border-radius:999px;grid-row:1/span 2;align-self:start;padding:5px 7px;font-size:.6rem;font-weight:900}.comparison-list li.changed .comparison-status{color:#1e3a5f;background:#b9d5ff}.comparison-list li.deactivated .comparison-status{color:#7f1d1d;background:#fecaca}.comparison-list li.conflict{border-color:#f2a8bc}.comparison-list li.conflict .comparison-status{background:#b4234b}.comparison-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8rem;overflow:hidden}.comparison-list small{color:#64748b;font-size:.67rem}.comparison-list p{color:#5b2436;margin:3px 0 0;font-size:.66rem}.comparison-differences{border-top:1px solid #e2e8f0;grid-column:1/-1;gap:7px;margin-top:9px;padding-top:9px;display:grid}.comparison-differences div{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:8px;display:grid}.comparison-differences dt{color:#64748b;font-size:.65rem;font-weight:800}.comparison-differences dd{grid-template-columns:minmax(0,1fr) 15px minmax(0,1fr);align-items:center;gap:5px;min-width:0;margin:0;font-size:.69rem;display:grid}.comparison-differences dd span,.comparison-differences dd strong{overflow-wrap:anywhere;min-width:0}.comparison-differences dd span{color:#64748b;-webkit-text-decoration:line-through #e3004f;text-decoration:line-through #e3004f}.comparison-differences dd svg{color:#e3004f;width:13px;height:13px}.comparison-differences dd strong{color:#111827;font-size:inherit}.comparison-new-summary{border-top:1px solid #e2e8f0;grid-column:1/-1;padding-top:8px}.comparison-no-results{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:13px;margin:12px 0 0;padding:14px;font-size:.72rem}.comparison-pagination{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:10px;display:grid}.comparison-pagination button{color:#111827;background:#fff;border:1px solid #e2e8f0;border-radius:11px;justify-content:center;align-items:center;gap:4px;min-height:40px;padding:0 8px;font-size:.68rem;font-weight:800;display:flex}.comparison-pagination button svg{width:14px;height:14px}.comparison-pagination button:disabled{cursor:default;opacity:.38}.comparison-pagination span{color:#64748b;white-space:nowrap;font-size:.65rem}.comparison-empty,.comparison-stop{border-radius:13px;margin-top:12px;padding:13px}.comparison-stop{background:#fff8fa;border:1px solid #e3004f40}.comparison-stop svg{color:#e3004f;flex:none;width:20px;height:20px}.comparison-blocked{color:#9f1239;background:#fff1f4;border-radius:12px;margin:10px 0 0;padding:12px;font-size:.72rem;line-height:1.45}.import-confirm{background:#fff1f4;border:1px solid #f2a8bc;border-radius:14px;grid-template-columns:22px minmax(0,1fr);gap:9px;margin-top:11px;padding:13px;display:grid}.import-confirm>svg{color:#e3004f;width:20px;height:20px}.import-confirm p{color:#4b5563;gap:3px;margin:0;font-size:.72rem;line-height:1.45;display:grid}.import-confirm p strong{color:#9f1239;font-size:.8rem}.import-confirm>div{grid-column:1/-1;grid-template-columns:1fr 1.45fr;gap:8px;display:grid}.import-confirm button{background:#fff;border:1px solid #e2e8f0;border-radius:11px;min-height:43px;padding:7px;font-size:.69rem;font-weight:800}.import-confirm button.confirm{color:#fff;background:#e3004f;border-color:#e3004f}.import-confirm button:disabled{cursor:wait;opacity:.62}.panel-footnote{color:#64748b;margin:0;font-size:.7rem;line-height:1.45}@media (max-width:620px){.modal-overlay{padding:10px}.modal-content.import-modal{border-radius:20px;max-height:calc(100dvh - 20px);padding:20px 16px}.import-modal .more-panel-heading{padding-right:38px}.comparison-tools{grid-template-columns:1fr}.comparison-list li{grid-template-columns:74px minmax(0,1fr)}.import-content-summary span{flex:42%}}@media (max-width:390px){.import-summary{grid-template-columns:1fr}.import-summary article{min-height:66px}.comparison-counts{grid-template-columns:1fr}.comparison-pagination{grid-template-columns:1fr 1fr}.comparison-pagination span{text-align:center;grid-area:1/1/auto/-1}}.auth-shell{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 2%,#e3004f14,#0000 30rem),linear-gradient(#f4f6fa,#edf0f5);place-items:center;display:grid;position:relative;overflow:hidden}.auth-map{opacity:.06;pointer-events:none;background-image:linear-gradient(31deg,#0000 48%,#e3004f40 49%,#0000 50%),linear-gradient(146deg,#0000 47%,#e3004f2e 48%,#0000 49%);background-size:88px 76px,126px 108px;position:absolute;inset:0}.auth-card{text-align:center;background:#fff;border:1px solid #e3004f40;border-radius:30px;width:min(100%,460px);padding:36px 26px 28px;position:relative;box-shadow:0 24px 70px #00000014}.auth-seal{color:#e3004f;background:#e3004f14;border:2px solid #e3004f;border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 18px;display:grid;box-shadow:0 8px 24px #e3004f33}.auth-seal svg{width:34px;height:34px}.auth-brand{color:#111827;justify-content:center;align-items:baseline;margin-bottom:12px;line-height:1;display:flex}.auth-brand span{color:#111827;font-size:1.15rem;font-weight:950}.auth-brand i{color:#e3004f;margin:0 5px;font-style:normal;font-weight:950}.auth-brand strong{letter-spacing:.04em;color:#e3004f;font-size:1.15rem;font-weight:950}.auth-eyebrow{color:#e3004f;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:900}.auth-eyebrow strong{color:#e3006f;text-shadow:0 0 12px #e3006f33;font-size:1.08em}.auth-card h1{letter-spacing:-.02em;color:#111827;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,8vw,2.5rem);line-height:1.1}.auth-intro{color:#4b5563;margin:14px auto 25px;font-size:.9rem;line-height:1.55}.auth-form{text-align:left;gap:12px;display:grid}.auth-form label{color:#111827;font-size:.82rem;font-weight:800}.auth-input{background:#f8fafc;border:1px solid #0000001f;border-radius:16px;align-items:center;gap:12px;min-height:54px;padding:0 15px;display:flex}.auth-input:focus-within{border-color:#e3004f;box-shadow:0 0 0 3px #e3004f26}.auth-input svg{color:#e3004f;flex:none;width:21px}.auth-input input{color:#111827;width:100%;font:inherit;background:0 0;border:0;outline:0;padding:0}.auth-input input::placeholder{color:#94a3b8}.auth-code-input input{letter-spacing:.28em;text-align:center;font-size:1.45rem;font-weight:850}.auth-primary,.auth-secondary,.auth-back{cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:52px;font-weight:850;display:flex}.auth-primary{color:#fff;background:#e3004f;border:0;margin-top:4px;box-shadow:0 6px 20px #e3004f4d}.auth-primary:disabled{cursor:wait;opacity:.62}.auth-back{color:#64748b;background:0 0;border:0;font-size:.82rem}.auth-back:disabled{cursor:default;opacity:.58}.auth-back svg,.auth-secondary svg{width:18px}.auth-secondary{color:#e3004f;background:#e3004f0f;border:1px solid #e3004f4d;width:100%;margin-top:18px}.auth-error{color:#dc2626;background:#dc262614;border-radius:13px;margin:0;padding:11px 13px;font-size:.78rem;font-weight:700;line-height:1.45}.auth-notice{color:#047857;background:#05966914;border-radius:13px;margin:0;padding:11px 13px;font-size:.78rem;font-weight:700;line-height:1.45}.auth-help{color:#64748b;text-align:center;margin:-2px 2px 0;font-size:.74rem;line-height:1.45}.auth-footnote{color:#94a3b8;margin:23px 0 0;font-size:.7rem}.auth-message{max-width:440px}.auth-message h1{color:#111827;font-size:1.9rem}.auth-message .auth-intro{color:#4b5563;gap:8px;margin-bottom:0;display:grid}@media (min-width:700px){.auth-card{padding:42px 38px 32px}}@media (prefers-reduced-motion:no-preference){.auth-primary,.auth-secondary,.auth-back{transition:transform .16s,opacity .16s}.auth-primary:active,.auth-secondary:active,.auth-back:active{transform:scale(.98)}}
/*$vite$:1*/