@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Archivo:wght@400;500;600;700&display=swap");:root{--bg:#EDEBE4;--white:#FFFFFF;--ink:#23211C;--yellow:#FFCC00;--muted:#6B665B;--faint:#8C877C;--line:#ECE8DD;--card:#FAF9F5;--coral:#E4573D;--fs-2xs:clamp(0.7rem,0.66rem + 0.2vw,0.78rem);--fs-xs:clamp(0.78rem,0.73rem + 0.25vw,0.85rem);--fs-sm:clamp(0.88rem,0.82rem + 0.3vw,0.95rem);--fs-body:clamp(0.94rem,0.88rem + 0.35vw,1.02rem);--fs-base:clamp(1rem,0.94rem + 0.3vw,1.05rem);--fs-md:clamp(1.05rem,0.95rem + 0.6vw,1.2rem);--fs-lg:clamp(1.1rem,0.95rem + 1vw,1.4rem);--fs-xl:clamp(1.4rem,1.15rem + 1.6vw,1.8rem);--fs-2xl:clamp(1.7rem,1.2rem + 3vw,2.4rem);--fs-3xl:clamp(1.9rem,1.3rem + 3.6vw,2.7rem);--fs-4xl:clamp(2.3rem,1.5rem + 5vw,3.4rem)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Archivo,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.wordmark,h1,h2,h3{font-family:Poppins,sans-serif}.wordmark{font-weight:800;font-size:clamp(1.1rem,1rem + .5vw,1.25rem);letter-spacing:.02em}.wordmark img{display:block;height:48px;width:auto}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.4rem}.auth-card{background:var(--white);border-radius:1.4rem;box-shadow:0 4px 24px rgba(35,33,28,.08);padding:2.8rem 2.6rem;width:100%;max-width:420px}.auth-title{font-size:var(--fs-xl);font-weight:800;margin:.95rem 0 .5rem}.auth-sub{font-size:var(--fs-body);color:var(--muted);margin-bottom:1.4rem;line-height:1.5}.field{margin-bottom:.95rem}.field label{display:block;font-size:var(--fs-2xs);font-weight:700;color:var(--muted);margin-bottom:.4rem}.field input,.field select,.field textarea{width:100%;border:1.4px solid var(--line);border-radius:.7rem;padding:.7rem .85rem;font-family:Archivo,sans-serif;font-size:var(--fs-base);background:#fff;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}.btn{font-family:Poppins,sans-serif;font-weight:700;font-size:var(--fs-sm);border-radius:2rem;padding:.75rem 1.55rem;cursor:pointer;border:none;transition:opacity .15s ease,transform .1s ease;width:100%}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{opacity:.88}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-outline{background:#fff;color:var(--ink);border:1.4px solid var(--ink)}.btn-outline:hover{background:var(--card)}.btn-yellow{background:var(--yellow);color:var(--ink)}.auth-alt{text-align:center;font-size:var(--fs-2xs);color:var(--muted);margin-top:1.2rem}.auth-alt a{color:var(--ink);font-weight:700;text-decoration:none}.error-box{background:#FDF6F4;border:1px solid #f3c9bf;color:#C6432B;border-radius:.7rem;padding:.6rem .8rem}.error-box,.info-box{font-size:var(--fs-xs);margin-bottom:.95rem}.info-box{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:.7rem;padding:.7rem .85rem;line-height:1.5}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title{font-size:1rem;font-weight:700;color:#111}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;line-height:1;padding:0 4px}.modal-body{padding:16px 24px 24px}.hackathon-page{min-height:100vh;padding:2rem 1.4rem;display:flex;justify-content:center}.hackathon-card{background:var(--white);border-radius:1.4rem;box-shadow:0 4px 24px rgba(35,33,28,.08);padding:2.4rem;width:100%;max-width:760px}.hackathon-hero h1{font-size:var(--fs-3xl);margin:.6rem 0 .5rem}.member-card{border:1.4px solid var(--line);border-radius:1rem;padding:1.1rem 1.2rem;margin-bottom:1rem;background:var(--card)}.member-card-title{font-size:var(--fs-2xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.7rem}.hackathon-card.landing{max-width:920px;align-self:center}.landing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.2rem;gap:1.2rem}@media (max-width:680px){.landing-cards{grid-template-columns:1fr}}.landing-card{display:flex;flex-direction:column;border-radius:1.2rem;padding:1.8rem 1.6rem 1.4rem;transition:transform .15s,box-shadow .15s}.landing-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(35,33,28,.14)}.landing-card--dark{background:var(--ink);color:var(--white)}.landing-card--yellow{background:var(--yellow);color:var(--ink)}.landing-eyebrow{font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:.6rem}.landing-card h2{font-size:var(--fs-xl);line-height:1.2;margin-bottom:.6rem}.landing-card p{font-size:var(--fs-body);line-height:1.5;opacity:.82;margin:0 0 1.6rem;flex:1 1}.landing-cta{display:block;text-align:center;text-decoration:none;font-family:Poppins,sans-serif;font-weight:700;font-size:var(--fs-sm);padding:.9rem 1rem;border-radius:.8rem;transition:filter .15s}.landing-cta:focus-visible,.landing-cta:hover{filter:brightness(.92)}.landing-card--dark .landing-cta{background:var(--yellow);color:var(--ink)}.landing-card--yellow .landing-cta{background:var(--ink);color:var(--white)}.landing-card--yellow .landing-cta:hover{filter:brightness(1.25)}.landing-register{font-size:var(--fs-xs);text-align:center;margin-top:.9rem;opacity:.85}.landing-register a{color:inherit;font-weight:700}.week-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-bottom:1rem}.week-table td,.week-table th{border:1px solid var(--line);padding:.45rem .5rem;text-align:center}.week-table .current{background:var(--yellow)}.combobox{position:relative}.combobox-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:.3rem;max-height:16rem;overflow-y:auto;background:#fff;border:1.4px solid var(--ink);border-radius:.7rem;box-shadow:0 8px 24px rgba(35,33,28,.12)}.combobox-list li{padding:.6rem .75rem;border-radius:.5rem;cursor:pointer;font-size:var(--fs-xs);color:var(--ink);overflow-wrap:anywhere}.combobox-list li.active{background:var(--yellow)}.field input.combobox-picked{border-color:var(--ink);background:var(--card);font-weight:600}.field-hint{font-size:var(--fs-2xs);color:var(--muted);margin:.35rem 0 0}.review-list{list-style:none;padding:0;margin:0 0 1.1rem;display:grid;grid-gap:.6rem;gap:.6rem}.review-list li{border:1.4px solid var(--line);background:var(--card);border-radius:.8rem;padding:.7rem .9rem;font-size:var(--fs-xs);line-height:1.5;overflow-wrap:anywhere}.review-role{font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.review-name,.review-role{font-weight:700}.review-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem;gap:.7rem}.review-actions .btn{width:100%}.clash-intro{font-size:var(--fs-xs);color:var(--muted);line-height:1.5;margin:0 0 .9rem}.clash-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-gap:.6rem;gap:.6rem}.clash-list li{border:1.4px solid #f3c2c2;background:#fff5f5;border-radius:.8rem;padding:.7rem .9rem;font-size:var(--fs-xs);line-height:1.45}.clash-list span{display:block;color:var(--muted);overflow-wrap:anywhere}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.7rem;gap:.7rem}@media (max-width:680px){.row-3{grid-template-columns:1fr}}.checkbox-field{display:flex;align-items:flex-start;gap:.6rem;font-size:var(--fs-xs);color:var(--muted);line-height:1.5;margin-bottom:1.2rem}.checkbox-field input{margin-top:.2rem;width:auto}.python-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:.8rem;gap:.8rem;margin-bottom:1rem}.python-facts div{background:var(--card);border-radius:12px;padding:.8rem 1rem}.python-facts strong{display:block;font-size:var(--fs-lg)}.python-facts span{font-size:var(--fs-2xs);color:var(--muted)}.python-topics{margin:0;padding-left:1.1rem;font-size:var(--fs-xs);column-count:2}.python-testbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;padding:.7rem 0;margin-bottom:.8rem;border-bottom:1px solid var(--line,#e5e7eb);font-size:var(--fs-2xs);color:var(--muted)}.python-testbar strong{font-size:var(--fs-xl);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.python-testbar strong.python-clock-low{color:#dc2626}.python-code{background:#23211c;color:#f5f3ec;border-radius:10px;padding:.8rem 1rem;margin:.5rem 0 1rem;font-size:var(--fs-xs);line-height:1.5;overflow-x:auto;white-space:pre}.python-inline{background:var(--card);border-radius:4px;padding:.05rem .3rem;font-size:.92em}.python-case{background:var(--card);border-radius:10px;padding:.8rem 1rem;margin:.5rem 0 1rem;font-size:var(--fs-body);line-height:1.6}.python-case .python-inline{background:#fff}.python-question{border:0;padding:0;margin:0 0 1.3rem;min-width:0}.python-question legend{font-size:var(--fs-body);line-height:1.5;margin-bottom:.5rem;padding:0;width:100%}.python-option{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .8rem;margin-bottom:.4rem;border:1.4px solid var(--line,#e5e7eb);border-radius:10px;font-size:var(--fs-xs);cursor:pointer;overflow-wrap:anywhere}.python-option.selected{border-color:var(--ink);background:var(--card)}.python-option input{margin-top:.2rem;flex:none}.python-option-letter{font-weight:700;flex:none}.python-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:.5rem}.python-nav .btn{width:auto}.python-verdict{background:var(--card);border-radius:12px;padding:1rem 1.1rem;margin-bottom:1.4rem;font-size:var(--fs-body)}.python-verdict.ready{background:var(--yellow)}.python-verdict p{margin:.3rem 0 0;line-height:1.5}.python-legend{display:flex;gap:1.2rem;font-size:var(--fs-2xs);color:var(--muted);margin-bottom:.7rem}.python-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px}.python-legend i.you{background:var(--ink)}.python-legend i.average{width:3px;background:#dc2626}.python-bar-row{margin-bottom:.8rem}.python-bar-label{display:flex;justify-content:space-between;gap:.8rem;font-size:var(--fs-xs);margin-bottom:.25rem}.python-bar{position:relative;height:10px;background:var(--line);border-radius:5px}.python-bar-you{height:100%;background:var(--ink);border-radius:5px}.python-bar-average{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1.5px;background:#dc2626;border-radius:2px}@media (max-width:520px){.python-topics{column-count:1}}.python-pies{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.python-pie{background:var(--card);border-radius:12px;padding:.9rem 1rem}.python-pie-title{font-weight:700;font-size:var(--fs-sm);margin-bottom:.6rem}.python-pie-body{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.python-pie-body svg{flex:none}.python-pie-legend{list-style:none;margin:0;padding:0;font-size:var(--fs-xs);display:grid;grid-gap:.35rem;gap:.35rem}.python-pie-legend li{display:grid;grid-template-columns:12px auto 3.2em 2em;align-items:center;grid-gap:.45rem;gap:.45rem}.python-pie-legend i{width:12px;height:12px;border-radius:3px}.python-pie-count,.python-pie-legend strong{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.python-pie-count{color:var(--muted)}.python-pie-empty,.python-pie-total{font-size:var(--fs-2xs);color:var(--muted);margin:.5rem 0 0}@media (max-width:600px){.python-pies{grid-template-columns:1fr}}