/* Atoms application contract. Last layer: common geometry and semantic type. */
.atoms-app .library-update-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:#796d71}
.atoms-app .library-update-icon svg.phosphor-icon{width:18px;height:18px;display:block}
.atoms-app .course-focus .focus-body{padding:8px 18px 20px;background:#fcfaf6;border-radius:0 0 24px 24px}
.atoms-app .course-focus .focus-clock{display:grid;place-items:center;width:min(100%,270px);aspect-ratio:1;margin:12px auto 24px;padding:0;border:0;gap:0}
.atoms-app .course-focus .focus-clock::after{content:none}
.focus-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.focus-ring circle{fill:none;stroke-width:7}
.focus-ring-track{stroke:#eeebe4}
.focus-ring-progress{stroke:#ae7c4d;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--focus-value,0));transition:stroke-dashoffset .5s linear}
.focus-clock-center{display:grid;justify-items:center;gap:12px}
.atoms-app .course-focus [data-focus-clock]{font-family:var(--font-ui);font-size:clamp(40px,12vw,56px);font-weight:600;line-height:1;letter-spacing:-.045em;color:#262521}
.atoms-app .focus-clock-center small{font-size:14px;color:#8a8378;font-variant-numeric:tabular-nums}
.atoms-app .focus-intention{margin:0;text-align:center;font-size:17px;font-weight:600;color:#34312b}
.atoms-app .course-focus .focus-status{margin:8px 0 24px;text-align:center;font-size:12px;line-height:1.7;color:#888176}
.atoms-app .course-focus .focus-duration{padding:0;margin-bottom:18px;gap:4px}
.atoms-app .course-focus .focus-duration button{border-radius:12px;font-size:11px;min-height:42px;color:#8a8174}
.atoms-app .course-focus .focus-duration button[aria-pressed=true]{background:#eee5d9;color:#996b41;font-weight:600}
.atoms-app .course-focus .focus-controls{grid-template-columns:1.6fr 1fr;gap:10px}
.atoms-app .course-focus .focus-controls button{min-height:46px;background:#eee5d9;color:#996b41}
.atoms-app .course-focus .focus-controls .focus-primary{background:#ae7c4d;color:#fff}
.atoms-app .course-focus .focus-footnote{margin:14px 0 0;font-size:10px;color:#9b9388;text-align:center}
@media(prefers-reduced-motion:reduce){.focus-ring-progress{transition:none}}
.day-schedule-time{scroll-margin-top:16px}
.atoms-app .player-queue-add{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px auto 0;padding:7px 12px;border:0;border-radius:999px;background:#f8f6f2;color:#706d65;font-size:11px}
.atoms-app .player-queue-add svg{width:16px;height:16px}
.atoms-app .editorial-player input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;height:20px}
.atoms-app .editorial-player input[type=range]::-webkit-slider-runnable-track{height:2px;background:#d9d6d0;border-radius:2px}
.atoms-app .editorial-player input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:7px;height:7px;background:#d70050;border:0;border-radius:50%;margin-top:-2.5px;box-shadow:none}
.atoms-app .editorial-player input[type=range]::-moz-range-track{height:2px;background:#d9d6d0}
.atoms-app .editorial-player input[type=range]::-moz-range-thumb{width:7px;height:7px;border:0;background:#d70050;border-radius:50%}
.atoms-app .player-skip .seek-icon{width:32px;height:32px;fill:none;stroke:currentColor}
.app-frame.atoms-app.atoms-library .screen>.search-box{margin:0 0 12px;height:46px;min-height:46px}
.app-frame.atoms-app.atoms-library .bookshelf-section{margin-top:0;padding-top:0}
.atoms-app .legacy-grid-collapsed{margin-top:10px}
.atoms-app .event-check{display:grid;place-items:center;padding:0;width:18px;height:18px;min-width:18px;border-radius:4px;line-height:1}
.atoms-app .event-check.checked svg.phosphor-icon{display:block;width:13px;height:13px;margin:0;position:static;transform:none;fill:currentColor}
.atoms-app .event-check.checked::before,.atoms-app .event-check.checked::after{content:none}
.app-frame.atoms-app {
  --font-ui:'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;
  --text-page-title:24px; --leading-page-title:34px;
  --text-section-title:20px; --leading-section-title:28px;
  --text-card-title:16px; --leading-card-title:24px;
  --text-cover-title:28px; --leading-cover-title:34px; --weight-cover-title:700;
  --text-ui-body:14px; --leading-ui-body:22px;
  --weight-heading:600; --weight-card-title:500;
  --page-gutter:18px; --module-radius:20px; --control-radius:12px;
  --nav-height:56px; --brand:#d70050; --text-secondary:#706d65;
  font-family:var(--font-ui);font-size:14px;line-height:1.6;
}
.atoms-app :is(button,input,textarea,select,small,label){font-family:var(--font-ui)}
.atoms-app :is(button,input,textarea,select){font-size:14px}
.atoms-app :is(h1,h2,h3){text-wrap:balance}
.atoms-app h1{font-size:26px;line-height:1.4}
.atoms-app h2{font-size:20px;line-height:1.4}
.atoms-app h3{font-size:17px;line-height:1.5}
.atoms-app :is(.sheet-header h2,.me-section-head h2,.me-panel-head h2,.badge-module-head strong,.chart-head h3){font-family:var(--font-ui);font-size:20px;font-weight:600;letter-spacing:0}
.atoms-app :is(.me-profile-metric,.detail-metric) strong{font-family:var(--numeral-font);font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.atoms-app :is(.badge-center,.wish-badge-module) :is(small,span,button,em){font-family:var(--font-ui)}
.atoms-app .phosphor-icon{width:22px;height:22px;flex-shrink:0;fill:currentColor;stroke:none;vertical-align:middle}
.atoms-app .phosphor-icon :is(path,line,circle,rect,polyline,polygon){stroke:none}
.app-frame.atoms-app:not(.home-atoms) .screen{padding:8px var(--page-gutter) calc(90px + env(safe-area-inset-bottom))}
.atoms-app .sheet-body{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.app-frame.atoms-app .bottom-nav-inner{height:56px;min-height:56px;padding:4px;margin:0 18px max(10px,env(safe-area-inset-bottom));width:min(calc(var(--app-width) - 36px),calc(100% - 36px));background:rgba(255,254,250,.52);border:1px solid #ffffffb3;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 5px 24px #28241d10}
.app-frame.atoms-app .bottom-nav .nav-button{min-height:46px;padding:3px 0;gap:3px;font-size:10px;background:transparent}
.app-frame.atoms-app .bottom-nav .nav-button svg.phosphor-icon{width:21px;height:21px;stroke:none;fill:currentColor}
.app-frame.atoms-app .bottom-nav .nav-button svg.phosphor-icon *{stroke:none;fill:inherit}
.atoms-app .nav-selection{inset:4px auto 4px 4px;width:calc((100% - 8px)/4);background:#deddd68a}
.app-frame.home-atoms .vision-home-final .vision-topline.only-search{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding:0;margin-left:18px;margin-right:18px}
.app-frame.home-atoms .vision-home-final .home-add-wish{background:linear-gradient(135deg,#e32169,#d70050);color:#fff;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;border:0;box-shadow:none;display:grid;place-items:center}
.app-frame.home-atoms .vision-home-final .vision-search{min-width:0;height:44px;min-height:44px;flex:1}
.app-frame.home-atoms .vision-home-final .vision-search input{font-family:var(--font-ui);font-size:13px}
.app-frame.home-atoms .vision-home-final .vision-cats{margin-left:18px;margin-right:18px}
.app-frame.home-atoms .vision-home-final .vision-masonry{padding-left:18px;padding-right:18px}
.app-frame.home-atoms .vision-home-final .vision-summary{padding-left:18px;padding-right:18px}
.app-frame.home-atoms .vision-summary .vision-title-en{font-family:'Helvetica Neue',Arial,sans-serif;font-size:clamp(24px,6.2vw,28px);font-weight:400;letter-spacing:.015em;line-height:1.15}
/* The date and mode selector share a row; the daily thought is a small second line. */
.atoms-app .today-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;position:relative;gap:8px;margin:4px 0 12px;padding:0}
.atoms-app .today-quote-card{display:contents}
.atoms-app .today-quote-card .today-quote-date{grid-column:1;grid-row:1;gap:7px;min-width:0;align-items:center}
.atoms-app .today-quote-date b{font-family:var(--font-ui);font-size:21px;line-height:32px;letter-spacing:-.02em;font-weight:600}
.atoms-app .today-quote-date small{font-size:12px;letter-spacing:0;color:#706d65}
.atoms-app .today-quote-card>strong{grid-column:1/-1;grid-row:2;margin:0;font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:1.6;color:#706d65}
.atoms-app .today-topbar .segment{grid-column:2;grid-row:1;width:112px;margin:0;padding:2px;gap:1px}
.atoms-app .today-topbar .segment button{min-width:0;min-height:28px;padding:0 9px;font-size:12px}
.atoms-app .date-strip{margin:0 0 8px}
.atoms-app .day-schedule .event-main strong{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font:700 14px/20px var(--font-ui);letter-spacing:0;max-width:none}
.atoms-app .day-schedule .event-card.schedule-event .event-main{padding:0}
.atoms-app .day-schedule .roomy .event-main strong{-webkit-line-clamp:4}
.atoms-app .day-schedule .micro .event-main strong{-webkit-line-clamp:1}
/* One shared gradient for the Today schedule and its approved preview. */
.atoms-app{--schedule-magenta-rose:radial-gradient(ellipse at 100% 0%,#fbe3ec 0%,rgba(251,227,236,.85) 18%,transparent 68%),radial-gradient(ellipse at 94% 94%,#d70050 0%,rgba(215,0,80,.8) 22%,transparent 72%),radial-gradient(ellipse at 4% 8%,#f3aec9 0%,transparent 68%),linear-gradient(110deg,#fbe3ec 0%,#f3aec9 100%)}
.atoms-app .day-schedule .event-card.schedule-event.featured-lesson{--category-bg:var(--schedule-magenta-rose);--category-ink:#303030;--category-accent:#ab0040;background:var(--category-bg);color:var(--category-ink);padding-left:14px;padding-right:48px;border:0;border-radius:4px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.atoms-app .day-schedule .event-card.schedule-event.featured-lesson::before{display:block;background:var(--category-accent)}
.atoms-app .day-schedule .event-card.schedule-event.magenta-rose-sample{--category-bg:var(--schedule-magenta-rose)!important;--category-ink:#303030!important;--category-accent:#ab0040!important;border:0;padding-left:14px;box-shadow:none}
.atoms-app .day-schedule .event-card.schedule-event.magenta-rose-sample::before{display:block;background:var(--category-accent)}
.atoms-app .day-schedule .event-card.schedule-event.featured-lesson .event-main{color:var(--category-ink);text-shadow:none}
.atoms-app .day-schedule .featured-lesson .schedule-event-time,.atoms-app .day-schedule .featured-lesson .schedule-event-detail{color:var(--category-ink);opacity:1;text-shadow:none}
.atoms-app .day-schedule .featured-lesson .event-check{border-color:#706d65;background:transparent;color:var(--category-ink);box-shadow:none}
.atoms-app .day-schedule .featured-lesson .event-check.checked{background:var(--category-ink);border-color:var(--category-ink);color:#fffdf9}
.atoms-app .day-schedule .featured-lesson-open{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--category-ink);cursor:pointer}
.atoms-app .day-schedule .featured-lesson-open svg{box-sizing:content-box;width:12px;height:12px;padding:4px;border-radius:50%;background:var(--category-ink);flex-shrink:0;color:#fff}
.atoms-app .day-schedule .featured-lesson-open:hover{background:rgba(255,253,249,.5)}
.atoms-app .day-schedule .featured-lesson button:focus-visible{outline:2px solid #706d65;outline-offset:-2px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.atoms-app .day-schedule .event-card.schedule-event.featured-lesson{background-color:#f8f7f3}}
.atoms-app .day-schedule .schedule-event-detail{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:22px}
.atoms-app .day-schedule .schedule-event :is(.event-main,.event-main strong,.schedule-event-time,.schedule-event-detail){color:var(--category-ink)}
.atoms-app .day-schedule .event-card.schedule-event .schedule-event-time{font:400 12px/18px var(--font-ui);font-variant-numeric:tabular-nums}
.atoms-app .day-schedule .event-card.schedule-event[data-action="open-event-options"]{cursor:pointer}
.atoms-app .day-schedule .schedule-event :is(.schedule-event-record,.event-evidence-preview small,.event-evidence-preview strong,.event-evidence-preview>b){font:400 12px/18px var(--font-ui);letter-spacing:0;color:var(--category-ink);opacity:1}
.atoms-app .week-schedule-event strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;font-size:11px}
.atoms-app .week-schedule-event.micro strong{-webkit-line-clamp:1}
.atoms-app .month-agenda-row strong{white-space:normal;overflow-wrap:anywhere}
.all-day-events{display:grid;grid-template-columns:40px minmax(0,1fr);gap:3px;font-size:12px;margin:8px 0}
.all-day-events>span{color:#706d65;padding-top:7px;font-size:11px}
.all-day-events>div{display:grid;gap:4px}
.all-day-events button{background:var(--category-bg,#ece6f3);color:var(--category-ink,#544066);border:0;border-radius:6px;padding:6px 9px;text-align:left;line-height:1.5;font-size:12px}
.all-day-events small{display:block;font-size:10px}
.week-all-day-summary>div{display:flex;gap:6px;align-items:baseline}
.week-all-day-summary>div>b{font-size:11px;font-weight:500;color:#706d65;min-width:32px}
.week-all-day-summary .all-day-events{flex:1;margin:3px 0}
/* One width and radius for the personal workspace. */
.atoms-app.atoms-me .me-workbench{margin:0;gap:23px;padding-top:8px;width:100%;min-width:0}
.app-frame.atoms-app.atoms-me .me-workbench>section{margin:0}
.atoms-app .me-profile-id button{display:inline-grid;place-items:center;width:26px;height:26px;padding:5px;line-height:1}
.atoms-app .me-profile-id button svg.phosphor-icon{width:14px;height:14px;display:block}
.atoms-app .me-profile-metrics .me-profile-metric strong{font-size:28px;line-height:1.3}
.atoms-app .me-profile-metrics .me-profile-metric small{font-size:11px}
.atoms-app .me-workbench>section{width:100%;margin:0;min-width:0;box-sizing:border-box}
.atoms-app .me-workbench :is(.me-profile-strip,.vision-board-canvas,.wish-badge-collage,.legacy-feature){border-radius:var(--module-radius);box-shadow:none}
.atoms-app .me-workbench :is(.vision-board-canvas,.wish-badge-collage){width:100%;height:auto;min-height:0;aspect-ratio:3/4;margin:0;overflow:hidden}
.atoms-app .badge-center .wish-badge-collage{width:100%;height:auto;min-height:0;aspect-ratio:3/4;margin:0;border-radius:var(--module-radius)}
.atoms-app .me-workbench :is(.me-section-head,.badge-module-head,.me-panel-head){margin:0 0 10px;padding:0;min-width:0}
.atoms-app .badge-module-head em{font-size:12px;white-space:nowrap}
.atoms-app .me-profile-strip{border:1px solid #e6e3dc;background:#fff}
.atoms-app .me-workbench .legacy-grid{gap:10px}
.atoms-app .me-workbench .legacy-feature{min-height:132px;padding:16px 14px;gap:8px;background:#fff;border:1px solid #e6e3dc}
.atoms-app .legacy-feature strong{font-family:var(--font-ui);font-size:16px;font-weight:600}
.atoms-app .legacy-feature span{font-size:12px;line-height:1.6}
.atoms-app .me-workbench .legacy-summary{display:flex;justify-content:center;align-items:center;text-align:center;margin-top:10px;min-height:44px;background:#fff;border:1px solid #e6e3dc;border-radius:var(--control-radius)}
.atoms-app .me-workbench .legacy-summary::before,.atoms-app .me-workbench .legacy-summary::after{display:none}
.app-frame.atoms-app .me-support-fab{right:max(18px,calc((100vw - var(--app-width))/2 + 18px));bottom:calc(82px + env(safe-area-inset-bottom));width:44px;height:44px;padding:10px;display:grid;place-items:center;background:#fff;border:1px solid #e1ded6;border-radius:50%;color:#272722;box-shadow:0 4px 14px #28241d10}
.atoms-app .me-support-fab svg{width:23px;height:23px}
.atoms-app .library-update-banner{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;height:46px;min-height:46px;box-sizing:border-box;margin:12px 0;padding:0 12px;border-radius:var(--control-radius)}
.atoms-app .library-update-dismiss{justify-self:end;margin:0;width:28px;height:28px}
.app-frame.atoms-app .library-update-banner{background:linear-gradient(110deg,#d70050 0%,#dc3474 55%,#e96794 100%);border-color:transparent;color:#fffdf9;box-shadow:none}
.app-frame.atoms-app .wish-badge-collage{border-color:transparent;box-shadow:none}
.app-frame.atoms-app .library-update-banner :is(.library-update-icon,.library-update-dismiss){background:transparent;color:#fffdf9}
.app-frame.atoms-app .library-update-dismiss:hover{background:#ffffff18}
.app-frame.atoms-app .library-update-dismiss:focus-visible{outline:2px solid #fffdf9;outline-offset:2px}
.app-frame.atoms-app.atoms-library :is(.library-tabs,.library-update-banner,.search-box){border-radius:var(--control-radius)}
.app-frame.atoms-app.atoms-library .library-tabs button{border-radius:calc(var(--control-radius) - 3px)}
.atoms-app .library-update-banner>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1.5}
/* Paper player and separate queue. */
.atoms-app .book-reading-body{padding:8px var(--page-gutter) 32px}
.atoms-app .book-reading-sheet{width:min(var(--app-width),100%);max-width:var(--app-width)}
.atoms-app .book-reading-intro .book-reading-meta{font-size:12px}
.atoms-app .book-reading-intro h1{font-size:25px;white-space:normal;overflow:visible;line-height:1.5}
.atoms-app .book-reading-summary{font-size:14px!important;line-height:1.85!important;color:#706d65}
.atoms-app .editorial-player{display:block;border:1px solid #eeece6;background:#fff;box-shadow:none;border-radius:var(--module-radius);padding:18px}
.atoms-app .editorial-player input{display:block;width:100%;margin:0;height:18px}
.player-time-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#706d65;font-variant-numeric:tabular-nums}
.player-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;margin-top:18px;gap:4px}
.player-controls>button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#373630}
.atoms-app .player-controls .editorial-play{width:58px;height:58px;background:#d70050;color:#fff;display:grid;place-items:center}
.atoms-app .editorial-play svg{width:28px;height:28px}
.player-speed{display:grid;justify-items:center;gap:0}
.atoms-app .player-speed select{width:44px;height:44px;appearance:none;text-align:center;padding:0;background:transparent;border:0;color:#373630;font-size:14px;font-weight:600}
.player-controls .player-skip{display:flex;flex-direction:column;justify-content:center;gap:2px;border-radius:12px}
.atoms-app .player-controls svg{width:26px;height:26px}
.atoms-app .player-skip small{position:static;font-size:12px;line-height:18px;color:#706d65;background:transparent;font-variant-numeric:tabular-nums}
.listening-actions>small{font-size:10px;color:#827d75}
.app-frame.atoms-app.atoms-library .library-tabs{margin:8px 0 12px}
.app-frame.atoms-app.atoms-library .library-update-banner{margin:0 0 12px}
.app-frame.atoms-app.atoms-library .thinking-library{gap:12px;margin:0;padding-top:0}
.app-frame.atoms-app.atoms-library .thinking-library-search{margin:0;height:46px;min-height:46px}
.app-frame.atoms-app.atoms-library .thinking-library>section{margin-top:0}
.atoms-app .schedule-content-module>p{white-space:pre-line}
.atoms-app .task-detail-actionbar.unified-task-actions{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:10px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:rgba(248,247,243,.94)}
.atoms-app .unified-task-actions>button{pointer-events:auto;min-width:0;min-height:46px;height:46px;margin:0;padding:8px;border:1px solid #e6e3dc;border-radius:14px;background:#fff;color:#706d65;font-size:14px;display:flex;align-items:center;justify-content:center;gap:5px}
.atoms-app .unified-task-actions>.task-detail-complete{background:#d70050;color:white;border-color:#d70050;box-shadow:none}
.atoms-app .editorial-wave i{background:#d70050}
.atoms-app .editorial-player input{accent-color:#d70050}
.atoms-app .editorial-player small,.atoms-app .editorial-player-note{font-size:12px;color:#706d65}
.listening-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 22px}
.listening-actions button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:38px;padding:6px 0;border:0;background:transparent;font-size:12px;color:#706d65;white-space:nowrap}
.listening-actions .queue-add{padding:6px 12px;border:1px solid #ebafc5;border-radius:999px;color:#d70050}
.listening-actions svg{width:17px;height:17px}
.atoms-app :is(.book-shownotes-section,.book-model-summary,.book-transcript){margin:22px 0 0;padding:0;border:0;background:transparent;box-shadow:none}
.atoms-app :is(.book-shownotes-section,.book-model-summary,.book-transcript) h2{font-family:var(--font-ui);font-size:18px;font-weight:600;margin:0 0 10px;line-height:1.5}
.atoms-app :is(.book-shownotes-list,.book-transcript-copy,.book-model-card){background:#fff;border-radius:var(--module-radius);padding:16px}
.atoms-app .book-chapter{padding:12px 0;gap:10px}
.atoms-app .book-chapter:last-child{border-bottom:0}
.atoms-app .book-chapter span{font-size:13px;color:#706d65}
.atoms-app .book-chapter time{font-size:12px;color:#272722}
.atoms-app :is(.book-model-summary p,.book-transcript-copy p){font-size:14px;line-height:1.85;color:#55564f;letter-spacing:0}
.atoms-app .book-transcript-copy p:last-child{margin-bottom:0}
.atoms-app .editorial-model-steps{margin-top:16px;border:0;background:transparent}
.atoms-app .editorial-model-steps div{background:#f7f6f2;padding:12px}
.book-model-infographic{display:block;width:100%;height:auto;margin-top:16px;border-radius:12px}
.atoms-app .book-platform-grid a{background:#fff;border-radius:12px;min-height:44px}
.atoms-app .book-plan-action{background:#d70050;color:#fff;border-radius:999px;min-height:44px}
/* Model reader shares the book reader shell; type follows DESIGN.md. */
.atoms-app .model-reading-sheet{font-family:var(--font-ui);color:#272722;box-shadow:none}
.atoms-app .model-reading-header{grid-template-columns:44px minmax(0,1fr) 44px;padding-inline:var(--page-gutter)}
.atoms-app .model-reading-header>strong{font-family:var(--font-ui);font-size:14px;line-height:22px;font-weight:500}
.atoms-app .model-reading-header .icon-button{width:44px;height:44px;min-height:44px;border:1px solid #e1ded6;border-radius:50%;background:#fffdf9;color:#272722}
.atoms-app .model-reading-body{padding:8px var(--page-gutter) calc(32px + env(safe-area-inset-bottom))}
.model-reading-title{padding:24px 0;text-align:center}
.atoms-app .model-reading-title h1{margin:0;font-family:var(--font-ui);font-size:24px;font-weight:600;line-height:34px;letter-spacing:0;overflow-wrap:anywhere}
.model-reading-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.model-reading-meta span{padding:4px 8px;border:1px solid #e1ded6;border-radius:6px;background:#fffdf9;color:#706d65;font-size:12px;line-height:18px}
.model-reading-summary{margin:16px 0 0;color:#706d65;font-size:14px;line-height:22px;text-align:left;overflow-wrap:anywhere}
.model-audio-section{margin:0;padding:0}
.atoms-app .model-audio-player{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:12px;align-items:center;width:100%;padding:16px;border:1px solid #e1ded6;border-radius:var(--module-radius);background:#fffdf9;color:#272722;text-align:left;box-shadow:none}
.model-audio-play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f7edf0;color:#d70050}
.model-audio-copy{display:grid;gap:4px;min-width:0}
.model-audio-copy strong{font-size:16px;font-weight:500;line-height:24px;overflow-wrap:anywhere}
.model-audio-copy small{color:#706d65;font-size:12px;line-height:18px}
.model-audio-player>svg{color:#706d65}
.model-audio-player:active{background:#f8f7f3}
.model-audio-player:focus-visible{outline:2px solid #d70050;outline-offset:3px}
.model-diagram-section,.model-transcript-section{margin:24px 0 0;padding:0}
.atoms-app :is(.model-diagram-section,.model-transcript-section)>h2{margin:0 0 12px;font-family:var(--font-ui);font-size:20px;font-weight:600;line-height:28px;letter-spacing:0}
.model-infographic-card{overflow:hidden;margin:0;border:1px solid #e1ded6;border-radius:var(--module-radius);background:#fffdf9}
.model-infographic-card img{display:block;width:100%;height:auto}
.model-infographic-card img[hidden]{display:none}
.model-image-fallback{padding:24px 16px;margin:0;color:#706d65;font-size:14px;line-height:22px}
.model-transcript-copy{padding:16px;border-radius:var(--module-radius);background:#fffdf9}
.model-transcript-copy p{margin:0 0 16px;font-family:var(--font-ui);color:#272722;font-size:16px;font-weight:400;line-height:28px;letter-spacing:0;overflow-wrap:anywhere}
.model-transcript-copy p:last-child{margin-bottom:0}
.queue-body{padding:12px 18px 32px}
.queue-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}
.queue-tools>span{display:flex;align-items:center;gap:5px;color:#d70050;font-size:13px}
.queue-tools>div{display:flex;gap:8px}
.queue-tools button,.queue-clear{border:1px solid #e1ded6;border-radius:999px;background:#fff;min-width:44px;min-height:36px;font-size:12px;color:#706d65}
.queue-clear{border:0;background:transparent}
.queue-items{display:grid;gap:10px}
.queue-item{display:flex;align-items:center;gap:8px;background:#fff;border-radius:20px;padding:14px}
.queue-item>button:first-child{display:flex;align-items:center;flex:1;min-width:0;gap:14px;background:none;border:0;text-align:left;padding:0}
.queue-item .book-cover{width:54px;height:74px;min-height:0;flex:0 0 54px;border-radius:5px;box-shadow:none}
.queue-item>button>span{min-width:0;display:grid;gap:4px}
.queue-item strong{font-size:15px;line-height:1.5;color:#272722}
.queue-item small{font-size:11px;color:#706d65;line-height:1.5}
.queue-item em{font-size:11px;color:#d70050;font-style:normal}
.queue-remove{width:32px;height:44px;flex:0 0 32px;padding:0;background:none;border:0;color:#77756c}
.queue-note,.queue-empty p{font-size:13px;color:#706d65;line-height:1.7}
.queue-empty{padding:50px 12px;text-align:center}
.queue-empty>svg{width:40px;height:40px;color:#d70050}
.queue-empty h2{font-size:18px;margin-top:18px}
.queue-page button:disabled{opacity:.4;cursor:default}
@media(max-width:360px){.atoms-app .today-topbar .segment{width:99px}.atoms-app .today-quote-date b{font-size:19px}.atoms-app .today-quote-date small{font-size:11px}.listening-actions{gap:4px}.listening-actions .queue-add{padding:6px 8px}.atoms-app .board-tools{gap:3px}}

/* Home controls share the same corner radius as the library controls. */
.app-frame.home-style-final.home-atoms .vision-home-final :is(.home-feed-tabs,.vision-search,.vision-cat){border-radius:var(--control-radius)}
.app-frame.home-style-final.home-atoms .vision-home-final .home-feed-tabs button{border-radius:calc(var(--control-radius) - 3px)}

/* Schedule Agent follows the same warm paper, restrained surfaces and 12px controls. */
.atoms-app .manual-agent-screen{width:min(var(--app-width),100%);height:100dvh;max-height:100dvh;background:#f8f7f3;color:#272722;font-family:var(--font-ui);box-shadow:none}
.atoms-app .manual-agent-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;min-height:80px;padding:12px 18px;border-bottom:1px solid #e6e3dc;background:#f8f7f3e8}
.atoms-app .manual-agent-header>button{width:44px;height:44px;min-width:44px;padding:0;border:1px solid #e6e3dc;border-radius:var(--control-radius);background:#fff;color:#55564e;box-shadow:none}
.atoms-app .manual-agent-header>div>span{width:32px;height:32px;border-radius:var(--control-radius);background:linear-gradient(135deg,#f0e5f1,#fff0d9);color:#695d60;box-shadow:none}
.atoms-app .manual-agent-header strong{font-family:var(--font-ui);font-size:17px;font-weight:600;line-height:1.4;letter-spacing:0}
.atoms-app .manual-agent-header small{font-size:11px;line-height:1.5;color:#89867d}
.atoms-app .manual-agent-header small i{width:5px;height:5px;background:#86a083;box-shadow:none}
.atoms-app .manual-agent-conversation{padding:24px 18px;scroll-padding-block:20px;overscroll-behavior:contain}
.atoms-app .manual-agent-turn{gap:10px;margin-bottom:20px}
.atoms-app .manual-agent-turn.assistant>span{width:28px;height:28px;min-width:28px;border-radius:10px;background:#eeece5;color:#70665d;box-shadow:none}
.atoms-app .manual-agent-turn.assistant>span svg{width:17px;height:17px}
.atoms-app .manual-agent-turn.assistant>div,.atoms-app .manual-agent-turn.user>div{min-width:0;max-width:calc(100% - 38px);padding:14px 16px;border-radius:var(--control-radius);font-family:var(--font-ui);font-size:14px;line-height:1.85;overflow-wrap:anywhere;box-shadow:none}
.atoms-app .manual-agent-turn.assistant>div{background:#fff;border:1px solid #e6e3dc;color:#55564e}
.atoms-app .manual-agent-turn.user>div{background:#eeece5;border:1px solid #e6e3dc;color:#34362e}
.atoms-app .manual-agent-turn.thinking>div i{background:#aaa598}
.atoms-app .manual-agent-quick-options{gap:8px;margin:16px 0 24px;padding:0}
.atoms-app .manual-agent-quick-options button{min-height:44px;padding:10px 15px;border:1px solid #dedbd3;border-radius:var(--control-radius);background:#fff;color:#56564e;font-size:13px;box-shadow:none}
.atoms-app .manual-agent-quick-options button:active{background:#eeece5;transform:none}
.atoms-app .manual-schedule-card{margin:24px 0;padding:20px;border:1px solid #dfddd3;border-radius:var(--control-radius);background:#fff;box-shadow:none}
.atoms-app .manual-schedule-card.ready{border-color:#d4d8c9;background:linear-gradient(145deg,#f0f2e9,#fff 70%)}
.atoms-app .manual-schedule-card header>span{background:#efeee6;color:#6d7560;border-radius:10px;box-shadow:none}
.atoms-app .manual-schedule-card header small{color:#858477;font-size:11px}
.atoms-app .manual-schedule-card h3{font-family:var(--display-font);font-size:21px;line-height:1.5;font-weight:600;color:#30332a}
.atoms-app .manual-schedule-facts{gap:10px;margin-top:16px;color:#737468}
.atoms-app .manual-schedule-facts>span,.atoms-app .manual-schedule-type{background:transparent;border:0;border-radius:0;padding:0;font-size:12px;color:#737468}
.atoms-app .manual-schedule-type select{font-size:12px;color:inherit}
.atoms-app .manual-schedule-confirm,.atoms-app .manual-agent-screen .primary-button{min-height:44px;border:0;border-radius:var(--control-radius);background:#292b25;color:#fff;font-size:14px;box-shadow:none}
.atoms-app .manual-agent-screen .primary-button:disabled{background:#e7e5dd;color:#99958b}
.atoms-app .manual-agent-attachments article{padding:12px;border:1px solid #e1ded6;border-radius:var(--control-radius);background:#fff;box-shadow:none}
.atoms-app .manual-agent-attachments article>span{background:#eeece5;color:#757166;border-radius:10px}
.atoms-app .manual-agent-attachments article>button{margin-left:auto;min-width:36px;min-height:36px;color:#777268;background:transparent}
.atoms-app .manual-agent-screen .agent-date-control input{border-radius:var(--control-radius);background:#eeece5;font-family:var(--font-ui);font-size:14px}
.atoms-app .manual-agent-screen .agent-repeat-control .rhythm-section-heading{align-items:baseline;line-height:1.6}
.atoms-app .manual-agent-screen .agent-weekday-options{gap:5px}
.atoms-app .manual-agent-composer{padding:12px 18px max(14px,env(safe-area-inset-bottom));border-top:0;background:#f8f7f3e8}
.atoms-app .manual-agent-composer-box{grid-template-columns:40px 40px minmax(0,1fr) 40px;gap:4px;align-items:center;padding:10px;border:1px solid #dfdcd3;border-radius:var(--control-radius);background:#fff;box-shadow:0 4px 18px #302b1a06}
.atoms-app .manual-agent-composer-box:focus-within{border-color:#aca99b;box-shadow:0 0 0 2px #e9e6dc}
.atoms-app .manual-agent-composer-box textarea{grid-row:1;grid-column:1/-1;min-width:0;min-height:52px;max-height:120px;padding:5px 4px 10px;font-family:var(--font-ui);font-size:14px;line-height:1.7;color:#34352e;overflow-y:auto;scrollbar-width:thin}
.atoms-app .manual-agent-composer-box textarea::placeholder{color:#999589}
.atoms-app .manual-agent-composer-box>label{grid-row:2;grid-column:1}
.atoms-app .manual-agent-composer-box>.manual-agent-mic{grid-row:2;grid-column:2}
.atoms-app .manual-agent-composer-box>.manual-agent-send{grid-row:2;grid-column:4}
.atoms-app .manual-agent-composer-box>label,.atoms-app .manual-agent-composer-box>button{width:40px;height:40px;border:0;border-radius:10px;color:#7f7b6e;box-shadow:none}
.atoms-app .manual-agent-composer-box .manual-agent-send{background:#292b25;color:#fff}
.atoms-app .manual-agent-composer-box .manual-agent-send:disabled{background:#eeece5;color:#b0ab9e}
.atoms-app .manual-agent-composer-box .manual-agent-mic.listening{background:#f7e6ed;color:#d70050}
.atoms-app .manual-agent-screen :focus-visible{outline:2px solid #8c927a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.atoms-app .manual-agent-turn,.atoms-app .manual-schedule-card,.atoms-app .manual-agent-mic.listening{animation:none}.atoms-app .manual-agent-conversation{scroll-behavior:auto}}

.atoms-app .manual-agent-screen .agent-weekday-options button{font-family:var(--font-ui);font-weight:500}

/* Shared Atoms segmented control: slim track and fully rounded selection. */
.app-frame.home-style-final.home-atoms .vision-home-final .home-feed-tabs,
.app-frame.atoms-app.atoms-library .library-tabs,
.app-frame.atoms-app .course-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:2px;padding:2px;height:32px;min-height:32px;box-sizing:border-box;border:0;border-radius:999px;background:#eae8e5;box-shadow:none}
.app-frame.home-style-final.home-atoms .vision-home-final .home-feed-tabs button,
.app-frame.atoms-app.atoms-library .library-tabs button,
.app-frame.atoms-app .course-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:28px;min-height:28px;margin:0;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#5e5c57;font-family:var(--font-ui);font-size:13px;font-weight:400;line-height:1;box-shadow:none}
.app-frame.home-style-final.home-atoms .vision-home-final .home-feed-tabs button.active,
.app-frame.atoms-app.atoms-library .library-tabs button.active,
.app-frame.atoms-app .course-tabs button[aria-selected=true]{background:#252522;color:#fff;font-weight:600;box-shadow:none}
.app-frame.atoms-app .course-tabs strong{font-size:13px;font-weight:inherit;line-height:1}
.app-frame.atoms-app .course-tabs span{font-size:11px;line-height:1}

.app-frame.home-atoms .home-feed-tabs{position:relative;overflow:visible;z-index:5}
.app-frame.home-atoms .home-feed-tabs button{position:relative}


.app-frame.atoms-app .bottom-nav .nav-button svg.phosphor-icon[data-icon="brain-side"] path{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.app-frame.atoms-app .bottom-nav .nav-button svg.phosphor-icon[data-icon="brain-side"][data-solid="true"] .brain-contour{fill:currentColor}
.app-frame.atoms-app .bottom-nav .nav-button svg.phosphor-icon[data-icon="brain-side"][data-solid="true"] .brain-folds{stroke:#e6e5df;stroke-width:1.25}

/* Shared section voice, badge geometry and controls. */
.app-frame.atoms-app .me-workbench :is(.me-section-head h2,.me-panel-head h2,.badge-module-head strong) { font-family: var(--font-ui); font-size: 20px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.app-frame.atoms-app .achievement-page .sheet-title { font-family: var(--font-ui); font-size: 24px; font-weight: 600; line-height: 1.4167; }
.app-frame.atoms-app.atoms-library { --display-font: var(--font-ui); }
.app-frame.atoms-app .wish-badge-collage { border: 1px solid #e1ded6; box-sizing: border-box; }
.app-frame.atoms-app .wish-badge-collage :is(.badge-wall-pin,.badge-wall-pin.small) { width: 25%; }
.app-frame.atoms-app .wish-badge-collage .badge-wall-pin.portrait { width: 46%; }
.app-frame.atoms-app .badge-module-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.app-frame.atoms-app .badge-module-actions { display: flex; gap: 4px; }
.app-frame.atoms-app .badge-module-actions .icon-button { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #706d65; cursor: pointer; }
.app-frame.atoms-app .badge-module-actions .icon-button svg { width: 22px; height: 22px; }
.app-frame.atoms-app .badge-module-actions .icon-button:focus-visible { outline: 2px solid #a51c50; outline-offset: 2px; }
.app-frame.atoms-app .badge-wall-reset { position: static; display: flex; justify-content: center; align-items: center; width: 100%; min-height: 44px; margin: 12px 0 0; padding: 0 16px; border: 1px solid #e1ded6; border-radius: 999px; background: #fffdf9; color: #706d65; font: 400 13px var(--font-ui); }
.app-frame.atoms-app .achievement-page .badge-category-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px; padding: 2px; height: 32px; min-height: 32px; box-sizing: border-box; border: 0; border-radius: 999px; background: #eae8e5; box-shadow: none; }
.app-frame.atoms-app .achievement-page .badge-category-tabs button { display: flex; align-items: center; justify-content: center; min-height: 28px; height: 28px; margin: 0; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; color: #5e5c57; font: 400 13px/1 var(--font-ui); box-shadow: none; }
.app-frame.atoms-app .achievement-page .badge-category-tabs button.active { background: #252522; color: #fff; font-weight: 600; }
.app-frame.atoms-app .achievement-tile .achievement-art { width: min(100%,80px); }
.app-frame.atoms-app .achievement-tile { gap: 4px; }
.app-frame.atoms-app .achievement-tile strong { font: 600 13px/1.5 var(--font-ui); }
.app-frame.atoms-app .achievement-tile .achievement-count { font: 500 12px/1.5 var(--font-ui); font-variant-numeric: tabular-nums; color: #93918b; }
.app-frame.atoms-app .achievement-page .achievement-badges { gap: 28px 12px; }
.app-frame.atoms-app .dashboard-detail-metrics .detail-metric span { font: 400 12px/1.5 var(--font-ui); color: #706d65; }
.app-frame.atoms-app .dashboard-detail-metrics .detail-metric strong { font: 500 clamp(24px,6vw,30px)/1.3 var(--font-ui); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.app-frame.atoms-app [data-db-field^="me-dashboard"] .chart-head h3 { font: 500 16px/1.5 var(--font-ui); }
.app-frame.atoms-app [data-db-field^="me-dashboard"] :is(svg text,.chart-legend) { font-family: var(--font-ui); font-size: 11px; font-weight: 400; }

/* Compact badge entrance: one row, with all details in the collection page. */
.app-frame.atoms-app .badge-entry-module { padding: 0; border: 0; border-radius: 20px; background: #fffdf9; overflow: visible; }
.app-frame.atoms-app .badge-entry-card { display: block; width: 100%; padding: 18px 16px 20px; border: 0; border-radius: inherit; background: transparent; color: #272722; text-align: left; cursor: pointer; }
.app-frame.atoms-app .badge-entry-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.app-frame.atoms-app .badge-entry-heading strong { font: 600 20px/28px var(--font-ui); }
.app-frame.atoms-app .badge-entry-total { display: inline-flex; align-items: center; gap: 4px; color: #706d65; font: 400 12px/18px var(--font-ui); }
.app-frame.atoms-app .badge-entry-total svg { width: 16px; height: 16px; }
.app-frame.atoms-app .badge-entry-preview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: center; gap: 12px; margin-top: 20px; }
.app-frame.atoms-app .badge-entry-item { display: block; min-width: 0; }
.app-frame.atoms-app .badge-entry-empty { display: block; margin-top: 12px; color: #706d65; font: 400 12px/18px var(--font-ui); }
.app-frame.atoms-app .badge-entry-card:focus-visible { outline: 2px solid #a51c50; outline-offset: 4px; }
.app-frame.atoms-app .badge-entry-card:active { background: #f2f0eb; }
.app-frame.atoms-app .achievement-page .badge-collection-grid { gap: 28px 12px; }
.app-frame.atoms-app .achievement-tile strong { font: 500 13px/20px var(--font-ui); }
.app-frame.atoms-app .achievement-tile .achievement-count { color: #706d65; font: 400 12px/18px var(--font-ui); }

.app-frame.atoms-app .sheet.achievement-page .sheet-header h2,
.app-frame.atoms-app .badge-detail-body h2 { font: 600 24px/34px var(--font-ui); letter-spacing: 0; }

/* Shared schedule palette: explicit color does not change category or source. */
.atoms-app .event-palette-blue{--category-bg:hsl(218 58% 92%)!important;--category-ink:hsl(218 30% 34%)!important;--category-accent:hsl(218 58% 62%)!important}
.atoms-app .event-palette-purple{--category-bg:hsl(270 58% 92%)!important;--category-ink:hsl(270 30% 34%)!important;--category-accent:hsl(270 58% 62%)!important}
.atoms-app .event-palette-green{--category-bg:hsl(153 58% 92%)!important;--category-ink:hsl(153 30% 34%)!important;--category-accent:hsl(153 58% 62%)!important}
.atoms-app .event-palette-apricot{--category-bg:hsl(35 58% 92%)!important;--category-ink:hsl(35 30% 34%)!important;--category-accent:hsl(35 58% 62%)!important}
.atoms-app .event-palette-pink{--category-bg:hsl(336 58% 92%)!important;--category-ink:hsl(336 30% 34%)!important;--category-accent:hsl(336 58% 62%)!important}
.atoms-app .event-palette-cyan{--category-bg:hsl(185 58% 92%)!important;--category-ink:hsl(185 30% 34%)!important;--category-accent:hsl(185 58% 62%)!important}
.atoms-app .event-palette-curated{--category-bg:var(--schedule-magenta-rose)!important;--category-ink:#303030!important;--category-accent:#ab0040!important}
.atoms-app .day-schedule .featured-lesson .event-main,.atoms-app .day-schedule .featured-lesson .schedule-event-time,.atoms-app .day-schedule .featured-lesson .schedule-event-detail{color:var(--category-ink)}
.event-color-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:8px 12px}
.event-color-options button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px;border:1px solid transparent;border-radius:12px;font:400 12px/18px var(--font-ui);background:transparent;color:#272722}
.event-color-options button[aria-pressed="true"]{border-color:#272722}
.event-color-options i{width:24px;height:24px;border-radius:50%;background:var(--category-bg);border:1px solid var(--category-accent)}
.event-action-popover{width:min(288px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:auto}
.event-main:not(button){cursor:default}

/* Badge collection: external heading, shared artwork sizing and keepsake detail. */
.app-frame.atoms-app .badge-entry-module { background: transparent; border-radius: 0; }
.app-frame.atoms-app .badge-entry-module .me-section-head { margin-bottom: 12px; }
.app-frame.atoms-app .badge-entry-total { min-height: 44px; padding: 0; border: 0; background: transparent; }
.app-frame.atoms-app .badge-entry-card { padding: 24px 12px; background: #fffdf9; border-radius: 20px; }
.app-frame.atoms-app .badge-entry-preview { margin: 0; gap: 8px; }
.app-frame.atoms-app :is(.badge-entry-item,.achievement-tile) .achievement-art { width: min(100%,64px); height: 64px; margin-inline: auto; }
.app-frame.atoms-app .achievement-art img { display: block; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; }
.app-frame.atoms-app .achievement-page .badge-collection-grid { margin-top: 20px; padding: 24px 12px; border-radius: 20px; background: #fffdf9; gap: 28px 12px; }
.app-frame.atoms-app .achievement-page .achievement-tile { gap: 8px; }
.app-frame.atoms-app .achievement-page.badge-detail-page { background: #f8f7f3; }
.app-frame.atoms-app .badge-detail-body { display: block; flex: 1; padding: 8px 18px 32px; text-align: center; overflow-y: auto; }
.app-frame.atoms-app .badge-detail-card { background: #fffdf9; border-radius: 20px; padding: 12px; }
.app-frame.atoms-app .badge-detail-stage { display: grid; place-items: center; min-height: 196px; border-radius: 12px; background: radial-gradient(ellipse at 0% 0%,#f0e5f1,transparent 70%),radial-gradient(ellipse at 100% 100%,#fff0d9,transparent 75%),#f8f7f3; }
.app-frame.atoms-app .badge-detail-art { width: 120px; height: 120px; margin: 0; }
.app-frame.atoms-app .badge-detail-copy { padding: 24px 12px 16px; }
.app-frame.atoms-app .badge-detail-category { color: #706d65; font: 400 12px/18px var(--font-ui); }
.app-frame.atoms-app .badge-detail-copy h2 { margin: 8px 0 12px; overflow-wrap: anywhere; }
.app-frame.atoms-app .badge-earned-label { display: inline-block; border-radius: 999px; background: #eef2ea; color: #536148; font: 400 12px/18px var(--font-ui); padding: 5px 12px; }
.app-frame.atoms-app .locked .badge-earned-label { background: #eeece6; color: #706d65; }
.app-frame.atoms-app .badge-detail-rule { text-align: left; margin-top: 28px; padding-top: 20px; border-top: 1px solid #e1ded6; }
.app-frame.atoms-app .badge-detail-rule h3 { margin: 0 0 8px; font: 500 14px/22px var(--font-ui); }
.app-frame.atoms-app .badge-detail-rule p { max-width: none; margin: 0; font: 400 14px/22px var(--font-ui); color: #706d65; }
.app-frame.atoms-app .badge-detail-progress { height: auto; margin-top: 24px; }
.app-frame.atoms-app .badge-detail-progress > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; font: 400 12px/18px var(--font-ui); color: #706d65; }
.app-frame.atoms-app .badge-detail-progress span { position: static; display: block; font: inherit; color: inherit; }
.app-frame.atoms-app .badge-detail-progress strong { font-weight: 500; }
.app-frame.atoms-app .badge-detail-progress progress { height: 6px; background: #eeece6; }
.app-frame.atoms-app .badge-detail-progress progress::-webkit-progress-value { background: #b592aa; }
.app-frame.atoms-app .badge-detail-progress progress::-moz-progress-bar { background: #b592aa; }
.app-frame.atoms-app .badge-detail-body :is(.badge-detail-note,.badge-share-hint) { max-width: none; margin: 20px 0 0; font: 400 12px/18px var(--font-ui); color: #706d65; }
.app-frame.atoms-app .badge-share-preview { display: block; width: 100%; max-width: 354px; height: auto; margin: 0 auto; border-radius: 20px; }
.app-frame.atoms-app .badge-share-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.app-frame.atoms-app .badge-save-button { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 20px auto 0; min-height: 44px; border-radius: 999px; }
/* Compact schedule menu, using shared card typography. */
.atoms-app .event-action-popover{top:auto;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:auto;max-width:360px;max-height:calc(100% - 32px);margin:0 auto;padding-bottom:8px;box-sizing:border-box;border-radius:20px;background:rgba(255,253,249,.97);border:1px solid #e1ded6;box-shadow:0 12px 36px rgba(39,39,34,.14)}
.atoms-app .event-action-summary{padding:18px 16px 12px;border-bottom:0}
.atoms-app .event-action-summary>span{display:block;font:400 12px/18px var(--font-ui);color:#706d65;letter-spacing:0;font-variant-numeric:tabular-nums}
.atoms-app .event-action-summary h2{width:100%;max-width:none;margin:8px 0 0;font:500 16px/24px var(--font-ui);color:#272722;letter-spacing:0;white-space:normal;text-overflow:clip;overflow:visible;overflow-wrap:anywhere;text-wrap:pretty}
.atoms-app .event-action-menu{margin:4px 12px 0;border-top:1px solid #e1ded6}
.atoms-app .event-action-menu button{padding:8px 4px;min-height:48px;grid-template-columns:28px minmax(0,1fr);gap:12px;border-bottom:0}
.atoms-app .event-action-menu button strong{font:500 14px/20px var(--font-ui)}
.event-action-overlay:has(.schedule-drag-guide){background:transparent;backdrop-filter:none;overflow:hidden}
.schedule-drag-guide{position:absolute;inset:0;color:#fff;text-align:center;overflow:hidden}
.schedule-drag-spotlight{position:absolute;border-radius:6px;outline:2px solid #fff;box-shadow:0 0 0 200vmax rgba(21,22,26,.72);pointer-events:none}
.schedule-drag-guide-copy{position:absolute;left:16px;right:16px}
.schedule-drag-guide-arrow{position:absolute;width:80px;height:56px;pointer-events:none}
.schedule-drag-guide p{margin:16px 0 24px;font:400 16px/28px var(--font-ui)}
.schedule-drag-guide button{min-height:44px;padding:10px 28px;border:1px solid #fff;border-radius:999px;background:transparent;color:#fff;font:500 14px/20px var(--font-ui)}

/* One navigation component for the badge list, detail and share preview. */
.app-frame.atoms-app .achievement-page .badge-navigation { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 12px; flex: 0 0 auto; padding: 18px; background: #f8f7f3; }
.app-frame.atoms-app .achievement-page .badge-navigation h2 { margin: 0; text-align: center; font: 600 24px/34px var(--font-ui); letter-spacing: 0; color: #272722; }
.app-frame.atoms-app .achievement-page .badge-navigation .badge-navigation-button { display: grid; place-items: center; box-sizing: border-box; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; margin: 0; border: 1px solid #e1ded6; border-radius: 50%; background: #fffdf9; color: #272722; box-shadow: none; cursor: pointer; }
.app-frame.atoms-app .achievement-page .badge-navigation-button svg { display: block; width: 20px; height: 20px; flex: none; }
.app-frame.atoms-app .achievement-page .badge-navigation-button:focus-visible { outline: 2px solid #a51c50; outline-offset: 3px; }
.app-frame.atoms-app .achievement-page .badge-navigation-button:active { background: #eeece6; }
.app-frame.atoms-app .achievement-page .badge-navigation-button:disabled { opacity: .5; cursor: wait; }

/* Personal section headings and small toolbar glyphs share one alignment rule. */
.app-frame.atoms-app .me-workbench .me-section-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.app-frame.atoms-app .me-workbench .me-section-head h2 { margin:0; line-height:28px; }
.app-frame.atoms-app .me-workbench .me-section-head > div:first-child { min-width:0; }
.app-frame.atoms-app .me-workbench .board-tools { gap:0; }
.app-frame.atoms-app .me-workbench .board-tools .icon-button { position:relative; display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.app-frame.atoms-app .me-workbench .board-tools .icon-button::before { content:none; }
.app-frame.atoms-app .me-workbench .board-tools .icon-button svg { position:relative; width:16px; height:16px; }
.app-frame.atoms-app .me-workbench .icon-button svg { width:16px; height:16px; }
.app-frame.atoms-app .me-workbench .board-tools .icon-button:focus-visible { outline:2px solid #a51c50; outline-offset:0; border-radius:12px; }
.app-frame.atoms-app .vision-history-page .history-body { padding:8px 18px 32px; }
.app-frame.atoms-app .history-intro { margin:20px 0; color:#706d65; font:400 14px/22px var(--font-ui); }
.app-frame.atoms-app .history-list { display:grid; gap:12px; }
.app-frame.atoms-app .history-card { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:20px; border:0; border-radius:20px; background:#fffdf9; text-align:left; color:#272722; cursor:pointer; }
.app-frame.atoms-app .history-card-copy { display:grid; gap:8px; min-width:0; }
.app-frame.atoms-app .history-card strong { font:500 16px/24px var(--font-ui); }
.app-frame.atoms-app .history-card-copy > span,.app-frame.atoms-app .history-card small { color:#706d65; font:400 12px/18px var(--font-ui); }
.app-frame.atoms-app .history-card svg { flex:none; width:16px; height:16px; }
.app-frame.atoms-app .history-plan-heading { padding:20px 0 24px; }
.app-frame.atoms-app .history-plan-heading h2 { margin:8px 0; font:600 24px/34px var(--font-ui); }
.app-frame.atoms-app .history-plan-heading > span { font:400 12px/18px var(--font-ui); color:#706d65; }
.app-frame.atoms-app .history-plan-heading > p { font:400 12px/18px var(--font-ui); color:#706d65; margin:0; }
.app-frame.atoms-app .history-plan-content,.app-frame.atoms-app .history-empty { padding:20px; border-radius:20px; background:#fffdf9; margin-bottom:16px; overflow-wrap:anywhere; }
.app-frame.atoms-app .history-plan-content h3,.app-frame.atoms-app .history-empty h3 { font:500 16px/24px var(--font-ui); margin:0 0 8px; }
.app-frame.atoms-app .history-plan-content p,.app-frame.atoms-app .history-empty p { font:400 14px/22px var(--font-ui); color:#706d65; margin:0; white-space:pre-wrap; }
.app-frame.atoms-app .history-plan-field + .history-plan-field,.app-frame.atoms-app .history-plan-item + .history-plan-item { margin-top:20px; }
.app-frame.atoms-app .history-plan-field .history-plan-field h3 { font:500 14px/22px var(--font-ui); }
.app-frame.atoms-app .history-plan-item { padding-bottom:12px; }
.app-frame.atoms-app .history-versions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.app-frame.atoms-app .history-versions button { min-height:44px; border:1px solid #e1ded6; border-radius:999px; padding:0 16px; background:#fffdf9; font:500 14px/20px var(--font-ui); }
.app-frame.atoms-app .history-versions button[aria-pressed="true"] { background:#252522; color:white; border-color:#252522; }
.app-frame.atoms-app .history-event { margin-top:16px; }
.app-frame.atoms-app .history-event span { font:400 12px/18px var(--font-ui); color:#706d65; }
.app-frame.atoms-app .history-event h4 { font:500 14px/22px var(--font-ui); margin:8px 0; }
@media(max-width:370px){.app-frame.atoms-app .vision-board-panel .me-section-head{flex-wrap:wrap}.app-frame.atoms-app .vision-board-panel .board-tools{margin-left:auto}}

/* Equal-weight, generously sized vision-board tools. */
.app-frame.atoms-app .me-workbench .board-tools{display:flex;align-items:center;gap:0}
.app-frame.atoms-app .me-workbench .board-tools .icon-button{color:#706d65;border-radius:8px;flex:0 0 48px;width:48px;min-width:48px;height:48px}
.app-frame.atoms-app .me-workbench .board-tools .icon-button svg{width:20px;height:20px}
.app-frame.atoms-app .vision-board-panel .me-section-head{flex-wrap:wrap;row-gap:4px}
.app-frame.atoms-app .vision-board-panel .board-tools{margin-left:auto}
@media(hover:hover){.app-frame.atoms-app .me-workbench .board-tools .icon-button:hover{background:#eae8e5;color:#272722}}
.app-frame.atoms-app .me-workbench .board-tools .icon-button:active{background:#eae8e5;color:#272722}

/* Shared schedule settings, reschedule and dismissal dialogs. */
.atoms-app .event-action-popover.schedule-dialog{padding:0;max-width:360px;background:var(--surface,#fffdf9);color:var(--text,#272722);backdrop-filter:none;box-shadow:none;font-family:var(--font-ui)}
.schedule-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 0 16px}
.schedule-dialog-header h2{margin:0;font:600 20px/28px var(--font-ui)}
.schedule-dialog-header button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#706d65}
.schedule-dialog-header svg{width:20px;height:20px}
.schedule-dialog-body{padding:8px 16px 16px}
.schedule-dialog-summary{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e1ded6}
.schedule-dialog-summary h3{margin:0;font:500 16px/24px var(--font-ui);overflow-wrap:anywhere}
.schedule-dialog-summary p{margin:8px 0 0;color:#706d65;font:400 12px/18px var(--font-ui);font-variant-numeric:tabular-nums}
.schedule-color-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;font:400 14px/22px var(--font-ui)}
.schedule-color-heading small{color:#706d65;font:400 12px/18px var(--font-ui)}
.schedule-dialog .event-color-options{padding:8px 0 0;gap:2px;margin-bottom:24px}
.schedule-dialog .event-color-options i{display:grid;place-items:center;color:var(--category-ink)}
.schedule-dialog .event-color-options svg{width:16px;height:16px}
.schedule-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.schedule-date-fields{display:grid;gap:12px}
.schedule-time-fields label,.schedule-date-field{display:grid;gap:8px;min-width:0;font:400 14px/22px var(--font-ui)}
.schedule-dialog input:not([type="checkbox"]){display:block;box-sizing:border-box;min-width:0;width:100%;height:48px;padding:10px;border:1px solid #e1ded6;border-radius:12px;background:#f8f7f3;color:#272722;font:400 16px/24px var(--font-ui);font-variant-numeric:tabular-nums;color-scheme:light}
.schedule-all-day{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:8px 0;font:400 14px/22px var(--font-ui);cursor:pointer}
.schedule-all-day input{width:20px;height:20px;accent-color:#252522}
.schedule-dialog-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.schedule-dialog-buttons button,.schedule-save-time,.schedule-secondary-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 16px;border:1px solid #e1ded6;border-radius:999px;background:transparent;color:#272722;font:500 14px/20px var(--font-ui)}
.schedule-dialog .is-primary{background:#252522;border-color:#252522;color:#fffdf9}
.schedule-save-time{width:100%;margin-top:16px}
.schedule-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid #e1ded6}
.schedule-secondary-actions button{border:0;border-radius:12px;background:#f8f7f3}
.schedule-secondary-actions svg{width:18px;height:18px}
.schedule-dialog-description{margin:16px 0 0;color:#706d65;font:400 14px/22px var(--font-ui)}
.schedule-time-error{margin:8px 0 0;color:#b00040;font:400 12px/18px var(--font-ui)}
.schedule-dialog button:active{opacity:.75}
.schedule-dialog :is(button,input):focus-visible{outline:2px solid #706d65;outline-offset:2px}
.schedule-dialog .schedule-content-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:8px;border:0;background:transparent;color:#706d65;font:500 14px/20px var(--font-ui)}
.schedule-content-link svg{width:16px;height:16px}
.schedule-dialog-intro{margin:0 0 24px}
.schedule-secondary-actions button:only-child{grid-column:1/-1}
