/* Prototype-specific layer over material-base.css */
:root{--max:1180px;--accent:#c0392b;--gold:#b07b24}
body{background:var(--paper)}
.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}
.rail{background:var(--rail);color:var(--rail-ink);position:sticky;top:0;height:100vh;overflow:auto;padding:24px 16px;display:flex;flex-direction:column;gap:22px}.brand{padding:0 8px 18px;border-bottom:1px solid var(--rail-line)}.brand h1{font-size:28px;color:#fff;margin:6px 0}.brand p{font-size:13px;color:var(--rail-muted);line-height:1.45;margin:0}.eyebrow,.rail-label,.kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.eyebrow,.rail-label{color:var(--rail-muted)}.side-nav{display:grid;gap:4px}.side-nav a,.rail-section a{color:var(--rail-ink);text-decoration:none;padding:9px 10px;border-radius:8px;font-size:14px}.side-nav a{display:flex;gap:11px;align-items:center}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.1)}.side-nav a.active{box-shadow:inset 3px 0 var(--red);color:#fff}.side-nav span{width:18px;color:var(--rail-muted);text-align:center}.rail-section{display:grid;gap:3px}.rail-section a{color:var(--rail-muted);font-size:13px}.rail-section a:hover{color:#fff}.rail-label{padding:0 10px 5px}.rail-foot{margin-top:auto;border-top:1px solid var(--rail-line);padding-top:15px;display:grid;gap:12px}.theme-button{border:0;background:none;color:var(--rail-muted);font:inherit;text-align:left;cursor:pointer;padding:7px 9px}.theme-button:hover{color:#fff}.user-mini{display:flex;gap:9px;align-items:center;color:var(--rail-ink);text-decoration:none;padding:7px 8px;border-radius:8px}.user-mini:hover{background:rgba(255,255,255,.08)}.user-mini b,.user-mini small{display:block}.user-mini small{font-size:11px;color:var(--rail-muted)}.avatar,.author-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:700;font-size:12px;flex:none}.main{min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,54px);gap:16px;background:color-mix(in srgb,var(--paper) 92%,transparent);position:sticky;top:0;z-index:5}.crumb{display:flex;gap:10px;color:var(--muted);font-size:13px}.crumb b{color:var(--line-2)}.top-actions{display:flex;align-items:center;gap:16px}.search-button,.login-link{font:inherit;color:var(--ink-2);text-decoration:none}.search-button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px;cursor:pointer}.search-button kbd{margin-left:24px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:11px}.login-link{font-weight:700;color:var(--blue)}.menu-button{display:none;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:7px 10px;color:var(--ink);font-size:18px}.view{display:none;max-width:var(--max);/* margin:0 auto; */padding:clamp(28px,5vw,66px) clamp(18px,5vw,66px) 80px;animation:fade .2s ease}.view.active{display:block}.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:42px;align-items:end}.hero-copy h2,.page-heading h2{font-size:clamp(34px,5vw,58px);line-height:1.1;margin:12px 0 14px;max-width:760px}.lede{font-size:18px;color:var(--ink-2);max-width:63ch}.hero-actions{display:flex;align-items:center;gap:19px;margin-top:25px}.text-link,.section-head a,.panel-head a,.reader a{color:var(--blue);font-weight:700;text-decoration:none}.hero-note{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--surface);border-radius:0 10px 10px 0;padding:20px;display:flex;gap:14px}.hero-note p{font-size:14px;color:var(--ink-2);margin:.4em 0 0}.note-mark,.list-index,.series-number{font-family:"IBM Plex Mono",monospace;color:var(--red);font-weight:500}.note-mark{font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:65px 0 17px}.section-head h3{font-size:25px;margin-top:6px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article-card,.series-card,.panel,.stat-card,.auth-card,.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:10px}.article-card{padding:18px;min-height:250px;display:flex;flex-direction:column;cursor:pointer;transition:.18s}.article-card:hover,.list-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-2px)}.card-top,..card-foot,.panel-head,.editor-heading,.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.read-time,.card-foot,.article-card p,.series-card p,.list-card p,.list-card small,.recent-row span,.continue-row small{color:var(--muted);font-size:13px}.article-card h4{font-size:21px;line-height:1.25;margin:25px 0 8px}.article-card p{margin:0}.card-foot{margin-top:auto;padding-top:18px}.author-dot{width:24px;height:24px}.card-foot .author-dot{margin-right:-3px}.card-foot .arrow{margin-left:auto;color:var(--red);font-size:20px}.blue{background:var(--blue)}.green{background:var(--green)}.series-head{margin-top:58px}.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.series-grid.large{grid-template-columns:1fr}.series-card{padding:22px;display:grid;grid-template-columns:54px 1fr;gap:20px}.series-number{font-size:24px}.blue-num{color:var(--blue)}.series-card h4,.series-card h3{font-size:22px;margin:10px 0 6px}.series-card p{margin:0 0 14px}.progress-line{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin:12px 0 5px}.progress-line i{display:block;height:100%;background:var(--red);border-radius:99px}.series-card small{color:var(--muted)}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:34px 0 14px}.filter-bar input{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:8px 11px;flex:1;min-width:200px}.filter-chip,.cms-tabs button{font:inherit;font-size:13px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:99px;padding:7px 13px;cursor:pointer}.filter-chip.active,.cms-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.article-list{display:grid;gap:10px}.list-card{display:grid;grid-template-columns:38px 1fr auto;gap:16px;align-items:start;padding:19px;background:var(--surface);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.18s}.list-card h3{font-size:21px;margin:8px 0 5px}.list-card p{margin:0 0 10px}.list-card .arrow{color:var(--red);font-size:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.stat-card{padding:18px;display:grid;gap:6px}.stat-card small,.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{font:700 30px Bitter,serif}.positive{color:var(--green)!important}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.panel{padding:18px}.panel-head{padding-bottom:12px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:19px}.continue-row{display:grid;grid-template-columns:47px 1fr auto;align-items:center;gap:12px;padding-top:18px}.mini-cover{height:54px;border-radius:8px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font:700 18px Bitter}.continue-row b,.continue-row small{display:block}.recent-row{display:grid;grid-template-columns:50px 1fr 20px;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.recent-row:last-child{border:0}.auth-wrap{display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center;min-height:65vh}.auth-intro h2{font-size:clamp(34px,5vw,53px);line-height:1.1;margin:12px 0}.auth-card{padding:26px;display:grid;gap:15px}.auth-card h3{font-size:23px;margin-bottom:4px}.auth-card label,.settings-card label{display:grid;gap:5px;font-weight:600;font-size:14px}.auth-card input,.settings-card input,.settings-card select,.editor-form input,.editor-form textarea{font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:10px 12px}.form-row{font-size:13px}.form-row a{color:var(--blue)}.check-label{display:flex!important;align-items:center;gap:7px;font-weight:400!important}.check-label input{accent-color:var(--green)}.form-note{font-size:13px;color:var(--muted);text-align:center;margin:0}.form-note a{color:var(--blue)}.demo-note{font:12px "IBM Plex Mono",monospace;background:var(--amber-soft);color:var(--amber);padding:8px;border-radius:6px}.reader-layout{display:grid;grid-template-columns:minmax(0,760px) 220px;gap:52px;max-width:1040px;margin:auto}.reader h2{font-size:clamp(36px,5vw,58px);line-height:1.1;margin:13px 0}.reader-lede{font-size:20px;color:var(--ink-2);max-width:60ch}.reader-meta{display:flex;align-items:center;gap:9px;padding:17px 0 25px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.bookmark-button{margin-left:auto;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:7px;padding:7px 10px;cursor:pointer}.article-body{font-size:18px;line-height:1.8;padding:28px 0}.article-body h3{font-size:26px;margin:32px 0 8px}.article-body p{margin:0 0 20px}.article-body li{margin:7px 0}.article-callout{background:var(--red-soft);border-left:3px solid var(--red);padding:15px 18px;margin:25px 0}.article-callout p{margin:5px 0 0}.reader-complete{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:17px;display:flex;justify-content:space-between;align-items:center;gap:18px}.reader-complete b,.reader-complete small{display:block}.reader-complete small{color:var(--muted);font-size:13px}.reader-aside{padding-top:100px}.toc,.next-card{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:15px;display:grid;gap:9px;font-size:13px}.toc a{color:var(--muted);font-weight:400}.next-card{margin-top:16px;background:var(--red-soft);border-color:transparent}.next-card b{line-height:1.4}.cms-tabs{display:flex;gap:6px;margin:30px 0 14px;border-bottom:1px solid var(--line);padding-bottom:12px}.cms-tabs button{border:0;background:transparent;border-radius:6px}.cms-tabs button b{font-size:11px;margin-left:5px}.cms-table{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:auto}.cms-row{min-width:690px;display:grid;grid-template-columns:2fr 130px 120px 45px;gap:15px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);font-size:13px}.cms-row:last-child{border:0}.cms-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cms-row b,.cms-row small{display:block}.cms-row small{color:var(--muted);margin-top:3px}.icon-button{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.editor-heading{margin-bottom:25px}.editor-heading a{color:var(--blue);text-decoration:none;font-size:14px}.save-state{font-size:13px;color:var(--green)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.editor-form,.settings-card{display:grid;gap:14px}.editor-form label{display:grid;gap:7px;font-weight:600}.title-input{font:700 30px Bitter,serif!important;background:transparent!important;border-width:0 0 1px!important;border-radius:0!important;padding:7px 0!important}.editor-toolbar{display:flex;gap:4px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:8px 10px;margin-top:5px}.editor-toolbar button{border:0;background:transparent;color:var(--ink-2);padding:4px 9px;cursor:pointer}.body-input{border-radius:0 0 8px 8px!important;resize:vertical}.editor-actions{display:flex;justify-content:flex-end;gap:9px}.settings-card{align-self:start;padding:18px}.settings-card h3{font-size:19px}.setting-note{background:var(--surface-2);padding:10px;border-radius:7px;display:grid;gap:6px;font-size:12px;color:var(--muted)}code{word-break:break-all}.toast{position:fixed;right:22px;bottom:22px;display:none;background:var(--rail);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:var(--shadow);font-size:14px;z-index:20}.toast.show{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* Typography scale aligned to material/style.css reference */
.brand h1{font-size:19px}.brand p{font-size:12.5px}.side-nav a{font-size:14px}.rail-section a{font-size:13px}
.hero-copy h2,.page-heading h2{font-size:30px;line-height:1.18}.lede{font-size:18px}.section-head h3{font-size:19px}.article-card h4{font-size:15.5px}.article-card p,.series-card p{font-size:13.5px}.series-card h4,.series-card h3{font-size:17px}.list-card h3{font-size:17px}.list-card p{font-size:13.5px}.stat-card strong{font-size:26px}.auth-intro h2{font-size:30px}.reader h2{font-size:30px;line-height:1.18}.reader-lede{font-size:18px}.article-body{font-size:16px;line-height:1.62}.article-body h3{font-size:19px}.panel-head h3{font-size:17px}.continue-row,.recent-row{font-size:14px}.title-input{font-size:24px!important}.settings-card h3{font-size:17px}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.rail{position:fixed;z-index:10;left:0;top:0;width:270px;transform:translateX(-105%);transition:.2s}.rail.open{transform:none}.menu-button{display:block}.topbar{padding:0 18px}.hero-grid,.auth-wrap,.reader-layout,.dashboard-grid,.editor-layout{grid-template-columns:1fr}.reader-aside{padding-top:0}.article-grid{grid-template-columns:repeat(2,1fr)}.hero-note{max-width:550px}}
@media(max-width:620px){.topbar{height:62px}.top-actions .search-button span,.top-actions .search-button kbd,.login-link{display:none}.view{padding:28px 16px 55px}.hero-copy h2,.page-heading h2{font-size:25px}.article-grid,.series-grid,.stats{grid-template-columns:1fr}.section-head,.page-heading,.reader-complete{align-items:flex-start;flex-direction:column}.list-card{grid-template-columns:28px 1fr}.list-card .arrow{display:none}.list-card h3{font-size:15.5px}.reader h2{font-size:25px}.reader-meta{flex-wrap:wrap}.bookmark-button{margin-left:0}.cms-tabs{overflow:auto}.editor-actions{flex-direction:column}.editor-actions .btn{width:100%}.continue-row{grid-template-columns:43px 1fr}.continue-row .btn{grid-column:2;justify-self:start}.article-body{font-size:16px}}
/* Reader navigation and action controls: clearer targets, borders, and keyboard states. */
.toc a{display:block;padding:7px 9px;margin:0 -9px;border-radius:6px;color:var(--ink-2);line-height:1.35;text-decoration:none;transition:background .15s ease,color .15s ease}.toc a:hover,.toc a:focus-visible{background:var(--red-soft);color:var(--red);outline:0}.next-card a{display:inline-flex;align-items:center;justify-content:center;margin-top:3px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--red) 35%,transparent);border-radius:7px;background:var(--surface);color:var(--red);font-size:13px;font-weight:700;text-decoration:none;line-height:1.25;transition:background .15s ease,border-color .15s ease,transform .15s ease}.next-card a:hover,.next-card a:focus-visible{background:var(--red);border-color:var(--red);color:#fff;outline:0;transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--blue);background:var(--blue);color:#fff;line-height:1.2;text-decoration:none;box-shadow:none;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}.btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 3px 9px rgba(15,76,129,.18)}.btn:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 32%,transparent);outline-offset:2px}.btn.ghost{border-color:var(--line-2);background:transparent;color:var(--blue)}.btn.ghost:hover{background:var(--surface);border-color:var(--blue)}
