:root{
--bg:#faf8f4;--card:#fff;--ink:#1f1d1a;--mut:#6d675e;--line:#e7e2d9;--acc:#1d6b58;--accbg:#e5f1ec;
--g:#1d6b58;--s:#2756a8;--k:#7646a0;--e:#9a5b06;--o:#6d675e;--warn:#b4441c;
--r:12px;--fs:16px;
}
@media (prefers-color-scheme:dark){:root{
--bg:#151413;--card:#1e1d1b;--ink:#ece8e1;--mut:#a49e94;--line:#34312d;--acc:#6cc3a8;--accbg:#1f3530;
--g:#6cc3a8;--s:#8fb2f0;--k:#c3a0e6;--e:#e6aa55;--o:#a49e94;--warn:#f08a62;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs)/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
main,.top,.foot{max-width:42rem;margin:0 auto;padding:0 16px}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.6rem;line-height:1.2;margin:.4rem 0 .25rem;letter-spacing:-.01em}
h2{font-size:1.05rem;margin:1.6rem 0 .5rem}
h3{font-size:1rem;margin:0}
ul{padding:0;margin:0;list-style:none}
.dim{color:var(--mut)}.small{font-size:.85rem}
.top{display:flex;justify-content:space-between;align-items:center;height:48px}
.back,.brand{font-weight:600;font-size:.95rem}.brand{color:var(--ink)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:.8rem}
.seg a{padding:3px 10px;color:var(--mut)}
.seg a:hover{text-decoration:none}
html[data-region=RU] .seg a[data-set-region=RU],html[data-region=CH] .seg a[data-set-region=CH]{background:var(--ink);color:var(--bg)}
.sub{margin:0 0 .5rem;color:var(--mut);font-size:.9rem}
.chips,.ages{display:flex;flex-wrap:wrap;gap:6px}
.chips a,.chips span{font-size:.8rem;padding:2px 9px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.chips .chip-r{color:var(--mut)}
.disc{font-size:.82rem;color:var(--mut);margin:.6rem 0 0}
/* home */
.h-home{font-size:1.35rem;margin:.6rem 0 .6rem}
.ages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ages a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:6px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.92rem;line-height:1.15}
.ages a:hover{border-color:var(--acc);text-decoration:none}
.ages a[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.small-ages{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:.2rem -16px .4rem;padding:0 16px 4px;scrollbar-width:none}
.small-ages a{min-height:32px;font-size:.8rem;font-weight:500;white-space:nowrap;padding:4px 10px;border-radius:999px}
.search{margin:14px 0 0}
.js .search{display:block!important}
.search input{width:100%;font:inherit;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);color:var(--ink)}
.search input:focus{outline:2px solid var(--acc);outline-offset:-1px}
.res{margin-top:4px}
.res li a{display:block;padding:8px 2px;border-bottom:1px solid var(--line);color:var(--ink)}
.res li small{display:block;color:var(--mut)}
.h-sec{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:1.4rem 0 .4rem}
.tmap{display:grid;grid-template-columns:1fr;gap:10px}
.tmap h3{font-size:.85rem;color:var(--mut);font-weight:600;margin:0 0 2px}
.tmap li{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line);font-size:.97rem}
.tmap .n{color:var(--mut);font-size:.75rem}
.about{margin-top:1.6rem;line-height:1.9}
.about .b{margin-right:6px}
/* badges */
.b{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;white-space:nowrap}
.b i{font-style:normal;font-size:.7rem}
.b-guideline{color:var(--g)}.b-study{color:var(--s)}.b-book{color:var(--k)}.b-experience{color:var(--e)}.b-opinion{color:var(--o)}
.rg{font-size:.7rem;font-weight:600;color:var(--mut);border:1px solid var(--line);border-radius:4px;padding:0 4px}
html[data-region=RU] .rg-RU,html[data-region=CH] .rg-CH{display:none}
/* summary */
.short{margin:.8rem 0 0;padding:10px 14px;border-radius:var(--r);background:var(--accbg)}
.short h2{margin:0 0 2px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.short li{padding-left:14px;position:relative;font-size:.95rem}
.short li:before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--acc)}
/* tip cards */
.tips{margin-top:12px}
.tip{padding:12px 0;border-top:1px solid var(--line);scroll-margin-top:12px}
.tip:target{background:var(--accbg);margin:0 -16px;padding:12px 16px;border-radius:var(--r)}
.tip h3{font-size:1rem;line-height:1.3}
.wk{display:inline-grid;place-items:center;width:1.1em;height:1.1em;border-radius:50%;background:var(--warn);color:#fff;font-size:.75em;margin-right:6px;vertical-align:.08em}
.q{margin:6px 0 6px;padding:0 0 0 10px;border-left:3px solid var(--line);font-size:.95rem;color:var(--ink)}
.q p{margin:0}
.q.clamp p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.q.open p{-webkit-line-clamp:unset}
.qk{color:var(--mut);font-size:.75rem}
.para{margin:6px 0;font-size:.95rem}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.8rem;color:var(--mut)}
.src{color:var(--ink);font-weight:500}
.role{color:var(--mut);font-weight:400}
.pl{margin-left:auto;color:var(--mut);font-size:.75rem;padding:4px 0 4px 8px}
.more{font-size:.88rem;order:9;flex-basis:auto}
.more[open]{flex-basis:100%;color:var(--ink)}
.meta .pl{order:10}
.more summary{display:inline;cursor:pointer;color:var(--acc);font-size:.8rem;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more[open] summary{color:var(--mut)}
.more p{margin:4px 0}
.media{display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:cover;border-radius:8px;margin:6px 0;background:var(--line)}
/* opinions */
.ops h2,.buy h2{display:flex;gap:6px;align-items:baseline}
.op{border-top:1px solid var(--line)}
.op:last-child{border-bottom:1px solid var(--line)}
.op summary{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto 12px;gap:8px;align-items:center;padding:9px 0;cursor:pointer;list-style:none}
.op summary::-webkit-details-marker{display:none}
.op summary:after{content:"▸";color:var(--mut);font-size:.8rem}
.op[open] summary:after{content:"▾"}
.st{font-size:.95rem}
.who{font-size:.85rem;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opq{margin:0 0 8px;font-size:.88rem;padding-left:10px;border-left:3px solid var(--line)}
/* buy */
.prod{padding:9px 0;border-top:1px solid var(--line)}
.prod:last-child{border-bottom:1px solid var(--line)}
.pn{font-size:.95rem}
.off{font-size:.88rem;margin-top:2px}
.ol{display:inline-block;min-width:3.6em;font-size:.72rem;font-weight:700;color:var(--mut);text-transform:uppercase}
html[data-region=RU] .buy:not(.all) .off:not([data-r=RU]),
html[data-region=CH] .buy:not(.all) .off[data-r=RU],
html[data-region=RU] .cal .off:not([data-r=RU]),
html[data-region=CH] .cal .off:not([data-r=CH]){display:none}
.other{all:unset;cursor:pointer;color:var(--acc);font-size:.8rem;font-weight:400;margin-left:auto}
.js .other{display:inline-block}
.js .other[hidden]{display:none}
/* sources */
.srcs{margin:1.4rem 0 0;font-size:.88rem}
.srcs summary{cursor:pointer;color:var(--mut);font-weight:600}
.srcs li{padding:4px 0;border-bottom:1px solid var(--line)}
/* tip page */
.crumb{font-size:.85rem;color:var(--mut);margin:.3rem 0 0}
.tip.one{border:0;padding-top:4px}
.tip.one h1{font-size:1.4rem}
.tip.one .q{font-size:1.05rem;margin:10px 0}
.next{display:flex;flex-direction:column;gap:8px;margin:1.4rem 0 0}
.btn,.btn2{display:block;text-align:center;padding:12px;border-radius:var(--r);font-weight:600;font-size:.95rem}
.btn{background:var(--acc);color:var(--bg);border:0;font:inherit;font-weight:600;width:100%;cursor:pointer}
.btn2{border:1px solid var(--line);color:var(--ink);background:var(--card)}
.btn:hover,.btn2:hover{text-decoration:none;filter:brightness(1.05)}
/* age page */
.ag h2 a{color:var(--ink)}
.rows li{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.rows li a{color:var(--ink);flex:1}
.dot{font-size:.7rem;width:1em;flex:none}
.cal .rows li span:nth-child(2){flex:1}
/* gate */
.gate{max-width:24rem;margin:12vh auto 0;text-align:center}
.gate p{color:var(--mut)}
.slot{margin:1.2rem 0;min-height:44px}
.gate .topic{margin:.4rem 0 1rem;padding:10px 12px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--ink)}
.gate .topic small{display:block;color:var(--mut);font-size:.8rem}
.gate .topic b{font-size:1.05rem}
.gate .sent-mark{font-size:2rem;line-height:1;color:var(--acc);margin:0 0 .4rem}
.gate .btn{margin:.8rem 0}
.gate .wa-ok{color:var(--ink)}
.gate [hidden]{display:none!important}
.mine-age{margin:0 0 10px;font-size:.92rem}
.foot{margin-top:2rem;padding-bottom:28px;font-size:.88rem;border-top:1px solid var(--line);padding-top:12px}
@media (min-width:720px){
:root{--fs:17px}
main,.top,.foot{max-width:46rem}
.ages:not(.small-ages){grid-template-columns:repeat(6,1fr)}.ages a{white-space:nowrap;font-size:.85rem;padding:6px 4px}
.tmap{grid-template-columns:repeat(3,1fr)}
h1{font-size:2rem}
.next{flex-direction:row}.next a{flex:1}
.tip.one h1{font-size:1.8rem}
}

.anyage{display:inline-block;font-size:.72rem;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--mut);white-space:nowrap}

/* «Выбор» nav: choices + product categories (home, article, age) */
.choose ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choose li a{display:block;height:100%;padding:8px 10px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);color:var(--ink);line-height:1.25}
.choose li a:hover{border-color:var(--acc);text-decoration:none}
.choose b{display:block;font-size:.93rem}
.choose small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--mut);font-size:.75rem;margin-top:2px}
.top-choose{margin:.7rem 0 0}
.top-choose ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.top-choose li a{border-color:var(--acc);background:var(--accbg)}
@media (min-width:720px){.choose ul{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* non-Russian quote folded under «оригинал ▸»; footnote digits */
.orig summary{cursor:pointer;color:var(--acc);font-size:.78rem;list-style:none}
.orig summary::-webkit-details-marker{display:none}
.orig p,.orig .q{color:var(--mut);font-size:.85rem}
.fn{font-size:.65em;color:var(--mut);vertical-align:super;line-height:0}
