:root{--ink:#242321;--muted:#6f6b65;--line:#dedbd5;--paper:#fff;--accent:#ff6719;--soft:#f6f4ef;--danger:#a3261c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:5}.topbar .wrap{display:flex;justify-content:flex-end}.btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:white;border-radius:8px;padding:10px 17px;font-weight:700;text-decoration:none;cursor:pointer;font:inherit}.btn.orange{background:var(--accent);border-color:var(--accent)}.btn.ghost{background:white;color:var(--ink);border-color:var(--line)}.btn.danger{background:white;color:var(--danger);border-color:#e7b9b4}.hero,.article,.comments{width:min(680px,calc(100% - 36px));margin:auto}.hero{padding:82px 0 28px}.kicker{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.hero h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,4.7rem);line-height:1.02;letter-spacing:-.045em;margin:13px 0 20px}.subtitle{font-family:Georgia,serif;color:#514d47;font-size:1.25rem;line-height:1.45}.byline{display:flex;gap:12px;align-items:center;margin-top:26px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:800}.meta{font-size:.9rem;color:var(--muted)}.meta strong{color:var(--ink)}.actions{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:28px}.action{border:0;background:transparent;color:var(--muted);display:flex;gap:7px;align-items:center;cursor:pointer;font:inherit}.action:hover{color:var(--ink)}.article{font-family:Georgia,serif;font-size:1.18rem;padding:35px 0}.article p{margin:0 0 1.4em}.article h2{font-size:1.65rem;line-height:1.2;margin:2em 0 .6em}.article img{max-width:100%;height:auto;border-radius:4px}.article blockquote{border-left:3px solid var(--ink);margin:2em 0;padding-left:1.3em;color:#555}.article a{color:inherit;text-decoration-thickness:1px}.bottom-actions{margin:30px 0 65px}.comments{border-top:1px solid var(--line);padding:45px 0 90px}.comments h2{font-family:Georgia,serif;font-size:2rem}.notice{background:var(--soft);padding:12px 14px;border-radius:8px;color:var(--muted);font-size:.9rem}.field{display:grid;gap:6px;margin:15px 0}.field label{font-size:.88rem;font-weight:700}.field input,.field textarea{width:100%;border:1px solid #cfcac2;border-radius:8px;padding:12px;font:inherit}.field textarea{min-height:130px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comment{border-top:1px solid var(--line);padding:23px 0}.comment-head{display:flex;justify-content:space-between;gap:12px}.comment-name{font-weight:800}.comment-time{color:var(--muted);font-size:.85rem}.comment-body{white-space:pre-wrap;margin-top:8px}.empty{color:var(--muted);font-style:italic}.flash{margin:14px 0;padding:12px;border-radius:8px;background:#eaf5e8;color:#285d25}.admin-shell{width:min(1050px,calc(100% - 36px));margin:45px auto}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.card{background:var(--soft);padding:18px;border-radius:12px}.card b{font-size:1.8rem}.admin-comment{border:1px solid var(--line);border-radius:12px;padding:18px;margin:14px 0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.status{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.editor textarea{min-height:460px;font-family:ui-monospace,monospace}.login{width:min(420px,calc(100% - 36px));margin:100px auto}.honeypot{position:absolute!important;left:-9999px!important}@media(max-width:680px){.hero{padding-top:50px}.row,.cards{grid-template-columns:1fr}.topbar{height:62px}.actions{gap:14px}.hero h1{font-size:2.75rem}}

/* Refined article engagement and conversation */
.bottom-actions{width:min(680px,calc(100% - 36px));margin:-8px auto 38px;padding:0}.bottom-actions .actions{justify-content:center;margin-top:0;border-color:var(--line);gap:34px}.comments{width:min(760px,calc(100% - 36px));padding:56px 0 100px}.comments-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.section-label{display:block;color:var(--accent);font-size:.71rem;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.comments h2{margin:.45rem 0 0;font-size:clamp(2rem,5vw,2.75rem);letter-spacing:-.025em}.comments h2 small{font:600 .9rem ui-sans-serif,sans-serif;color:var(--muted);vertical-align:middle;margin-left:6px}.comment-list{margin:24px 0 44px}.comment{display:grid;grid-template-columns:46px 1fr;gap:16px;border-top:1px solid #e9e5de;padding:25px 2px}.comment:first-child{border-top:0}.comment-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#25231f,#5c554b);color:#fff;font-family:Georgia,serif;font-size:1.05rem;box-shadow:0 5px 14px rgba(32,28,22,.13)}.comment-content{min-width:0}.comment-head{justify-content:flex-start;align-items:baseline;gap:10px}.comment-name{font-family:Georgia,serif;font-size:1.05rem}.comment-time{font-size:.76rem;letter-spacing:.015em}.comment-body{margin-top:7px;color:#3c3934;line-height:1.68}.comment-footer{margin-top:13px}.comment-like{border:0;background:transparent;padding:3px 0;color:#817a70;cursor:pointer;font:600 .82rem ui-sans-serif,sans-serif;transition:color .18s ease,transform .18s ease}.comment-like:hover{color:var(--accent);transform:translateY(-1px)}.comment-form-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#faf8f4,#f3efe8);border:1px solid #e5dfd6;border-radius:18px;padding:clamp(24px,5vw,38px);box-shadow:0 18px 50px rgba(42,34,23,.07)}.comment-form-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),#f4b16f)}.form-intro h3{font:700 1.65rem/1.2 Georgia,serif;margin:9px 0 5px}.form-intro p{margin:0 0 22px;color:var(--muted);font-size:.9rem}.comment-form-card .field{margin:13px 0}.comment-form-card .field label{font-size:.78rem;letter-spacing:.035em}.comment-form-card .field input,.comment-form-card .field textarea{background:rgba(255,255,255,.83);border-color:#d9d2c8;border-radius:10px;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.comment-form-card .field input:focus,.comment-form-card .field textarea:focus{background:#fff;border-color:#a49b8e;box-shadow:0 0 0 3px rgba(255,103,25,.1)}.field-hint{color:#8c857b;font-size:.74rem}.submit-comment{margin-top:8px;background:#24211d;border-color:#24211d;padding:12px 19px}.empty-state{text-align:center;padding:40px 15px;color:var(--muted);border:1px dashed #dcd6cc;border-radius:14px}.empty-mark{display:block;font-size:1.5rem;opacity:.55}.admin-panel{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:20px;margin:20px 0 32px}.inline-editor,.admin-edit-grid{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-editor .field,.admin-edit-grid .field{margin:0}.admin-edit-grid{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.admin-edit-grid .field:first-child{min-width:240px;flex:1}.admin-edit-grid .field:nth-child(2){width:140px}@media(max-width:680px){.bottom-actions{margin-top:-14px;margin-bottom:28px}.comments{padding-top:42px}.comment{grid-template-columns:38px 1fr;gap:12px}.comment-avatar{width:36px;height:36px}.comment-form-card{border-radius:14px}.admin-edit-grid,.inline-editor{display:grid}.admin-edit-grid .field:nth-child(2){width:auto}}

/* v1.2 — distinct, editorial candy cards and generated avatars */
.comment-list{display:grid;gap:16px;margin-top:28px}.comment{--candy:#ff7185;--candy-soft:#fff2f4;--candy-ink:#73323d;position:relative;grid-template-columns:52px 1fr;border:1px solid color-mix(in srgb,var(--candy) 26%,#dedbd5);border-left:5px solid var(--candy);border-radius:18px;padding:22px 24px 19px;background:linear-gradient(135deg,var(--candy-soft),#fff 72%);box-shadow:0 9px 26px rgba(47,38,32,.055);transition:transform .2s ease,box-shadow .2s ease}.comment:first-child{border-top:1px solid color-mix(in srgb,var(--candy) 26%,#dedbd5)}.comment:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(47,38,32,.09)}.comment.candy-0{--candy:#ef6b7b;--candy-soft:#fff1f3;--candy-ink:#7d2e3a}.comment.candy-1{--candy:#42ad91;--candy-soft:#eefbf7;--candy-ink:#1e6554}.comment.candy-2{--candy:#8876d1;--candy-soft:#f4f1ff;--candy-ink:#493a82}.comment.candy-3{--candy:#e4a72f;--candy-soft:#fff9e9;--candy-ink:#765614}.comment.candy-4{--candy:#4d9fc9;--candy-soft:#eef9fe;--candy-ink:#275e78}.comment-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px color-mix(in srgb,var(--candy) 32%,transparent),0 6px 16px rgba(25,20,15,.12)}.comment-name{color:var(--candy-ink);font-size:1.08rem}.comment-time:before{content:'•';margin-right:10px;color:var(--candy)}.comment-body{font-size:.98rem}.comment-footer{display:flex;justify-content:flex-end;margin-top:14px}.comment-like{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--candy) 24%,#ddd);border-radius:999px;padding:6px 11px;background:rgba(255,255,255,.78);color:var(--candy-ink);line-height:1;box-shadow:0 2px 8px rgba(30,24,18,.04)}.comment-like:hover,.comment-like.is-liked{color:var(--candy-ink);border-color:var(--candy);background:#fff}.comment-like .heart-icon{color:var(--candy);font-size:.9rem;transition:transform .18s}.comment-like:hover .heart-icon,.comment-like.is-liked .heart-icon{transform:scale(1.18)}.comment-like.is-saving{opacity:.62}.comment-like.has-error{animation:comment-shake .28s linear 2}.like-label{font-weight:600}.admin-edit-grid .btn{min-height:46px}.admin-comment:has(.admin-edit-grid){box-shadow:0 6px 20px rgba(35,30,24,.045)}@keyframes comment-shake{25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@media(max-width:680px){.comment{grid-template-columns:42px 1fr;padding:18px 16px 16px;border-radius:15px}.comment-avatar{width:40px;height:40px}.comment-head{display:grid;gap:1px}.comment-time:before{display:none}.comment-footer{justify-content:flex-start}.like-label{display:none}}

/* v1.3 — structured moderation workspace */
.moderation-section{margin:44px 0}.moderation-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.moderation-heading h2{font-family:Georgia,serif;font-size:1.75rem;margin:7px 0 2px}.moderation-heading h2 small{font:700 .78rem ui-sans-serif,sans-serif;color:var(--muted);background:var(--soft);padding:4px 8px;border-radius:999px;vertical-align:middle}.moderation-heading p{margin:0;color:var(--muted);font-size:.9rem}.moderation-list{display:grid;gap:14px}.admin-comment{margin:0;background:#fff}.admin-comment-pending{border-left:5px solid #e4a72f}.admin-comment-approved{border-left:5px solid #42ad91;background:#fbfffd}.admin-comment-rejected{border-left:5px solid #c9c3ba;background:#faf9f7}.admin-comment-heading{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.86rem}.admin-comment-editor textarea{min-height:110px}.admin-comment-editor .row{margin-top:8px}.admin-comment-editor .field input,.admin-comment-editor .field textarea{background:#fff}.btn.approve{background:#247a65;border-color:#247a65}.admin-empty{padding:28px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center;background:#fcfbf9}.moderation-approved .section-label{color:#247a65}.moderation-rejected .section-label{color:#77716a}@media(max-width:680px){.admin-comment-heading{display:grid}.moderation-heading p{max-width:28ch}}
/* v1.4 dashboard controls, theme editor, and visual editor */
.admin-nav{position:sticky;top:12px;z-index:8;display:flex;gap:8px;width:max-content;max-width:100%;margin:18px 0 28px;padding:6px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 25px rgba(30,25,20,.08)}.admin-nav a{padding:7px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:700;font-size:.85rem}.admin-nav a:hover{background:var(--soft)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;margin:14px 0 22px}.switch-row span{display:grid}.switch-row small{color:var(--muted);font-weight:400}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch-row i{position:relative;flex:0 0 auto;width:52px;height:29px;border-radius:99px;background:#c9c4bc;transition:.2s}.switch-row i:after{content:"";position:absolute;width:23px;height:23px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.2s}.switch-row input:checked+i{background:#2b8a70}.switch-row input:checked+i:after{transform:translateX(23px)}.color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 26px}.color-field{display:grid;grid-template-columns:1fr 46px 108px;align-items:center;gap:9px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px}.color-field label{text-transform:capitalize;font-size:.82rem;font-weight:700}.color-field input[type=color]{width:42px;height:36px;padding:2px;border:1px solid var(--line);border-radius:7px;background:#fff}.color-field input:not([type=color]){width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;font-family:monospace}.admin-help{color:var(--muted);font-size:.88rem}.admin-shell select{width:100%;border:1px solid #cfcac2;border-radius:8px;padding:12px;background:#fff;font:inherit}.code-area{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;min-height:150px!important}.editor-tabs{display:flex;gap:4px;margin-top:24px;border-bottom:1px solid var(--line)}.editor-tab{border:0;background:transparent;padding:10px 14px;color:var(--muted);font-weight:800;cursor:pointer;border-bottom:3px solid transparent}.editor-tab.active{color:var(--ink);border-color:var(--accent)}.wysiwyg-panel,.html-panel{border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;margin-bottom:18px;overflow:hidden}.editor-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:9px;background:var(--soft);border-bottom:1px solid var(--line)}.editor-toolbar button{min-width:34px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 9px;cursor:pointer}.editor-toolbar button:hover{border-color:var(--accent)}.wysiwyg{min-height:460px;padding:28px;background:#fff;outline:none;font-family:var(--heading-font);font-size:1.08rem;line-height:1.7}.wysiwyg:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.html-panel .article-html{display:block;width:100%;min-height:510px;border:0;border-radius:0;padding:18px;resize:vertical}.action.is-liked,.comment-like.is-liked{color:var(--accent)}.btn.orange{background:var(--accent);border-color:var(--accent);color:var(--button-text)}@media(max-width:760px){.color-grid{grid-template-columns:1fr}.color-field{grid-template-columns:1fr 44px 100px}.admin-nav{position:static;width:100%;overflow:auto}.wysiwyg{padding:18px;min-height:360px}}
/* v1.5 — editorial-grade control room */
.dashboard-v15{max-width:1180px}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:26px 4px 10px}.dashboard-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95;letter-spacing:-.055em;margin:8px 0 12px}.dashboard-hero p{margin:0;color:var(--muted);font-size:1.02rem}.dashboard-actions{display:flex;gap:10px}.dashboard-actions form{margin:0}.eyebrow,.control-kicker{color:var(--accent);font-size:.69rem;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:850}.settings-card{scroll-margin-top:90px;background:#fff;border:1px solid #e6e1d9;border-radius:20px;padding:clamp(22px,4vw,38px);margin:22px 0;box-shadow:0 16px 50px rgba(39,32,24,.055)}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:26px}.settings-head h2{font-size:1.85rem;letter-spacing:-.025em;margin:8px 0 5px}.settings-head p{margin:0;color:var(--muted)}.settings-head form{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eee9e2;margin-top:25px;padding-top:20px}.form-actions .btn{min-width:160px}.compact-card{max-width:570px}.color-system{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.color-control{--live:transparent;display:grid;grid-template-columns:42px minmax(120px,1fr) 48px 105px;gap:12px;align-items:center;min-height:66px;padding:11px 13px;border:1px solid #e8e3dc;border-radius:13px;background:#fcfbf9;transition:border-color .18s,box-shadow .18s}.color-control:hover,.color-control:focus-within{border-color:#cfc7bc;box-shadow:0 7px 20px rgba(39,31,23,.06)}.color-swatch{width:38px;height:38px;border-radius:11px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}.color-copy{display:grid;line-height:1.2}.color-copy strong{font-size:.88rem}.color-copy small{color:var(--muted);font-size:.72rem;margin-top:4px}.color-control input[type=color]{width:44px;height:38px;padding:2px;border:1px solid #d8d1c8;border-radius:9px;background:#fff}.hex-input{width:100%;padding:9px;border:1px solid #d8d1c8;border-radius:9px;font:700 .78rem ui-monospace,monospace}.advanced-panel{margin-top:18px;border:1px solid #e4ded6;border-radius:13px;overflow:hidden}.advanced-panel summary{cursor:pointer;padding:14px 16px;font-weight:750;background:#faf8f4}.advanced-panel .field{padding:0 16px 15px}.font-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.font-card{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1fr);align-items:center;gap:16px;padding:17px;border:1px solid #e5dfd7;border-radius:14px;background:linear-gradient(135deg,#fff,#faf8f4)}.font-card>div{display:grid}.font-card strong{margin:5px 0 2px}.font-card small{color:var(--muted)}.google-font-panel{margin-top:18px;padding:22px;border-radius:16px;background:#f5f3ff;border:1px solid #ded8ff}.google-font-panel h3{margin:7px 0 5px}.google-font-panel p{margin:0;color:#66617a}.google-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px}.google-search input{padding:12px 14px;border:1px solid #cec6ee;border-radius:10px;font:inherit}.font-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.font-chips span{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 12px;border-radius:999px;background:#fff;border:1px solid #d5ceed;font-size:.84rem;font-weight:700}.font-chips button{border:0;background:#eeeafd;width:22px;height:22px;border-radius:50%;cursor:pointer}.button-studio-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px}.button-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.button-preview-stage{min-height:170px;display:grid;place-items:center;margin-top:14px;border-radius:16px;background:radial-gradient(circle at 50% 30%,#fff,#f1eee8);border:1px dashed #d7d0c6;overflow:hidden}.button-library{border-left:1px solid #e7e1d9;padding-left:24px}.button-library h3{margin-top:0}.saved-button-list{display:grid;gap:10px}.saved-button{padding:14px;border:1px solid #e8e2da;border-radius:12px;background:#fcfbf9}.saved-button>div:first-child{display:grid}.saved-button small{color:var(--muted)}.saved-button-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.saved-button-actions form{margin:0}.saved-button-actions .btn{padding:7px 10px;font-size:.8rem}.article-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;margin:1.05em .3em 1.05em 0;padding:.82em 1.25em;border:0;border-radius:var(--ab-radius,14px);background:linear-gradient(135deg,var(--ab-bg,#242321),var(--ab-bg2,#5a4bff));color:var(--ab-text,#fff)!important;text-decoration:none!important;font-weight:800;letter-spacing:.01em;box-shadow:0 calc(var(--ab-shadow,14px)*.45) var(--ab-shadow,14px) color-mix(in srgb,var(--ab-bg,#242321) 32%,transparent);cursor:pointer;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,filter .22s}.article-cta.effect-lift:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 calc(var(--ab-shadow,14px)*.75) calc(var(--ab-shadow,14px)*1.7) color-mix(in srgb,var(--ab-bg,#242321) 38%,transparent)}.article-cta.effect-glow:hover{filter:saturate(1.12);box-shadow:0 0 calc(var(--ab-shadow,14px)*1.5) color-mix(in srgb,var(--ab-bg2,#5a4bff) 62%,transparent),0 10px 28px rgba(0,0,0,.16)}.article-cta.effect-shine:before{content:"";position:absolute;z-index:-1;inset:-60% auto -60% -45%;width:35%;transform:rotate(18deg);background:rgba(255,255,255,.42);filter:blur(2px);transition:left .55s ease}.article-cta.effect-shine:hover:before{left:120%}.article-cta.effect-press:hover{transform:translateY(2px);box-shadow:0 3px 7px color-mix(in srgb,var(--ab-bg,#242321) 30%,transparent)}.editor.settings-card{padding:clamp(22px,4vw,38px)}.editor-toolbar{position:sticky;top:68px;z-index:4}.wysiwyg{border-radius:0;background:linear-gradient(#fff,#fff) padding-box;font-size:1.1rem}.wysiwyg .article-cta{user-select:none}.admin-nav{width:100%;justify-content:center;top:10px}.admin-nav a{white-space:nowrap}.moderation-section{background:#fff;border:1px solid #e6e1d9;border-radius:18px;padding:24px;margin:22px 0;box-shadow:0 12px 35px rgba(40,33,25,.045)}@media(max-width:900px){.color-system,.font-grid,.button-studio-grid{grid-template-columns:1fr}.button-library{border-left:0;border-top:1px solid #e7e1d9;padding:20px 0 0}.font-card{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;display:grid}.admin-nav{justify-content:flex-start;overflow:auto}}@media(max-width:620px){.color-control{grid-template-columns:38px 1fr 42px}.hex-input{grid-column:2/4}.button-controls{grid-template-columns:1fr}.google-search{grid-template-columns:1fr}.settings-head{display:grid}.settings-head form{order:2}.dashboard-actions{flex-wrap:wrap}}
/* v1.6 — author identity and asynchronous interface */
.author-avatar{display:block;object-fit:cover;border:1px solid var(--line)}.profile-editor{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:start;padding:20px;margin-bottom:18px;border:1px solid #e6e1d9;border-radius:16px;background:linear-gradient(145deg,#fff,#faf8f4)}.avatar-preview{width:128px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#eeeae3;border:4px solid #fff;box-shadow:0 8px 24px rgba(39,31,24,.12);color:var(--muted);font-size:.8rem}.avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-fields{display:grid}.check-row{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted)}.site-toast,.admin-toast{position:fixed;z-index:1000;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 17px;border-radius:999px;background:#223f35;color:#fff;font-weight:750;box-shadow:0 12px 35px rgba(0,0,0,.2);transition:.22s}.site-toast.show,.admin-toast.show{opacity:1;transform:translate(-50%,0)}.site-toast[data-type=error],.admin-toast[data-type=error]{background:#8e2e2e}.spinner{display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{cursor:wait;opacity:.72}@media(max-width:640px){.profile-editor{grid-template-columns:1fr}.avatar-preview{margin:auto}}
/* v1.7 — Stripe buy-button studio and checkout */
.stripe-product-fields{padding:18px;margin:0 0 18px;border:1px solid #d9d2fb;border-radius:15px;background:linear-gradient(145deg,#fbfaff,#f3f0ff)}.stripe-mode-banner{display:grid;gap:3px;margin-bottom:17px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e0dcf5}.stripe-mode-banner small{color:var(--muted)}.buy-switch{margin-top:14px}.stripe-checkout-overlay{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(18,16,23,.66);backdrop-filter:blur(8px)}.stripe-checkout-overlay[hidden]{display:none}.stripe-checkout-dialog{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.stripe-checkout-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:18px}.stripe-checkout-head h2{margin:5px 0}.stripe-checkout-head p{margin:0;color:var(--muted)}.stripe-close{border:0;background:#f2efe9;border-radius:50%;width:38px;height:38px;font-size:1.25rem;cursor:pointer}.stripe-payment-form{display:grid;gap:16px}.stripe-payment-element{min-height:120px}.stripe-pay-button{width:100%;padding:13px}.stripe-result{padding:11px 13px;border-radius:10px;background:#f5f3ef}.stripe-result.error{background:#fff0f0;color:#8b2525}.stripe-result.success{background:#eefaf5;color:#176348}
/* v1.8 — advanced reusable button effects */
.article-cta{width:min(var(--ab-width,190px),100%);height:var(--ab-height,52px);min-width:0;min-height:32px;padding:0 1.25em;background:linear-gradient(135deg,var(--ab-bg),var(--ab-bg2));border:2px solid var(--ab-bg);border-radius:var(--ab-radius);color:var(--ab-text)!important;box-shadow:0 calc(var(--ab-shadow)*.35) var(--ab-shadow) color-mix(in srgb,var(--ab-bg) 28%,transparent);transition:transform .3s ease,box-shadow .3s ease,color .3s ease,background .3s ease,border-color .3s ease,letter-spacing .3s ease,border-radius .3s ease;transform:translateZ(0);backface-visibility:hidden}.article-cta.effect-flat{background:var(--ab-bg);box-shadow:0 2px 8px rgba(0,0,0,.12)}.article-cta.effect-flat:hover{filter:brightness(.94)}.article-cta.effect-border-draw{background:transparent;color:var(--ab-bg)!important;box-shadow:inset 0 0 0 2px transparent}.article-cta.effect-border-draw:hover{letter-spacing:.08em;box-shadow:inset 0 0 0 3px var(--ab-bg2)}.article-cta.effect-letter-lines{background:transparent;color:var(--ab-bg)!important;border-color:transparent}.article-cta.effect-letter-lines:before,.article-cta.effect-letter-lines:after{content:"";position:absolute;left:50%;width:0;height:1px;background:var(--ab-bg2);transition:.35s}.article-cta.effect-letter-lines:before{top:5px}.article-cta.effect-letter-lines:after{bottom:5px}.article-cta.effect-letter-lines:hover{letter-spacing:.22em}.article-cta.effect-letter-lines:hover:before,.article-cta.effect-letter-lines:hover:after{left:15%;width:70%}.article-cta.effect-emboss{box-shadow:0 4px 0 color-mix(in srgb,var(--ab-bg) 70%,#000),0 7px 14px rgba(0,0,0,.18)}.article-cta.effect-emboss:hover{transform:translateY(3px);box-shadow:0 1px 0 color-mix(in srgb,var(--ab-bg) 70%,#000)}.article-cta.effect-shine:before{content:"";position:absolute;inset:-70% auto -70% -45%;width:30%;background:rgba(255,255,255,.45);transform:rotate(20deg);transition:left .55s}.article-cta.effect-shine:hover:before{left:120%}.article-cta.effect-outline-glow{background:transparent;color:var(--ab-bg)!important;outline:1px solid color-mix(in srgb,var(--ab-bg) 55%,transparent);outline-offset:0}.article-cta.effect-outline-glow:hover{outline-color:transparent;outline-offset:14px;box-shadow:inset 0 0 18px color-mix(in srgb,var(--ab-bg2) 38%,transparent),0 0 20px color-mix(in srgb,var(--ab-bg) 22%,transparent)}.article-cta.effect-fill,.article-cta.effect-close-fill,.article-cta.effect-fill-up,.article-cta.effect-slide-fill,.article-cta.effect-offset-fill{background:transparent;color:var(--ab-bg)!important}.article-cta.effect-fill:hover{box-shadow:inset 0 0 0 9em var(--ab-bg2);color:var(--ab-text)!important}.article-cta.effect-close-fill:hover{box-shadow:inset calc(var(--ab-width)/-2) 0 0 var(--ab-bg2),inset calc(var(--ab-width)/2) 0 0 var(--ab-bg2);color:var(--ab-text)!important}.article-cta.effect-fill-up:hover{box-shadow:inset 0 calc(var(--ab-height)*-1) 0 var(--ab-bg2);color:var(--ab-text)!important}.article-cta.effect-slide-fill:hover{box-shadow:inset var(--ab-width) 0 0 var(--ab-bg2);color:var(--ab-text)!important}.article-cta.effect-offset-fill{box-shadow:6px 6px 0 var(--ab-bg),inset 6px 6px 0 var(--ab-bg)}.article-cta.effect-offset-fill:hover{box-shadow:0 0 0 var(--ab-bg),inset var(--ab-width) var(--ab-height) 0 var(--ab-bg2);color:var(--ab-text)!important}.article-cta.effect-pulse-ring:hover{animation:ab-pulse-ring 1s}.article-cta.effect-raise:hover{transform:translateY(-.35em);box-shadow:0 .7em .7em -.45em var(--ab-bg2)}.article-cta.effect-grow:hover{transform:scale(1.1)}.article-cta.effect-shrink:hover{transform:scale(.9)}.article-cta.effect-pulse:hover{animation:ab-pulse 1s linear infinite}.article-cta.effect-pulse-grow:hover{animation:ab-pulse-grow .35s linear infinite alternate}.article-cta.effect-pulse-shrink:hover{animation:ab-pulse-shrink .35s linear infinite alternate}.article-cta.effect-push:hover{animation:ab-push .35s}.article-cta.effect-pop:hover{animation:ab-pop .35s}.article-cta.effect-rotate:hover{transform:rotate(4deg)}.article-cta.effect-grow-rotate:hover{transform:scale(1.08) rotate(4deg)}.article-cta.effect-float:hover{transform:translateY(-6px)}.article-cta.effect-sink:hover{transform:translateY(6px)}.article-cta.effect-hover-float:hover{animation:ab-float 1.2s ease-in-out infinite alternate}.article-cta.effect-hang:hover{animation:ab-hang 1.2s ease-in-out infinite alternate}.article-cta.effect-skew:hover{transform:skewX(-10deg)}.article-cta.effect-wobble-horizontal:hover{animation:ab-wobble-x .8s}.article-cta.effect-wobble-vertical:hover{animation:ab-wobble-y .8s}.article-cta.effect-wobble-top:hover{transform-origin:0 100%;animation:ab-wobble-skew .8s}.article-cta.effect-wobble-bottom:hover{transform-origin:100% 0;animation:ab-wobble-skew .8s}.article-cta.effect-border-fade:hover{box-shadow:inset 0 0 0 4px var(--ab-bg2)}.article-cta.effect-hollow:hover{background:transparent;color:var(--ab-bg)!important}.article-cta.effect-trim:before{content:"";position:absolute;inset:5px;border:2px solid var(--ab-text);opacity:0;transition:.3s}.article-cta.effect-trim:hover:before{opacity:1}.article-cta.effect-outline-outward:before,.article-cta.effect-outline-inward:before{content:"";position:absolute;border:3px solid var(--ab-bg2);transition:.3s}.article-cta.effect-outline-outward:before{inset:0}.article-cta.effect-outline-outward:hover:before{inset:-8px}.article-cta.effect-outline-inward:before{inset:-14px;opacity:0}.article-cta.effect-outline-inward:hover:before{inset:-7px;opacity:1}.article-cta.effect-round-corners:hover{border-radius:2em}.article-cta.effect-glow:hover{box-shadow:0 0 calc(var(--ab-shadow)*1.8) var(--ab-bg2)}.article-cta.effect-shadow-outset:hover{box-shadow:6px 6px 8px rgba(0,0,0,.35)}.article-cta.effect-shadow-inset:hover{box-shadow:inset 4px 4px 8px rgba(0,0,0,.35)}.article-cta.effect-float-shadow:hover{transform:translateY(-6px);box-shadow:0 13px 10px -8px rgba(0,0,0,.5)}.article-cta.effect-shadow-radial:hover{box-shadow:0 -7px 8px -7px rgba(0,0,0,.7),0 7px 8px -7px rgba(0,0,0,.7)}.article-cta.effect-bubble-top:after,.article-cta.effect-bubble-right:after,.article-cta.effect-bubble-bottom:after,.article-cta.effect-bubble-left:after{content:"";position:absolute;border:9px solid transparent;transition:.3s}.article-cta.effect-bubble-top:after{top:0;border-bottom-color:var(--ab-bg)}.article-cta.effect-bubble-top:hover:after{top:-18px}.article-cta.effect-bubble-right:after{right:0;border-left-color:var(--ab-bg)}.article-cta.effect-bubble-right:hover:after{right:-18px}.article-cta.effect-bubble-bottom:after{bottom:0;border-top-color:var(--ab-bg)}.article-cta.effect-bubble-bottom:hover:after{bottom:-18px}.article-cta.effect-bubble-left:after{left:0;border-right-color:var(--ab-bg)}.article-cta.effect-bubble-left:hover:after{left:-18px}.article-cta[class*="effect-curl-"]:before{content:"";position:absolute;width:0;height:0;background:linear-gradient(135deg,#fff 45%,#aaa 50%,#ddd 60%,#fff 80%);box-shadow:1px 1px 2px rgba(0,0,0,.35);transition:.3s}.article-cta.effect-curl-tl:before{top:0;left:0}.article-cta.effect-curl-tr:before{top:0;right:0;transform:rotate(90deg)}.article-cta.effect-curl-br:before{bottom:0;right:0;transform:rotate(180deg)}.article-cta.effect-curl-bl:before{bottom:0;left:0;transform:rotate(270deg)}.article-cta[class*="effect-curl-"]:hover:before{width:26px;height:26px}.article-cta.effect-arrow-expand{background:transparent;color:var(--ab-bg)!important;border:0;justify-content:flex-end;padding-right:1.5em}.article-cta.effect-arrow-expand:before{content:"→";position:absolute;left:0;width:var(--ab-height);height:var(--ab-height);display:grid;place-items:center;border-radius:999px;background:var(--ab-bg);color:var(--ab-text);transition:.45s}.article-cta.effect-arrow-expand:hover:before{width:100%;justify-content:flex-start;padding-left:1em}.article-cta.effect-arrow-expand:hover{color:var(--ab-text)!important}.article-cta.effect-neon{background:transparent;color:var(--ab-bg2)!important;border-color:var(--ab-bg2);letter-spacing:.12em}.article-cta.effect-neon:hover{background:var(--ab-bg2);color:#08100d!important;box-shadow:0 0 5px var(--ab-bg2),0 0 22px var(--ab-bg2),0 0 55px var(--ab-bg2)}.article-cta.effect-gooey:hover{border-radius:45% 55% 42% 58%/55% 45% 55% 45%;transform:scale(1.05);box-shadow:12px -8px 0 -5px var(--ab-bg2),-12px 9px 0 -7px var(--ab-bg2)}.article-cta.effect-progress-success.is-running{animation:ab-progress 1.6s ease forwards}.article-cta.effect-progress-success.is-complete{background:#2f9d70}.article-cta.effect-progress-success.is-complete:after{content:" ✓"}.comment-avatar-admin{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:14px;background:var(--soft);border-radius:12px}.comment-avatar-admin img{width:58px;height:58px;object-fit:cover;border-radius:50%}
@keyframes ab-pulse-ring{0%{box-shadow:0 0 0 0 var(--ab-bg2)}100%{box-shadow:0 0 0 2em transparent}}@keyframes ab-pulse{25%{transform:scale(1.1)}75%{transform:scale(.9)}}@keyframes ab-pulse-grow{to{transform:scale(1.1)}}@keyframes ab-pulse-shrink{to{transform:scale(.9)}}@keyframes ab-push{50%{transform:scale(.8)}}@keyframes ab-pop{50%{transform:scale(1.2)}}@keyframes ab-float{to{transform:translateY(-6px)}}@keyframes ab-hang{to{transform:translateY(6px)}}@keyframes ab-wobble-x{20%{transform:translateX(8px)}40%{transform:translateX(-6px)}60%{transform:translateX(4px)}80%{transform:translateX(-2px)}}@keyframes ab-wobble-y{20%{transform:translateY(8px)}40%{transform:translateY(-6px)}60%{transform:translateY(4px)}80%{transform:translateY(-2px)}}@keyframes ab-wobble-skew{20%{transform:skew(-12deg)}40%{transform:skew(10deg)}60%{transform:skew(-6deg)}80%{transform:skew(3deg)}}@keyframes ab-progress{0%{width:var(--ab-width)}50%{width:60px;border-radius:999px}100%{width:var(--ab-width);background:#2f9d70}}
@media(prefers-reduced-motion:reduce){.article-cta{animation:none!important;transition:none!important}}
/* v1.9 — construction mode */
.construction-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 35%),linear-gradient(145deg,var(--paper),var(--soft))}.construction-card{width:min(680px,100%);padding:clamp(34px,8vw,76px);text-align:center;border:1px solid var(--line);border-radius:28px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:0 28px 90px rgba(30,25,20,.12)}.construction-card h1{font-size:clamp(2.7rem,8vw,5.4rem);line-height:.95;letter-spacing:-.055em;margin:18px 0}.construction-card p{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;color:var(--muted);margin:0 auto;max-width:520px}.construction-mark{width:72px;height:72px;margin:0 auto 25px;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:14px;border-radius:22px;background:var(--ink);transform:rotate(-3deg)}.construction-mark span{display:block;width:9px;border-radius:9px;background:var(--accent);animation:construction-bars 1.35s ease-in-out infinite alternate}.construction-mark span:nth-child(1){height:24px}.construction-mark span:nth-child(2){height:42px;animation-delay:.18s}.construction-mark span:nth-child(3){height:31px;animation-delay:.34s}@keyframes construction-bars{to{height:48px}}.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#ece8e1;color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.status-pill.is-active{background:#fff0d6;color:#8b5600}.construction-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.construction-editor>.field:first-child{grid-column:1/-1}.construction-preview{grid-column:2;padding:24px;border:1px dashed #d9d1c7;border-radius:16px;background:linear-gradient(145deg,#fff,#f7f4ef);align-self:stretch}.construction-preview h3{font-size:1.55rem;margin:10px 0}.construction-preview p{white-space:pre-line;color:var(--muted);line-height:1.6}.construction-switch{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}@media(max-width:760px){.construction-editor{grid-template-columns:1fr}.construction-editor>.field:first-child,.construction-preview{grid-column:auto}}@media(prefers-reduced-motion:reduce){.construction-mark span{animation:none}}
