@font-face{font-family:'DM Sans';src:url('/static/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/static/space-grotesk.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
:root{--primary:#2a56ff;--foreground:#000;--muted:#acacac;--border:#d7d7d7;--surface:#fafafa;--shadow:0 1px 2px -1px #00000014,0 12px 32px -16px #00000024;--elevated:0 2px 4px -2px #0000001a,0 24px 60px -24px #2a56ff38;font-family:'DM Sans',system-ui,sans-serif;color:var(--foreground);background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:500;letter-spacing:-.025em}h1{font-size:48px;line-height:1.05}h2{font-size:36px;line-height:1.2}h3{font-size:24px;line-height:1.25}p{line-height:1.625}.blue{color:var(--primary)}.muted{color:var(--muted)}.eyebrow{display:inline-block;font-size:11.2px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#000;padding:9px 16px;min-height:40px;font-size:13px;font-weight:500;box-shadow:0 1px 2px #0000000d;line-height:1.4;transition:background .15s,border-color .15s}.btn:hover{background:#eee}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#2149e5}.btn.danger{color:#d52730;border-color:#ee343b55}.btn.small{min-height:36px;padding:7px 12px;font-size:12px}.field{display:grid;gap:8px}.field label{font-size:14px;font-weight:500}input{width:100%;min-width:0;min-height:44px;padding:10px 14px;border:1px solid #e8e8e8;border-radius:12px;background:#fff;font-size:16px;color:#000}input::placeholder{color:var(--muted)}input:focus{border-color:var(--primary)}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.loading{padding:80px 24px;text-align:center;color:#666}.error{color:#c0252c;font-size:14px}.note{background:#2a56ff0d;border:1px solid #2a56ff33;border-radius:12px;padding:16px;font-size:14px}.hidden{display:none!important}#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#111;color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 8px 32px #0002;max-width:calc(100vw - 32px);width:max-content;z-index:100;font-size:14px;display:none}#toast.visible{display:block}.home{background-image:url('/static/paper.webp');background-repeat:repeat-y;background-size:100% auto;background-position:top center}.hero{position:relative;isolation:isolate;max-width:1152px;aspect-ratio:16/9;margin:auto;background:#f7f5ef url('/static/victao.webp') center/cover no-repeat;overflow:hidden}.hero-copy{position:absolute;left:5%;top:13%;max-width:49%;color:#000}.hero-copy .hero-number{font-size:clamp(68px,13vw,190px);font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:.85;color:var(--primary);letter-spacing:-.085em}.hero-copy strong{font-family:'Space Grotesk',sans-serif;display:block;font-size:clamp(28px,5.1vw,74px);letter-spacing:-.06em;line-height:1.05}.hero-copy em{font-size:clamp(18px,3.6vw,51px);line-height:1.25;color:var(--primary);font-weight:700;display:block;margin-top:5px}.hero-copy h1{font-size:clamp(22px,3.8vw,56px);margin-top:12px;letter-spacing:-.05em;line-height:1.1}.hero-copy:after{content:'';display:block;width:95%;height:7px;background:var(--primary);transform:rotate(-2deg);margin-top:10px;border-radius:100% 30%}.account{position:absolute;right:24px;top:24px;display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;z-index:2}.account span{font-size:12px;color:#555;background:#ffffffb3;border-radius:30px;padding:4px 8px}.container{position:relative;max-width:1152px;margin:-32px auto 0;padding:0 32px 64px}.intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:end}.intro-copy>p{max-width:576px;font-size:18px;color:var(--muted);margin-top:20px}.stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:32px;align-items:baseline}.stats b{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:500;letter-spacing:-.025em;margin-right:8px}.stats span{font-size:14px;color:var(--muted)}.progress{border-color:#2a56ff33;box-shadow:var(--elevated);padding:28px;background:#ffffffdb;position:relative}.progress-number{margin-top:16px;display:flex;gap:12px;align-items:baseline;color:var(--primary)}.progress-number strong{font-size:60px;font-weight:500;font-family:'Space Grotesk',sans-serif;line-height:1}.progress-number span{font-size:14px;color:var(--muted)}.track{height:8px;background:#f0f0f0;border-radius:99px;overflow:hidden;margin-top:20px}.track i{display:block;height:100%;background:var(--primary);transition:width .3s}.progress-block{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.progress-block p{font-size:12px;margin-top:8px;color:var(--muted)}.progress-block input{margin-top:12px}.calendar{margin-top:80px}.calendar .row>div{max-width:700px}.calendar h2{margin-top:8px}.search{max-width:320px;border-radius:99px;background:#fff}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.filter{background:#fff;border:1px solid var(--border);color:var(--muted);border-radius:99px;font-size:12px;padding:8px 16px;min-height:36px;transition:.15s}.filter:hover{color:var(--primary);border-color:#2a56ff66}.filter[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--elevated)}.day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.day-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;padding:24px;background:#fff;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.day-card:hover{transform:translateY(-4px);border-color:#2a56ff99;box-shadow:var(--elevated)}.day-card:before{content:'';position:absolute;height:2px;top:0;left:0;right:0;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s}.day-card:hover:before{transform:scaleX(1)}.day-card .eyebrow{color:var(--primary)}.badge{display:inline-flex;border:1px solid #2a56ff33;background:#2a56ff0d;color:var(--primary);border-radius:99px;padding:4px 10px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;max-width:100%}.day-card .number{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:48px;line-height:1;letter-spacing:-.025em;color:var(--primary);margin-top:20px}.day-card h3{font-size:20px;line-height:1.375;margin-top:24px}.day-card p{font-size:14px;color:var(--muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.day-card .bottom{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:16px;margin-top:24px;font-size:14px;color:var(--muted)}.day-card.done .bottom{color:var(--primary)}.empty{padding:48px 24px;text-align:center;border:1px dashed var(--border);border-radius:16px;color:var(--muted);grid-column:1/-1}.footer{text-align:center;padding-top:32px;border-top:1px solid var(--border);margin-top:80px;font-size:12px;color:var(--muted)}.footer p+p{margin-top:8px;color:#666}.day-page{background:radial-gradient(ellipse 100% 360px at 0 0,#2a56ff0b,transparent 70%)}.day-width{position:relative;max-width:768px;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}.day-header{padding-top:24px;padding-bottom:24px;font-size:14px;color:var(--muted)}.day-top{padding-top:32px}.day-top h1{margin-top:20px}.day-top>p{font-size:18px;color:var(--muted);margin-top:20px}.day-top .tip{padding:16px 20px;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);font-size:14px;color:#000;background:#fff}.day-top .complete{margin-top:28px}.day-section{padding-top:64px}.day-section h2{font-size:24px;margin-top:4px}.references{display:grid;gap:32px;margin-top:28px}.reference-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:14px}.reference-meta .badge{background:#fff;color:#000;border-color:var(--border);font-size:10px}.reference-meta a{color:var(--muted)}.video-frame{aspect-ratio:9/16;width:100%;border:1px solid var(--border);border-radius:20px;background:#f0f0f0;overflow:hidden;box-shadow:var(--shadow);margin-top:14px}.video-frame iframe{height:100%;width:100%;border:0}.video-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center;gap:12px;color:var(--muted);font-size:14px}.examples{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}.examples li{border:1px solid var(--border);border-radius:16px;padding:20px;font-size:15px;line-height:1.625;background:#fff;box-shadow:var(--shadow)}.generator{position:relative;background:radial-gradient(ellipse at 0 0,#2a56ff0c,transparent 65%),#fff;padding:32px}.generator h3{font-size:30px;margin-top:16px}.generator>p{font-size:14px;color:var(--muted);margin-top:8px;max-width:512px}.generator .field{margin-top:24px}.generator .btn{margin-top:20px}.generator .status{margin-top:12px;font-size:13px}.generated{display:grid;gap:12px;list-style:none;padding:0;margin:28px 0 0}.generated li{display:flex;gap:12px;align-items:start;border:1px solid var(--border);border-radius:16px;background:#fff;padding:20px;line-height:1.625;font-size:15px;overflow-wrap:anywhere}.generated li>span{flex:1}.generated .btn{margin:0;flex-shrink:0;min-height:32px;padding:5px 8px}.related{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.related a{border:1px solid var(--border);border-radius:99px;padding:6px 16px;font-size:14px}.day-nav{margin-top:80px;border-top:1px solid var(--border);padding-top:32px;padding-bottom:32px;display:flex;justify-content:space-between;gap:16px;font-size:14px}.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-art{background:#f7f5ef url('/static/victao.webp') 65% center/cover;display:flex;align-items:flex-end;padding:64px;position:relative}.auth-art:before{position:absolute;inset:0;content:'';background:linear-gradient(transparent 50%,#000c)}.auth-art h2{position:relative;color:#fff;font-size:60px;max-width:420px}.auth-main{display:flex;align-items:center;justify-content:center;padding:64px 32px}.auth-box{max-width:384px;width:100%}.auth-box h1{font-size:32px;line-height:1.2;margin-top:16px}.auth-box>p{color:var(--muted);font-size:14px;margin-top:8px}.auth-box form{margin-top:24px}.auth-box .btn{width:100%;min-height:44px}.auth-box .link{background:transparent;border:0;color:var(--muted);font-size:13px;cursor:pointer;min-height:40px;display:block;width:100%;text-align:center}.owner-link{display:block;text-align:center;font-size:12px;color:#777;border-top:1px solid var(--border);padding-top:16px;margin-top:24px}.password-page{min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:32px 24px}.password-page .auth-box{max-width:420px}.password-page .row{flex-wrap:nowrap}.admin{max-width:1152px;margin:auto;padding:40px 32px}.admin h1{font-size:32px;line-height:1.3}.admin .card{margin-top:32px}.admin-create{display:grid;grid-template-columns:2fr 1.5fr 100px auto;gap:16px;align-items:end;margin-top:20px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;margin-top:24px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th,td{padding:16px;border-bottom:1px solid #eee;vertical-align:middle}th{color:#777;font-weight:500;font-size:12px}td.email{overflow-wrap:anywhere;min-width:180px}td .btn{white-space:nowrap}td .row{flex-wrap:nowrap}.user-actions{display:flex;gap:8px}.admin-status{margin-top:20px}.admin-search{margin-top:28px;max-width:400px}.pagination{margin-top:16px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px;color:#777}dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 24px 80px #0003}dialog::backdrop{background:#0005}dialog h2{font-size:24px}dialog .field{margin-top:20px}dialog .row{margin-top:24px;justify-content:flex-end}dialog .error{margin-top:12px}body:has(dialog[open]){overflow:hidden}.storage-warning{padding:16px;background:#fff6dd;color:#715013;font-size:14px}
@media(min-width:1600px){.hero-number{font-size:190px}}
@media(max-width:1023px){.intro{grid-template-columns:1fr}.intro-copy{padding-top:32px}.container{margin:32px auto 0}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress{max-width:none}.admin-create{grid-template-columns:1fr 1fr}.hero-copy .hero-number{font-size:clamp(64px,15vw,155px)}}
@media(max-width:639px){.hero{margin-top:68px}.account{position:absolute;top:14px;left:16px;right:16px;gap:8px}.home>header{position:relative;padding-top:1px}.account span{display:none}.hero-copy{top:12%}.hero-copy .hero-number{font-size:clamp(60px,17vw,108px)}.hero-copy h1{margin-top:6px}.hero-copy:after{height:3px;margin-top:5px}.container{padding:0 16px 64px;margin-top:32px}.intro{gap:32px}.intro-copy{padding-top:0}.intro-copy>p{font-size:16px}.progress{padding:24px}.calendar{margin-top:64px}.calendar h2{font-size:30px}.calendar>.row{gap:20px}.search{max-width:none}.day-grid{grid-template-columns:1fr}.day-card{padding:24px}.stats{gap:24px}.day-top h1{font-size:36px}.day-top>p{font-size:16px}.generator{padding:28px}.generator h3{font-size:24px}.generator .btn{width:100%}.generated .btn{width:auto}.auth-page{grid-template-columns:1fr}.auth-art{display:none}.auth-main{min-height:100dvh;padding:40px 24px}.admin{padding:32px 16px}.admin-create{grid-template-columns:1fr}.admin-create .btn{min-height:44px}.filters .filter{min-height:40px}.reference-meta{gap:8px}.badge{letter-spacing:.12em}.day-nav{padding-bottom:max(32px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
