/* Shared notebook components: 16px surfaces, 8/16/24 spacing, pink actions. */
:root{--card-radius:16px;--surface:#fff;--space-0:0px}
body{font-size:var(--text-body);line-height:1.5;padding-bottom:84px}
.topbar{padding-top:20px;padding-bottom:8px;max-width:1184px}.brand{font-size:var(--text-body);font-weight:700}.brand-icon,.brand small{display:none}.refresh{font-size:var(--text-body);min-height:44px}.hero{display:none}.save-note{margin:4px 0 12px}.save-note p{font-size:var(--text-meta)}.players{margin:8px 0 12px}.players button{min-height:48px;min-width:152px}.player-button.active{background:var(--primary)}
#report>.search-row{margin:12px 0 24px}#global-search{min-height:48px;border-radius:20px;font-size:var(--text-body)}#global-completion{display:none}
#pages{position:fixed;z-index:8;bottom:0;left:0;right:0;margin:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-radius:0;background:#fffffff2;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);gap:8px;box-shadow:0 -4px 20px #3c263007}
#pages .page-tab{min-width:0;min-height:56px;border-radius:20px;font-size:var(--text-control);padding:8px 0}
.companion-title{font-size:var(--text-heading);line-height:1.5;margin:0 0 8px;font-weight:700}.companion-caption{font-size:var(--text-meta);line-height:1.5;color:var(--muted);margin:0 0 16px}
.companion-section{margin:24px 0}.companion-section>h3{font-size:var(--text-heading);margin-bottom:16px}.companion-grid{display:grid;grid-template-columns:1fr;gap:16px}.companion-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;color:var(--ink)}
.companion-card h3{font-size:var(--text-heading);line-height:1.5;margin:0}.companion-card p{font-size:var(--text-body);line-height:1.5;margin:0;white-space:pre-line;overflow-wrap:anywhere}.companion-card small{font-size:var(--text-meta);line-height:1.5}.companion-card .item-icon{width:40px;height:40px;margin-top:4px}
.companion-card:hover{border-color:#c88599;background:#fff8fa}.companion-card.current-goal{background:#fff3f7;border-color:#d990a5}.companion-card .guide-action{margin-top:8px;min-height:48px}.companion-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.companion-shortcuts button{min-height:48px;font-size:var(--text-control)}.companion-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.companion-subnav button{min-height:44px}
.companion-status{font-size:var(--text-meta);border-radius:8px;padding:4px 8px;background:#f5edf1}.companion-status[data-status=met]{background:#edf5ed;color:#36563d}.companion-status[data-status=unmet]{background:#fbeadf;color:#70422c}.companion-status[data-status=unknown]{background:#f3eef8;color:#55426c}
.goal-tools{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.goal-tools button{min-height:48px}.goal-tools .primary{background:var(--primary);font-weight:700}.goal-tools .favorite.on{background:#fae6ec}
.action-brief{background:var(--canvas);border:1px solid var(--line);padding:16px;border-radius:20px;margin:16px 0}.action-brief p{margin:8px 0;color:var(--ink);font-size:var(--text-body)}.action-brief b{font-weight:700}.action-brief h3{font-size:var(--text-heading)}.article-detail{max-width:600px}.article-detail>.data-panel{border:0;padding:0;margin:24px 0}.article-detail p,.article-detail li{font-size:var(--text-body);line-height:1.75}.article-detail .guide-text-list{margin:12px 0;padding-left:22px}.article-detail .caption{font-size:var(--text-meta)}.article-toc{display:flex;gap:6px;flex-wrap:wrap}.article-toc button{font-size:var(--text-control);min-height:44px}.guide-fold{margin:16px 0;border-radius:16px}.guide-fold summary{min-height:48px;font-size:var(--text-control);display:flex;align-items:center;gap:8px}.guide-fold summary:before{content:'›';font-weight:700}.guide-fold[open] summary:before{content:'⌄'}
.inline-ref{padding:0 2px;min-height:44px;border:0;background:none;color:#85465b;text-decoration:underline;text-underline-offset:3px;display:inline;font-size:inherit;vertical-align:baseline;border-radius:3px}.inline-ref:hover{background:var(--tint)}
.fish-point-quick{background:var(--canvas);padding:16px;border-radius:20px;margin:12px 0}.fish-point-quick h3{margin:0 0 8px}.fish-point-quick .data-row{font-size:var(--text-body)}.map-figure{margin:12px 0}.map-figure img{max-width:100%;width:100%;height:auto;max-height:320px;object-fit:contain;border-radius:12px;image-rendering:pixelated}.map-figure figcaption{font-size:var(--text-meta);color:var(--muted);padding-top:8px}.fish-concurrent{display:flex;flex-wrap:wrap;gap:8px}.fish-concurrent button{min-height:44px}
.search-answer{border:1px solid var(--line);border-radius:20px;background:#fff;padding:16px;margin:12px 0}.search-answer h3{font-size:var(--text-heading);margin-bottom:8px}.search-answer .caption{font-size:var(--text-meta);color:var(--ink)}.search-answer .related-items{margin-top:12px}.search-answer mark{background:var(--tint)}
.focus-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.focus-picker select{min-height:48px}.goal-conflict{border:1px solid #dca795;background:#fff0e9;border-radius:16px;padding:16px;font-size:var(--text-body)}.goal-conflict h3{font-size:var(--text-heading)}.saved-list{display:grid;gap:8px}.saved-list button{width:100%;text-align:left;min-height:48px}.section-heading h2{font-size:var(--text-heading)}
#detail-content .caption{line-height:1.7}#detail-content{scroll-behavior:auto}.detail-header{height:68px;padding:12px 16px}dialog{max-width:600px;width:min(600px,92vw)}.read-progress{height:3px;background:var(--primary);position:absolute;left:0;bottom:0;max-width:100%}.detail-header{position:relative}.detail-header>div{display:flex;gap:8px}.detail-header button{font-size:var(--text-control);min-width:72px}
.guide-card .caption{font-size:var(--text-meta)}.guide-card{gap:8px}.guide-card h3{font-size:var(--text-heading)}.guide-action{font-size:var(--text-control);min-height:48px}.guide-card .tag{font-size:var(--text-meta)}
.tiny-note{font-size:var(--text-meta);color:var(--muted);margin:8px 0}.route-steps{display:flex;flex-wrap:wrap;gap:8px}.route-stop{border:1px solid var(--line);background:var(--canvas);border-radius:12px;padding:12px;font-size:var(--text-body)}.inventory-search{margin:12px 0}
footer{font-size:var(--text-meta);margin-top:40px}footer p{margin-bottom:8px}
@media(min-width:700px){body{padding-bottom:0}#pages{position:sticky;top:0;bottom:auto;border-radius:20px;margin:0 0 24px;background:var(--canvas);box-shadow:none;border:1px solid var(--line)}.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-card{padding:24px}.companion-section{margin:32px 0}main{padding-top:4px}.companion-title{font-size:var(--text-heading)}.companion-caption{max-width:600px}.goal-tools{position:static}.players{margin-bottom:12px}}
@media(min-width:1100px){.companion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.companion-grid.shared{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.topbar{padding:16px 16px 4px}.players button{flex:1;min-width:0}.topbar .refresh{background:none;border:0}.save-note{font-size:var(--text-meta);margin-bottom:12px}.save-note p{max-width:100%;line-height:1.5}#report>.search-row{margin:12px 0 24px}main{padding-bottom:24px}#global-search{font-size:var(--text-body)}#guide-category{max-width:none}.companion-title{margin-top:0}.companion-section{margin-top:24px}.goal-tools{gap:8px}.goal-tools button{font-size:var(--text-control)}.article-detail p,.article-detail li{font-size:var(--text-body)}dialog{height:88dvh;max-height:88dvh;width:100%;max-width:100%;border-radius:20px 20px 0 0}#detail-content{padding:16px;height:calc(88dvh - 68px)}.detail-title{font-size:var(--text-title);line-height:1.5}.fish-point-quick .data-row{font-size:var(--text-body)}.data-row{gap:12px}.map-figure img{max-height:240px}.companion-shortcuts button{flex:1 1 calc(50% - 8px)}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}dialog[open]{animation:companion-enter .14s ease-out}@keyframes companion-enter{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
