:root{--green:#0b6b48;--green2:#18a95f;--ink:#15352b;--muted:#71827c;--bg:#f7faf8;--line:#dfe9e4;--shadow:0 16px 40px rgba(22,75,55,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}
#app{min-height:100vh;padding-bottom:82px}.app-header{position:sticky;top:0;z-index:30;height:82px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);display:grid;grid-template-columns:48px 1fr 48px;align-items:center;padding:8px 14px;border-bottom:1px solid #edf3f0}
.brand-wrap{display:flex;justify-content:center;align-items:center}.brand-logo{height:68px;max-width:210px;object-fit:contain}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid #d8e5df;background:#fff;display:grid;place-items:center;color:var(--green);font-weight:900}.icon-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}.icon-btn.back{font-size:35px;line-height:1}
.screen{max-width:760px;margin:0 auto;padding:0 14px 18px}.welcome{padding:18px 2px 12px}.welcome h1{font-size:26px;line-height:1.08;margin:0 0 5px}.welcome p{margin:0 0 16px;color:var(--muted);font-size:14px}
.searchbox{height:50px;background:white;border:1px solid #dbe7e1;border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:0 4px 16px rgba(24,76,58,.04)}.searchbox svg{width:21px;height:21px;fill:none;stroke:#668078;stroke-width:2}.searchbox input{border:0;outline:0;background:transparent;width:100%;font-size:15px;color:#223f36}
.section-row{display:flex;justify-content:space-between;align-items:end;margin:16px 2px 10px}.section-row h2{margin:0;font-size:19px}.section-row span{font-size:12px;color:var(--muted);font-weight:750}
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.category-card{border:0;border-radius:20px;padding:14px 12px 13px;min-height:135px;text-align:left;position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(23,68,52,.08);background:var(--soft)}.category-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;background:rgba(255,255,255,.48);right:-28px;top:-24px}.category-icon{width:54px;height:54px;border-radius:17px;background:var(--accent);display:grid;place-items:center;color:#fff;margin-bottom:10px;box-shadow:0 8px 16px color-mix(in srgb,var(--accent) 26%,transparent);position:relative;z-index:2}.category-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.category-card b{display:block;font-size:15px;line-height:1.1;position:relative;z-index:2}.category-card small{display:block;color:#587068;font-size:11px;margin-top:4px;position:relative;z-index:2}
.home-banner{margin:18px 0 8px;border-radius:21px;background:linear-gradient(125deg,#fff3c7,#fff9e4);padding:17px;display:flex;justify-content:space-between;align-items:center;min-height:104px;border:1px solid #f5e7b8}.home-banner strong{display:block;color:#0f5b3f;font-size:20px;line-height:1.05}.home-banner span{display:block;color:#6b725d;margin-top:6px;font-size:12px}.banner-art{font-size:50px;transform:rotate(-8deg)}
.bonus-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory}.bonus-card{min-width:185px;background:white;border:1px solid var(--line);border-radius:18px;padding:13px;scroll-snap-align:start;text-align:left}.bonus-card .bonus-ico{width:42px;height:42px;border-radius:13px;background:var(--soft);display:grid;place-items:center;font-size:24px}.bonus-card b{display:block;margin-top:9px;font-size:13px;line-height:1.12}.bonus-card small{color:var(--muted);font-size:11px}
.category-head{margin:16px 0 12px;border-radius:24px;padding:19px;background:linear-gradient(135deg,var(--soft),#fff);border:1px solid color-mix(in srgb,var(--accent) 15%,#dfe9e4)}.category-head .head-icon{width:62px;height:62px;border-radius:20px;background:var(--accent);color:white;display:grid;place-items:center;margin-bottom:12px}.category-head .head-icon svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:2.2}.category-head h1{font-size:26px;line-height:1.04;margin:0}.category-head p{color:#60756e;font-size:13px;line-height:1.45;margin:8px 0 0}
.level-scroll{display:flex;gap:8px;overflow-x:auto;padding:1px 0 11px}.level-btn{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;color:#557068}.level-btn.active{background:var(--green);border-color:var(--green);color:#fff}.category-search-wrap{margin-bottom:14px}
.activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.activity-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;padding:0;text-align:left;box-shadow:0 6px 18px rgba(20,65,49,.06)}.activity-thumb{height:126px;background:#f0f6f3;overflow:hidden}.activity-thumb svg{width:100%;height:100%;display:block}.activity-info{padding:11px}.activity-info h3{font-size:13px;line-height:1.2;margin:0 0 7px;min-height:31px}.activity-tags{display:flex;gap:5px;flex-wrap:wrap}.mini-tag{font-size:9px;font-weight:850;border-radius:999px;padding:4px 6px;background:#edf5f1;color:#537067}.open-row{font-size:11px;font-weight:900;color:var(--green);margin-top:8px}
.detail-shell{padding-top:14px}.detail-meta{display:flex;gap:7px;flex-wrap:wrap}.detail-meta span{border-radius:999px;background:#eaf5ef;color:var(--green);font-size:11px;font-weight:850;padding:6px 9px}.detail-shell>h1{font-size:24px;line-height:1.08;margin:11px 0 5px}.detail-shell>p{margin:0 0 14px;color:var(--muted);font-size:13px}.worksheet-stage{background:#dbe5df;border-radius:20px;padding:8px;overflow:auto;box-shadow:inset 0 0 0 1px #d2ded8}.worksheet-stage svg{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.download-actions{display:grid;gap:9px;margin:13px 0 22px}.download-actions button{border:0;border-radius:17px;padding:13px 15px;display:flex;align-items:center;gap:13px;text-align:left}.download-actions button>span{font-size:23px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px}.download-actions b{display:block;font-size:14px}.download-actions small{display:block;margin-top:2px;font-size:11px;opacity:.8}.primary-action{background:var(--green);color:#fff}.primary-action>span{background:rgba(255,255,255,.15)}.secondary-action{background:white;color:var(--green);border:1px solid #dbe7e1!important}.secondary-action>span{background:#eaf5ef}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;height:72px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid #dfe9e4;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.navitem{border:0;background:transparent;color:#536d65;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.navitem span{font-size:24px;line-height:1}.navitem small{font-size:10px;font-weight:750}.navitem.active{color:var(--green)}
@media(min-width:620px){.category-grid{grid-template-columns:repeat(3,1fr)}.activity-grid{grid-template-columns:repeat(3,1fr)}}
@media print{.app-header,.bottom-nav,.detail-meta,.detail-shell>h1,.detail-shell>p,.download-actions{display:none!important}.screen{padding:0!important;max-width:none!important}.worksheet-stage{padding:0!important;background:white!important;box-shadow:none!important}.worksheet-stage svg{width:210mm!important;max-width:210mm!important;box-shadow:none!important;border-radius:0!important}body{background:white!important}}
