
:root{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:#19334a;background:#edf3f7}*{box-sizing:border-box}body{margin:0}.app{max-width:650px;margin:auto;min-height:100vh;background:#f6f9fc;padding-bottom:75px}.hero{background:#173c59;color:white;padding:26px 20px 22px}.hero small{color:#b9d4e4;letter-spacing:2px}.hero h1{font-size:24px;margin:8px 0}.hero p{font-size:13px;margin:0;color:#d6e7f1}.tabs{display:flex;background:white;position:sticky;top:0;z-index:3;border-bottom:1px solid #dbe5ed}.tabs button{flex:1;border:0;background:white;padding:14px 4px;color:#60778a;font-weight:700}.tabs button.active{color:#087c70;border-bottom:3px solid #087c70}.view{display:none;padding:16px}.view.active{display:block}.card{background:white;border:1px solid #e1e9ef;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 2px 10px #19334a08}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.muted{color:#647b8d;font-size:13px;line-height:1.6}.small{font-size:12px}.tag{font-size:11px;color:#087c70;background:#e4f5ef;border-radius:20px;padding:6px 10px;white-space:nowrap}.date{display:flex;align-items:center;gap:8px}.date input{flex:1;min-width:0;border:1px solid #cbdbe5;border-radius:10px;padding:10px;font:inherit}.btn{border:0;border-radius:11px;padding:11px 14px;background:#0a8777;color:white;font-weight:700;cursor:pointer}.btn.secondary{background:#e9f1f6;color:#27516a}.btn:disabled{opacity:.45}.btn.full{width:100%}h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 8px}.book{border:1px solid #dbe6ed;background:#f8fbfd;border-radius:13px;padding:14px;margin:10px 0}.book .pages{font-size:28px;font-weight:800;color:#0b786d;margin:5px 0}.book .name{font-size:12px;color:#506d80}.book .scope{font-size:13px;line-height:1.5}.step{display:flex;gap:10px;align-items:center;margin-bottom:12px}.num{background:#dff3ed;color:#0c776b;border-radius:9px;padding:7px 10px;font-weight:800}.divider{border-top:1px solid #e6edf2;margin:18px 0}.choice{display:block;border:1px solid #dce7ee;border-radius:10px;padding:12px;margin:8px 0;font-size:13px;line-height:1.5}.choice input{margin-right:8px;accent-color:#0b8878}.feedback{background:#f0f6f8;padding:12px;border-radius:10px;font-size:13px;line-height:1.7;margin-top:12px}textarea{width:100%;min-height:110px;border:1px solid #cedde6;border-radius:12px;padding:12px;font:inherit;resize:vertical}.check{display:flex;align-items:center;gap:8px;font-size:14px}.check input{width:18px;height:18px;accent-color:#0b8878}.progress{height:8px;background:#e4edf2;border-radius:20px;overflow:hidden;margin:12px 0}.progress>div{height:100%;background:#0b9480;transition:width .2s}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.summary div{background:#edf6f4;border-radius:12px;padding:12px 5px}.summary b{display:block;font-size:20px}.summary small{font-size:10px;color:#607c8b}.notice{font-size:12px;line-height:1.6;color:#657d8c}.hide{display:none}.item{padding:10px 0;border-bottom:1px solid #edf1f4}.item:last-child{border:0}

.bottom-nav{position:fixed;top:auto;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:650px;z-index:30;box-shadow:0 -4px 24px #102b4020;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e0eaf0;border-bottom:0}.bottom-nav button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 1px 9px;font-size:10px;line-height:1.15;white-space:nowrap;border-bottom:0;border-top:3px solid transparent}.bottom-nav button.active{border-top:3px solid #087c70;border-bottom:0;background:#f0faf6}.navicon{font-size:23px;line-height:1;font-weight:700}.app{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.hero{padding:21px 20px 18px}.eyebrow{color:#0b8878;font-size:10px;letter-spacing:1.2px;font-weight:800;margin-bottom:8px}.home-intro{background:linear-gradient(125deg,#e6f6f1,#fff 72%)}.mascot{width:96px;height:96px;flex-shrink:0;border-radius:50%;background:#d8efe6;display:grid;place-items:center;font-size:55px;box-shadow:inset 0 -8px 0 #b9e1d1;transition:transform .2s}.mascot:hover{transform:scale(1.06)}.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.stat{background:#fff;border:1px solid #e1e9ef;border-radius:15px;padding:14px}.stat span{font-size:11px;color:#607c8b;display:block}.stat strong{font-size:25px;display:block;margin-top:6px}.weekgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week-day{text-align:center;border-radius:10px;background:#f0f4f7;padding:9px 1px;font-size:11px}.week-day strong{display:block;font-size:16px;margin-top:6px}.week-day.done{background:#dcf5e8;color:#086d56}.monthselect{padding:10px;border:1px solid #d3e1e8;border-radius:9px;background:#fff;font:inherit}.calday{width:100%;text-align:left;display:flex;gap:12px;align-items:center;border:0;border-bottom:1px solid #eaf0f3;background:white;padding:12px 2px;color:inherit;cursor:pointer}.calday .caldate{min-width:57px;font-size:12px;color:#547085}.calday .caltopic{font-weight:700;font-size:13px}.calday .calmeta{font-size:11px;color:#718698;margin-top:3px}.calday .calcheck{margin-left:auto;color:#07806e;font-weight:800}.review-item{border-bottom:1px solid #edf1f4;padding:12px 0}.review-item:last-child{border:0}.vocab-word{font-weight:750;font-size:15px}.vocab-full{font-size:12px;color:#5e798b}.vocab-jp{font-size:12px;color:#304f61}.speakbtn{border:0;background:#e9f5f1;border-radius:9px;color:#087c70;padding:8px 10px;cursor:pointer}.importLabel{display:block;margin-top:10px;background:#e9f1f6;color:#27516a;border-radius:11px;padding:12px;text-align:center;font-weight:700;font-size:13px;cursor:pointer}.importLabel input{display:block;margin:8px auto 0;max-width:100%;font-size:11px}.view{padding-bottom:12px}@media(max-width:370px){.bottom-nav button{font-size:9px}.navicon{font-size:20px}.mascot{width:78px;height:78px;font-size:45px}}
.mascot{width:132px;height:132px;background:radial-gradient(circle at 35% 25%,#fff9e8,#d5f4e5 65%,#9bd7bf);overflow:hidden;box-shadow:inset 0 -8px 0 #b6e2cf,0 5px 18px #0d55421b}.mascot svg{width:100%;height:100%;filter:drop-shadow(0 4px 2px #205a4933)}.dino-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.dino-stats>div{background:#fff;border-radius:11px;padding:9px 4px;text-align:center}.dino-stats small{display:block;font-size:10px;color:#5c7b79}.dino-stats strong{display:block;font-size:16px;margin-top:4px;color:#125c51}.mascot{font-size:55px}@media(max-width:370px){.mascot{width:106px;height:106px}.dino-stats strong{font-size:14px}}
