/* Reading layout and controls; moon-glass.css supplies the final day/night material. */
body:not(.inner){color-scheme:dark}
html[data-theme] body.inner{background:var(--bg);color:var(--text)}
body.inner :is(.card,.item,.wid){background:var(--surface);border-color:var(--line)}
body.inner :is(input,textarea,select){background:var(--field);color:var(--text);border-color:var(--line);font-size:17px}
body.inner :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
body.inner textarea{font-size:18px;line-height:1.65;min-height:160px;resize:none;overflow:hidden}
body.inner .wid b{font-size:17px;line-height:1.4}
body.inner :is(.hint,.section-caption,.practice-progress,.rem-status,.wid>span,.field label,.text-action,.rem-summary,.segmented button,.emotion-family,.mchip,.mood-own-row label,.hb-rule,.chip,.btn.sm,.observation>summary,.practice-create>summary){font-size:16px;line-height:1.5}
body.inner .wpane :is(.hint,.msg,.saved-state){font-size:16px!important;color:var(--muted)}
body.inner :is(.wpane .saved-state,.saved-state){color:var(--ok)}
body.inner .wpane :is(h2,h3,b,strong,label){color:var(--text)}
body.inner .wpane .practice-question{font-size:22px!important;line-height:1.5}
body.inner .wpane small,.timeline-kind,.timeline-day{font-size:14px;line-height:1.5;color:var(--muted)}
.wg,.wg-head{background:var(--sheet)}
.wg-tools .rem-body,.emotion-family,.mood-shades,.segmented{background:var(--field)}
.segmented button[aria-selected=true]{background:var(--selected);color:var(--text)}
#tone-box .answer-form,#journal-card{background:transparent;border:0;box-shadow:none;padding:0}
.answer-form .field{margin:20px 0 0}
.answer-actions{position:sticky;bottom:0;z-index:9;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--sheet);border:0}
.answer-actions .btn{width:100%}
#journal-card .answer-actions{background:var(--bg);bottom:calc(74px + env(safe-area-inset-bottom) + var(--keyboard-gap,0px))}
#j-text{width:100%}
#v-practice{max-width:760px;margin:0 auto;min-height:80dvh;padding-bottom:60px}
.practice-header{padding:0 0 24px}
.practice-header h1{margin:12px 0 0;font-size:clamp(26px,4vw,36px)}
.practice-header .back{font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--text)}
#practice-body{min-width:0}
#practice-tools:empty{display:none}
#practice-tools{margin:0 0 24px}
#practice-tools .rem-body{display:none}
#w-journal>.eyebrow{display:none}
#w-journal #m-journal{margin-top:40px}
/* Каталог инструментов: карточки по разделам, у каждой «Посмотреть» и «Добавить/Убрать»; вход — обычная плитка внизу Дневника */
.tools-link{margin-top:28px}
.tools-group{margin-top:22px}.tools-group:first-child{margin-top:16px}
.tools-group h3{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.tool-card{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);margin-top:8px}
.tool-card.on{border-color:rgba(217,184,104,.55)}
.tool-card b{display:block;font-size:16px;font-weight:600;line-height:1.35}
.tool-card p{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--muted)}
.tool-actions{display:flex;justify-content:space-between;gap:12px;margin-top:4px}
.tool-actions .text-action{min-height:40px;padding:6px 0;font-size:15px}
.tool-card.on .tool-actions .text-action:not(.secondary){color:var(--muted)}
.diary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}
.diary-actions .text-action{padding:8px}
.diary-actions .btn{width:auto}
.timeline-filters{display:flex;gap:8px;overflow:auto;padding:4px 3px 14px;scrollbar-width:thin}
.timeline-filters .chip{white-space:nowrap;flex-shrink:0;min-height:44px}
.timeline-filters [aria-pressed=true]{background:var(--selected);border-color:var(--gold);color:var(--text)}
.timeline{max-width:780px;margin:0 auto}
.timeline-day{margin:30px 0 12px;font-weight:500;letter-spacing:0;text-transform:none}
.timeline-entry{border:0;border-bottom:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}
.timeline-entry p{white-space:pre-wrap;margin:8px 0 0}
.timeline-kind{display:block;margin-bottom:8px}
.timeline-title{font-weight:550}
.timeline-link{display:flex;justify-content:space-between;gap:20px;width:100%;padding:8px 0;min-height:44px;border:0;background:none;color:var(--text);font:inherit;font-size:18px;line-height:1.6;text-align:left;cursor:pointer}
.timeline-link>span{color:var(--gold-2)}
#timeline-more{margin:24px 0}
.diary-library{margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
.diary-library>summary{cursor:pointer;min-height:44px;font-size:17px}
.timeline-empty{padding:32px 0}
.timeline-long summary{list-style:none;cursor:pointer}.timeline-long summary::-webkit-details-marker{display:none}.timeline-long summary>.entry-text{display:block}.timeline-long[open] summary>.entry-text{display:none}.timeline-long[open] summary .text-action{font-size:0}.timeline-long[open] summary .text-action::after{content:'Свернуть';font-size:16px}
.mr-day{color:var(--text);font:inherit;border:0;cursor:pointer;background:var(--field);min-height:72px;min-width:0}
.wish-form{padding:0;background:none;border:0;box-shadow:none}
.wish-form label{display:block;margin-bottom:8px;font-size:16px}
#w-text{width:100%;min-width:0}
.wish-create-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:16px 0 24px;flex-wrap:wrap}
#wish-preview img{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:var(--r-m);margin-top:16px;background:var(--field)}
.wish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px!important}
.wish-card{overflow:hidden;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.wish-picture{display:block;width:100%;aspect-ratio:4/3;border:0;padding:0;background:var(--field);cursor:pointer;color:var(--muted);font:inherit;font-size:16px}
.wish-picture img{width:100%;height:100%;object-fit:cover;display:block}
.wish-copy{padding:18px}
.wish-copy p{margin:0 0 12px;overflow-wrap:anywhere;white-space:pre-wrap}
.wish-copy .btn{width:100%}
.wish-copy .text-action{font-size:15px}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.theme-option{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--text);font:inherit;font-size:15px;padding:12px;cursor:pointer}
.theme-option>span{display:grid;place-items:center;font-size:32px;height:110px;margin-bottom:12px;border-radius:var(--r-s);background:#f0edf8;color:#2a2150}
.theme-option.dark>span{background:#1c192c;color:#f5f2ea}.theme-option.system>span{background:linear-gradient(90deg,#f0edf8 50%,#1c192c 50%);color:#2a2150}
.theme-option[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:2px}
html[data-theme=light] body.inner :is(.app-nav,.rem-summary,.acct,.wg-x){background:rgba(245,242,234,.28);color:var(--text);border-color:var(--line);box-shadow:0 4px 20px #2820400c,inset 0 1px 0 #fff}
html[data-theme=light] body.inner :is(.orb,.cloud){opacity:.035}
html[data-theme=light] body.inner :is(.wid,.card,.item,.wpane,.profile-summary,.timeline) :is(p,span,small,label){color:var(--text)}
html[data-theme=light] body.inner :is(.hint,.section-caption,.geo,.wid>span,.wpane small,.timeline-kind,.timeline-day,.rem-status,.rem-summary){color:var(--muted)!important}
html[data-theme=light] body.inner .btn:not(.ghost){background:var(--moon-control);color:#f5f2ea}
html[data-theme=light] body.inner .btn.ghost{background:transparent;color:var(--text);border-color:rgba(42,33,80,.40)}
html[data-theme=light] body.inner :is(.hb,.rem-body,.mood-picker,.observation,.practice-create,.quick-mood,.mchip,.histbody){background:var(--surface);color:var(--text);border-color:var(--line)}
html[data-theme=light] body.inner .ico{background-color:var(--gold-2)}
html[data-theme=light] body.inner .app-nav .on{background:var(--selected);color:var(--text)}
html[data-theme=light] body.inner :is(.chip,.mchip,.hd,.icon-action,.morebtn,.histhead,.quick-mood,.rowbtn){color:var(--text);border-color:var(--line)}
html[data-theme=light] body.inner :is(.chip.on,.mchip.on,.chip[aria-pressed=true],.hd.on,.quick-mood.on){background:var(--selected);color:var(--text);border-color:var(--gold-2)}
html[data-theme=light] body.inner :is(.text-action,.emotion-family):hover{color:var(--text)}
body.inner #home-sky .moonline :is(b,.lunar-advice){font-size:16px;line-height:1.5}
body.inner #home-sky .moonline small{font-size:14px;line-height:1.5}
body.inner .timeline-filters .chip{color:var(--text)}
body.inner .app-nav{height:70px;width:min(470px,calc(100% - 16px))}
body.inner .app-nav button{font-size:15px;line-height:1.3;font-weight:500;padding:3px 0;color:var(--muted);min-width:0}
body.inner .app-nav button.on{color:var(--text)}
body.inner .toast{background:var(--selected);color:var(--text);border-color:var(--line);font-size:16px}
body.inner .morebtn{font-size:16px;min-height:44px}
.mr-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px}
.mr-month-days .mr-day{border-radius:var(--r-s);padding:8px 2px}
@media(min-width:760px){#journal-card .answer-actions{bottom:var(--keyboard-gap,0px)}.wg{max-height:min(88vh,var(--visible-height,88vh))}}
@media(max-width:759px){.wg{height:var(--visible-height,100dvh);bottom:auto}.wg-head{top:calc(-16px - env(safe-area-inset-top))}.wg{padding-bottom:env(safe-area-inset-bottom)}.wish-grid{grid-template-columns:1fr}.wish-picture{aspect-ratio:4/3}.theme-options{gap:8px}.theme-option{padding:8px;font-size:15px}.theme-option>span{height:90px}.app-nav{padding-bottom:env(safe-area-inset-bottom)}body.practice-open:has(textarea:focus) .app-nav{visibility:hidden}body.practice-open:has(textarea:focus) #journal-card .answer-actions{bottom:var(--keyboard-gap,0px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wish-card,.timeline-entry{animation:none}}
body.inner .wrap{padding-top:calc(32px + env(safe-area-inset-top));padding-bottom:calc(112px + env(safe-area-inset-bottom))}
body.inner :is(#v-ask,#v-history,#v-news){max-width:820px;margin-inline:auto}
body.inner :is(h1,#v-home .hdr h1){font-size:32px;line-height:1.2;letter-spacing:-.035em;font-weight:600}
body.inner .view>h1{margin-bottom:18px}
body.inner :is(.feature-group,.account-group){margin-top:44px}
body.inner :is(.feature-group,.account-group)>h2{font-size:18px;letter-spacing:-.015em}
body.inner :is(.feature-group,.account-group)>.wids{margin-top:20px}
body.inner :is(.hint,.section-caption){text-wrap:pretty}
body.inner :is(.wpane,.grow,.account-personal,.account-settings){min-width:0}
body.inner .wpane :is(p,.entry-text){overflow-wrap:anywhere}
body.inner .wpane p+p{margin-top:14px}
body.inner :is(.wpane h3,.item b,.histhead b,.rem-lbl b){font-size:17px;line-height:1.5}
body.inner :is(.wpane h3,.field label){text-transform:none;letter-spacing:0}

/* One clear action; secondary actions remain quiet but easy to hit. */
body.inner .btn{min-height:52px;border-radius:var(--radius-control);padding:13px 20px;line-height:1.45;font-weight:600;box-shadow:none}
body.inner .btn.sm{min-height:48px;padding:11px 18px;font-size:16px}
body.inner .btn.ghost{border:1px solid var(--control-border);color:var(--text)}
body.inner :is(.text-action,.back,.linkbtn){min-height:44px;font-size:16px;line-height:1.5}
body.inner .text-action.secondary{color:var(--muted)}
body.inner button{touch-action:manipulation}
body.inner :is(button,summary,a):focus-visible{outline:3px solid var(--focus);outline-offset:4px}
body.inner :is(input,textarea,select):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus);box-shadow:0 0 0 5px color-mix(in srgb,var(--focus) 10%,transparent)}
body.inner :is(button:disabled,input:disabled){cursor:not-allowed}
body.inner .utility-actions{gap:4px 20px;padding-top:12px;margin-top:24px;justify-content:flex-start}
body.inner .utility-actions+.utility-actions{margin-top:4px;border:0;padding-top:0}
body.inner .saved-state{padding:12px 16px;border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);border-radius:var(--r-m);background:color-mix(in srgb,var(--ok) 7%,var(--surface));color:var(--ok)!important}
body.inner .saved-state:empty{display:none}
body.inner .toast{border-radius:var(--r-m);padding:12px 18px;line-height:1.5;box-shadow:0 8px 32px #0002;max-width:min(480px,calc(100% - 32px))}

/* Destination cards: generous text and a consistent directional cue. */
body.inner .wids{gap:18px}
body.inner .wid{position:relative}   /* размеры, поля и переходы плиток — moon-glass.css */
body.inner .wid b{padding-right:20px;font-size:17px;line-height:1.4;letter-spacing:-.015em}
body.inner .wid>span:not(.dot){font-size:15px;line-height:1.55;color:var(--muted)}
body.inner .wid .ico{width:24px;height:24px;margin-bottom:4px}
body.inner .wid>span.destination-arrow{position:absolute;right:18px;top:22px;color:var(--muted);font-size:20px;line-height:1;pointer-events:none}
body.inner .compact-links{gap:0;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--surface)}
body.inner .compact-links .wid{grid-template-columns:24px minmax(0,1fr) 18px;column-gap:14px;row-gap:4px;padding:18px;min-height:80px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
body.inner .compact-links .wid b{padding:0;font-size:16px}
body.inner .compact-links .wid>span.destination-arrow{position:static;grid-column:3;grid-row:1/span 2;align-self:center;font-size:20px}
body.inner .compact-links .wid .ico{width:24px;height:24px}
body.inner .compact-links .wid>span:empty{display:none}
body.inner .compact-links .wid .dot{position:absolute;right:43px;top:22px}

/* Today: one focal card, then quick actions and personal practices. */
body.inner #home-sky .moonline{padding:20px 0;margin-bottom:12px;align-items:flex-start;gap:14px}
body.inner #home-sky .moon-sm{margin-top:4px}
body.inner #home-sky .lunar-arrow{align-self:center}

/* Choosing a method reads as three equal options, without an orphan card. */
body.inner .question-entry .wid{background:var(--accent-soft);min-height:150px;padding:24px;border-color:transparent}
body.inner .question-entry .wid b{font-size:22px}
body.inner .method-grid{grid-template-columns:1fr}
body.inner .method-grid .wid{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:4px 16px;min-height:104px}
body.inner .method-grid .wid .ico{grid-row:1/span 2;margin:0;width:28px;height:28px}
body.inner .method-grid .wid b,body.inner .method-grid .wid>span:not(.destination-arrow){grid-column:2;padding:0}
body.inner .method-grid .wid>span.destination-arrow{position:static;grid-column:3;grid-row:1/span 2;align-self:center}

/* The diary is a reading surface. Filters never conceal available record types. */
body.inner .diary-actions{margin:32px 0 24px;gap:12px 20px}
body.inner .timeline-filters{flex-wrap:wrap;overflow:visible;gap:8px;padding:0 0 12px}
body.inner .timeline-filters .chip{padding:9px 14px;font-size:15px}
body.inner .timeline-day{font-size:14px;letter-spacing:.01em;margin:28px 0 4px}
body.inner .timeline-entry{padding:22px 0}
body.inner .timeline-empty{padding:28px 24px;background:var(--surface);border:1px dashed var(--control-border);border-radius:var(--r-l);margin:20px 0}
body.inner .diary-library{padding-top:28px;margin-top:44px}
body.inner .diary-library>summary{font-size:18px;font-weight:500}
body.inner .wish-card{border-radius:var(--r-xl)}
body.inner .wish-copy{padding:24px}
body.inner .wish-copy p{font-weight:500}
body.inner .wish-picture:not(:has(img)){background:var(--accent-soft);border-bottom:1px dashed var(--control-border);aspect-ratio:auto;min-height:140px}
body.inner .wish-create-actions{gap:12px}

/* Profile and app settings form two stable groups on wide screens. */
.account-layout{margin-top:32px}
body.inner .profile-summary{margin-top:0;padding:24px;border-radius:var(--radius-panel);max-width:none}
body.inner .profile-summary h2{font-size:24px;letter-spacing:-.025em}
body.inner #profile-summary{font-size:15px;line-height:1.6;color:var(--muted)}
body.inner .avatar{background:var(--accent-soft);color:var(--gold-2);border:0;box-shadow:none}
body.inner .account-group .compact-links{grid-template-columns:1fr}
body.inner .danger-zone{gap:0;border-top:1px solid var(--line);padding-top:20px}
body.inner .danger-zone .eyebrow{color:var(--muted);margin-bottom:10px}
body.inner .danger-zone .rowbtn{border:0;border-radius:var(--r-s);background:none;min-height:48px;padding:12px 4px;font-size:15px}
body.inner .danger-zone .warn{margin-top:8px}

/* Forms use one surface and labels directly attached to their fields. */
body.inner .field{gap:10px;margin-bottom:28px}
body.inner .field label{font-size:16px;line-height:1.5;font-weight:500;color:var(--text)}
body.inner :is(input:not([type=checkbox]),select){min-height:52px;border-radius:var(--radius-control);padding:13px 15px;max-width:100%}
body.inner textarea{border-radius:var(--r-m);padding:16px;scroll-margin:110px 0;max-width:100%}
body.inner .wpane>.card:only-child,body.inner #w-ask>.card,body.inner #sup-box>.card,body.inner #gr-box>.practice-card{padding:0;background:none;border:0;box-shadow:none}
body.inner #gr-box .practice-question{margin-top:0}
body.inner #hb-new-form{padding:22px;border-radius:var(--r-l)}
body.inner #hb-new-form h3{margin:0 0 20px;font-size:20px}
body.inner #hb-new-form .hint{margin:16px 0}
body.inner .chips.flow .chip{font-size:15px;min-height:44px;line-height:1.45;padding:10px 14px;white-space:normal}
body.inner .segmented{margin:0 0 20px;border:0;padding:5px;border-radius:var(--r-m)}
body.inner .segmented button{border-radius:var(--r-s);min-height:46px;font-size:15px;font-weight:500}
body.inner .hb{padding:22px;border-radius:var(--r-l);gap:16px;align-items:flex-start}
body.inner .hb-check{border:1.5px solid var(--control-border);width:44px;height:44px;min-width:44px}
body.inner .hb.on{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
body.inner .hb.on .hb-check{color:var(--bg);background:var(--ok);border-color:var(--ok)}
body.inner .hb .hb-columns{font-size:16px;line-height:1.5}
body.inner .hb-columns .hb-rule{font-size:15px;line-height:1.5}
body.inner .hb .icon-action{min-width:44px;min-height:44px}
body.inner .practice-header{padding-bottom:32px}
body.inner .practice-header h1{margin-top:16px;font-size:28px}
body.inner #practice-tools{margin-bottom:24px}
body.inner #as-box .practice-card{padding:24px;border-radius:var(--r-xl)}
body.inner #as-box .bar{height:5px;border-radius:var(--r-pill);background:var(--selected)}
body.inner #as-box .bar i{background:var(--gold-2);border-radius:inherit}
body.inner :is(.observation,.practice-create)>summary{font-size:16px}
body.inner .emotion-family,body.inner .quick-mood{min-height:72px;padding:16px;border-radius:var(--r-l);background:var(--surface)}
body.inner .emotion-family.on,body.inner .quick-mood.on{background:var(--selected)}
body.inner .mood-shades{background:var(--accent-soft);border:0;padding:20px}
body.inner .mood-own-row{margin:20px 0}
body.inner .rem-summary{font-size:15px;border-radius:var(--r-m);line-height:1.5;padding:10px 12px;min-height:44px}
body.inner .rem-lbl small{font-size:15px;line-height:1.55}
body.inner .rem-head{align-items:flex-start;gap:14px}
body.inner .rem-head .sw{flex:0 0 50px;width:50px;height:44px;min-height:44px;margin:0;border:0;box-sizing:border-box;background:transparent;box-shadow:none}
body.inner .rem-head .sw::before{content:'';position:absolute;inset:8px 0;background:var(--selected);border:1px solid var(--control-border);border-radius:var(--r-pill);pointer-events:none}
body.inner .rem-head .sw i{top:12px;left:4px;width:20px;height:20px;background:var(--muted)}
body.inner .rem-head .sw.on::before{background:var(--gold-2);border-color:var(--gold-2)}
body.inner .rem-head .sw.on i{transform:translateX(22px);background:var(--bg)}
body.inner .rem-body{padding:18px;margin-top:14px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--field)}
body.inner #rem-all>.card{padding:20px;border-radius:var(--r-l)}
body.inner .rem-row label{font-size:16px}
body.inner :is(.nt,.barrow,.sup-item b){font-size:16px;line-height:1.55}
body.inner .nt th{font-size:13px;letter-spacing:0;text-transform:none;color:var(--muted)}
body.inner .nt :is(th,td){padding:12px 6px}
body.inner .thread .m{font-size:17px;line-height:1.65;background:var(--surface);color:var(--text);padding:14px 16px}
body.inner .thread .m.user{background:var(--accent-soft)}
body.inner .sup-item{border-radius:var(--r-l);padding:18px}

/* Short settings are sheets; longer content keeps the full reading height. */
body.inner .wg{border-color:var(--line);border-radius:var(--r-sheet);scroll-padding-top:100px}
body.inner .wg-head{padding-bottom:22px;margin-bottom:28px;gap:24px}
body.inner .wg-head h2{font-size:24px;letter-spacing:-.025em;line-height:1.3}
body.inner .wg-x{min-width:44px;width:44px;height:44px;font-size:26px;flex:0 0 44px}
body.inner .wg-tools{margin:-6px 0 24px}
body.inner .app-nav{padding:6px;gap:4px;border-radius:var(--r-xl);box-shadow:0 8px 36px #0002,inset 0 1px 0 #ffffff20}
body.inner .app-nav button{border-radius:var(--r-l);min-height:54px;gap:4px;font-size:15px}
body.inner .app-nav .ico{width:22px;height:22px}
body.inner .app-nav button.on{background:var(--selected)}
html[data-theme] body.inner .theme-option.dark>span{color:#f5f2ea}
html[data-theme] body.inner .theme-option.light>span{color:#2a2150}
html[data-theme] body.inner .theme-option.system>span{color:#d9b868}

/* The entry keeps its moon and copy; the form gains the same readable controls. */
body:not(.inner) :is(#v-onb,#v-login) .card{background:#171323;backdrop-filter:none;box-shadow:none;border-color:#514963;border-radius:var(--r-xl);padding:24px}
body:not(.inner) :is(#v-onb,#v-login) .field{gap:10px;margin-bottom:28px}
body:not(.inner) :is(#v-onb,#v-login) .field label{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:0;text-transform:none}
body:not(.inner) :is(#v-onb,#v-login) input:not([type=checkbox]){min-height:52px;border-radius:var(--r-m);font-size:17px;background:#100d1a}
body:not(.inner) :is(#v-onb,#v-login) p{font-size:16px;line-height:1.6}
body:not(.inner) #v-onb .geo{font-size:14px;line-height:1.5}
body:not(.inner) #v-onb .onb-head{margin-bottom:28px}
body:not(.inner) #v-onb .onb-head p{font-size:16px;line-height:1.5}
body:not(.inner) #v-onb #o-back{background:none;border:0;padding-inline:0}
body:not(.inner) #v-hello .trust{font-size:14px}
body:not(.inner):not(.hello) .bg{display:none}
@media(hover:hover) and (pointer:fine){
  body.inner :is(.wid,.quick-mood,.emotion-family):hover{background:var(--hover);border-color:var(--control-border);transform:translateY(-2px)}
  
  body.inner :is(.btn,.text-action,.back):hover{filter:brightness(1.04)}
  body.inner .text-action:hover{color:var(--text)}
}
@media(min-width:600px) and (max-width:899px){body.inner .wrap{max-width:700px;padding-inline:32px}}
@media(min-width:900px){
  body.inner .wrap{padding:48px 48px 120px}
  /* аккаунт: две колонки одной высоты — раскладка в moon-glass.css («Аккаунт») */
  .account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px}
  body.inner .method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.inner .method-grid .wid{display:flex;min-height:210px;gap:16px}
  body.inner .method-grid .wid>span.destination-arrow{position:absolute;top:22px;right:18px}
}
/* «Обо мне»: на телефоне плитки в один столбец — «Совместимость» и «Нумерология» в полстолбца не помещаются и резались */
@media(max-width:599px){body.inner .about-links{grid-template-columns:1fr}}
@media(max-width:759px){
  body.inner .wg{border-radius:0;padding:calc(20px + env(safe-area-inset-top)) 20px env(safe-area-inset-bottom)}
  body.inner .wg-head{top:calc(-20px - env(safe-area-inset-top));padding-top:20px}
  body.inner #wg:is([data-kind=appearance],[data-kind=tools],[data-kind=askDate]) .wg{height:auto;max-height:calc(var(--visible-height,100dvh) - 20px);bottom:var(--keyboard-gap,0px);top:auto;border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  body.inner .app-nav{padding-bottom:6px;height:auto}   /* safe-area учтена один раз — в bottom (index.html .app-nav) */
  body.inner .wpane .hb-entry{grid-template-columns:1fr;gap:0}
  body.inner .wish-create-actions .btn{flex:1}
}
@media(max-width:370px){
  body.inner .wrap{padding-inline:16px}
  body.inner .wid{padding:18px}
  body.inner .wg{padding-inline:16px}
  body.inner .wg-head h2{font-size:23px}
  body.inner .emotion-family{padding:12px 10px;font-size:15px;gap:8px}
  body.inner :is(#hb-new-form,#as-box .practice-card){padding:18px}
  body.inner .hb{padding:14px;gap:10px}
  body.inner .profile-summary{padding:20px}
}
@media(prefers-reduced-motion:reduce){body.inner :is(.wid,.quick-mood,.emotion-family):hover{transform:none}}
@media(prefers-reduced-transparency:reduce){body.inner :is(.app-nav,.rem-summary,.acct,.wg-x){background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Each form step has its own space; the shared auth flow also serves the profile. */
body .auth-flow>.field{margin:0;gap:10px}
body .auth-flow .auth-submit{margin-top:24px;min-height:60px;font-size:18px}
body .auth-flow .auth-secondary{width:100%;margin-top:14px;min-height:48px}
body .auth-flow .auth-sent{margin:0 0 28px;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.auth-flow .msg{margin-top:16px}
.auth-flow .msg:empty{display:none}
body:not(.inner) #v-login{padding-block:12px 40px}
body:not(.inner) #v-login>.back{margin-bottom:28px;min-height:44px}
body:not(.inner) #v-login>.eyebrow{margin:0 0 12px}
body:not(.inner) #v-login>h1{margin:0;line-height:1.3}
body:not(.inner) #v-login>.login-intro{margin-top:24px;font-size:18px;line-height:1.75}
body:not(.inner) #v-login>.card{margin-top:40px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body:not(.inner) #v-login input{min-height:60px;background:rgba(27,22,43,.8);border-color:rgba(240,233,255,.26);border-radius:var(--r-l)}
body:not(.inner) #v-login .auth-submit{border-radius:var(--r-l);min-height:64px;box-shadow:inset 0 1px 0 #ffffff59,0 12px 30px -18px #edc67670}
body:not(.inner) #v-login .auth-secondary{border:0;background:none;box-shadow:none}
body:not(.inner) #v-onb #o-form{padding:28px}
body:not(.inner) #v-onb #o-back{margin-top:32px;gap:16px}
body.inner .wpane>.sec{margin-top:32px}
body.inner .wpane>.list,body.inner #rem-all{gap:16px}
body.inner .wpane>.card+.card{margin-top:20px}
body.inner .wpane>.card:not(:only-child){padding:24px}
body.inner .list>.item{padding:20px}
@media(min-width:900px){body:not(.inner) #v-login{padding-top:24px}}
@media(max-width:599px){
  body.inner :is(.feature-group,.account-group){margin-top:36px}
  body.inner .wids{gap:14px}
  body.inner .compact-links{gap:0}
  body:not(.inner) #v-onb #o-form{padding:24px 20px}
}

/* The code after registration uses the same open layout as the returning-user flow. */
body:not(.inner) #v-onb .onb-head{display:block}
body:not(.inner) #v-onb .onb-head h1{font-size:37px;line-height:1.5;margin-bottom:12px}
body:not(.inner) #v-onb #o-codebox{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;margin-top:40px}
body:not(.inner) #v-onb.verifying-email .onb-head p{display:none}
body:not(.inner) #v-onb.verifying-email .onb-head{margin-top:28px;margin-bottom:0}
body:not(.inner) #v-onb #o-codebox .field{margin:0;gap:12px}
body:not(.inner) #v-onb #o-codebox input{min-height:68px}
body:not(.inner) #v-onb #o-codebox .auth-submit{margin-top:32px;min-height:64px}
body:not(.inner) #v-onb #o-codebox .auth-secondary{margin-top:20px;min-height:48px;border:0;background:none;box-shadow:none}

/* Роли текста и компактный ввод: явная роль элемента сильнее общих правил чтения (они заменили inline-стили) */
.t2{color:var(--text-2)!important}.strong{color:var(--strong)!important}.faint{color:var(--faint)!important}.t-gold{color:var(--gold)!important}
body.inner input.compact{font-size:14px}

/* экран трёх напоминаний после анкеты */
.rhythm-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);cursor:pointer}
.rhythm-row:first-child{border-top:0}
.rhythm-row input[type=checkbox]{width:22px;height:22px;flex:0 0 22px;accent-color:var(--gold)}
.rhythm-row .grow{min-width:0}.rhythm-row b{display:block;font-size:17px;font-weight:600}.rhythm-row small{display:block;font-size:14px;line-height:1.4;color:var(--muted)}
.rhythm-row input[type=time]{width:auto;flex:0 0 auto;padding:8px 10px;font-size:16px}
.rhythm-card .btn{margin-top:18px;width:100%}
