/* Account screens and course animations. No external CSS/JS dependencies. */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:35px 16px;background:radial-gradient(circle at 70% 14%,#e0eddd,transparent 38%),#f8f5ee}
.auth-card{width:min(100%,475px);padding:34px;display:flex;flex-direction:column;gap:15px}.auth-brand{font-size:15px;font-weight:900;color:#245c54;letter-spacing:.05em;margin-bottom:10px}.auth-card h1{font-size:clamp(30px,5vw,41px)}.auth-card>p{font-size:14px}.auth-card form{display:grid;gap:13px;margin-top:5px}.auth-card label,.rename-form label{font-size:12px;font-weight:800;color:#506860;display:grid;gap:6px}.auth-card input,.rename-form input,.share-link input{border:1px solid #d8e2d9;border-radius:12px;padding:12px 14px;min-height:45px;width:100%;background:#fff;color:#20383a;outline:none}.auth-card input:focus,.rename-form input:focus,.share-link input:focus{border-color:#2c8876;box-shadow:0 0 0 3px rgba(44,136,118,.13)}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:9px;font-size:13px;font-weight:700}.auth-help{font-size:11px!important;color:#78877d;line-height:1.6}.alert{padding:13px 15px;border-radius:12px;font-size:13px;line-height:1.5}.alert.error{background:#fbe9e4;border:1px solid #eac0b8;color:#a04d44}.alert.success{background:#e6f3e7;border:1px solid #c1dbc6;color:#326c4f}
.account-ribbon{background:#203e3b;color:#e8f6eb;font-size:12px}.account-ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:43px}.account-ribbon-actions{display:flex;gap:18px;align-items:center}.account-ribbon-actions a,.account-ribbon-actions button{font-size:12px;color:#e8f6eb;text-decoration:none}.account-ribbon form{margin:0}.account-logout,.plain-refresh{background:none;border:0;padding:3px 0;text-decoration:underline!important}.sync-status{color:#bed9c8}.sync-status.pending{color:#f0d497}.sync-status.error{color:#f4b0a6}.account-family-name{color:#bbd2ca}.family-shell{padding-top:34px;padding-bottom:60px}.account-top{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.family-heading{max-width:650px;margin:30px 0}.family-heading h1{margin:8px 0 12px}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:17px}.family-card{padding:26px;margin-bottom:16px}.family-card h2{font-size:28px;margin:10px 0}.family-card h3{margin:23px 0 10px}.family-card p{margin:10px 0 18px}.family-card form{margin:10px 0}.family-list{display:grid;gap:8px;margin:12px 0 20px}.family-button{display:flex;align-items:center;gap:13px;text-align:left;padding:14px;width:100%;border:1px solid #e0e5dd;border-radius:12px;background:#fff;color:#243a39}.family-button.active{border-color:#8cbca4;background:#eaf4e9}.family-button strong{font-size:14px}.family-button small{display:block;font-size:11px;color:#69847a}.member-list{list-style:none;padding:0;margin:10px 0;display:grid;gap:0}.member-list li{padding:11px 0;border-bottom:1px solid #e9e8df;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;overflow-wrap:anywhere}.member-list small{font-size:11px;color:#678078}.rename-form{display:grid;gap:11px;border-top:1px solid #eee9dd;padding-top:18px}.share-link{display:flex;align-items:center;gap:9px;margin:16px 0}.share-link input{font-size:12px;min-width:0}.invite-highlight{background:#ebf4e8}.family-card .btn.ghost{color:#a35047}.mini-guide{border:1px solid #dbe9dd;border-radius:15px;overflow:hidden;background:#f7fbf7;margin:16px 0 13px}.mini-guide-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;color:#416d60}.mini-guide-label{font-weight:800;font-size:11px}.mini-guide-progress{font-variant-numeric:tabular-nums;font-size:11px;color:#788b82;font-weight:800}.mini-guide-visual{padding:0 10px}.mini-guide-visual svg{display:block;width:100%;height:auto;max-height:225px;animation:mini-frame-in .24s ease}.mini-guide-bottom{padding:10px 13px 11px;display:flex;justify-content:space-between;align-items:center;gap:11px;border-top:1px solid #dce9df}.mini-guide-caption{font-size:12px!important;color:#365f54!important;margin:0!important;font-weight:700;flex:1}.mini-guide-buttons{display:flex;gap:5px}.mini-guide-buttons button{border:1px solid #bad6c5;background:white;color:#266557;border-radius:9px;width:34px;height:32px;font-size:20px;display:grid;place-items:center;line-height:1}.mini-guide-buttons button:hover{background:#e2efe6}@keyframes mini-frame-in{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:710px){.account-ribbon-inner{padding-top:10px;padding-bottom:10px;align-items:flex-start;flex-direction:column}.account-ribbon-actions{gap:12px;flex-wrap:wrap}.account-family-name{display:none}.family-grid{grid-template-columns:1fr}.auth-card{padding:25px}.family-card{padding:20px}.share-link{flex-direction:column;align-items:stretch}.mini-guide-visual{padding:0 4px}.mini-guide-bottom{flex-direction:column;align-items:flex-start}.mini-guide-buttons{align-self:flex-end}.mini-guide-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mini-guide-visual svg{animation:none}}
.hero-art .dog-figure{display:none}.hero-art::after{content:"";position:absolute;right:5%;bottom:-67px;width:300px;height:350px;background:url('hero-puppy.webp') center bottom/contain no-repeat;filter:drop-shadow(0 12px 12px #6b77482a)}
.lesson-visual{width:126px;aspect-ratio:1 / 1;flex-shrink:0;border-radius:17px;background-image:url('course-grid.webp');background-size:300% 300%;background-repeat:no-repeat;box-shadow:0 8px 18px #304b3818;border:3px solid #fffefa}
.photo-guide-frame{width:100%;max-width:700px;margin:0 auto;aspect-ratio:3/2;background:url('demo-frames.webp') no-repeat;background-size:200% 200%;border-radius:14px;animation:mini-frame-in .24s ease;box-shadow:0 9px 21px #50604b20}
@media(max-width:980px){.lesson-visual{width:110px}.hero-art::after{right:0;width:240px;height:300px;bottom:-50px}}
@media(max-width:710px){.lesson-visual{display:none}.hero-art::after{width:215px;height:250px;right:1%;bottom:-42px}}
.member-access{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #eceae3;padding:8px 0}.member-access span{font-size:13px;overflow-wrap:anywhere;min-width:0}.kk-privacy-link{display:block;text-align:center;padding:9px 12px 18px;font-size:12px;color:#628077}.privacy-shell{max-width:780px;margin:50px auto 80px}.privacy-shell h1{margin-bottom:25px}.privacy-shell h2{font-size:21px;margin:25px 0 10px}.privacy-shell p,.privacy-shell li{font-size:14px;line-height:1.7;color:#4d635a}.privacy-shell ul{padding-left:20px}
.lesson-visual-extra{background-image:url('course-extra.webp');background-size:300% 100%}
.kk-privacy-link a{color:inherit}
.withdrawal-action{display:inline-block;border:1px solid #9fb4a9;border-radius:9px;padding:7px 11px!important;margin-left:10px;font-weight:800!important;text-decoration:none!important;background:#fff;color:#245e50!important}.withdrawal-action:hover{background:#e7f3e8}
.shop-shell{max-width:850px;margin:44px auto 70px}.shop-shell>.brand{display:inline-flex;margin-bottom:26px}.shop-card,.shop-paywall{padding:clamp(22px,5vw,44px);margin:0 0 20px}.shop-card h1,.shop-paywall h1{font-size:clamp(31px,6vw,48px);margin:10px 0 18px}.shop-card h2{font-size:26px;margin:0 0 16px}.shop-card>p,.shop-paywall>p{color:#627c72;line-height:1.7}.shop-price{color:#265d50;font-size:46px;font-weight:900;margin:24px 0}.shop-price small{display:block;font-size:14px;font-weight:500;color:#648076}.shop-checkout-line{padding:18px 0;margin:28px 0 8px;border-top:1px solid #e0e8df;border-bottom:1px solid #e0e8df;display:flex;align-items:center;justify-content:space-between;gap:16px}.shop-checkout-line span{font-weight:800;font-size:16px}.shop-checkout-line small{font-size:12px;font-weight:400;color:#71887d}.shop-checkout-line strong{font-size:31px;white-space:nowrap;color:#245e50}.shop-vat,.shop-note{font-size:12px!important;color:#758980!important}.shop-info{padding:16px;border:1px solid #e1e9df;border-radius:14px;background:#f7faf4;color:#506a60;font-size:13px;line-height:1.8;margin:20px 0}.shop-info a{color:#296757}.shop-consents{display:grid;gap:15px;margin-top:24px}.shop-consents label{display:flex;align-items:flex-start;gap:12px;line-height:1.6;color:#405d52;font-size:13px;cursor:pointer}.shop-consents input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:#2e8a6a;margin-top:1px}.shop-submit{justify-self:start;margin-top:8px}.shop-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;margin-top:28px}.shop-form{display:grid;gap:15px;max-width:600px}.shop-form label{font-size:13px;font-weight:750;color:#486b5c;display:grid;gap:7px}.shop-form input,.shop-form textarea{font:inherit;color:#243d36;padding:12px 14px;border:1px solid #d4e0d6;border-radius:10px;background:#fff;width:100%;max-width:100%}.shop-form button{justify-self:start}.honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.shop-admin{max-width:1100px}.shop-table-scroll{overflow-x:auto}.shop-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.shop-table th,.shop-table td{padding:12px 10px;border-bottom:1px solid #e5ebe2;white-space:nowrap}.shop-table th{color:#607b6f}.shop-admin .shop-card{margin-bottom:24px}.shop-admin code{overflow-wrap:anywhere}
@media(max-width:600px){.shop-shell{margin:22px auto 45px}.shop-card,.shop-paywall{padding:24px 19px}.shop-checkout-line{align-items:flex-start}.shop-checkout-line span{font-size:14px}.shop-checkout-line strong{font-size:26px}.shop-submit{width:100%;font-size:14px}.shop-price{font-size:38px}}
/* Optional collapsible learning tools, shared among family members. */
.learning-dashboard{padding-top:21px;padding-bottom:0}
.learning-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:start}
.learning-panel{min-width:0;overflow:hidden;box-shadow:0 6px 20px #4f695012;background:#fffefa}
.learning-panel summary{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:15px 17px;cursor:pointer;list-style:none;font-weight:850;color:#2b6554;font-size:13px}
.learning-panel summary::-webkit-details-marker{display:none}
.learning-panel summary::after{content:'⌄';font-size:19px;color:#8ba89a;line-height:1}
.learning-panel[open] summary::after{content:'⌃'}
.learning-panel summary:focus-visible{outline:3px solid #b8d9c3;outline-offset:-3px}
.learning-panel summary small{color:#738b7c;font-weight:750;white-space:nowrap;font-size:11px;margin-left:auto}
.learning-panel-content{border-top:1px solid #e5ebe0;padding:13px 15px 18px;max-height:340px;overflow-y:auto}
.learning-hint,.learning-empty{color:#688376;font-size:12px;line-height:1.65;margin:0 0 10px}
.learning-empty{margin:5px 0}
.learning-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #edf0e9;font-size:12px}
.learning-entry:last-child{border-bottom:0}
.learning-entry strong,.learning-entry small{display:block}
.learning-entry strong{color:#34594c;line-height:1.35}
.learning-entry small{color:#86948b;margin-top:5px;line-height:1.4}
.learning-go{flex:none;border:1px solid #cce2d2;background:#e9f4e9;color:#296a56;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800}
.learning-go:hover{background:#d9eddd}
.learning-result{flex:none;border-radius:12px;padding:5px 7px;background:#f0f4ed;font-size:10px;font-weight:800;color:#5f806d}
.learning-result.no{background:#fbe9de;color:#a16542}
.learning-result.almost{background:#fff3d9;color:#9b7841}
.learning-medal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.learning-medal{display:grid;justify-items:center;text-align:center;align-content:start;gap:5px;padding:11px 7px;border-radius:12px;background:#f5f6ef;border:1px solid #e5e8df}
.learning-medal span{font-size:24px}
.learning-medal strong{font-size:11px;color:#38574c;line-height:1.3}
.learning-medal small{font-size:10px;color:#7f9283}
.learning-medal.earned{background:#fff2cf;border-color:#ead8a0}
.learning-medal.locked{opacity:.63}
.learning-diploma{display:flex;margin-top:14px;font-size:12px}
.learning-alert{background:#fff5e6;border:1px solid #ead6b9;border-radius:12px;color:#865e3c;padding:11px 14px;margin-top:10px;font-size:12px}
@media(max-width:900px){.learning-panels{grid-template-columns:1fr}.learning-panel-content{max-height:420px}}
.exercise-help{margin:17px 0 19px;border:1px solid #d8e7d7;border-radius:14px;background:#f3f8ee;overflow:hidden}
.exercise-help summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:13px 16px;font-size:13px;font-weight:850;color:#2c6954}
.exercise-help summary::-webkit-details-marker{display:none}
.exercise-help summary::after{content:'+';font-size:21px;color:#729883}
.exercise-help[open] summary::after{content:'−'}
.exercise-help p{margin:0;padding:0 16px 8px;color:#395f50;line-height:1.65;font-size:13px}
.exercise-help small{display:block;padding:0 16px 15px;color:#74877d;font-size:11px;line-height:1.55}
.shop-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.shop-stat{background:#f1f6ef;border:1px solid #dbe8d9;border-radius:15px;padding:17px 15px;display:flex;flex-direction:column;gap:6px;min-width:0}
.shop-stat span{font-size:12px;font-weight:750;color:#597b6b;line-height:1.35}
.shop-stat strong{font-size:clamp(22px,2.6vw,32px);color:#265f50;line-height:1.1;overflow-wrap:anywhere}
.shop-stat small{font-size:11px;color:#71867a;line-height:1.5}
.shop-stat-note{font-size:11px!important;color:#7b8b7e!important;line-height:1.6}
@media(max-width:850px){.shop-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.shop-stat-grid{gap:8px}.shop-stat{padding:13px 10px}.shop-stat strong{font-size:22px}}
