:root{--ink:#263a30;--deep:#1d342a;--muted:#667267;--cream:#f5f2e9;--paper:#fffefb;--line:#dedfd5;--sage:#e7ece3;--ochre:#d5ad6d;--clay:#b47455;--shadow:0 12px 32px rgba(32,48,37,.08)}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a67145;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.rail{background:#f0f0e9;border-right:1px solid var(--line);min-height:100vh;padding:33px 22px 28px;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column}.brand{font-family:Georgia,serif;font-size:29px;font-weight:bold;letter-spacing:-1.8px;display:flex;align-items:center;gap:9px;color:#294839}.brand-period,.title-dot{color:var(--clay)}.brand-mark{font-family:Arial;font-size:24px;color:var(--clay)}.rail-label,.eyebrow,.topbar-title{font-size:.72rem;letter-spacing:.17em;font-weight:700;color:#697769}.rail-label{margin:58px 0 15px}.rail-dog{display:flex;align-items:center;gap:11px;padding-bottom:29px;border-bottom:1px solid var(--line)}.rail-photo{height:46px;width:46px;flex:none;border-radius:50%;overflow:hidden;background:#bdc5b6}.rail-photo img{width:100%;height:100%;object-fit:cover}.rail-dog strong{display:block;font-family:Georgia,serif;font-size:1.12rem;font-weight:normal}.rail-dog small{font-size:.78rem;color:var(--muted)}.rail-nav{display:grid;gap:7px;margin-top:27px}.nav-item{width:100%;border:0;background:none;text-align:left;color:#526155;padding:12px 13px;min-height:49px;border-radius:8px;display:flex;align-items:center;gap:16px;font-size:.95rem}.nav-item:hover,.nav-item.active{background:#dfe7db;color:#294839}.nav-item.active{font-weight:700}.nav-symbol{font-size:1.45rem;width:24px;text-align:center;line-height:1}.rail-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 5px 0}.rail-bottom p{font-family:Georgia,serif;color:#566657;font-size:.92rem;line-height:1.5}.quiet-link,.text-link{color:#3a5a44;background:none;border:0;padding:7px 0;font-weight:700;text-decoration:underline;text-decoration-color:#aeb9aa;text-underline-offset:5px}.quiet-link{font-size:.82rem}main{padding:0 clamp(26px,5vw,86px) 90px;max-width:1600px;width:100%;margin:auto;min-width:0}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.topbar-title{color:#536957}.topbar-title span{color:#929a8c}.topbar-action{border:0;background:transparent;color:#3c5946;font-size:.84rem;font-weight:700;padding:12px}.view{display:none}.view.active{display:block}.home-intro{padding:43px 0 30px}.eyebrow{margin:0 0 12px}.home-intro h1,.page-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.045em;line-height:1.06;font-size:clamp(2.8rem,5vw,4.8rem);margin:0}.intro-copy,.page-head>p:last-of-type{color:#647165;font-size:1.07rem;max-width:580px;margin:14px 0 0}.home-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:clamp(25px,3.2vw,54px)}.portrait{height:clamp(310px,39vw,570px);position:relative;overflow:hidden;background:#c6cfbe;border-radius:3px}.portrait>img{height:100%;width:100%;object-fit:cover;object-position:center 46%}.photo-caption{position:absolute;bottom:0;left:0;right:0;color:white;display:flex;gap:15px;align-items:center;padding:31px 29px 23px;background:linear-gradient(transparent,rgba(17,33,25,.67));font-family:Georgia,serif;font-size:1.12rem;line-height:1.35}.caption-mark{font-size:1.9rem;color:#e4c28d}.side-column{display:flex;flex-direction:column;gap:19px}.next-card{background:var(--deep);color:#fbf8ed;padding:clamp(25px,3.2vw,43px);border-radius:3px;min-height:390px}.next-card .eyebrow{color:#c8d6c6}.small-line{display:block;width:33px;height:2px;background:#d9b786;margin:28px 0}.next-card h2{font-family:Georgia,serif;font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:normal;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px}.next-card>p:not(.eyebrow){color:#dce4d9;margin:0 0 25px}.why{border-top:1px solid #617164;padding-top:18px;display:flex;gap:14px}.why-icon{color:#e4c28d;font-size:1.2rem}.why strong{font-size:.84rem}.why p{margin:6px 0 22px;color:#d3ded4;font-size:.9rem}.button-primary,.button-secondary{min-height:49px;padding:11px 18px;border-radius:4px;border:1px solid transparent;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:16px;text-align:center}.button-primary{background:var(--ochre);color:#263729}.button-primary:hover{background:#e6bd7b}.next-card .button-primary{width:100%}.button-secondary{background:#edf0e8;color:var(--deep);border-color:#cdd7ca}.button-secondary:hover{background:#dbe6d8}.note-card{display:flex;gap:19px;background:#ebece4;padding:25px;border-radius:3px}.note-icon{width:36px;height:36px;border:1px solid #9caa98;border-radius:50%;display:grid;place-items:center;flex:none}.note-card h3,.care-peek h3{font-family:Georgia,serif;font-size:1.4rem;font-weight:normal;margin:0}.note-card p:not(.eyebrow),.care-peek p:not(.eyebrow){font-size:.91rem;color:#607062;margin:7px 0}.care-peek{border-top:1px solid var(--line);padding:22px 7px}.section-block{padding-top:48px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}.section-heading h2{font-family:Georgia,serif;font-weight:normal;font-size:1.8rem;margin:0;letter-spacing:-.025em}.section-heading .eyebrow{margin-bottom:4px}.discovery-list{border-top:1px solid var(--line)}.discovery-row{display:flex;align-items:start;gap:16px;border-bottom:1px solid var(--line);padding:19px 3px}.discovery-symbol{border-radius:50%;width:34px;height:34px;flex:none;background:#e0e7dc;color:#365a41;display:grid;place-items:center;font-size:1rem}.discovery-row strong{display:block;font-size:.96rem;font-weight:600}.discovery-row small{display:block;font-size:.8rem;color:#7b8379;margin-top:4px}.empty-copy{color:var(--muted);padding:20px 0}.page-head{padding:57px 0 37px}.page-head h1{font-size:clamp(2.7rem,4.7vw,4.4rem)}.page-head .button-primary{margin-top:24px}.activity-feature{background:#dfe9dd;border-top:3px solid #58745a;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.activity-feature h2{font:normal 1.8rem Georgia,serif;margin:0 0 8px}.activity-feature p:not(.eyebrow){max-width:650px;margin:0;color:#506554}.activity-heading{margin:45px 0 20px}.activity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.activity-card{border:1px solid var(--line);background:var(--paper);padding:23px;display:flex;flex-direction:column;min-height:255px}.activity-card .eyebrow{color:#8a7258}.activity-card h3{font:normal 1.5rem Georgia,serif;margin:0 0 10px}.activity-card p:not(.eyebrow){color:#667167;margin:0 0 20px;font-size:.92rem}.activity-card button{margin-top:auto;align-self:start}.journal-layout,.care-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:34px}.journal-list{border-top:1px solid var(--line)}.journal-entry{border-bottom:1px solid var(--line);padding:21px 0;display:grid;grid-template-columns:85px 1fr;gap:18px}.journal-entry time{color:#7a8578;font-size:.78rem}.journal-entry strong{font-size:.79rem;color:#597358;text-transform:uppercase;letter-spacing:.1em}.journal-entry p{margin:5px 0;font-family:Georgia,serif;font-size:1.17rem;line-height:1.46}.journal-entry small{color:#798277}.journal-aside,.care-guidance{padding:31px;background:#e6e9de;align-self:start}.journal-aside h2,.care-guidance h2,.care-card h2{font:normal 1.75rem Georgia,serif;margin:0 0 12px}.journal-aside>p:not(.eyebrow),.care-guidance>p:not(.eyebrow){color:#5e6c5f;font-size:.93rem}.good-item{border-top:1px solid #c8d2c3;padding:13px 0;font-family:Georgia,serif}.good-item small{display:block;font:normal .77rem Arial,sans-serif;color:#798277;margin-top:4px}.care-card{background:var(--paper);border:1px solid var(--line);padding:31px}.care-list{margin:23px 0}.care-item{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:20px}.care-item span{color:#70806f;font-size:.83rem}.care-item button{background:none;border:0;color:#4b694f;text-decoration:underline}.line-art{display:block;color:#a97958;font-size:3rem;margin-bottom:25px}.mobile-nav{display:none}.modal{border:0;border-radius:5px;padding:0;background:var(--paper);box-shadow:var(--shadow);color:var(--ink);width:min(92vw,520px);max-height:88vh;overflow:auto}.modal::backdrop{background:rgba(20,33,26,.62)}.modal form,.activity-modal{padding:37px;position:relative}.modal h2{font:normal 2rem Georgia,serif;margin:0 30px 14px 0}.modal-intro,.field-help{color:#667466;font-size:.92rem}.modal label{display:block;margin:19px 0 6px;font-weight:700;font-size:.88rem}.modal input,.modal select,.modal textarea{width:100%;border:1px solid #aab7aa;border-radius:3px;padding:11px;background:#fff;color:var(--ink);min-height:47px}.modal textarea{resize:vertical}.modal .button-primary{margin-top:22px;width:100%}.modal-close{position:absolute;right:21px;top:17px;border:0;background:none;font-size:1.7rem;color:var(--ink);height:44px;width:44px}.activity-modal>p:not(.eyebrow){color:var(--muted)}.activity-modal ol{padding-left:22px;margin:24px 0}.activity-modal li{margin:14px 0}.welfare-note{background:#e8eee5;padding:16px;border-left:3px solid #5b795f;font-size:.9rem}.modal-dismiss{display:block;margin:13px auto 0}.toast{position:fixed;bottom:25px;right:25px;padding:13px 20px;background:var(--deep);color:white;box-shadow:var(--shadow);border-radius:3px;display:none;z-index:20}.toast.visible{display:block}@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.rail{padding:25px 15px}.home-grid{grid-template-columns:1fr}.portrait{height:440px}.side-column{display:grid;grid-template-columns:1fr 1fr}.next-card{grid-row:span 2}.activity-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.app-shell{display:block}.rail{display:none}main{padding:0 20px 100px}.topbar{height:66px}.home-intro{padding:31px 0 24px}.home-grid{display:block}.portrait{height:clamp(290px,65vw,450px)}.side-column{display:block}.next-card{margin-top:20px;min-height:auto}.note-card{margin-top:17px}.care-peek{margin-top:17px}.section-block{padding-top:36px}.page-head{padding-top:37px}.mobile-nav{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;background:#fbfaf5;border-top:1px solid #d1d9cc;justify-content:space-around;padding:5px 3px max(7px,env(safe-area-inset-bottom))}.mobile-nav button{min-height:57px;min-width:65px;border:0;background:none;color:#647365;font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.mobile-nav button span{font-size:1.45rem;line-height:1.3}.mobile-nav button.active{color:#274534;font-weight:700}.activity-feature{display:block}.activity-feature button{margin-top:20px}.journal-layout,.care-layout{grid-template-columns:1fr}.journal-aside{order:2}.toast{left:15px;right:15px;bottom:85px}.activity-list{grid-template-columns:1fr}}@media(max-width:450px){.home-intro h1,.page-head h1{font-size:2.7rem}.section-heading{align-items:start}.section-heading h2{font-size:1.55rem}.photo-caption{padding:35px 18px 17px}.modal form,.activity-modal{padding:28px 22px}.journal-entry{grid-template-columns:67px 1fr;gap:10px}.note-card{padding:20px}}@media(prefers-reduced-motion:no-preference){.view.active{animation:fade .2s ease}@keyframes fade{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}}
.adventure-banner{background:#e4eadd;border:1px solid #c6d2bf;padding:25px;margin-bottom:28px;display:grid;grid-template-columns:1fr auto;gap:18px}.adventure-banner h2{font:normal 1.8rem Georgia,serif;margin:0}.adventure-banner p{margin:9px 0;color:#4f654f}.adventure-progress{min-width:125px;align-self:center;font-size:.88rem;color:#496347}.adventure-progress progress{display:block;width:100%;height:8px;margin-top:8px;accent-color:#496d46}.adventure-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.adventure-step{border:1px solid #bdcdb5;background:#f6f7ef;color:#304e37;border-radius:5px;min-height:77px;padding:11px;display:flex;gap:10px;text-align:left;font-size:.9rem;align-items:center}.step-number{border:1px solid #8fa284;border-radius:50%;width:26px;height:26px;flex:none;display:grid;place-items:center}.adventure-step small{display:block;font-size:.76rem;color:#687b60}.adventure-step.explored{background:#d2e0c8}.adventure-complete{grid-column:1/-1}.inline-link{border:0;background:none;color:inherit;text-decoration:underline;font-weight:bold;padding:0}.human-game-card{margin:25px 0;background:#e9d7ba;padding:25px;display:flex;justify-content:space-between;gap:24px;align-items:center}.human-game-card h2{font:normal 1.8rem Georgia,serif;margin:0}.human-game-card p{margin:8px 0}.timing-track{height:80px;background:#e0e8db;position:relative;margin:30px 14px;border-radius:5px}.timing-target{position:absolute;left:44%;width:12%;height:100%;background:#a6bd96;border-left:2px solid #496c43;border-right:2px solid #496c43}#timing-dot{width:25px;height:25px;border-radius:50%;background:#293f32;border:3px solid #fff;position:absolute;left:0;top:27px;transform:translateX(-50%)}.timing-score{font:normal 3rem Georgia,serif;color:#466b41;margin-top:23px}.timing-score span{display:block;font:normal 1rem Arial,sans-serif}.dog-choice{display:flex;width:100%;justify-content:space-between;padding:15px;background:#e9eee3;border:1px solid #c5d3ba;margin-bottom:8px;color:#2e4533;text-align:left}.dog-choice span{font-size:.82rem}.pattern-row{background:#e7ecdf;padding:16px;margin-bottom:10px;border-left:3px solid #6c885c}.pattern-row p{margin:5px 0}.pattern-row small{color:#66755b}.entry-actions button{font-size:.82rem}.no-photo{background:linear-gradient(135deg,#c6d4bb,#92aa84)}.no-photo .photo-caption{top:0;display:flex;flex-direction:column;justify-content:center;text-align:center;background:none;color:#284330}.portrait-initial{font:normal 8rem Georgia,serif}.top-actions{display:flex}.top-actions button{min-height:44px}.field-help{line-height:1.5}#install-app[hidden]{display:none}.human-game-card .button-primary{flex-shrink:0}@media(max-width:1100px){.adventure-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.adventure-banner{padding:18px;grid-template-columns:1fr}.adventure-progress{width:100%}.adventure-banner h2{font-size:1.55rem}.adventure-step{font-size:.84rem;min-height:85px}.human-game-card{display:block}.human-game-card button{margin-top:16px}.home-grid{display:flex;flex-direction:column}.side-column{order:-1}.main-column{margin-top:20px}.portrait{height:280px}.topbar-action{padding:9px}.topbar-title{font-size:.68rem}.next-card{margin-top:0}}

.timing-attempts{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:18px 0}.timing-attempt{padding:8px 2px;background:#e9ece5;border:1px solid #cad4c2;text-align:center;font-size:.78rem;border-radius:3px}.timing-attempt strong{display:block;font-size:.95rem}.timing-attempt.is-clear{background:#d1e2c4;border-color:#608350;color:#274220}

/* Adventure Edition: visible progress, warmth and grown-up delight */
:root{--deep:#173b32;--cream:#f7f2e8;--sage:#dfeedd;--ochre:#efb54f;--clay:#d66f52;--teal:#368b83;--plum:#745b85;--sky:#81b7c5;--shadow:0 14px 34px rgba(32,48,37,.12)}
body{background:linear-gradient(145deg,#fbf7ee 0%,#f2efe4 55%,#edf3e9 100%)}
.rail{background:linear-gradient(180deg,#173b32 0%,#214c3f 100%);border:0;color:#fff}.brand,.rail-dog strong,.rail-bottom p{color:#fff}.brand-mark,.brand-period{color:#ffbd58}.rail-label,.rail-dog small{color:#bbd3c8}.rail-dog{border-color:rgba(255,255,255,.16)}.rail-nav .nav-item{color:#d9e7df}.rail-nav .nav-item:hover,.rail-nav .nav-item.active{background:#fff2cf;color:#173b32;box-shadow:0 7px 18px rgba(0,0,0,.14)}.rail-bottom{border-color:rgba(255,255,255,.16)}.rail-bottom .quiet-link{color:#fff;text-decoration-color:#f0bd63}.topbar{border-bottom:0}.topbar-title{color:#486a58}.topbar-action{background:#fff;border:1px solid #d8dfd3;border-radius:999px;margin-left:6px}.button-primary{background:linear-gradient(135deg,#efb54f,#f39a4c);box-shadow:0 7px 15px rgba(201,118,43,.23);border-radius:10px}.button-primary:hover{background:linear-gradient(135deg,#f8c86c,#efa05a);transform:translateY(-1px)}.button-secondary{border-radius:10px}.home-intro{padding-bottom:21px}

.progress-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.glance-card{min-height:128px;padding:18px;border-radius:18px;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;position:relative;overflow:hidden;box-shadow:var(--shadow)}.glance-card::after{content:"";position:absolute;width:90px;height:90px;border:18px solid rgba(255,255,255,.09);border-radius:50%;right:-35px;bottom:-42px}.glance-adventure{background:linear-gradient(135deg,#3d8f78,#24695c)}.glance-noticing{background:linear-gradient(135deg,#d96f53,#b9534a)}.glance-clarity{background:linear-gradient(135deg,#6f6697,#554979)}.glance-rewards{background:linear-gradient(135deg,#e6a739,#c67b27)}.glance-icon{font-size:1.5rem;line-height:1}.glance-card small{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:rgba(255,255,255,.82)}.glance-card strong{display:block;font:normal 2rem/1 Georgia,serif;margin-top:8px}.glance-card strong span{font-size:1rem}.glance-card p{font-size:.78rem;margin:6px 0 0;color:rgba(255,255,255,.84)}.mini-ring{--progress:0;width:54px;height:54px;border-radius:50%;background:conic-gradient(#ffd876 calc(var(--progress)*1%),rgba(255,255,255,.2) 0);display:grid;place-items:center;position:relative}.mini-ring::before{content:"";position:absolute;inset:6px;background:#347c6b;border-radius:50%}.mini-ring span{position:relative;font-size:.72rem;font-weight:bold}

.adventure-banner{background:linear-gradient(135deg,#fff4d7 0%,#ffe7c5 100%);border:0;border-radius:22px;padding:27px;margin-bottom:28px;grid-template-columns:1fr auto;box-shadow:0 13px 30px rgba(105,76,37,.11);position:relative;overflow:hidden}.adventure-banner::before{content:"✦";position:absolute;right:22%;top:-35px;font-size:8rem;color:rgba(214,111,82,.08);transform:rotate(17deg)}.adventure-copy,.adventure-level,.adventure-track,.adventure-steps,.badge-shelf,.adventure-complete{position:relative}.adventure-banner h2{font-size:2rem;color:#553b2e}.adventure-banner .eyebrow{color:#a94f3b}.adventure-level{background:#173b32;color:white;width:88px;height:88px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 7px 0 rgba(23,59,50,.13)}.adventure-level strong{font:normal 1.7rem Georgia,serif}.adventure-level span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.adventure-track{grid-column:1/-1;height:13px;border-radius:999px;background:rgba(113,75,45,.14);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}.adventure-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#db684f,#f4b244,#4f9777);position:relative}.adventure-track span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:progress-shimmer 2.8s ease-in-out infinite}.adventure-steps{gap:12px}.adventure-step{background:rgba(255,255,255,.75);border:1px solid #ebc89c;border-radius:15px;min-height:88px;padding:13px;position:relative;box-shadow:0 5px 12px rgba(91,64,39,.07);transition:transform .18s ease,box-shadow .18s ease}.adventure-step:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(91,64,39,.13)}.adventure-step:nth-child(2){border-color:#b9cfda}.adventure-step:nth-child(3){border-color:#c9bbd9}.adventure-step:nth-child(4){border-color:#acd1c2}.adventure-step.explored{background:linear-gradient(145deg,#d8f0d7,#edf7e9);border-color:#86b681}.adventure-step.explored .step-number{background:#438268;color:#fff;border-color:#438268}.step-number{background:#fff;border:2px solid #ce8a59;color:#9a5337;font-weight:800;width:31px;height:31px}.step-spark{margin-left:auto;color:#e39a2d;font-size:1.25rem}.badge-shelf{grid-column:1/-1;display:flex;gap:10px;overflow-x:auto;padding:4px 2px 3px}.story-badge{min-width:96px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:13px;text-align:center}.story-badge b{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;font-size:1.2rem}.story-badge small{font-size:.7rem;font-weight:700}.story-badge.earned{background:#fff;color:#563f32;box-shadow:0 4px 10px rgba(92,65,39,.1)}.story-badge.earned b{background:linear-gradient(135deg,#efb54f,#e26c50);color:#fff;box-shadow:0 3px 0 #be7551}.story-badge.locked{opacity:.47;background:rgba(255,255,255,.35)}.story-badge.locked b{background:#ded6c7;color:#8b8378}.adventure-complete{grid-column:1/-1;background:#173b32;color:#fff;padding:16px 19px;border-radius:14px;display:grid;grid-template-columns:auto 1fr;column-gap:12px}.adventure-complete>span{grid-row:span 2;color:#ffd46c;font-size:1.5rem}.adventure-complete p{margin:2px 0 0;color:#cde0d5}

.next-card{background:linear-gradient(150deg,#173b32,#276052);border-radius:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.next-card::after{content:"↗";position:absolute;right:-14px;top:-44px;font:normal 10rem Georgia,serif;color:rgba(255,255,255,.045)}.note-card{background:linear-gradient(135deg,#e5e1f1,#f0eaf6);border-radius:18px;border-left:5px solid var(--plum)}.note-icon{background:var(--plum);color:#fff;border:0}.care-peek{background:linear-gradient(135deg,#dcedeb,#edf6f4);border:0;border-left:5px solid var(--teal);border-radius:18px;padding:22px}.portrait{border-radius:22px;box-shadow:var(--shadow)}.photo-caption{background:linear-gradient(transparent,rgba(18,48,39,.85))}.pattern-row{display:flex;gap:12px;background:linear-gradient(135deg,#e2f0df,#f3f7ec);border-left:5px solid #57916a;border-radius:0 14px 14px 0;box-shadow:0 4px 13px rgba(43,78,50,.07)}.pattern-pulse{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:#57916a;color:#fff}.pattern-row>div{flex:1}.evidence-bar{height:9px;display:flex;background:#ddd;border-radius:999px;overflow:hidden;margin:10px 0 6px}.evidence-bar span{flex:var(--value) 0 7px;min-width:calc(var(--value)*7px)}.evidence-positive{background:#4b9672}.evidence-uncertain{background:#e5ad43}.evidence-space{background:#ce6b58}

.activity-feature{background:linear-gradient(135deg,#cae8df,#e5f3ea);border:0;border-left:7px solid var(--teal);border-radius:18px;box-shadow:0 7px 17px rgba(50,110,89,.1)}.human-game-card{background:linear-gradient(135deg,#f9d98d,#efbd65);border-radius:18px;box-shadow:0 8px 18px rgba(171,110,35,.13)}.activity-card{border:0;border-radius:18px;box-shadow:0 8px 18px rgba(35,59,44,.09);position:relative;overflow:hidden;border-top:7px solid var(--teal)}.activity-card:nth-child(2n){border-top-color:var(--clay);background:#fffaf7}.activity-card:nth-child(3n){border-top-color:var(--plum);background:#fcfaff}.activity-card:nth-child(4n){border-top-color:#d99b30;background:#fffaf0}.activity-card--communication{border-top-color:var(--sky)!important}.activity-glyph{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#d9ece6;color:#28776b;font-size:1.25rem;margin-bottom:17px}.activity-card:nth-child(2n) .activity-glyph{background:#f6dfd7;color:#b95c47}.activity-card:nth-child(3n) .activity-glyph{background:#e8e0ef;color:#674d7a}.activity-card:nth-child(4n) .activity-glyph{background:#f9e8bd;color:#a56a13}.journal-aside{background:linear-gradient(145deg,#fff0c9,#f7d78e);border-radius:20px;box-shadow:var(--shadow)}.good-item{background:rgba(255,255,255,.65);border:0;border-radius:12px;margin:9px 0;padding:13px}.care-card,.care-guidance{border-radius:20px;box-shadow:var(--shadow)}.care-guidance{background:linear-gradient(145deg,#d9ebe7,#e9f2ed)}.timing-track{background:#dce7ee;border:2px solid #b4cbd4;box-shadow:inset 0 2px 8px rgba(40,72,84,.12)}.timing-target{background:linear-gradient(90deg,#b9dc9f,#75b463);border-color:#347342}.timing-attempt{border-radius:10px}.timing-attempt.is-clear{background:#cce9b8;border-color:#5c9850;box-shadow:0 3px 8px rgba(75,134,65,.17)}

@keyframes progress-shimmer{0%,100%{transform:translateX(-100%)}50%{transform:translateX(100%)}}
@media(max-width:1100px){.progress-glance{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){body{background:#f7f2e8}.progress-glance{display:flex;overflow-x:auto;gap:10px;margin-left:-20px;margin-right:-20px;padding:0 20px 5px;scroll-snap-type:x mandatory}.glance-card{min-width:222px;min-height:112px;scroll-snap-align:start}.adventure-banner{border-radius:20px;margin-left:-6px;margin-right:-6px}.adventure-steps{grid-template-columns:1fr 1fr}.adventure-level{width:74px;height:74px}.adventure-level strong{font-size:1.45rem}.adventure-banner h2{font-size:1.65rem}.side-column{gap:14px}.mobile-nav{box-shadow:0 -8px 25px rgba(24,55,44,.12);border:0}.mobile-nav button.active{color:#b7543f}.mobile-nav button.active span{background:#f5d7c4;border-radius:12px;padding:1px 13px}.portrait{border-radius:18px}.activity-list{gap:13px}}
@media(prefers-reduced-motion:reduce){.adventure-track span::after{animation:none}.adventure-step{transition:none}}
.reward-pop{position:fixed;z-index:50;right:24px;top:24px;display:flex;align-items:center;gap:13px;background:#173b32;color:#fff;padding:15px 19px;border-radius:16px;box-shadow:0 18px 40px rgba(18,45,37,.3);transform:translateY(-130%);opacity:0;transition:transform .3s ease,opacity .3s ease}.reward-pop.show{transform:translateY(0);opacity:1}.reward-pop>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#efb54f,#d66f52);font-size:1.35rem}.reward-pop small{display:block;color:#c9ddd2;letter-spacing:.12em;font-size:.65rem}.reward-pop strong{display:block;font-family:Georgia,serif;font-size:1.12rem}@media(max-width:750px){.reward-pop{top:12px;right:12px;left:12px}}

/* Selective delight: everyday surfaces stay calm; meaning carries the colour. */
.button-primary{background:#e9ae49;box-shadow:none}.button-primary:hover{background:#f0bd61}.topbar-action{background:transparent;border-color:transparent;border-radius:6px}.next-card{background:#173b32;box-shadow:0 10px 25px rgba(23,59,50,.16)}.next-card::after{display:none}.note-card{background:#fff;border:1px solid #d9dfd5;border-left:0;border-radius:12px}.note-icon{background:#eef0ec;color:#435d4c;border:1px solid #cbd5ca}.care-peek{background:#fff;border:1px solid #d9dfd5;border-left:0;border-radius:12px}.activity-feature{background:#e4eee7;border:1px solid #cadacf;border-left:5px solid #4f8470;border-radius:13px;box-shadow:none}.human-game-card{background:#fff;border:1px solid #ddd8cc;border-radius:13px;box-shadow:none}.activity-card,.activity-card:nth-child(2n),.activity-card:nth-child(3n),.activity-card:nth-child(4n),.activity-card--communication{background:#fff;border:1px solid #d9dfd5!important;border-top:1px solid #d9dfd5!important;border-radius:13px;box-shadow:0 5px 13px rgba(35,59,44,.06)}.activity-glyph,.activity-card:nth-child(2n) .activity-glyph,.activity-card:nth-child(3n) .activity-glyph,.activity-card:nth-child(4n) .activity-glyph{background:#e7eee8;color:#365a48;border-radius:10px}.care-card{border-radius:13px;box-shadow:0 5px 13px rgba(35,59,44,.06)}.care-guidance{background:#e8efea;border-radius:13px;box-shadow:none}.button-secondary{box-shadow:none}

.good-things-visual{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;padding:17px;margin:20px 0 16px;background:rgba(255,255,255,.58);border:1px solid rgba(166,113,31,.2);border-radius:14px}.good-things-glow{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:11px}.good-things-glow span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:rgba(139,103,46,.09);color:rgba(139,103,46,.26);font-size:.8rem}.good-things-glow span.lit{background:#fff1bd;color:#d99423;box-shadow:0 0 0 3px rgba(238,182,75,.15),0 4px 9px rgba(147,97,24,.12)}.good-things-visual>strong{font:normal 2.2rem/1 Georgia,serif;color:#6c4c21}.good-things-visual>span{font-size:.8rem;color:#705d3f;padding-bottom:3px}.journal-aside.moment-added{animation:good-thing-glow 1.1s ease}.discovery-list.discovery-added .pattern-row:first-child,.discovery-list.discovery-added .discovery-row:first-child{animation:discovery-reveal 1s ease}.timing-achievement{padding:17px;margin-top:20px;background:#f8f2df;border:1px solid #ead9ae;border-radius:14px}.timing-achievement .timing-score{margin-top:0}.clarity-meter{height:10px;background:#e2ddd0;border-radius:999px;overflow:hidden;margin:13px 0 9px}.clarity-meter span{display:block;height:100%;background:linear-gradient(90deg,#e3aa41,#5d9a6b);border-radius:inherit}.timing-stars{display:flex;gap:7px}.timing-stars span{color:#cfc8b7}.timing-stars span.lit{color:#dfa02c;filter:drop-shadow(0 2px 2px rgba(159,103,18,.2))}

@keyframes good-thing-glow{0%{box-shadow:var(--shadow)}40%{box-shadow:0 0 0 6px rgba(239,181,79,.23),0 18px 40px rgba(166,108,26,.18)}100%{box-shadow:var(--shadow)}}
@keyframes discovery-reveal{0%{opacity:.45;transform:translateY(-7px)}55%{box-shadow:0 0 0 5px rgba(79,145,106,.16)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.journal-aside.moment-added,.discovery-list.discovery-added .pattern-row:first-child,.discovery-list.discovery-added .discovery-row:first-child{animation:none}}

/* Building a Shared Language */
.language-profile{margin:28px 0 42px;padding:clamp(22px,3vw,34px);background:#fff;border:1px solid #d8dfd5;border-radius:18px;box-shadow:0 7px 20px rgba(35,59,44,.07)}.language-heading{align-items:center}.language-heading h2{margin-bottom:7px}.language-heading p:not(.eyebrow){margin:0;color:var(--muted);max-width:610px}.language-score{display:flex;align-items:center;gap:10px;background:#173b32;color:#fff;padding:12px 16px;border-radius:13px;min-width:142px}.language-score strong{font:normal 2.2rem/1 Georgia,serif;color:#ffd270}.language-score span{font-size:.7rem;line-height:1.25;text-transform:uppercase;letter-spacing:.08em}.vocabulary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.vocabulary-card{border-radius:13px;padding:17px;border:1px solid #d8dfd5;background:#fafbf8}.vocabulary-card h3{margin:0 0 12px;font-size:.72rem;letter-spacing:.12em;color:#47584e}.vocabulary-card h3 span{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border-radius:7px;background:#e5ebe5;font-size:.8rem}.vocabulary-card ul{list-style:none;padding:0;margin:0}.vocabulary-card li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px 0;border-top:1px solid rgba(50,70,57,.1)}.vocabulary-card li:first-child{border-top:0}.vocabulary-card li strong{display:block;font-size:.91rem;line-height:1.35}.vocabulary-card li small{display:block;color:#6c786f;font-size:.74rem;margin-top:3px}.vocab-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e6eee5;color:#376349;font-weight:800}.vocab-ready{border-top:5px solid #4f9170}.vocab-ready .vocab-mark{background:#dcefe2;color:#2c6a49}.vocab-pause{border-top:5px solid #c96a55}.vocab-pause .vocab-mark{background:#f6dfd8;color:#9a4435}.vocab-preference{border-top:5px solid #dda53d}.vocab-preference .vocab-mark{background:#fae9bd;color:#8f641b}.vocab-developing{border-top:5px solid #75668d}.vocab-developing .vocab-mark{background:#e8e2ef;color:#5d4a76}.vocab-empty{display:block!important;color:#707b73;font-size:.82rem;font-style:italic}.language-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.vocabulary-card .text-link{font-size:.75rem;padding:2px}

.communication-pathway{margin:25px 0;padding:clamp(22px,3vw,31px);background:linear-gradient(135deg,#183d34,#285e50);color:#fff;border-radius:18px;box-shadow:0 11px 26px rgba(23,59,50,.17)}.pathway-head{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.pathway-head .eyebrow{color:#bbd8cc}.pathway-head h2{font:normal clamp(1.7rem,3vw,2.35rem)/1.15 Georgia,serif;margin:0}.pathway-head p:not(.eyebrow){color:#d6e5dd;margin:9px 0 0}.pathway-ring{--progress:0;width:82px;height:82px;border-radius:50%;background:conic-gradient(#f1bd59 calc(var(--progress)*1%),rgba(255,255,255,.15) 0);display:grid;place-content:center;text-align:center;position:relative}.pathway-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#214c41}.pathway-ring strong,.pathway-ring span{position:relative}.pathway-ring strong{font:normal 1.35rem Georgia,serif}.pathway-ring span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.pathway-progress{height:10px;margin:21px 0;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.pathway-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#dc7255,#f0b94d,#76ae82)}.pathway-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pathway-steps article{display:grid;grid-template-columns:auto 1fr;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);padding:14px;border-radius:12px}.pathway-steps article.done{background:#fff;color:#213f33}.pathway-number{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#efb54f;color:#173b32;font-weight:800}.pathway-steps h3{font-size:.92rem;margin:3px 0 5px}.pathway-steps p{font-size:.75rem;line-height:1.4;margin:0 0 7px;color:#d8e5df}.pathway-steps .done p{color:#637369}.pathway-steps .text-link{color:#fff;text-decoration-color:#9bb9ad;font-size:.72rem}.pathway-steps .done .text-link{color:#355f4a}.listening-accomplishment{display:flex;align-items:center;gap:12px;margin-top:17px;padding:13px 16px;border-radius:12px;background:#fff2c9;color:#49381f;animation:discovery-reveal .8s ease}.listening-accomplishment>span{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e4a12d;color:#fff}.listening-accomplishment small{display:block;font-size:.64rem;letter-spacing:.12em}.listening-accomplishment strong{font-family:Georgia,serif;font-size:1.05rem}.activity-card--language{border-left:4px solid #5d8f7d!important}.glance-clarity{background:linear-gradient(135deg,#6f6697,#554979)}

.modal-wide{width:min(940px,calc(100% - 28px))}.modal-wide form,.modal-wide .activity-modal{max-width:none}.observation-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:20px 0}.observation-sequence span{padding:9px;text-align:center;background:#eef1ec;color:#526258;font-size:.69rem;font-weight:800;letter-spacing:.08em;border-bottom:3px solid #cdd6cc}.observation-sequence span:nth-child(1){border-color:#4f9170}.observation-sequence span:nth-child(2){border-color:#d9a23c}.observation-sequence span:nth-child(3){border-color:#75668d}.observation-sequence span:nth-child(4){border-color:#c96a55}.guided-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guided-grid fieldset{min-width:0;border:1px solid #d8dfd5;background:#fbfcf9;border-radius:12px;padding:16px}.guided-grid legend{padding:0 6px;font-size:.8rem;letter-spacing:.05em}.guided-grid legend b{color:#2c6b4c}.guided-grid label{margin-top:8px}.guided-grid textarea{resize:vertical}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}

.spot-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.spot-progress span{height:8px;border-radius:999px;background:#d9ded7;font-size:0}.spot-progress span.active,.spot-progress span.done{background:#4f9170}.media-stage{border:1px solid #cdd8d0;background:#eef2ed;border-radius:14px;padding:16px}.media-label{display:flex;justify-content:space-between;gap:16px;color:#51635a;margin-bottom:12px}.media-label span{font-size:.7rem;font-weight:800;letter-spacing:.11em}.media-label small{font-size:.7rem}.frame-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.frame-pair article{min-height:140px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#324d42,#1e362d);color:#fff;border-radius:10px;position:relative;overflow:hidden}.frame-pair article::before{content:"MEDIA";position:absolute;top:16px;left:18px;color:rgba(255,255,255,.34);font-size:.67rem;letter-spacing:.16em}.frame-pair b{font-size:.67rem;letter-spacing:.13em;color:#f2c468}.frame-pair p{margin:5px 0 0}.media-controls{display:flex;gap:8px;margin-top:12px}.media-controls button{min-height:42px;padding:8px 13px;border:1px solid #c5d0c8;background:#fff;border-radius:7px}.spot-level{font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#54705e;margin:21px 0 7px}#spot-content h3{font:normal 1.65rem Georgia,serif;margin:0 0 13px}.spot-options{display:grid;gap:8px}.spot-options button{min-height:49px;text-align:left;border:1px solid #cad4cc;background:#fff;border-radius:9px;padding:12px 15px;color:#283c32}.spot-options button:hover{border-color:#629178;background:#f0f6ef}.spot-options button.correct{background:#dcefe1;border-color:#4f9170}.spot-options button.incorrect{background:#f6e1db;border-color:#c96a55}.spot-feedback{min-height:10px;margin:14px 0}.spot-feedback strong{color:#2f6a4c}.spot-feedback p{margin:4px 0}

.communication-loop{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:20px 0;padding:15px;background:#e8f0ea;border-radius:12px}.communication-loop span{padding:8px 10px;background:#fff;border:1px solid #cad6cc;border-radius:7px;font-size:.7rem;font-weight:800;letter-spacing:.05em}.communication-loop b{color:#a15b43}.coop-counters{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.coop-counters button{min-height:126px;border:1px solid #d1dbd3;background:#fff;border-radius:12px;color:#294438;padding:13px}.coop-counters button:nth-child(2),.coop-counters button:nth-child(3){border-top:5px solid #ca6e57}.coop-counters button:nth-child(1),.coop-counters button:nth-child(4){border-top:5px solid #589476}.coop-counters small,.coop-counters span{display:block;font-size:.7rem}.coop-counters strong{display:block;font:normal 2.5rem Georgia,serif;margin:5px 0;color:#244c3a}.coop-counters span{color:#597064}.evidence-list{display:grid;gap:8px;margin:18px 0}.evidence-list article{border-left:4px solid #73937e;background:#eef3ed;padding:12px 15px}.evidence-list small{color:#5f6d63}.evidence-list p{margin:3px 0}.evidence-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.evidence-actions .button-secondary{font-size:.8rem;padding:9px}.language-profile,.communication-pathway{scroll-margin-top:20px}

@media(max-width:960px){.pathway-steps{grid-template-columns:repeat(2,1fr)}.coop-counters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.language-profile{margin:20px -6px 34px;padding:20px 16px}.language-heading{display:block}.language-score{margin-top:15px;width:max-content}.vocabulary-grid{grid-template-columns:1fr}.language-actions{align-items:flex-start;flex-direction:column}.communication-pathway{margin-left:-6px;margin-right:-6px;padding:21px 16px}.pathway-head{grid-template-columns:1fr auto}.pathway-ring{width:70px;height:70px}.pathway-steps{grid-template-columns:1fr}.guided-grid{grid-template-columns:1fr}.observation-sequence span{font-size:.58rem;padding:8px 2px}.frame-pair{grid-template-columns:1fr}.frame-pair article{min-height:115px}.media-label{display:block}.media-label small{display:block;margin-top:3px}.coop-counters{grid-template-columns:1fr 1fr}.coop-counters button{min-height:112px}.evidence-actions{grid-template-columns:1fr}.modal-actions{align-items:flex-start;flex-direction:column}.vocabulary-card li{grid-template-columns:auto minmax(0,1fr)}.vocabulary-card li .text-link{grid-column:2}.communication-loop b{display:none}.communication-loop span{width:100%;text-align:center}.communication-loop span+span::before{content:"↓ ";color:#a15b43}}
@media(prefers-reduced-motion:reduce){.listening-accomplishment{animation:none}}
