:root{color:#f8f9ff;font-synthesis:none;text-rendering:optimizelegibility;background:#0b0d24;font-family:Inter,ui-rounded,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#5468ff3d,#0000 34rem),radial-gradient(circle at 85% 22%,#0ecab221,#0000 28rem),#0b0d24;min-width:320px;min-height:100vh;margin:0}button,textarea,input{font:inherit}button{min-height:44px}button:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #ffd45a}code{color:#fff1a8;background:#20254f;border-radius:.35rem;padding:.15rem .35rem}.loading-screen,.system-screen,.login-screen{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.loading-screen{color:#dce1ff;font-size:1.05rem}.system-card,.login-card{text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#15193aeb;border:1px solid #c2caff33;border-radius:1.75rem;width:min(100%,34rem);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 1.5rem 5rem #00000052}.system-icon,.hero-orbit{background:#222958;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:5rem;height:5rem;margin-bottom:1rem;font-size:2.8rem;display:inline-grid}.hero-orbit{box-shadow:0 0 0 .75rem #5d6fff14}.login-card h1,.system-card h1{margin:.5rem 0 .75rem;font-size:clamp(2rem,7vw,3.25rem);line-height:1.05}.eyebrow{color:#aeb9ff;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .45rem;font-size:.75rem;font-weight:800}.subtitle{color:#d2d6ee;margin:0 0 1.75rem;font-size:clamp(1rem,3vw,1.15rem)}.features{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:1.75rem;display:flex}.features span,.stats span{color:#eef0ff;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;padding:.6rem .85rem}.login-hint{color:#aeb4d1;margin:.85rem 0 0;font-size:.85rem}.login-form{text-align:left;gap:.7rem;display:grid}.login-form label{color:#eef0ff;font-size:.9rem;font-weight:800}.login-form input{color:#fff;background:#171c42;border:1px solid #c8cfff59;border-radius:.85rem;width:100%;min-height:48px;padding:.75rem .85rem}.auth-help{color:#aeb4d1;margin-top:-.35rem;font-size:.8rem}.login-form .btn-primary{margin-top:.35rem}.auth-switch{color:#cbd1ff;cursor:pointer;text-underline-offset:.2rem;background:0 0;border:0;min-height:44px;margin-top:.55rem;padding:.65rem;font-weight:700;text-decoration:underline}.btn-primary,.btn-success,.btn-secondary,.btn-quiet{cursor:pointer;border:0;border-radius:.9rem;font-weight:800;transition:transform .16s,filter .16s,opacity .16s}.btn-primary{color:#fff;background:linear-gradient(135deg,#6374ff,#9156dc);width:100%;padding:.9rem 1.25rem;box-shadow:0 .75rem 2rem #5b69ff3d}.btn-success{color:#061c17;background:#59e1bd;flex:1;padding:.8rem 1.1rem}.btn-secondary,.btn-quiet{color:#f3f4ff;background:#282e59;border:1px solid #ffffff1f;padding:.8rem 1.1rem}.btn-quiet{padding:.6rem .85rem;font-size:.85rem}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(100%,60rem);min-height:100vh;margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;display:flex}.site-header h1{margin:0;font-size:clamp(1.25rem,4vw,1.75rem)}.header-actions{align-items:center;gap:.65rem;display:flex}.score-pill{color:#261800;white-space:nowrap;background:#ffd45a;border-radius:999px;padding:.65rem .85rem;font-weight:900}.app-main{padding:2rem 0 3rem}.welcome-row,.progress-copy,.week-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.welcome-row{margin-bottom:1.25rem}.welcome-row p,.welcome-row h2{margin:0}.welcome-row p{color:#b7bdd8}.today-label{background:#1d234c;border-radius:999px;padding:.55rem .8rem;font-size:.85rem;font-weight:700;color:#dfe3ff!important}.alert,.loading-card{border-radius:.85rem;padding:.85rem 1rem;line-height:1.5}.alert.error{color:#ffd9dc;background:#b22e403d;border:1px solid #ff7e8b73}.alert.success{color:#cffff2;background:#17896f40;border:1px solid #59e1bd66}.alert.warning{color:#fff2bd;background:#9b6e0d3d;border:1px solid #ffd45a6b}.alert-with-action{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.alert-with-action .btn-secondary{color:#fff;flex:none}.loading-card{color:#d8dcf4;text-align:center;background:#ffffff0f}.progress-section{background:#ffffff0e;border:1px solid #ffffff17;border-radius:1.1rem;margin-bottom:1.25rem;padding:1.25rem}.progress-copy{color:#d8dcf4;margin-bottom:.8rem}.progress-track{background:#222747;border-radius:999px;height:.8rem;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#21d4ad,#5f7cff);height:100%;transition:width .35s}.badges-section{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-bottom:1.25rem;display:flex}.badge-earned{color:#fff3b7;background:#ffd45a1f;border:1px solid #ffd45a6b;border-radius:999px;padding:.5rem .8rem;font-size:.9rem}.weeks{gap:.85rem;margin-bottom:2rem;display:grid}.gallery-section{margin:2rem 0}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2,.section-heading p{margin-top:0}.section-heading h2{margin-bottom:0}.section-heading>span{color:#b8bedb;font-size:.85rem}.submission-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.submission-card{background:#171c42;border:1px solid #c8cfff33;border-radius:1rem;min-width:0;margin:0;overflow:hidden}.submission-card img{aspect-ratio:4/3;object-fit:cover;background:#222747;width:100%;display:block}.submission-card figcaption{color:#e6e9ff;padding:.7rem .8rem;font-size:.85rem;line-height:1.45}.week-card{background:#ffffff0b;border:1px solid #ffffff17;border-radius:1rem;padding:1rem 1.1rem}.week-card.active{background:#6074ff1a;border-color:#7483ff;box-shadow:0 0 2rem #5165ff1f}.week-header{margin-bottom:.8rem;font-weight:800}.day-dots{flex-wrap:wrap;gap:.5rem;display:flex}.day-dot{color:#b6bddc;background:#222746;border:1px solid #ffffff14;border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;font-size:.8rem;font-weight:800;display:inline-grid}.day-dot.done{color:#062019;background:#59e1bd}.day-dot.current{color:#fff;background:#6374ff;border-color:#b6beff;box-shadow:0 0 0 .3rem #6374ff2e}.challenge-section{margin-top:2rem}.challenge-section h2{margin:0 0 1rem;font-size:clamp(1.4rem,4vw,2rem);line-height:1.25}.challenge-card{background:linear-gradient(145deg,#242a5bf5,#171b3ff5);border:1px solid #6e7cff;border-radius:1.4rem;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 1rem 3rem #0000003d}.task{color:#edf0ff;margin:0 0 1.5rem;font-size:1.08rem;line-height:1.75}.upload-form{gap:.9rem;display:grid}.upload-label{text-align:center;cursor:pointer;background:#ffffff0e;border:2px dashed #c2caff66;border-radius:1rem;gap:.3rem;padding:1.25rem;display:grid;position:relative}.upload-label:focus-within{outline-offset:3px;outline:3px solid #ffd45a}.upload-label span{font-weight:800}.upload-label small,.char-count{color:#b8bedb}.upload-label input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-name{color:#76ebc9;overflow-wrap:anywhere;margin:0}.answer-label{font-weight:800}textarea{color:#fff;resize:vertical;background:#171c42;border:1px solid #c8cfff4d;border-radius:.85rem;width:100%;min-height:7rem;padding:.9rem}textarea::placeholder{color:#9098be}.char-count{text-align:right;margin-top:-.55rem;font-size:.8rem}.upload-buttons{gap:.65rem;display:flex}.completed-section{text-align:center;padding:2rem 0}.certificate{color:#fff7d6;background:radial-gradient(circle at 50% 0,#ffd45a2e,#0000 18rem),#191b35;border:3px double #ffd45a;border-radius:1.5rem;padding:clamp(1.5rem,5vw,3rem)}.trophy{font-size:4rem;display:block}.certificate h3{color:#ffd45a;text-transform:uppercase;margin:.3rem 0 1rem;font-size:clamp(2rem,7vw,3.5rem)}.stats{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1.5rem 0;display:flex}.congrats{color:#ffeaa1;font-style:italic}.print-button{margin-top:.75rem}footer{color:#aeb4d1;text-align:center;border-top:1px solid #ffffff14;padding:1.5rem 0 2.5rem;font-size:.85rem;line-height:1.6}@media (width<=640px){.app-shell{padding:0 .85rem}.site-header,.welcome-row{align-items:flex-start}.site-header{padding:1rem 0}.header-actions{flex-direction:column;align-items:stretch}.score-pill,.btn-quiet{text-align:center}.welcome-row{flex-direction:column}.today-label{align-self:flex-start}.progress-copy{flex-direction:column;align-items:flex-start;gap:.25rem}.upload-buttons{flex-direction:column}.alert-with-action{flex-direction:column;align-items:stretch}.section-heading{flex-direction:column;align-items:flex-start;gap:.25rem}.submission-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{body{color:#111;background:#fff}.site-header,.welcome-row,.progress-section,.badges-section,.weeks,.gallery-section,.challenge-section,footer,.print-button{display:none!important}.app-shell,.app-main,.completed-section{width:100%;max-width:none;margin:0;padding:0}.certificate{color:#111;break-inside:avoid;background:#fff;border-color:#9a6b00}}
