:root{
  --bg:#F6F1E7; --board:#EFE8D8; --card:#FFFFFF; --cream:#FFFDF8;
  --mint:#3FB68B; --mint-d:#268A66; --mint-l:#E4F4EE;
  --warm:#E8A54B; --warm-l:#FBEEDA; --warm-d:#C7842E;
  --ink:#2C332E; --ink2:#54605A; --muted:#8A8F86; --line:#E8E1D2; --line2:#EEE9DE;
  --d:'Manrope',system-ui,sans-serif; --b:'PT Sans',system-ui,sans-serif;
  --shadow:0 1px 2px rgba(44,51,46,.05),0 8px 22px rgba(44,51,46,.07);
  --shadow-lift:0 6px 14px rgba(44,51,46,.10),0 18px 40px rgba(44,51,46,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--b);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left}
a{color:inherit;text-decoration:none}
a,a:hover,a:active,a:focus{text-decoration:none}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--d);font-weight:800;margin:0;line-height:1.15}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px}

/* ===== masthead ===== */
.mast{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;box-shadow:0 1px 0 rgba(44,51,46,.03)}
.mast .row{display:flex;align-items:center;gap:20px;padding:13px 0}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.brand .mk{width:42px;height:42px;flex:0 0 auto}
.brand b{font-family:var(--d);font-weight:800;font-size:1.3rem;letter-spacing:-.4px;line-height:1;color:var(--ink)}
.brand small{display:block;font-size:.71rem;color:var(--muted);margin-top:3px;font-weight:400}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{padding:8px 14px;border-radius:10px;font-family:var(--d);font-weight:700;font-size:.9rem;color:var(--ink2);transition:.14s}
.nav a:hover{background:var(--mint-l);color:var(--mint-d)}
.nav a.cta{background:var(--mint);color:#fff}
.nav a.cta:hover{background:var(--mint-d);color:#fff}
.search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:7px 13px;color:var(--muted)}
.search input{background:transparent;border:0;color:var(--ink);font-family:var(--b);font-size:.9rem;outline:none;width:160px}
.search input::placeholder{color:var(--muted)}

/* ===== hero: доска с покачивающимися карточками ===== */
.hero{background:linear-gradient(180deg,#FBF7EE 0%,var(--bg) 100%);border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:40px 22px 44px}
.hero .copy .k{display:inline-flex;align-items:center;gap:7px;background:var(--warm-l);color:var(--warm-d);font-family:var(--d);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:1.2px;padding:6px 13px;border-radius:20px}
.hero .copy h1{font-size:clamp(1.9rem,4vw,2.9rem);color:var(--ink);margin:.35em 0 .25em;letter-spacing:-1px}
.hero .copy h1 em{font-style:normal;color:var(--mint-d)}
.hero .copy p{color:var(--ink2);font-size:clamp(1rem,1.5vw,1.14rem);margin:0 0 18px;max-width:30em}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero .cta-row a{font-family:var(--d);font-weight:700;font-size:.92rem;padding:11px 20px;border-radius:11px}
.hero .cta-row .primary{background:var(--mint);color:#fff}
.hero .cta-row .primary:hover{background:var(--mint-d)}
.hero .cta-row .ghost{background:#fff;border:1px solid var(--line);color:var(--ink2)}
.hero .cta-row .ghost:hover{border-color:var(--mint);color:var(--mint-d)}

/* мини-доска в hero */
.hero-board{position:relative;height:270px}
.hb-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px;box-shadow:var(--shadow);width:200px;transform-origin:center}
.hb-card .pin{position:absolute;top:-7px;left:16px;width:14px;height:14px;border-radius:50%;background:var(--warm);box-shadow:0 2px 5px rgba(199,132,46,.4);border:2px solid #fff}
.hb-card .t{font-family:var(--d);font-weight:700;font-size:.92rem;color:var(--ink);margin-bottom:4px}
.hb-card .d{font-size:.78rem;color:var(--muted);line-height:1.4}
.hb-card .tag{display:inline-block;margin-top:8px;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:20px}
.hb-1{top:6px;left:2%;--rot:-4deg;animation:sway1 7s ease-in-out infinite}
.hb-1 .tag{background:var(--mint-l);color:var(--mint-d)}
.hb-2{top:70px;left:34%;z-index:3;--rot:2deg;animation:sway2 8s ease-in-out infinite .3s}
.hb-2 .tag{background:var(--warm-l);color:var(--warm-d)}
.hb-3{top:150px;left:10%;--rot:-2deg;animation:sway1 9s ease-in-out infinite .6s}
.hb-3 .tag{background:#E7EEF6;color:#4B6C93}
.hb-4{top:40px;right:0;--rot:5deg;animation:sway2 7.5s ease-in-out infinite .9s}
.hb-4 .tag{background:#F3E9F5;color:#8A5B97}
.hb-5{top:168px;right:6%;--rot:-5deg;animation:sway1 8.5s ease-in-out infinite .2s}
.hb-5 .tag{background:#EAF3E7;color:#4E8140}
@keyframes sway1{0%,100%{transform:rotate(var(--rot)) translateY(0)}50%{transform:rotate(calc(var(--rot) + 1.5deg)) translateY(-7px)}}
@keyframes sway2{0%,100%{transform:rotate(var(--rot)) translateY(0)}50%{transform:rotate(calc(var(--rot) - 1.5deg)) translateY(-9px)}}
@media(prefers-reduced-motion:reduce){.hb-card{animation:none!important}}

/* ===== stats bar ===== */
.stats{background:var(--cream);border-bottom:1px solid var(--line)}
.stats .row{display:flex;flex-wrap:wrap;gap:6px 30px;padding:11px 0;font-size:.85rem;align-items:center;color:var(--ink2)}
.stats b{font-family:var(--d);font-weight:800;color:var(--mint-d)}
.stats .on{margin-left:auto;color:var(--muted)}
.stats .on i{color:var(--mint);font-style:normal;font-weight:700}

/* ===== свежее (лента идей) ===== */
.fresh{padding:22px 0 4px}
.fresh h3{font-family:var(--d);font-size:1.05rem;color:var(--ink);margin-bottom:13px;display:flex;align-items:center;gap:8px}
.fresh h3::before{content:"✷";color:var(--warm)}
.fresh .items{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:11px}
.fresh a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;transition:.14s}
.fresh a:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--mint)}
.fresh a .av{width:32px;height:32px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--board)}
.fresh a .t{min-width:0}
.fresh a .t b{display:block;font-family:var(--d);font-size:.85rem;color:var(--ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fresh a:hover .t b{color:var(--mint-d)}
.fresh a .t span{font-size:.74rem;color:var(--muted)}

/* ===== section title ===== */
.sec-t{display:flex;align-items:baseline;gap:12px;margin:26px 0 8px}
.sec-t h2{font-size:1.5rem;color:var(--ink);letter-spacing:-.5px}
.sec-t span{color:var(--muted);font-size:.9rem}

/* ===== КАНБАН-ДОСКА ===== */
.board{padding:8px 0 46px}
.kanban{display:flex;gap:16px;overflow-x:auto;padding:10px 22px 22px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.kanban::-webkit-scrollbar{height:10px}
.kanban::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}
.kanban::-webkit-scrollbar-track{background:transparent}
.col{flex:0 0 300px;max-width:300px;background:var(--board);border-radius:16px;padding:12px;scroll-snap-align:start;display:flex;flex-direction:column;gap:11px}
.col-head{display:flex;align-items:center;gap:10px;padding:6px 6px 4px}
.col-dot{width:12px;height:12px;border-radius:50%;background:var(--col,#3FB68B);flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--col,#3FB68B) 22%,transparent)}
.col-head h2{font-family:var(--d);font-weight:800;font-size:1.04rem;color:var(--ink);letter-spacing:-.3px;flex:1;line-height:1.2}
.col-head .cnt{font-family:var(--d);font-weight:700;font-size:.72rem;color:var(--muted);background:#fff;border-radius:20px;padding:3px 9px}
.col-desc{font-size:.78rem;color:var(--ink2);padding:0 6px 4px;line-height:1.45}

/* карточка-раздел */
.kcard{display:block;background:var(--cream);border:1px solid var(--line);border-radius:13px;padding:13px 14px 12px;position:relative;transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s,border-color .16s;box-shadow:0 1px 2px rgba(44,51,46,.04)}
.kcard::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--col,#3FB68B);opacity:.55}
.kcard:hover{transform:translateY(-4px) rotate(-.5deg);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--col,#3FB68B) 45%,var(--line))}
.kcard .kc-t{font-family:var(--d);font-weight:800;font-size:.98rem;color:var(--ink);letter-spacing:-.2px;padding-left:8px}
.kcard:hover .kc-t{color:var(--mint-d)}
.kcard .kc-d{font-size:.8rem;color:var(--ink2);margin:4px 0 10px;padding-left:8px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kcard .kc-meta{display:flex;align-items:center;gap:8px;padding-left:8px}
.kcard .kc-stat{font-size:.72rem;color:var(--muted);font-family:var(--d);font-weight:700}
.kcard .kc-stat b{color:var(--ink)}
.kcard .kc-mint{margin-left:auto;display:flex;align-items:center;gap:6px}
.kcard .kc-av{width:24px;height:24px;border-radius:7px;object-fit:cover;background:var(--board);flex:0 0 auto}
.kcard .kc-when{font-size:.68rem;color:var(--muted);white-space:nowrap}
.kcard .kc-badge{display:inline-block;margin-top:9px;margin-left:8px;font-size:.66rem;font-weight:700;font-family:var(--d);padding:2px 8px;border-radius:20px;background:var(--mint-l);color:var(--mint-d)}
.kcard.quiet .kc-meta .kc-when{color:var(--muted)}
.kcard .kc-empty{padding-left:8px;font-size:.72rem;color:var(--muted)}

/* ===== crumbs ===== */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);margin:22px 0 16px}
.crumbs a{color:var(--mint-d);font-weight:700}
.crumbs a:hover{color:var(--mint)}
.crumbs .sep{color:var(--line)}
.crumbs .cur{color:var(--ink);font-weight:700;pointer-events:none}

/* ===== forum banner (раздел) ===== */
.forum-banner{background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.forum-banner::after{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:var(--warm-l);opacity:.5}
.forum-banner .k{font-family:var(--d);font-size:.72rem;color:var(--mint-d);text-transform:uppercase;letter-spacing:1px;font-weight:700;position:relative}
.forum-banner h1{font-size:clamp(1.4rem,3vw,1.95rem);margin:6px 0 5px;color:var(--ink);position:relative;letter-spacing:-.5px}
.forum-banner p{color:var(--ink2);margin:0;font-size:.92rem;position:relative;max-width:60em}
.forum-banner .st{margin-top:13px;font-size:.84rem;color:var(--muted);position:relative;font-family:var(--d);font-weight:700}
.forum-banner .st b{color:var(--mint-d)}

/* ===== список тем раздела (карточки-заметки) ===== */
.tl-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0 12px;flex-wrap:wrap}
.tl-head h2{font-family:var(--d);color:var(--ink);font-size:1.3rem;margin:0;letter-spacing:-.4px}
.newbtn{display:inline-flex;align-items:center;gap:7px;background:var(--mint);color:#fff;font-family:var(--d);font-weight:700;padding:10px 18px;border-radius:11px;font-size:.9rem}
.newbtn:hover{background:var(--mint-d)}
.tlist{display:flex;flex-direction:column;gap:10px}
.tcard{display:grid;grid-template-columns:1fr 96px 210px;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 18px;position:relative;transition:transform .14s,box-shadow .14s,border-color .14s}
.tcard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--mint)}
.tcard .tt{min-width:0}
.tcard .tbadge{font-size:.64rem;font-weight:700;font-family:var(--d);text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:6px;margin-right:7px;vertical-align:middle;display:inline-block}
.tb-solved{background:var(--mint-l);color:var(--mint-d)} .tb-guide{background:#E7EEF6;color:#4B6C93}
.tb-report{background:var(--warm-l);color:var(--warm-d)} .tb-urgent{background:#FBE3DC;color:#C0553C} .tb-hot{background:#FCEFD4;color:#A9791F}
.tcard a.tsub{font-family:var(--d);font-weight:800;font-size:1.02rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%;vertical-align:middle;letter-spacing:-.2px}
.tcard:hover a.tsub{color:var(--mint-d)}
.tcard .by{font-size:.79rem;color:var(--muted);margin-top:3px}
.tcard .by b{color:var(--ink2)}
.tcard .tstat{text-align:center;font-size:.76rem;color:var(--muted);line-height:1.5;font-family:var(--d)}
.tcard .tstat b{display:block;font-weight:800;color:var(--ink);font-size:1rem}
.tcard .tlast{display:flex;align-items:center;gap:10px;min-width:0;border-left:1px solid var(--line);padding-left:16px}
.tcard .tlast .av{width:34px;height:34px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--board)}
.tcard .tlast .li{min-width:0;font-size:.79rem;color:var(--muted)}
.tcard .tlast .li b{display:block;color:var(--ink);font-family:var(--d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.subforums-strip{margin:0 0 8px}

/* ===== ПОСТБИТ = карточка-заметка на доске ===== */
.posts{display:flex;flex-direction:column;gap:20px}
.note{position:relative;background:var(--cream);border:1px solid var(--line);border-radius:15px;padding:20px 22px 16px;box-shadow:var(--shadow);transition:box-shadow .15s}
.note::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--warm);border:3px solid var(--cream);box-shadow:0 3px 8px rgba(199,132,46,.35)}
/* уголок-загиб */
.note::after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;background:linear-gradient(135deg,transparent 50%,var(--line) 50%,var(--bg) 52%);border-bottom-right-radius:15px}
.note:hover{box-shadow:var(--shadow-lift)}
.note.best-post{border-color:var(--mint);box-shadow:0 0 0 2px var(--mint-l),var(--shadow)}
.note .n-head{display:flex;align-items:center;gap:12px;padding-bottom:13px;margin-bottom:14px;border-bottom:1px dashed var(--line)}
.note .n-av{width:46px;height:46px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:var(--board);border:2px solid #fff;box-shadow:var(--shadow)}
.note .n-who{min-width:0;flex:1}
.note .n-name{font-family:var(--d);font-weight:800;font-size:1rem;color:var(--ink);letter-spacing:-.2px}
.note .n-name a{color:var(--ink)} .note .n-name a:hover{color:var(--mint-d)}
.note .n-sub{display:flex;align-items:center;gap:7px;margin-top:3px;flex-wrap:wrap}
.note .role{font-family:var(--d);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 9px;border-radius:20px}
.role-new{background:#EEF1EC;color:#6E7A6C} .role-exp{background:var(--mint-l);color:var(--mint-d)}
.role-guide{background:#E7EEF6;color:#4B6C93} .role-curator{background:var(--warm-l);color:var(--warm-d)} .role-keeper{background:#F3E9F5;color:#8A5B97}
.note .mood{font-size:.72rem;color:var(--muted);display:inline-flex;align-items:center;gap:4px}
.note .n-meta{margin-left:auto;text-align:right;font-size:.73rem;color:var(--muted);white-space:nowrap;flex:0 0 auto}
.note .n-meta .pid{color:var(--line)}
.note .n-body{color:var(--ink);font-size:.98rem;line-height:1.62}
.note .n-body blockquote{border-left:3px solid var(--mint);background:var(--mint-l);margin:12px 0;padding:9px 14px;border-radius:0 9px 9px 0;color:var(--ink2)}
.note .n-body img{border-radius:9px}
.note .n-sol{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:var(--mint-d);font-family:var(--d);font-size:.82rem;font-weight:700;border-top:1px dashed var(--line);padding-top:13px}
.note .n-foot{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line2);padding-top:12px}
.note .n-foot a{font-family:var(--d);font-size:.76rem;font-weight:700;color:var(--mint-d);background:var(--mint-l);padding:5px 12px;border-radius:9px}
.note .n-foot a:hover{background:var(--mint);color:#fff}

/* thread head */
.thread-head{margin:0 0 20px}
.thread-head .tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}
.thread-head h1{font-family:var(--d);color:var(--ink);font-size:clamp(1.4rem,3vw,2rem);margin:0 0 8px;letter-spacing:-.6px}
.thread-head .meta{display:flex;gap:18px;color:var(--muted);font-size:.88rem;flex-wrap:wrap}
.thread-head .meta b{color:var(--ink2)}

/* ===== пагинация ===== */
.pages{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0;align-items:center}
.pages a,.pages span{padding:8px 13px;border-radius:10px;background:#fff;border:1px solid var(--line);font-family:var(--d);font-weight:700;font-size:.86rem;color:var(--ink2)}
.pages a:hover{background:var(--mint);color:#fff;border-color:var(--mint)}
.pages .pagination_current{background:var(--mint);color:#fff;border-color:var(--mint)}
.pages_first,.pages_last{display:none}

/* ===== quick reply ===== */
.quick-reply{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;margin-top:24px;box-shadow:var(--shadow)}
.quick-reply h3{font-family:var(--d);color:var(--ink);margin:0 0 12px}
.quick-reply textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:11px;padding:12px;font-family:var(--b);font-size:.95rem;background:var(--cream)}
input.button,.button{font-family:var(--d);font-weight:700;background:var(--mint);color:#fff;border:0;padding:11px 22px;border-radius:11px;cursor:pointer}
input.button:hover,.button:hover{background:var(--mint-d)}

/* ===== footer ===== */
.foot{background:var(--ink);color:#C7CEC6;margin-top:24px;padding:38px 0 26px}
.foot .row{display:flex;gap:40px;flex-wrap:wrap}
.foot .brand,.foot .brand b{color:#fff}
.foot .brand small{color:#9AA69B}
.foot .cols{display:flex;gap:44px;flex-wrap:wrap;margin-left:auto}
.foot h4{font-family:var(--d);color:#fff;font-size:.96rem;margin:0 0 10px}
.foot .cols a{display:block;color:#B4BDB4;font-size:.87rem;padding:3px 0}
.foot .cols a:hover{color:var(--mint)}
.foot .bot{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.81rem;color:#8E988E}

/* MyBB bridge */
#content,.wrap{max-width:1280px;margin:0 auto}
.footer_bottom,.lang_switch,.theme_switch{display:none}

/* ===== responsive ===== */
@media(max-width:960px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-board{display:none}
}
@media(max-width:720px){
  .search{display:none}
  .tcard{grid-template-columns:1fr auto}
  .tcard .tlast{display:none}
  .foot .cols{margin-left:0}
  .kanban{padding-left:16px;padding-right:16px}
}
