.companion-app{padding:22px 18px 38px;color:var(--text,#453a3d);scroll-behavior:smooth;overflow-x:hidden}
.companion-app button,.companion-app input,.companion-app select,.companion-app textarea{font:inherit}
.companion-app h2{font-size:23px;line-height:1.35;margin:4px 0 8px;letter-spacing:-.5px}
.companion-app h3{font-size:16px;line-height:1.5;margin:0 0 8px}
.companion-app p{line-height:1.7;margin:7px 0}
.companion-app .card{padding:17px;min-width:0}
.companion-app .stack{gap:11px}
.companion-app .field{min-width:0;max-width:100%}
.companion-app .primary-button,.companion-app .secondary-button{min-height:38px;padding:9px 13px;font-size:12px;white-space:normal;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.companion-app button:disabled{opacity:.48;cursor:not-allowed}
.companion-app a{color:var(--accent,#ad6f89);text-underline-offset:3px}
.cp-intro{display:flex;gap:14px;align-items:center;margin:0 0 22px}
.cp-intro-icon{display:grid;place-items:center;width:56px;height:66px;flex:0 0 56px;background:linear-gradient(145deg,#fff2e9,#f5e6ec);color:#b08191;border-radius:21px 21px 21px 8px;font-size:30px;box-shadow:0 6px 14px #ad84930b}
.cp-intro .muted{font-size:12px;line-height:1.75;margin:0}
.cp-kicker,.cp-label{font-size:9px;letter-spacing:1.7px;color:#a2808e;text-transform:uppercase}
.cp-kicker{margin:0!important}
.cp-label{display:block;line-height:1.6;margin-bottom:5px}
.cp-section{margin-top:26px}
.cp-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 11px;min-width:0}
.card>.cp-section-heading:first-child{margin-top:0}
.cp-section-heading h3{margin:0}
.cp-section-heading>.muted{font-size:11px}
.cp-empty{padding:24px 14px;text-align:center;border:1px dashed #deced4;border-radius:18px;background:#fffdfb80}
.cp-empty strong{font-size:13px;font-weight:500;color:#947989}
.cp-empty p{font-size:11px;margin:7px 0 0}
.cp-search{display:flex;gap:8px;margin:12px 0 0;align-items:stretch}
.cp-search .field{flex:1;width:0}
.cp-search button{flex:0 0 auto}
.cp-feedback{font-size:11px;min-height:0;margin:6px 0}
.cp-feedback:empty{display:none}
.cp-error{color:#a64e58!important}
.companion-app .form-help{font-size:10px;line-height:1.8;overflow-wrap:anywhere}
.cp-player{text-align:center;background:linear-gradient(145deg,#fff9f3,#faedf1)!important;border:1px solid #eadde2!important}
.cp-player h3{margin:8px 0 4px;font-size:17px;overflow-wrap:anywhere}
.cp-player>.muted{font-size:11px}
.cp-record{width:108px;height:108px;display:grid;place-items:center;margin:4px auto 18px;border-radius:50%;background:repeating-radial-gradient(circle at center,#51494c 0,#51494c 2px,#453c42 3px,#55484f 4px);box-shadow:0 10px 22px #6c425124;position:relative}
.cp-record:after{content:'';position:absolute;inset:9px;border:1px solid #ffffff15;border-radius:50%}
.cp-record span{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:#e7bccb;color:white;font-size:22px;border:3px solid #f4dfe6}
.cp-play-controls{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin:13px 0 6px}
.cp-player .cp-play-controls{justify-content:center}
.cp-progress{display:block;width:100%;margin:19px 0 5px;accent-color:#b78599;height:14px}
.cp-time{display:flex;justify-content:space-between;color:#a58a95;font-size:10px;font-variant-numeric:tabular-nums}
.cp-source{font-size:9px!important;line-height:1.8!important;overflow-wrap:anywhere;color:#a38b94}
.cp-store-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;font-size:11px}
.cp-store-link img{display:block;width:119px;height:35px;object-fit:contain}
.cp-media-row{display:flex;gap:11px;align-items:center;padding:13px!important}
.cp-media-symbol{display:grid;place-items:center;width:39px;height:45px;border-radius:12px;background:#f2e8e8;color:#b88f9f;font-size:22px;flex:0 0 39px}
.cp-row-copy{min-width:0;flex:1}
.cp-row-copy strong,.cp-book-result strong{display:block;font-weight:500;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.cp-row-copy p{font-size:10px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}
.cp-row-actions{display:flex;flex-direction:column;gap:5px;align-items:center;flex:0 0 auto}
.cp-media-row .secondary-button,.cp-book-row .secondary-button{padding:7px 9px;font-size:10px;min-height:31px}
.cp-text-button{background:none;border:0;padding:4px 2px;color:#a78493;cursor:pointer;font-size:10px!important;line-height:1.6}
.cp-text-button:hover{text-decoration:underline}
.cp-ai{margin:15px 0;background:#f9f1ed!important;border:1px solid #eadbd5!important}
.cp-ai p{white-space:pre-wrap;font-size:12px;line-height:1.9;overflow-wrap:anywhere;margin:8px 0 0}
.cp-ai[hidden]{display:none}
.cp-ai[aria-busy=true]{opacity:.8}
.cp-book-row{display:flex;align-items:center;gap:12px;padding:13px!important}
.cp-book-spine{display:grid;place-items:center;flex:0 0 35px;width:35px;height:49px;background:linear-gradient(90deg,#c7a4a8 0,#d8b7ba 5px,#ebd3d2 6px,#e2c4c5 100%);color:#fff8f1;border-radius:2px 7px 7px 2px;font-size:15px;box-shadow:2px 2px 0 #cfb6b057}
.cp-reading{background:#fffcf6!important}
.cp-reading .cp-section-heading{align-items:flex-start}
.cp-book-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:2.05;color:#675957;font-family:'Songti SC','Noto Serif SC',Georgia,serif;min-height:230px;margin:18px 0 20px;user-select:text;-webkit-user-select:text}
.cp-page-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cp-page-controls .muted{font-size:11px}
.cp-page-controls button{font-size:11px!important;padding:8px 12px!important}
.cp-book-result p{font-size:11px}
.cp-book-result .cp-play-controls{align-items:center}
.cp-video-player{padding:12px!important}
.cp-video-player video{display:block;width:100%;max-height:330px;aspect-ratio:16/10;background:#30292e;object-fit:contain;border-radius:14px;margin-bottom:13px}
.cp-video-player>h3,.cp-video-player>p,.cp-video-player>button{margin-left:4px;margin-right:4px}
.cp-frame-preview{width:100%;max-height:220px;object-fit:contain;background:#30292e;border-radius:12px;margin-top:12px}
.cp-frame-preview[hidden]{display:none}
.cp-mood-card{background:linear-gradient(125deg,#fff4ef,#f5e9f0)!important}
.cp-mood-card>h3{font-size:19px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.cp-mood-card>.muted{font-size:11px}
.cp-role-status{margin:14px 0}
.cp-journal>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.85}
.cp-journal>.cp-section-heading{margin-bottom:8px}
.cp-journal strong{font-size:13px;font-weight:500}
.cp-check{display:flex;align-items:flex-start;gap:9px;margin:12px 0;font-size:12px;line-height:1.8;color:#806a74}
.cp-check input{accent-color:#b08096;width:16px;height:16px;flex:0 0 16px;margin:3px 0 0}
.cp-check span{white-space:pre-wrap;overflow-wrap:anywhere}
.cp-check.is-done span{text-decoration:line-through;opacity:.6}
.cp-story-weather{background:linear-gradient(130deg,#fff6e9,#f5e9ed)!important;margin-bottom:15px}
.cp-story-weather>h3{font-size:19px;line-height:1.7;overflow-wrap:anywhere}
.cp-temperature{font-size:49px;font-weight:300;color:#a17d8e;letter-spacing:-2px;margin:13px 0 0;line-height:1.3}
.cp-temperature span{font-size:18px;letter-spacing:0;margin-left:5px}
.cp-real-weather>p{font-size:11px}
.cp-hourly{display:flex;gap:8px;overflow-x:auto;margin:18px -4px;padding:0 4px 10px;scrollbar-width:thin}
.cp-hourly>div{flex:0 0 65px;text-align:center;padding:12px 4px;border-radius:13px;background:#f8f0ee}
.cp-hourly span,.cp-hourly strong,.cp-hourly small{display:block}
.cp-hourly span{font-size:10px;color:#a18a91}
.cp-hourly strong{font-size:17px;font-weight:400;margin:9px 0;color:#a17b8d}
.cp-hourly small{font-size:9px;color:#a18a91;white-space:normal}
.cp-tool-create{margin-bottom:17px;background:#fbf2ed!important}
.cp-tool-create>.muted{font-size:11px}
.cp-tools-list{margin-top:20px}
.cp-tool-card h3{margin:0}
.cp-tool-card .cp-section-heading{align-items:flex-start}
.cp-tool-content{font-size:13px;line-height:1.9!important;white-space:pre-wrap;overflow-wrap:anywhere}
.cp-tool-card .cp-row-actions{flex-direction:row}
.cp-checklist .cp-check{padding:8px 0;margin:0;border-bottom:1px solid #eadde450}
.cp-checklist .cp-check:last-child{border-bottom:0}
[data-cp-city-results]{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
[data-cp-city-results] button{font-size:11px;min-height:34px;padding:7px 11px}
audio[data-cp-player]{display:none}
@media(max-width:360px){.companion-app{padding:18px 13px 30px}
.cp-intro{gap:10px}
.cp-intro-icon{width:46px;flex-basis:46px;height:56px;font-size:25px}
.companion-app h2{font-size:21px}
.cp-media-row{gap:8px;padding:11px!important}
.cp-media-symbol{width:30px;flex-basis:30px;height:37px;font-size:19px}
.companion-app .primary-button,.companion-app .secondary-button{padding:8px 10px;font-size:11px}
.cp-record{width:94px;height:94px}
.cp-reading{padding:14px!important}
}

.weather-app .weather-scope-card{display:flex;flex-direction:column;gap:9px;background:linear-gradient(145deg,#f8faf5,#eef4ee)}.weather-app .weather-scope-card .form-label{margin:0}.weather-app .weather-scope-card select{margin-top:8px;width:100%}.weather-save-destination{font-size:12px;color:#668572;line-height:1.7;margin:7px 0;font-weight:600}.weather-coordinates{font-size:10px;line-height:1.8;color:#899a91;margin:0 0 10px}.weather-app .weather-legacy{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border:1px dashed #d4dfd2}.weather-app .weather-legacy strong{font-size:12px;font-weight:500}.weather-app .cp-hourly>div{min-width:82px}.weather-app [data-weather-city-results]{margin:8px 0}.weather-app .cp-feedback:empty{display:none}
