/* A scrapbook for a friendship that develops through play. */
:root{--story-green:#356b57;--story-ink:#384c43;--story-rose:#a55360}
.bond-peek{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 20px;text-align:left;background:#edf3ea;border:0;border-block:1px solid #dae4d5;color:var(--story-ink)}
.bond-peek>span{display:flex;flex-direction:column;gap:5px}.bond-peek b{font-size:14px}.bond-peek small{font-size:13px;line-height:1.5}.bond-peek-right{text-align:right;flex-shrink:0}.bond-peek-right b{font-size:21px;color:var(--story-rose)}
#story-dialog,#training-dialog{width:min(680px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #dce2d7;border-radius:24px;color:var(--story-ink);background:#fffdf7;overflow:auto;overscroll-behavior:contain}
#story-dialog::backdrop,#training-dialog::backdrop{background:#243b3869;backdrop-filter:blur(5px)}
.story-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:3;padding:22px 24px 18px;background:#fffdf7f7;border-bottom:1px solid #e3e7dc}.story-header small,.story-eyebrow{font-size:13px;color:#586d5f;font-weight:700}.story-header h2{margin:7px 0 0;font-size:25px;line-height:1.3}.story-header>button{border:0;border-radius:50%;height:44px;width:44px;flex-shrink:0;background:#edf0e6;font-size:28px}
.story-tabs{display:flex;gap:6px;margin:18px 24px 0;padding:5px;background:#edf0e7;border-radius:14px}.story-tabs button{flex:1;min-height:44px;border:0;background:none;border-radius:10px;font-size:14px;font-weight:700}.story-tabs button[aria-pressed=true]{background:var(--story-green);color:#fff}
#story-content{padding:24px;min-height:340px}#story-content h3{font-size:19px;margin:0 0 10px;line-height:1.5}#story-content p{font-size:15px;line-height:1.75;margin:5px 0 16px}#story-content .soft-btn,#story-content .primary-btn,.walk-choice button{font-size:14px;min-height:44px;line-height:1.5}#story-content .primary-btn,#training-dialog .primary-btn{background:var(--story-green);color:#fff;border:0;border-radius:13px;padding:14px 20px}#story-content button:disabled{opacity:.6;cursor:default}
.bond-profile{display:flex;align-items:center;gap:24px;margin-bottom:22px}.bond-profile img{width:125px;height:120px;object-fit:contain}.bond-profile h3{font-size:28px!important;margin-top:6px!important}.profile-quote{color:#637267}.bond-meter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.bond-meter strong,.bond-meter span{font-size:15px}.bond-meter progress{width:100%;height:12px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--story-rose)}.bond-meter progress::-webkit-progress-bar{background:#f0e1dc}.bond-meter progress::-webkit-progress-value{background:var(--story-rose)}.bond-meter p{width:100%;color:#67726a;font-size:13px!important}
.trait-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px dashed #d4ded1;padding:16px 0;margin-bottom:24px}.trait-grid>div{display:flex;align-items:center;justify-content:center;gap:12px;border-right:1px solid #d9e1d4}.trait-grid>div:last-child{border:0}.trait-grid span{font-size:14px}.trait-grid b{font-size:23px;font-weight:600;color:var(--story-green)}
.wish-card{padding:22px;background:#f4efd9;border:1px solid #e4d9ae;border-radius:17px;margin-bottom:22px}.wish-card h3{margin-top:8px!important}.wish-card button{width:100%}.story-play{padding:22px;border:1px solid #d5e0d5;border-radius:17px;background:#edf4ec;margin-bottom:20px}.story-play button{display:block;width:100%;margin-top:9px}.story-note{font-size:13px!important;line-height:1.65;color:#64736a;display:block}.story-subtitle{color:#627166}.chapter-card{display:grid;grid-template-columns:1fr auto;gap:10px 15px;padding:20px 0;border-bottom:1px solid #e0e6dc}.chapter-card>div{grid-column:1/3}.chapter-card h3{margin:0!important}.chapter-card p{margin:4px 0 0!important}.chapter-card small{align-self:center;font-size:14px;color:#677668}.chapter-done h3{color:var(--story-green)}.chapter-done{background:#f2f6ed;padding-inline:15px;border-radius:14px;margin-block:8px}.journal-title{margin-top:32px!important}.journal-row{display:flex;gap:15px;padding:18px 0;border-bottom:1px dashed #dce3d7}.journal-row>span{font-size:28px}.journal-row p{margin:5px 0!important}.journal-row small{font-size:12px;color:#7c827b}.empty-story{padding:24px;background:#f2f4ec;border-radius:16px}
.craft-card{position:relative;padding:22px;border:1px solid #dbe2d5;border-radius:18px;margin-bottom:16px;background:#f8f7ed}.craft-icon{display:block;font-size:42px;margin-bottom:12px}.recipe-materials{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.recipe-materials span{padding:8px 10px;border-radius:9px;background:#ece9df;font-size:13px;color:#756b60}.recipe-materials .enough{background:#e1edda;color:#356b46}.craft-card button{width:100%}#story-feedback{margin:0 24px 24px;padding:14px;background:#e9f2e2;border-radius:12px;font-size:14px;line-height:1.6}
.walk-choice{margin:20px 0;padding:22px;border:1px solid #d4e2ca;border-radius:18px;background:#f5f8ec}.walk-choice h3{font-size:20px;margin:8px 0}.walk-choice p{font-size:15px;line-height:1.7}.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.choice-buttons button{display:flex;flex-direction:column;gap:9px;text-align:left;border:1px solid #c7d6bf;background:#fffef8;padding:15px;border-radius:13px;font-weight:700}.choice-buttons button:hover{border-color:#578363;background:#e9f2df}.choice-buttons small{font-size:12px;font-weight:400;color:#526850}.choice-result{font-size:14px;color:var(--story-green);line-height:1.6}
.memory-display{position:absolute;bottom:15px;right:15px;z-index:9;font-size:13px;background:#fffaf0eb;border:1px solid #d8c4a2;padding:8px 12px;border-radius:12px;pointer-events:none}
.training-body{padding:22px 28px 28px;text-align:center}.training-body img{height:140px;width:150px;object-fit:contain}.training-body p{font-size:15px;line-height:1.7}.timing-track{position:relative;height:46px;border-radius:24px;background:#e4e8df;margin:25px 10px;overflow:hidden;border:2px solid #cad6c6}.timing-target{position:absolute;left:34%;width:32%;height:100%;background:#91c29b;border-inline:2px dashed #36754b}#timing-cursor{position:absolute;top:5px;bottom:5px;width:9px;transform:translateX(-50%);background:#353e38;border-radius:9px;box-shadow:0 0 0 2px white}.training-body button{width:100%;min-height:52px;font-size:16px}.training-body button:disabled{opacity:.6}#training-result{min-height:54px;color:var(--story-green)}
/* Mobile labels stay legible without adding another row of icons. */
.play-dock b{font-size:12px}.intro p{font-size:14px}.stats label{font-size:13px}.actions b{font-size:14px}.species-label{font-size:12px}.room-heading{font-size:14px}.level #xp-label{font-size:12px}.save-label{font-size:12px}.view-tools>span{font-size:12px}.view-tools button{min-height:36px;min-width:36px}.footer-links a,.footer-links button{font-size:13px}.panel-note{font-size:13px!important}.play-dock button{min-height:62px}
@media(max-width:680px){.bond-peek{padding:13px 14px}.bond-peek b{font-size:13px}.bond-peek small{font-size:12px}.bond-peek-right b{font-size:20px}.play-dock b{font-size:12px}.play-dock button{min-height:58px}.intro p{font-size:12px}.stats{gap:8px}.stats label{font-size:12px}.actions b{font-size:13px}.view-tools>span{font-size:11px;max-width:165px}#story-dialog,#training-dialog{width:calc(100vw - 16px);border-radius:20px}.story-header{padding:18px}.story-header h2{font-size:22px}.story-tabs{margin:15px 16px 0}.story-tabs button{font-size:13px}#story-content{padding:20px 18px}.bond-profile{gap:15px}.bond-profile img{width:100px;height:105px}.bond-profile h3{font-size:25px!important}.trait-grid>div{gap:8px}.trait-grid span{font-size:13px}.trait-grid b{font-size:21px}.wish-card,.story-play,.craft-card{padding:18px}.choice-buttons{grid-template-columns:1fr}.walk-choice{padding:18px}.training-body{padding:18px}.memory-display{font-size:12px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.walk-traveler,.walking-friend,.walk-scenery,.walk-leaves{animation:none!important}button{transition:none!important}}

.talent-note{padding:14px 16px;background:#edf4ec;border-left:3px solid #4b7f5b;border-radius:0 12px 12px 0;font-size:14px!important;line-height:1.65;margin-bottom:22px!important}
