/* Local artwork and system fonts: the theme works without external services. */
body{background-color:#faf7ff;background-image:radial-gradient(#ddd0f4 1px,transparent 1px);background-size:24px 24px;color:#302344}
main{max-width:1080px}
header{padding:4px 0 18px;border-bottom:2px solid #e7ddf1;margin-bottom:24px}
.brand{font-size:14px;letter-spacing:1.4px;color:#62428f}
nav a{font-weight:650;text-decoration:none;padding:8px 0}nav a:hover{text-decoration:underline}
.anime-hero{display:grid;grid-template-columns:1.25fr 1fr;position:relative;overflow:hidden;border:2px solid #d5bce9;border-radius:28px;background:linear-gradient(115deg,#fff5ed 0%,#f4eaff 62%,#e5d0f4 100%);box-shadow:0 6px 0 #e9ddf5;margin:24px 0 32px;min-height:290px}
.hero-copy{padding:32px;align-self:center;position:relative;z-index:1}
.chapter{font-size:11px;letter-spacing:1.8px;font-weight:800;color:#74528b}
.hero-copy h2{font-size:clamp(26px,3.5vw,39px);line-height:1.15;letter-spacing:-1px;margin:15px 0;color:#47305f}
.hero-copy p{color:#705877;margin:16px 0 22px;font-size:15px}
.hero-badge{display:inline-block;border:1px solid #d9b36b;background:#fff3ce;color:#785219;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:750;box-shadow:0 3px 0 #edddbb}
.anime-hero img{display:block;width:100%;height:100%;max-height:365px;object-fit:cover;object-position:center 38%;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 15%)}
h1{font-size:clamp(27px,4vw,36px);color:#47305f;letter-spacing:-1px}
h2{color:#4b3565}section h2:before{content:'✦';color:#a780c7;font-size:18px;margin-right:10px}
.card,section{border:1px solid #e0d4ed;box-shadow:0 4px 0 #eee5f6;border-radius:22px}
.card{position:relative;overflow:hidden;border-top:5px solid #b799db;background:#faf5ff}
.card:nth-child(2){border-top-color:#83bead;background:#f1fbf6}.card:nth-child(3){border-top-color:#e9b06b;background:#fff8ed}
.card>span:first-child{font-weight:700;color:#59426e}.card:nth-child(2)>span:first-child{color:#376555}.card:nth-child(3)>span:first-child{color:#795125}
.big{margin:8px 0;color:#503571;font-size:42px}.card:nth-child(2) .big{color:#346654}.card:nth-child(3) .big{color:#825727}
progress{height:12px;border:0;border-radius:20px;overflow:hidden;background:#e9e0f3}progress::-webkit-progress-bar{background:#e9e0f3;border-radius:20px}progress::-webkit-progress-value{background:#9570be;border-radius:20px}
.card:nth-child(2) progress::-webkit-progress-value{background:#63a990}.card:nth-child(3) progress::-webkit-progress-value{background:#d3a047}
button,.button{background:#7956a2;border:1px solid #624185;box-shadow:0 3px 0 #543674;font-weight:650;min-height:44px;transition:transform .15s,background .15s}
button:hover,.button:hover{background:#67438f;transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:none}
button.secondary{border:1px solid #dbceea;box-shadow:0 2px 0 #ded1ea;background:#f1ebf8}
.row{border-top:1px dashed #ded1eb;padding:18px 0}.row strong{line-height:1.5}.row small{display:inline-block;margin-top:4px}
.pill{border:1px solid #b9ddc9;font-weight:650;white-space:nowrap}
input,select{background:#fdfbff;min-height:44px}summary{cursor:pointer;padding:12px 0;color:#68498c;font-weight:650}
@media(max-width:650px){main{padding:20px 16px}.anime-hero{grid-template-columns:minmax(0,1fr) 115px;min-height:210px;margin:18px 0 26px;border-radius:22px}.hero-copy{padding:22px 0 22px 20px}.chapter{font-size:9px;letter-spacing:1px}.hero-copy h2{font-size:25px;line-height:1.2}.hero-copy p{font-size:13px;margin:12px 0}.hero-copy p br{display:none}.hero-badge{font-size:10px;padding:7px 9px}.anime-hero img{object-position:47% center;max-height:none;mask-image:linear-gradient(to right,transparent,#000 24%)}header{gap:12px;flex-wrap:wrap}.brand{font-size:12px}.cards{gap:10px}.card{padding:18px 22px}.big{font-size:36px}section{padding:18px}.row .inline,.row form{width:100%}.row form{display:flex;gap:8px;flex-wrap:wrap}.row form select{flex:1;min-width:120px}.row form button{margin:6px 0}.row{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
.streak-banner{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:#fff3df;border:1px solid #eac891}.streak-banner strong{font-size:21px;color:#8c4b20}.streak-banner a{font-weight:700}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.milestone{display:flex;flex-direction:column;gap:8px;text-align:center;background:#fff2d6;border:1px solid #edcf8f;border-radius:16px;padding:20px 8px;color:#785219}.streak-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-chip{display:flex;flex-direction:column;text-align:center;gap:6px;border-radius:12px;background:#f1edf7;padding:10px 4px}.day-chip strong{font-size:24px;color:#81728f}.day-chip.complete{background:#e6f5eb}.day-chip.complete strong{color:#39805a}.day-chip small{font-size:11px;overflow-wrap:anywhere}@media(max-width:650px){.streak-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.milestones{gap:6px}.milestone{font-size:13px;padding:15px 5px}}
