/* Local system fonts only. No font files or network requests. */
@font-face{font-family:"Cottage Latin";src:local("Inter Regular"),local("Segoe UI"),local("Arial");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Cottage Latin";src:local("Inter Bold"),local("Segoe UI Bold"),local("Arial Bold");font-style:normal;font-weight:700;font-display:swap}
:root{--text-scale:1;--font-ui:"Cottage TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
html[lang=en]{--font-ui:"Cottage Latin",system-ui,"Segoe UI",Arial,"Cottage TC",sans-serif}
html[data-text-size=large]{--text-scale:1.12}html[data-text-size=extra]{--text-scale:1.25}
body{font-family:var(--font-ui);font-size:calc(18px * var(--text-scale));line-height:1.8}
.subtle,.microcopy,.simulation-label,.source-links,.source-card p,.room-caption p,.creator-hint,.gallery-privacy{color:#606e59}
button,input,select,textarea{font-family:var(--font-ui)}button,input,select,textarea,summary{font-size:calc(16px * var(--text-scale))}
button,a,summary,input,select,textarea{scroll-margin-block:130px}button,summary{touch-action:manipulation}
button,a.btn,.filter,.text-button,.creator-text-button,.creator-text-link{min-height:48px}.icon-button,.dialog-top .icon-button{min-width:48px;min-height:48px}
input,select,textarea{max-width:100%}.field input,.field select,.field textarea,.creator-prompt{font:inherit;min-height:48px}textarea{line-height:1.7}
h1{font-size:calc(34px * var(--text-scale));line-height:1.45;overflow-wrap:anywhere;letter-spacing:.01em}h2{font-size:calc(23px * var(--text-scale))}h3{font-size:calc(20px * var(--text-scale))}
p,li,.section-intro,.info-card p,.info-card li,.food-result p,.dialog-body p,.notice,.privacy-box,.modal-list,.vet-choices .btn,.creator-step p,.gallery-intro{font-size:calc(17px * var(--text-scale));line-height:1.85}
.page-heading p,.basic p,.safety-card p,.hazard p,.hazard .hazard-check,.little-tip,.journal-top p,.log-row,.music-card p,.music-tips,.music-note,.creator-hint,.creator-help,.creator-check-result,.gallery-empty p,.decor-note{font-size:calc(16px * var(--text-scale));line-height:1.8}
small,.eyebrow,.tag,.brand-en,.nav-caption,.local-label,.microcopy,.simulation-label,.source-links,.source-links span,.source-card p,.source-card a,.result-count,.room-caption p,.room-title p,.scene-mood,.scene-tag,.footer,.log-row time,.creator-hint,.gallery-privacy,.gallery-limits{font-size:calc(14px * var(--text-scale));line-height:1.7}
.btn,.text-button,.filter,.care-action,.room-help .btn,.quick-nav a,.animation-downloads a,.music-links a,.toggle-row,.field,.settings-buttons .btn,.checklist li{font-size:calc(16px * var(--text-scale));line-height:1.6}
.card-heading h2,.safety-card h2,.section-title h2,.cg-overview-heading h2,.cg-care-heading h2,.color-card h2,.music-card h2,.creator-step h2{font-size:calc(21px * var(--text-scale))}
.room-title{min-width:0}.room-title>div{min-width:0}.room-title strong,.journal-top h2{font-size:calc(19px * var(--text-scale));overflow-wrap:anywhere}.room-header{gap:12px;align-items:flex-start}.room-header .text-button{flex:none}.room-caption strong{font-size:calc(16px * var(--text-scale));line-height:1.7}
.scene-tag{max-width:45%;white-space:normal;z-index:4}.speech{font-size:calc(15px * var(--text-scale));max-width:53%;left:43%;padding:9px 12px}.scene-mood{max-width:50%;white-space:normal}.room-caption{align-items:flex-start}.room-caption .dots{display:none}
.care-actions{gap:10px}.care-action{padding:16px 8px;min-width:0;min-height:105px}.quick-nav a{padding:12px;overflow-wrap:anywhere}.room-help .btn{flex:1;white-space:normal}
.meter-label{font-size:calc(16px * var(--text-scale));flex-wrap:wrap}.meter-label span:last-child,.count-badge{font-size:calc(14px * var(--text-scale))}.daily-card>p{font-size:calc(16px * var(--text-scale))}
.discovery h3{font-size:calc(18px * var(--text-scale))}.discovery p{font-size:calc(15px * var(--text-scale))}.hazard h3{font-size:calc(19px * var(--text-scale))}.source-card h3{font-size:calc(18px * var(--text-scale))}.source-card a{overflow-wrap:anywhere}
.topbar{height:auto;min-height:84px;flex-wrap:wrap;padding-block:14px}.top-tools{flex-wrap:wrap;gap:10px}.save-status{font-size:calc(14px * var(--text-scale))}.language-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid #d6decd;border-radius:14px;background:#fffef7;flex:none}.language-switch button{min-height:48px;padding:7px 12px;border:0;border-radius:10px;background:transparent;font-size:calc(15px * var(--text-scale))}.language-switch button[aria-pressed=true]{background:#e0e8d4;color:#344c2e;font-weight:700}.nav-short{display:none}
.text-size-options{display:flex;gap:8px;flex-wrap:wrap}.text-size-options button{border:1px solid var(--line);background:#f5f7ed;border-radius:10px;padding:8px 12px}.text-size-options button[aria-pressed=true]{background:#dfe8d2;border-color:#8da17a}.language-hint{font-size:calc(14px * var(--text-scale));color:#627257}
.dialog-top h2{font-size:calc(23px * var(--text-scale))}.toggle-row small,.privacy-box,.settings-buttons .btn{font-size:calc(15px * var(--text-scale))}.toggle-row input{min-width:24px;min-height:24px}.toast{font-size:calc(16px * var(--text-scale));line-height:1.7}.outcome-banner{font-size:calc(17px * var(--text-scale))}.outcome-banner strong{font-size:calc(20px * var(--text-scale))}.outcome-banner p,.stage-step p{font-size:calc(16px * var(--text-scale))}.stage-step strong{font-size:calc(18px * var(--text-scale))}
.cg-overview-item strong{font-size:calc(17px * var(--text-scale))}.cg-overview-item figcaption span,.cg-important,.cg-care-heading p,.cg-care-detail-body,.cg-care-visible,.cg-food-status,.cg-urgent-action{font-size:calc(16px * var(--text-scale));line-height:1.8}.cg-care-details summary{font-size:calc(17px * var(--text-scale));min-height:54px}.cg-care-detail-body .source-links{font-size:calc(14px * var(--text-scale))}.cg-food-visual{flex-wrap:wrap}
.creator-step-title h2{overflow-wrap:anywhere}.creator-page input,.creator-page select,.creator-page textarea{font-size:calc(17px * var(--text-scale))}.creator-preview-buttons .btn,.creator-prompt-actions .btn,.creator-import-actions .btn{white-space:normal}.creator-atlas-grid figcaption{font-size:calc(14px * var(--text-scale))}.creator-approval label,.creator-privacy,.creator-check-result{font-size:calc(16px * var(--text-scale))}
.decor-panel button,.decor-panel select,.decor-panel label,.decor-control-label{font-size:calc(16px * var(--text-scale))}.decor-panel .decor-note,.decor-panel small{font-size:calc(14px * var(--text-scale))}.gallery-page .btn,.gallery-page input,.gallery-page select{font-size:calc(16px * var(--text-scale))}
@media(min-width:1001px){.sidebar{width:248px;overflow-y:auto;padding:24px 16px}.app-shell{margin-left:248px}.sidebar .nav-item{font-size:calc(16px * var(--text-scale));min-height:52px;padding:9px 12px}.sidebar-note{display:none}.sidebar nav{gap:3px}.nav-caption{margin:22px 10px 12px}.brand strong{font-size:26px}.nav-item svg{width:24px;height:24px;flex:none}.topbar{padding-inline:30px}main{padding-inline:30px}.home-layout{grid-template-columns:minmax(0,1fr) 300px}.room-scene{height:380px}}
@media(max-width:1200px) and (min-width:761px){.home-layout{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.little-tip{grid-column:1/-1}.safety-layout{grid-template-columns:1fr}.departure-card{position:static}.topbar{padding-inline:24px}}
@media(max-width:760px){.right-column{grid-template-columns:1fr}.cg-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-overview-item{padding:12px}.cg-overview-item .cg-illustration{height:100px}.room-scene{height:350px}.care-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.home-layout,.safety-layout,.content-grid{min-width:0}.music-links .btn{width:100%}.log-row{flex-direction:column;gap:5px}.section-title{flex-wrap:wrap;gap:7px}.cg-care-picture{min-height:155px}}
@media(max-width:540px){.topbar{padding:10px 16px;min-height:92px}.topbar #breadcrumb{display:none}.top-tools{width:100%;justify-content:space-between;gap:8px}.save-status{order:5;flex-basis:100%;text-align:right;line-height:1.5}.save-status:before{margin-right:7px}.language-switch{margin-right:auto}.language-switch button{font-size:calc(14px * var(--text-scale));padding:6px 9px}.top-tools .icon-button{width:48px;height:48px;min-width:48px;min-height:48px}.app-shell{padding-bottom:110px}main{padding:22px 16px 12px}.sidebar{min-height:88px;height:auto;padding:6px 6px max(7px,env(safe-area-inset-bottom))}.sidebar nav{gap:2px;grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar .nav-item{padding:5px 2px;gap:5px;min-height:72px}.nav-item>span:last-child{font-size:calc(14px * var(--text-scale));line-height:1.3;overflow-wrap:anywhere}.nav-full{display:none}.nav-short{display:inline}.sidebar .nav-item svg{width:23px;height:23px}.sidebar .nav-item:nth-child(n+6){display:none}h1{font-size:calc(28px * var(--text-scale))}.page-heading p{font-size:calc(16px * var(--text-scale))}.page-heading{margin-bottom:22px}.room-header{padding:15px 13px}.room-title p{font-size:calc(14px * var(--text-scale))}.room-title strong{font-size:calc(18px * var(--text-scale))}.room-header .text-button{font-size:calc(14px * var(--text-scale));max-width:90px}.room-scene{height:330px}.speech{font-size:calc(14px * var(--text-scale));top:58px;left:40%;max-width:57%}.scene-tag,.scene-mood{font-size:calc(13px * var(--text-scale))}.scene-tag{padding:6px 8px;max-width:65%}.room-caption{padding:15px}.room-caption strong{font-size:calc(16px * var(--text-scale))}.room-caption p{font-size:calc(14px * var(--text-scale))}.care-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.care-action{font-size:calc(16px * var(--text-scale));min-height:96px;padding:13px 8px}.care-action:last-child{grid-column:1/-1;flex-direction:row;justify-content:center;min-height:62px}.care-action .action-icon{width:36px;height:36px}.quick-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-nav a{font-size:calc(15px * var(--text-scale));min-height:84px;padding:12px 6px}.discover-row{grid-template-columns:1fr}.discovery{padding:18px}.discovery h3{font-size:calc(19px * var(--text-scale))}.discovery p{font-size:calc(16px * var(--text-scale))}.daily-card,.safety-card{padding:22px 18px}.card-heading h2,.safety-card h2{font-size:calc(21px * var(--text-scale))}.safety-card .btn{font-size:calc(16px * var(--text-scale))}.meter-label{font-size:calc(16px * var(--text-scale))}.meter-label span:last-child{font-size:calc(14px * var(--text-scale))}.content-grid.color-grid{grid-template-columns:1fr}.color-card{grid-template-columns:100px minmax(0,1fr)}.color-card .info-card{padding:16px}.color-card h2{font-size:calc(21px * var(--text-scale))}.color-card p{font-size:calc(16px * var(--text-scale))}.color-bird .real-bird{width:110px;height:140px}.hazard-grid{grid-template-columns:1fr}.hazard{display:flex;padding:18px;gap:12px}.hazard h3{font-size:calc(19px * var(--text-scale))}.hazard p,.hazard .hazard-check{font-size:calc(16px * var(--text-scale))}.stage-path{grid-template-columns:1fr}.dialog-body p{font-size:calc(17px * var(--text-scale))}dialog{padding:22px;width:calc(100% - 24px)}.settings-buttons{grid-template-columns:1fr}.footer{font-size:calc(14px * var(--text-scale))}.toast{bottom:110px;font-size:calc(16px * var(--text-scale))}.cg-overview{padding:15px}.cg-overview-item strong{font-size:calc(16px * var(--text-scale))}.cg-overview-item figcaption span{font-size:calc(15px * var(--text-scale))}.cg-overview-item .cg-illustration{height:85px}.cg-important{font-size:calc(16px * var(--text-scale))}.creator-reference-layout{grid-template-columns:1fr}.creator-preview-buttons{display:grid;grid-template-columns:1fr}.creator-preview-buttons .btn{width:100%}.music-cover strong{font-size:26px}.music-cover .real-bird{width:110px;height:130px}.music-card .info-card{padding:20px}.music-card p{font-size:calc(16px * var(--text-scale))}}
@media(max-width:360px){.language-switch button{padding-inline:7px}.top-tools{gap:5px}.cg-overview-grid{grid-template-columns:1fr}.cg-overview-item{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:10px}.cg-overview-item figcaption{margin:0}.cg-overview-item .cg-illustration{height:85px}.room-title strong{font-size:calc(17px * var(--text-scale))}.room-header{flex-wrap:wrap}.room-header .text-button{max-width:none;margin-left:auto}.scene-tag{max-width:90%}.speech{max-width:63%;left:34%;top:65px}}
