:root {
  color-scheme: light dark;
  --yellow: #ffd43b;
  --ink: #171717;
  --muted: #6b7280;
  --paper: #fffdf4;
  --card: rgba(255,255,255,.76);
  --line: rgba(23,23,23,.1);
}

* { box-sizing: border-box; }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: radial-gradient(circle at top left, rgba(255,212,59,.4), transparent 35%), var(--paper); color: var(--ink); }
a { color: inherit; text-decoration: none; }
.hero { padding: 28px min(5vw,64px) 72px; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight:800; letter-spacing:-.03em; display:flex; align-items:center; gap:10px; }
.mark { width:34px; height:34px; border-radius:12px; display:grid; place-items:center; background:var(--yellow); color:#111; box-shadow:0 10px 30px rgba(0,0,0,.12); }
.links { display:flex; gap:18px; color:var(--muted); font-size:14px; flex-wrap:wrap; justify-content:flex-end; }
.hero-body { max-width:900px; padding-top:84px; }
.eyebrow { margin:0 0 12px; color:#a16207; text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.12em; }
h1 { font-size: clamp(42px, 7vw, 86px); line-height:.95; letter-spacing:-.07em; margin:0; }
h2 { font-size: clamp(26px, 3vw, 42px); letter-spacing:-.05em; margin:0 0 18px; }
h3 { margin:8px 0 8px; letter-spacing:-.025em; }
.lead { max-width:720px; color:var(--muted); font-size:20px; line-height:1.65; }
.actions { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.button { border:1px solid var(--line); padding:12px 16px; border-radius:999px; background:var(--card); backdrop-filter: blur(14px); font-weight:700; }
.button.primary { background:var(--yellow); color:#111; border-color:transparent; }
main { padding:0 min(5vw,64px) 80px; }
.grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.card, .panel, .plugin { border:1px solid var(--line); background:var(--card); border-radius:28px; padding:24px; box-shadow:0 20px 50px rgba(0,0,0,.07); backdrop-filter: blur(18px); }
.meta { min-height:22px; color:var(--muted); font-size:13px; }
.card p { color:var(--muted); line-height:1.6; }
.panel { margin-top:22px; }
.architecture { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.architecture div { padding:18px; border-radius:20px; background:rgba(255,212,59,.13); }
.architecture strong, .architecture span { display:block; }
.architecture span { color:var(--muted); margin-top:8px; line-height:1.55; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:32px; }
.tag { display:inline-block; padding:4px 8px; border-radius:999px; background:rgba(255,212,59,.25); color:#a16207; margin-right:4px; font-weight:700; }
.plugins { display:grid; gap:12px; }
.plugin { display:grid; gap:8px; }
.plugin span { color:var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px; }
.error { padding:40px; }
@media (max-width: 840px) { .grid, .split, .architecture { grid-template-columns:1fr; } .nav { align-items:flex-start; flex-direction:column; } }
.signup-form { display:grid; gap:14px; max-width:560px; margin-top:20px; }
.signup-form label { display:grid; gap:8px; color:var(--muted); font-weight:700; }
.signup-form input { width:100%; border:1px solid var(--line); border-radius:16px; padding:14px 16px; background:rgba(255,255,255,.65); color:var(--ink); font:inherit; }

.result { margin-top:16px; padding:14px 16px; border-radius:16px; background:rgba(255,212,59,.16); color:var(--muted); }
.result.success { background:rgba(34,197,94,.14); color:#16a34a; }
.result.error { background:rgba(239,68,68,.14); color:#dc2626; }
.security-list { color:var(--muted); line-height:1.7; margin-top:20px; }
.muted { color:var(--muted); line-height:1.7; }
.signup-form select, .signup-form textarea { width:100%; border:1px solid var(--line); border-radius:16px; padding:14px 16px; background:rgba(255,255,255,.65); color:var(--ink); font:inherit; }

.account-panel { border-color: rgba(255,212,59,.45); }
.editor-panel textarea { min-height: 260px; line-height: 1.65; }
.inline-check { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:10px; color:var(--muted); }
.inline-check input { width:auto; }
.slash-hint { display:grid; gap:6px; max-width:420px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--muted); }
.hidden { display:none !important; }
.post-card { overflow:hidden; }
.attachments { display:grid; gap:10px; margin-top:14px; }
.image-carousel { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 12px; }
.image-carousel figure { min-width:min(78vw, 420px); margin:0; scroll-snap-align:center; border-radius:20px; overflow:hidden; background:rgba(0,0,0,.05); }
.image-carousel img { width:100%; height:260px; object-fit:cover; display:block; }
.image-carousel figcaption { padding:8px 10px; color:var(--muted); font-size:13px; }
.file-chip { display:inline-flex; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:rgba(255,212,59,.18); color:var(--ink); font-size:13px; }
.comment-box { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
.reply-menu { border:0; background:transparent; color:var(--muted); font-size:12px; opacity:.72; cursor:pointer; padding:4px 0; }
.reply-menu:hover { opacity:1; text-decoration:underline; }
.commentForm { display:grid; grid-template-columns:1fr auto auto auto; gap:8px; margin-top:8px; }
.commentForm input, .commentForm select { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:rgba(255,255,255,.6); color:var(--ink); }
.commentForm button { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:var(--yellow); color:#111; font-weight:700; }
@media (max-width: 700px) { .commentForm { grid-template-columns:1fr; } .image-carousel img { height:220px; } }
.editor-panel textarea { min-height: 260px; line-height: 1.65; }
.inline-check { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:10px; color:var(--muted); }
.inline-check input { width:auto; }
.slash-hint { display:grid; gap:6px; max-width:420px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--muted); }
.hidden { display:none !important; }
.post-card { overflow:hidden; }
.attachments { display:grid; gap:10px; margin-top:14px; }
.image-carousel { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 12px; }
.image-carousel figure { min-width:min(78vw, 420px); margin:0; scroll-snap-align:center; border-radius:20px; overflow:hidden; background:rgba(0,0,0,.05); }
.image-carousel img { width:100%; height:260px; object-fit:cover; display:block; }
.image-carousel figcaption { padding:8px 10px; color:var(--muted); font-size:13px; }
.file-chip { display:inline-flex; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:rgba(255,212,59,.18); color:var(--ink); font-size:13px; }
.comment-box { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
.reply-menu { border:0; background:transparent; color:var(--muted); font-size:12px; opacity:.72; cursor:pointer; padding:4px 0; }
.reply-menu:hover { opacity:1; text-decoration:underline; }
.commentForm { display:grid; grid-template-columns:1fr auto auto auto; gap:8px; margin-top:8px; }
.commentForm input, .commentForm select { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:rgba(255,255,255,.6); color:var(--ink); }
.commentForm button { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:var(--yellow); color:#111; font-weight:700; }
@media (max-width: 700px) { .commentForm { grid-template-columns:1fr; } .image-carousel img { height:220px; } }
.editor-panel textarea { min-height: 260px; line-height: 1.65; }
.inline-check { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:10px; color:var(--muted); }
.inline-check input { width:auto; }
.slash-hint { display:grid; gap:6px; max-width:420px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--muted); }
.hidden { display:none !important; }
.post-card { overflow:hidden; }
.attachments { display:grid; gap:10px; margin-top:14px; }
.image-carousel { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 12px; }
.image-carousel figure { min-width:min(78vw, 420px); margin:0; scroll-snap-align:center; border-radius:20px; overflow:hidden; background:rgba(0,0,0,.05); }
.image-carousel img { width:100%; height:260px; object-fit:cover; display:block; }
.image-carousel figcaption { padding:8px 10px; color:var(--muted); font-size:13px; }
.file-chip { display:inline-flex; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:rgba(255,212,59,.18); color:var(--ink); font-size:13px; }
.comment-box { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
.reply-menu { border:0; background:transparent; color:var(--muted); font-size:12px; opacity:.72; cursor:pointer; padding:4px 0; }
.reply-menu:hover { opacity:1; text-decoration:underline; }
.commentForm { display:grid; grid-template-columns:1fr auto auto auto; gap:8px; margin-top:8px; }
.commentForm input, .commentForm select { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:rgba(255,255,255,.6); color:var(--ink); }
.commentForm button { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:var(--yellow); color:#111; font-weight:700; }
@media (max-width: 700px) { .commentForm { grid-template-columns:1fr; } .image-carousel img { height:220px; } }
.editor-panel textarea { min-height: 260px; line-height: 1.65; }
.inline-check { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:10px; color:var(--muted); }
.inline-check input { width:auto; }
.slash-hint { display:grid; gap:6px; max-width:420px; padding:14px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--muted); }
.hidden { display:none !important; }
.post-card { overflow:hidden; }
.attachments { display:grid; gap:10px; margin-top:14px; }
.image-carousel { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 12px; }
.image-carousel figure { min-width:min(78vw, 420px); margin:0; scroll-snap-align:center; border-radius:20px; overflow:hidden; background:rgba(0,0,0,.05); }
.image-carousel img { width:100%; height:260px; object-fit:cover; display:block; }
.image-carousel figcaption { padding:8px 10px; color:var(--muted); font-size:13px; }
.file-chip { display:inline-flex; width:max-content; max-width:100%; padding:8px 12px; border-radius:999px; background:rgba(255,212,59,.18); color:var(--ink); font-size:13px; }
.comment-box { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
.reply-menu { border:0; background:transparent; color:var(--muted); font-size:12px; opacity:.72; cursor:pointer; padding:4px 0; }
.reply-menu:hover { opacity:1; text-decoration:underline; }
.commentForm { display:grid; grid-template-columns:1fr auto auto auto; gap:8px; margin-top:8px; }
.commentForm input, .commentForm select { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:rgba(255,255,255,.6); color:var(--ink); }
.commentForm button { border:1px solid var(--line); border-radius:12px; padding:8px 10px; background:var(--yellow); color:#111; font-weight:700; }
@media (max-width: 700px) { .commentForm { grid-template-columns:1fr; } .image-carousel img { height:220px; } }
.rendered-markdown { color:var(--ink); line-height:1.7; }
.rendered-markdown p { margin:.4em 0; color:var(--ink); }
.rendered-markdown h2 { margin:.8em 0 .3em; font-size:1.55rem; }
.rendered-markdown table { border-collapse:collapse; width:100%; margin:12px 0; overflow:hidden; border-radius:14px; }
.rendered-markdown td { border:1px solid var(--line); padding:8px 10px; }
.rendered-markdown pre { background:rgba(0,0,0,.08); padding:14px; border-radius:16px; overflow:auto; }
.rendered-markdown code { background:rgba(255,212,59,.18); padding:2px 5px; border-radius:6px; }
.rendered-markdown .todo { display:block; padding:4px 0; color:var(--muted); }
.preview-wrap { border:1px dashed var(--line); border-radius:18px; padding:12px; background:rgba(255,255,255,.35); }
.notion-shell { position:relative; }
.block-editor { min-height:280px; border:1px solid var(--line); border-radius:18px; padding:18px 20px; background:rgba(255,255,255,.62); line-height:1.8; outline:none; white-space:pre-wrap; }
.block-editor:empty:before { content:attr(data-placeholder); color:var(--muted); }
.block-editor:focus { border-color:rgba(37,99,235,.55); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.slash-hint button { text-align:left; border:1px solid var(--line); background:rgba(255,255,255,.55); border-radius:12px; padding:8px 10px; color:var(--ink); cursor:pointer; }
.slash-hint button:hover { background:rgba(255,212,59,.22); }

/* user-facing layout cleanup */
.status-grid, #architecture, #plugins { display:none !important; }
main { padding-left:min(3vw,40px); padding-right:min(3vw,40px); }
.full-width, .write-panel, .post-list-panel { width:100%; max-width:none; }
.write-panel .post-form-wide { max-width:none; width:100%; grid-template-columns: minmax(180px, 260px) 1fr; align-items:start; }
.write-panel .post-form-wide > label,
.write-panel .post-form-wide > .notion-shell,
.write-panel .post-form-wide > .inline-check,
.write-panel .post-form-wide > .muted,
.write-panel .post-form-wide > .result,
.write-panel .post-form-wide > button { grid-column:1 / -1; }
.write-panel .post-form-wide select,
.write-panel .post-form-wide input[type="text"],
.write-panel .post-form-wide input:not([type]),
.write-panel .post-form-wide input[type="file"] { max-width:720px; }
.block-editor.live-notion { min-height:420px; width:100%; font-size:18px; line-height:1.85; padding:26px 30px; border:0; border-radius:24px; background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 1px var(--line); }
.block-editor.live-notion:focus { box-shadow:inset 0 0 0 2px rgba(255,212,59,.9), 0 18px 60px rgba(0,0,0,.06); }
.preview-wrap { display:none !important; }
.post-list { display:grid; gap:16px; }
.clickable-post { cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.clickable-post:hover { transform:translateY(-2px); box-shadow:0 24px 60px rgba(0,0,0,.10); }
.post-actions { margin-top:10px; }
.post-detail-backdrop { position:fixed; inset:0; z-index:50; overflow:auto; padding:48px min(4vw,64px); background:rgba(15,15,15,.45); backdrop-filter:blur(10px); }
.post-detail { max-width:1100px; margin:0 auto; border-radius:32px; background:var(--paper); color:var(--ink); padding:36px; box-shadow:0 30px 100px rgba(0,0,0,.28); }
.detail-close { float:right; border:1px solid var(--line); border-radius:999px; padding:8px 12px; background:var(--card); color:var(--ink); cursor:pointer; }
.video-attachment video { width:100%; max-height:70vh; border-radius:22px; background:#000; display:block; }
.video-attachment figcaption { color:var(--muted); font-size:13px; margin-top:8px; }
.rendered-markdown table { max-width:100%; }
.rendered-markdown p { font-size:16px; }
.hero-body { padding-top:48px; }
@media (max-width: 760px) { .post-detail-backdrop { padding:18px; } .post-detail { padding:22px; border-radius:24px; } .block-editor.live-notion { min-height:320px; padding:20px; } }
/* auth menu + minimal terms */
.nav-button { border:0; background:transparent; color:var(--muted); font:inherit; cursor:pointer; padding:8px 10px; border-radius:999px; }
.nav-button:hover { color:var(--ink); background:rgba(255,255,255,.55); }
.nav-button.primary { color:#3c2a00; background:linear-gradient(135deg, #ffd43b, #ffb703); font-weight:800; }
.compact-hero .hero-body { padding-top:32px; padding-bottom:32px; }
.auth-backdrop { position:fixed; inset:0; z-index:60; display:grid; place-items:start center; overflow:auto; padding:56px min(4vw,56px); background:rgba(15,15,15,.42); backdrop-filter:blur(10px); }
.auth-modal { width:min(560px, 100%); border-radius:28px; background:var(--paper); color:var(--ink); padding:28px; box-shadow:0 30px 100px rgba(0,0,0,.30); }
.auth-card h2 { margin-top:4px; }
.auth-card .signup-form { display:grid; gap:14px; }
.auth-switch { margin-top:16px; }
.text-button { border:0; background:transparent; padding:0; color:#b7791f; font:inherit; font-weight:800; cursor:pointer; text-decoration:underline; }
.terms-box { border:1px solid var(--line); border-radius:18px; padding:16px 18px; background:rgba(255,248,220,.62); }
.terms-box ul { margin:10px 0 12px 20px; padding:0; color:var(--muted); line-height:1.7; }
.terms-check { color:var(--ink); font-weight:700; }
.links { align-items:center; }
@media (max-width: 760px) { .auth-backdrop { padding:18px; } .auth-modal { padding:22px; border-radius:22px; } .nav .links { gap:6px; } .nav-button { padding:7px 8px; } }
/* Editor.js Notion-like editor */
.editorjs-shell { border-radius:26px; background:rgba(255,255,255,.75); box-shadow:inset 0 0 0 1px var(--line); padding:18px 24px; }
.editorjs-holder { min-height:460px; font-size:18px; line-height:1.8; }
.editorjs-holder .codex-editor { z-index:1; }
.editorjs-holder .codex-editor__redactor { padding-bottom:120px !important; }
.editorjs-holder .ce-block__content,
.editorjs-holder .ce-toolbar__content { max-width:960px; }
.editorjs-holder .ce-paragraph,
.editorjs-holder .ce-header,
.editorjs-holder .cdx-list,
.editorjs-holder .cdx-checklist,
.editorjs-holder .tc-table,
.editorjs-holder .cdx-quote { color:var(--ink); }
.editorjs-holder .ce-toolbar__plus,
.editorjs-holder .ce-toolbar__settings-btn { color:var(--muted); }
.editorjs-holder .ce-toolbar__plus:hover,
.editorjs-holder .ce-toolbar__settings-btn:hover { background:rgba(255,212,59,.20); color:var(--ink); }
.editorjs-holder .ce-popover,
.editorjs-holder .ce-conversion-toolbar,
.editorjs-holder .ce-inline-toolbar { border-radius:16px; box-shadow:0 18px 60px rgba(0,0,0,.16); }
.editor-help { margin-top:-4px; }
.block-editor.live-notion { display:none; }

/* Notion-like realtime local editor */
.notion-lite-shell { position:relative; border-radius:26px; background:rgba(255,255,255,.78); box-shadow:inset 0 0 0 1px var(--line); padding:12px; }
.format-toolbar { display:flex; flex-wrap:wrap; gap:8px; padding:6px 6px 12px; border-bottom:1px solid var(--line); margin-bottom:12px; }
.format-toolbar button { border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.72); color:var(--ink); padding:7px 10px; font-weight:700; cursor:pointer; }
.format-toolbar button:hover { background:rgba(255,212,59,.24); transform:translateY(-1px); }
.notion-lite-editor { min-height:460px; padding:18px 22px 120px; outline:none; font-size:18px; line-height:1.75; border-radius:18px; }
.notion-lite-editor:empty:before { content:attr(data-placeholder); color:var(--muted); }
.notion-lite-editor h1,.notion-lite-editor h2,.notion-lite-editor h3 { margin:18px 0 10px; line-height:1.2; }
.notion-lite-editor p { margin:8px 0; }
.notion-lite-editor blockquote { margin:12px 0; padding:10px 14px; border-left:4px solid #ffd43b; background:rgba(255,212,59,.12); border-radius:10px; }
.notion-lite-editor pre { margin:12px 0; padding:14px 16px; border-radius:14px; background:#111827; color:#f8fafc; overflow:auto; }
.notion-lite-editor table { border-collapse:collapse; margin:12px 0; width:100%; }
.notion-lite-editor td,.notion-lite-editor th { border:1px solid var(--line); padding:8px 10px; min-width:120px; }
.slash-menu { position:absolute; z-index:80; width:260px; border:1px solid var(--line); border-radius:18px; padding:8px; background:var(--paper); box-shadow:0 24px 80px rgba(0,0,0,.22); }
.slash-menu button { display:grid; gap:2px; width:100%; text-align:left; border:0; border-radius:12px; background:transparent; color:var(--ink); padding:10px 12px; cursor:pointer; }
.slash-menu button:hover { background:rgba(255,212,59,.20); }
.slash-menu span { color:var(--muted); font-size:12px; }
.slash-menu.hidden { display:none; }
.editorjs-shell,.editorjs-holder { display:none !important; }

/* Maker plugin cards */
.plugin-card-list { display:grid; gap:10px; margin:14px 0; }
.plugin-card { border:1px solid var(--line); border-radius:18px; padding:14px 16px; background:rgba(255,248,220,.60); display:grid; gap:10px; }
.plugin-card.accent { border-color:rgba(255,183,3,.55); background:linear-gradient(135deg, rgba(255,212,59,.24), rgba(255,255,255,.56)); }
.plugin-card strong { font-size:16px; }
.plugin-card p { margin:4px 0 0; color:var(--muted); }
.plugin-card ul { margin:0; padding-left:20px; color:var(--muted); }
.plugin-chips { display:flex; flex-wrap:wrap; gap:8px; }
.plugin-chips span { border:1px solid rgba(255,183,3,.45); background:rgba(255,255,255,.65); border-radius:999px; padding:5px 9px; font-size:12px; font-weight:800; }

/* slash-command attachments */
.hidden-file-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.attachment-drop-hint { border:1px dashed rgba(255,183,3,.55); border-radius:16px; padding:12px 14px; background:rgba(255,248,220,.46); }
.inline-attachment-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.inline-attachment-chip { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; padding:8px 11px; background:rgba(255,255,255,.72); font-size:13px; }
.inline-attachment-chip strong { color:#b7791f; }
.inline-attachment-chip em { color:var(--muted); font-style:normal; }
.format-toolbar button[data-format="attach"] { background:rgba(255,212,59,.28); }
/* Makers Studio editor/viewer patch */
.post-form-wide,
.write-panel .signup-form,
.editor-panel .signup-form { max-width:none; width:100%; }
.post-form-wide > label,
.post-form-wide > .notion-lite-shell,
.post-form-wide > .editor-help,
.post-form-wide > .attachment-drop-hint,
.post-form-wide > .inline-attachment-list,
.post-form-wide > .button,
.post-form-wide > .result { grid-column:1 / -1; width:100%; }
.notion-lite-shell { width:100%; max-width:none; }
.notion-lite-editor { width:100%; min-height:560px; }
.inline-media-block { margin:14px 0; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:rgba(255,255,255,.66); }
.inline-media-block video,
.inline-media-block img { display:block; width:100%; max-height:520px; object-fit:contain; background:#111827; }
.inline-media-block figcaption { padding:10px 12px; color:var(--muted); font-size:13px; }
.inline-file-preview { padding:18px; display:grid; gap:4px; }
.video-attachment video { width:100%; max-height:560px; border-radius:18px; background:#111827; }
.maker-viewer-slot,
.maker-viewer-card { display:grid; gap:10px; margin-top:14px; border:1px solid var(--line); border-radius:22px; padding:14px; background:rgba(255,255,255,.62); }
.maker-viewer-head { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; }
.maker-viewer-head span,
.maker-viewer-caption { color:var(--muted); font-size:13px; }
.maker-viewer-body svg { width:100%; height:520px; border-radius:18px; background:#0f172a; }
.kicad-viewer svg .edge { stroke:#f8fafc; stroke-width:.18; fill:none; vector-effect:non-scaling-stroke; }
.kicad-viewer svg .track { stroke:#f97316; fill:none; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.kicad-viewer svg .pad { fill:#facc15; stroke:#fff7ed; stroke-width:.08; vector-effect:non-scaling-stroke; }
.kicad-viewer svg .wire { stroke:#38bdf8; stroke-width:.22; fill:none; vector-effect:non-scaling-stroke; }
.kicad-viewer svg .symbol { fill:#a78bfa; stroke:#ede9fe; stroke-width:.1; vector-effect:non-scaling-stroke; }
.gerber-viewer { display:grid; gap:12px; }
.gerber-layer { display:grid; gap:5px; }
.gerber-layer span { color:var(--muted); font-size:12px; }
.gerber-layer svg line { stroke:#22c55e; stroke-width:.12; vector-effect:non-scaling-stroke; stroke-linecap:round; }
.maker-viewer-placeholder,
.maker-viewer-error { border-radius:18px; padding:20px; background:rgba(255,212,59,.13); color:var(--muted); }


/* VSCode-like code blocks */
.notion-lite-editor pre,
.rendered-markdown pre,
.code-editor-block {
  position:relative;
  margin:14px 0;
  padding:18px 18px;
  border-radius:14px;
  background:#0d1117 !important;
  color:#e6edf3 !important;
  border:1px solid rgba(125,140,160,.22);
  box-shadow:0 12px 32px rgba(2,6,23,.18);
  overflow:auto;
  font:14px/1.65 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  tab-size:2;
}
.notion-lite-editor pre code,
.rendered-markdown pre code {
  display:block;
  min-height:1.5em;
  white-space:pre;
  background:transparent !important;
  color:inherit;
  padding:0;
}
.notion-lite-editor pre::before,
.rendered-markdown pre::before {
  content:attr(data-lang);
  position:absolute;
  top:8px;
  right:12px;
  color:#8b949e;
  font:11px/1 ui-sans-serif, system-ui, sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rendered-markdown :not(pre) > code,
.notion-lite-editor :not(pre) > code {
  border-radius:6px;
  padding:.14em .38em;
  background:rgba(110,118,129,.22);
  color:#d2a8ff;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Empty-block placeholders for Notion-style shortcuts */
.notion-lite-editor [data-placeholder] { position:relative; }
.notion-lite-editor [data-placeholder]:empty::before,
.notion-lite-editor [data-placeholder]:has(> br:only-child)::before,
.notion-lite-editor [data-placeholder]:has(> span:only-child:empty)::before {
  content:attr(data-placeholder);
  color:var(--muted);
  opacity:.48;
  pointer-events:none;
}
.notion-lite-editor li[data-placeholder]:has(> br:only-child)::before { display:inline; }
.notion-lite-editor td[data-placeholder]:has(> br:only-child)::before { content:attr(data-placeholder); color:var(--muted); opacity:.42; }
.notion-lite-editor .todo-placeholder span:empty::before,
.notion-lite-editor .todo-placeholder span:has(> br:only-child)::before { content:attr(data-placeholder); color:var(--muted); opacity:.48; }

/* STEP browser viewer */
.step-viewer-canvas { width:100%; min-height:560px; border-radius:18px; overflow:hidden; background:#0d1117; border:1px solid rgba(125,140,160,.22); }
.step-viewer-canvas canvas { display:block; width:100% !important; height:560px !important; }
.maker-viewer-loading { border-radius:18px; padding:24px; background:#0d1117; color:#e6edf3; border:1px solid rgba(125,140,160,.22); }

/* Blocking upload/posting overlay */
body.making-busy { overflow:hidden; }
.making-overlay {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(255,253,244,.72);
  backdrop-filter:blur(10px) saturate(1.08);
}
.making-overlay.hidden { display:none; }
.making-card {
  width:min(420px, 92vw);
  display:grid;
  justify-items:center;
  gap:12px;
  padding:30px 28px;
  border-radius:26px;
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:0 24px 90px rgba(0,0,0,.18);
  text-align:center;
}
.making-card strong { font-size:24px; letter-spacing:-.04em; }
.making-card p { margin:0; color:var(--muted); line-height:1.55; }
.making-spinner {
  width:44px;
  height:44px;
  border-radius:50%;
  border:4px solid rgba(255,212,59,.35);
  border-top-color:#f59e0b;
  animation:making-spin .9s linear infinite;
}
@keyframes making-spin { to { transform:rotate(360deg); } }


/* System dark mode hardening */
:root { color-scheme: light dark; }

.notion-lite-editor h1[data-placeholder]:has(> br:only-child)::before,
.notion-lite-editor h2[data-placeholder]:has(> br:only-child)::before,
.notion-lite-editor h3[data-placeholder]:has(> br:only-child)::before { content:attr(data-placeholder); color:var(--muted); opacity:.46; }

/* Local 3D attachment preview inside editor */
.local-maker-viewer { width:100%; min-height:560px; margin-top:10px; border-radius:16px; overflow:hidden; background:#0d1117; color:#e6edf3; display:grid; place-items:center; }
.local-maker-viewer .step-viewer-canvas { border:0; border-radius:0; }

/* Maker's Codex branding */
.logo-mark { overflow:hidden; padding:0; background:#fff8dc; }
.logo-mark img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.18); }
.hero-title-link { color:inherit; text-decoration:none; cursor:pointer; }
.hero-title-link:hover { text-decoration:none; filter:brightness(.96); }

/* Transparent SooD wordmark in top-left brand */
.logo-mark {
  background:#fff;
  padding:3px;
  overflow:hidden;
}
.logo-mark img {
  width:100%;
  height:100%;
  object-fit:contain;
  transform:none;
}


/* Manual light/dark theme toggle */
.theme-toggle {
  justify-self:start;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.07);
  backdrop-filter:blur(12px);
}
.theme-toggle:hover { transform:translateY(-1px); background:rgba(255,212,59,.28); }
html[data-theme="light"] { color-scheme:light; --ink:#171717; --muted:#6b7280; --paper:#fffdf4; --card:rgba(255,255,255,.76); --line:rgba(23,23,23,.1); }
html[data-theme="dark"] { color-scheme:dark; --ink:#f8fafc; --muted:#a1a1aa; --paper:#10100d; --card:rgba(24,24,27,.78); --line:rgba(255,255,255,.12); }
html[data-theme="light"] body { background:radial-gradient(circle at top left, rgba(255,212,59,.4), transparent 35%), var(--paper); color:var(--ink); }
html[data-theme="dark"] body { background:radial-gradient(circle at top left, rgba(255,212,59,.14), transparent 34%), #0f0f0c; color:var(--ink); }
html[data-theme="dark"] .card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .plugin,
html[data-theme="dark"] .auth-modal,
html[data-theme="dark"] .notion-lite-shell { background:rgba(24,24,27,.78); border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .architecture div,
html[data-theme="dark"] .attachment-drop-hint { background:rgba(255,212,59,.09); }
html[data-theme="dark"] .signup-form input,
html[data-theme="dark"] .signup-form select,
html[data-theme="dark"] .signup-form textarea,
html[data-theme="dark"] .format-toolbar button,
html[data-theme="dark"] .theme-toggle { background:rgba(0,0,0,.28); color:#f8fafc; border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .slash-menu { background:#1d1d1d; color:#f8fafc; border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .logo-mark { background:#000; }
html[data-theme="light"] .logo-mark { background:#fff; }
@media (max-width: 840px) { .theme-toggle { align-self:flex-start; } }

/* Editor placeholders, trailing-space and drag handles */
.notion-lite-editor pre code[data-placeholder]:has(> br:only-child)::before,
.notion-lite-editor pre code[data-placeholder]:empty::before {
  content:attr(data-placeholder);
  color:#8b949e;
  opacity:.68;
  pointer-events:none;
}
.notion-lite-editor pre:not([data-lang])::before,
.notion-lite-editor pre[data-lang=""]::before { content:""; }
.draggable-block { position:relative; }
.draggable-block::after {
  content:"::";
  position:absolute;
  left:-26px;
  top:10px;
  width:20px;
  color:var(--muted);
  opacity:.28;
  font-weight:900;
  letter-spacing:-2px;
  cursor:grab;
  user-select:none;
}
.draggable-block:hover::after { opacity:.85; }
.draggable-block.dragging { opacity:.45; }
.draggable-block.drag-over { outline:2px solid rgba(255,212,59,.78); outline-offset:4px; }
.notion-lite-editor > p:last-child:empty::before,
.notion-lite-editor > p:last-child:has(> br:only-child)::before {
  content:" ";
  display:inline-block;
  min-height:1.4em;
}

/* Notion-like table editing controls */
.maker-table-wrap {
  position:relative;
  display:inline-block;
  max-width:100%;
  margin:14px 0 24px;
  padding:0 34px 30px 0;
  overflow:visible;
}
.maker-table-wrap table.maker-edit-table {
  border-collapse:collapse;
  table-layout:auto;
  width:100%;
  min-width:360px;
  background:rgba(255,255,255,.35);
}
.notion-lite-editor table.maker-edit-table td,
.notion-lite-editor table.maker-edit-table th {
  position:relative;
  min-width:88px;
  min-height:34px;
  height:34px;
  vertical-align:top;
  resize:none;
}
.notion-lite-editor table.maker-edit-table td:focus,
.notion-lite-editor table.maker-edit-table th:focus {
  outline:2px solid rgba(255,183,3,.8);
  outline-offset:-2px;
  background:rgba(255,248,220,.48);
}
.table-ui { user-select:none; }
.table-add-col,
.table-add-row {
  position:absolute;
  border:1px solid rgba(255,183,3,.65);
  background:rgba(255,212,59,.92);
  color:#2d2100;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
  opacity:.18;
  transition:opacity .15s ease, transform .15s ease;
}
.maker-table-wrap:hover .table-add-col,
.maker-table-wrap:hover .table-add-row,
.maker-table-wrap:focus-within .table-add-col,
.maker-table-wrap:focus-within .table-add-row { opacity:1; }
.table-add-col { top:50%; right:0; transform:translate(60%, -50%); padding:7px 8px; }
.table-add-row { left:50%; bottom:0; transform:translate(-50%, 60%); padding:7px 12px; }
.cell-resize-x,
.cell-resize-y {
  position:absolute;
  display:block;
  z-index:2;
  opacity:0;
  background:rgba(255,183,3,.55);
}
td:hover > .cell-resize-x, th:hover > .cell-resize-x,
td:hover > .cell-resize-y, th:hover > .cell-resize-y,
td:focus > .cell-resize-x, th:focus > .cell-resize-x,
td:focus > .cell-resize-y, th:focus > .cell-resize-y { opacity:1; }
.cell-resize-x { top:0; right:-3px; width:6px; height:100%; cursor:col-resize; }
.cell-resize-y { left:0; bottom:-3px; width:100%; height:6px; cursor:row-resize; }
.table-resize-x,
.table-resize-y {
  position:absolute;
  z-index:3;
  border-radius:999px;
  background:rgba(255,183,3,.32);
  opacity:.2;
}
.maker-table-wrap:hover .table-resize-x,
.maker-table-wrap:hover .table-resize-y,
.maker-table-wrap:focus-within .table-resize-x,
.maker-table-wrap:focus-within .table-resize-y { opacity:1; }
.table-resize-x { top:0; right:16px; width:8px; height:calc(100% - 30px); cursor:ew-resize; }
.table-resize-y { left:0; bottom:15px; width:calc(100% - 34px); height:8px; cursor:ns-resize; }
html[data-theme="dark"] .maker-table-wrap table.maker-edit-table { background:rgba(0,0,0,.18); }
html[data-theme="dark"] .notion-lite-editor table.maker-edit-table td:focus,
html[data-theme="dark"] .notion-lite-editor table.maker-edit-table th:focus { background:rgba(255,212,59,.12); }
.terms-panel p { max-width:900px; line-height:1.75; }

/* Open source / open hardware values on signup */
.open-values-logos {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 16px;
}
.open-logo {
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,183,3,.55);
  border-radius:999px;
  padding:8px 12px 8px 8px;
  background:linear-gradient(135deg, rgba(255,212,59,.25), rgba(255,255,255,.70));
  color:var(--ink);
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.open-logo-mark {
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#111827;
  color:#ffd43b;
  font-size:17px;
  line-height:1;
}
.open-hardware-logo .open-logo-mark { font-size:16px; }
html[data-theme="dark"] .open-logo {
  background:linear-gradient(135deg, rgba(255,212,59,.14), rgba(0,0,0,.26));
  border-color:rgba(255,212,59,.35);
}
html[data-theme="dark"] .open-logo-mark { background:#ffd43b; color:#111827; }

/* Site search */
.search-panel { display:grid; gap:10px; }
.site-search-form {
  display:grid;
  grid-template-columns:minmax(220px, 1fr) auto auto;
  gap:10px;
  align-items:center;
}
.site-search-form input[type="search"] {
  width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  padding:13px 16px;
  background:rgba(255,255,255,.76);
  color:var(--ink);
  font:inherit;
  outline:none;
}
.site-search-form input[type="search"]:focus {
  border-color:rgba(255,183,3,.75);
  box-shadow:0 0 0 4px rgba(255,212,59,.18);
}
.search-result-meta { margin:0; }
html[data-theme="dark"] .site-search-form input[type="search"] {
  background:rgba(0,0,0,.28);
  color:#f8fafc;
  border-color:rgba(255,255,255,.12);
}
@media (max-width: 700px) {
  .site-search-form { grid-template-columns:1fr; }
}

/* Resizable 3D/local viewer blocks */
.inline-media-block.resizable-viewer-block {
  resize: vertical;
  overflow: auto;
  min-height: 360px;
  height: 560px;
  max-height: 85vh;
  padding-bottom: 18px;
}
.inline-media-block.resizable-viewer-block::before {
  content: "↕";
  position:absolute;
  left:50%;
  bottom:2px;
  transform:translateX(-50%);
  width:42px;
  height:12px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:var(--muted);
  background:rgba(255,212,59,.28);
  font-size:11px;
  pointer-events:none;
}
.inline-media-block.resizable-viewer-block .local-maker-viewer,
.inline-media-block.resizable-viewer-block .maker-3d-viewer,
.inline-media-block.resizable-viewer-block model-viewer,
.inline-media-block.resizable-viewer-block .step-viewer-canvas {
  height: calc(100% - 54px) !important;
  min-height: 300px;
}
.step-viewer-canvas {
  resize: vertical;
  overflow: hidden;
  min-height: 320px;
}
.maker-viewer-slot.resizable-viewer-block {
  resize: vertical;
  overflow: auto;
  min-height: 420px;
  height: 620px;
  max-height: 90vh;
  padding-bottom: 22px;
}
.maker-viewer-slot.resizable-viewer-block::after {
  content: "↕ 높이 조절";
  position:absolute;
  left:50%;
  bottom:5px;
  transform:translateX(-50%);
  border-radius:999px;
  padding:2px 10px;
  background:rgba(255,212,59,.25);
  color:var(--muted);
  font-size:11px;
  pointer-events:none;
}
.maker-viewer-slot.resizable-viewer-block [data-viewer-body],
.maker-viewer-slot.resizable-viewer-block .step-viewer-canvas,
.maker-viewer-slot.resizable-viewer-block model-viewer {
  height: calc(100% - 76px) !important;
  min-height: 330px;
}

/* 3D viewer CAD navigation controls */
.step-viewer-canvas,
.model-viewer-wrap {
  position: relative;
  touch-action: none;
}
.step-viewer-canvas canvas { cursor: grab; }
.step-viewer-canvas canvas:active { cursor: grabbing; }
.step-viewer-nav {
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(3, auto);
  gap:6px;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(15,23,42,.68);
  backdrop-filter:blur(10px);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.step-viewer-nav button {
  min-width:34px;
  height:32px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.10);
  color:#f8fafc;
  font-weight:900;
  cursor:pointer;
}
.step-viewer-nav button:hover {
  background:rgba(255,212,59,.92);
  color:#111827;
  transform:translateY(-1px);
}
.model-viewer-wrap {
  width:100%;
  height:100%;
  min-height:360px;
}
.model-viewer-wrap .step-viewer-nav { grid-template-columns:repeat(2, auto); }

/* Lazy local STEP preview so posting is not blocked by heavy browser rendering */
.lazy-step-preview {
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  min-height:260px;
  border-radius:16px;
  background:#0d1117;
  color:#c9d1d9;
  text-align:center;
  padding:22px;
}
.lazy-step-preview p { margin:0; max-width:520px; color:#8b949e; }
.lazy-step-preview button {
  border:1px solid rgba(255,212,59,.55);
  border-radius:999px;
  background:rgba(255,212,59,.9);
  color:#111827;
  padding:9px 14px;
  font-weight:900;
  cursor:pointer;
}
.lazy-step-preview button:hover { transform:translateY(-1px); }

/* Community homepage IA refresh */
.community-overview {
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(280px, .9fr);
  gap:22px;
  align-items:center;
  border-color:rgba(255,183,3,.36);
  background:linear-gradient(135deg, rgba(255,212,59,.18), var(--card));
}
.community-overview h2 { margin-bottom:8px; }
.community-stats {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.community-stats span {
  display:grid;
  gap:2px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.54);
  color:var(--muted);
  font-weight:800;
}
.community-stats strong { color:var(--ink); font-size:clamp(24px, 3vw, 38px); letter-spacing:-.05em; }
.section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.section-head h2 { margin-bottom:6px; }
.board-hub { scroll-margin-top:20px; }
.board-card-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:12px;
}
.board-card {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.48);
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}
.board-card:hover { transform:translateY(-2px); border-color:rgba(255,183,3,.62); background:rgba(255,248,220,.64); }
.board-icon {
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,212,59,.32);
  font-size:22px;
}
.board-card strong { display:block; font-size:17px; }
.board-card p { margin:5px 0 9px; color:var(--muted); line-height:1.55; }
.board-card span { color:#a16207; font-weight:900; font-size:12px; }
.community-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:22px;
  align-items:start;
  margin-top:22px;
}
.feed-panel { margin-top:0; }
.maker-sidebar {
  display:grid;
  gap:16px;
  position:sticky;
  top:18px;
}
.sidebar-card { margin-top:0; padding:20px; }
.sidebar-card h3 { margin-top:0; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:8px; }
.tag-cloud span {
  display:inline-flex;
  gap:5px;
  align-items:center;
  border:1px solid rgba(255,183,3,.38);
  border-radius:999px;
  padding:6px 9px;
  background:rgba(255,212,59,.15);
  font-weight:800;
}
.tag-cloud em { color:var(--muted); font-style:normal; font-size:12px; }
.compact-link-list { display:grid; gap:8px; }
.compact-link-list button {
  text-align:left;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.46);
  color:var(--ink);
  cursor:pointer;
}
.compact-link-list button:hover { background:rgba(255,212,59,.18); }
.compact-link-list strong,
.compact-link-list span { display:block; }
.compact-link-list span { color:var(--muted); font-size:12px; margin-top:3px; }
.quick-start-panel { margin-top:0; padding:20px; }
.quick-action-grid { display:grid; gap:8px; }
.quick-action-grid a {
  display:grid;
  gap:3px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.46);
}
.quick-action-grid a:hover { background:rgba(255,212,59,.18); }
.quick-action-grid span { color:var(--muted); font-size:13px; }
.command-guide {
  display:grid;
  gap:7px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
}
.command-guide strong { color:var(--ink); }
.command-guide code { background:rgba(255,212,59,.22); padding:2px 6px; border-radius:6px; color:var(--ink); }
html[data-theme="dark"] .community-stats span,
html[data-theme="dark"] .board-card,
html[data-theme="dark"] .compact-link-list button,
html[data-theme="dark"] .quick-action-grid a { background:rgba(0,0,0,.20); }
html[data-theme="dark"] .board-card:hover,
html[data-theme="dark"] .compact-link-list button:hover,
html[data-theme="dark"] .quick-action-grid a:hover { background:rgba(255,212,59,.10); }
@media (max-width: 980px) {
  .community-overview,
  .community-layout { grid-template-columns:1fr; }
  .maker-sidebar { position:static; }
}
@media (max-width: 640px) {
  .community-stats { grid-template-columns:1fr 1fr; }
  .section-head { display:grid; }
}

/* Korean-friendly word wrapping: keep words together where possible */
body,
.hero-body,
.lead,
.panel,
.card,
.board-card,
.community-overview,
.search-panel,
.sidebar-card,
.terms-panel,
.signup-form,
.auth-card,
.notion-lite-editor,
.rendered-markdown,
.post-detail,
.post-card,
.plugin-card,
.comment-box {
  word-break: keep-all;
  overflow-wrap: normal;
  line-break: strict;
}

/* Long technical tokens may still wrap safely, but prefer word boundaries first. */
.tag,
.file-chip,
.inline-attachment-chip,
.plugin-chips span,
.command-guide code,
.rendered-markdown a,
.board-card span,
.meta {
  word-break: normal;
  overflow-wrap: anywhere;
}

/* Exceptions: tables/code/pre keep their own technical wrapping behavior. */
.rendered-markdown table,
.rendered-markdown table *,
.notion-lite-editor table,
.notion-lite-editor table *,
.rendered-markdown pre,
.rendered-markdown code,
.notion-lite-editor pre,
.notion-lite-editor code,
.step-viewer-nav,
.maker-viewer-slot,
.inline-media-block figcaption {
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: auto;
}

/* Prevent narrow card text from splitting Korean syllables; allow layout to shrink instead. */
.board-card p,
.community-overview p,
.quick-action-grid span,
.compact-link-list span,
.rendered-markdown p,
.rendered-markdown li,
.rendered-markdown blockquote,
.post-card h3,
.post-detail h2 {
  word-break: keep-all;
  overflow-wrap: normal;
}

/* Board navigation + ad slots */
.board-card {
  width:100%;
  appearance:none;
  text-align:left;
  color:var(--ink);
  cursor:pointer;
  font:inherit;
}
.board-card.active {
  border-color:rgba(255,183,3,.9);
  background:rgba(255,212,59,.20);
  box-shadow:0 0 0 3px rgba(255,212,59,.16);
}
.board-card:focus-visible {
  outline:3px solid rgba(255,183,3,.65);
  outline-offset:3px;
}
.ad-slots-card { border-style:dashed; }
.ad-slot-grid { display:grid; gap:10px; }
.ad-slot {
  min-height:108px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:14px;
  border:1px dashed rgba(120,113,108,.38);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,212,59,.12), rgba(255,255,255,.42));
  color:var(--muted);
}
.ad-slot span {
  width:max-content;
  border:1px solid rgba(255,183,3,.55);
  border-radius:999px;
  padding:2px 7px;
  color:#a16207;
  font-weight:900;
  font-size:11px;
}
.ad-slot strong { color:var(--ink); font-size:16px; }
.ad-slot p { margin:0; line-height:1.45; font-size:13px; }
html[data-theme="dark"] .ad-slot { background:rgba(255,212,59,.08); }

/* Compact homepage: desktop hero search, bottom community stats */
.hero-with-search {
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 460px);
  gap:clamp(28px, 6vw, 96px);
  align-items:center;
}
.hero-copy { max-width:760px; }
.hero-search-panel {
  align-self:center;
  border:1px solid rgba(255,183,3,.32);
  border-radius:28px;
  padding:22px;
  background:rgba(255,255,255,.50);
  box-shadow:0 22px 70px rgba(120, 80, 0, .08);
  backdrop-filter:blur(10px);
}
.hero-search-panel h2 {
  margin:4px 0 14px;
  font-size:clamp(24px, 2.2vw, 34px);
  letter-spacing:-.04em;
}
.hero-search-form { grid-template-columns:minmax(0, 1fr) auto; }
.hero-search-form .button:not(.primary) { grid-column:1 / -1; width:max-content; }
.mobile-search-panel { display:none; }
.mobile-search-action { display:none; }
.community-overview-bottom {
  margin-top:22px;
  opacity:.92;
}
.community-overview-bottom h2 { font-size:clamp(22px, 2.3vw, 34px); }
.community-overview-bottom .community-stats strong { font-size:clamp(22px, 2.5vw, 32px); }
@media (min-width: 981px) {
  .compact-hero .hero-body { padding-bottom:74px; }
}
@media (max-width: 980px) {
  .hero-with-search { display:block; }
  .hero-search-panel { display:none; }
  .mobile-search-panel { display:grid; }
  .mobile-search-action { display:inline-flex; }
  .community-overview-bottom { display:none; }
}

/* Consolidate search entry points */
@media (min-width: 981px) {
  .hero-search-panel { display:none !important; }
  .mobile-search-panel { display:none !important; }
  .mobile-search-action { display:none !important; }
  .nav-search-link {
    border:1px solid rgba(255,183,3,.38);
    background:rgba(255,212,59,.18);
    color:var(--ink) !important;
    font-weight:800;
  }
}
@media (max-width: 980px) {
  .nav-search-link { display:none !important; }
  .quick-action-grid { grid-template-columns:1fr; }
}

/* 3D viewer UX refinements: real bottom handle, compact controls, safe drag */
.resizable-viewer-block { position:relative; }
.inline-media-block.resizable-viewer-block,
.maker-viewer-slot.resizable-viewer-block {
  resize:none;
  overflow:hidden;
}
.inline-media-block.resizable-viewer-block::before,
.maker-viewer-slot.resizable-viewer-block::after { content:none !important; }
.viewer-resize-handle {
  position:absolute;
  left:50%;
  bottom:5px;
  transform:translateX(-50%);
  width:58px;
  height:16px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#7c5a00;
  background:rgba(255,212,59,.58);
  border:1px solid rgba(255,183,3,.42);
  font-size:12px;
  line-height:1;
  cursor:ns-resize;
  user-select:none;
  z-index:8;
}
.viewer-resize-handle:hover { background:rgba(255,212,59,.92); color:#111827; }
.step-viewer-canvas,
.step-viewer-canvas canvas,
.model-viewer-wrap,
model-viewer,
.maker-3d-viewer {
  -webkit-user-drag:none;
  user-select:none;
}
.step-viewer-nav {
  top:12px;
  left:12px;
  right:auto;
  grid-template-columns:repeat(2, auto);
}
.step-viewer-nav button {
  min-width:52px;
  height:32px;
  padding:0 10px;
}
.viewer-option-bar {
  display:flex;
  justify-content:flex-end;
  margin-top:6px;
  min-height:28px;
}
.viewer-option-bar button {
  border:1px solid rgba(255,183,3,.38);
  border-radius:999px;
  padding:5px 10px;
  background:rgba(255,212,59,.15);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.viewer-option-bar button:hover { background:rgba(255,212,59,.32); color:var(--ink); }
.inline-media-block.resizable-viewer-block .step-viewer-canvas,
.maker-viewer-slot.resizable-viewer-block .step-viewer-canvas {
  height:calc(100% - 96px) !important;
}

/* Hero/search layout v2: one visible search block, nav dark toggle at far right */
.nav {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:24px;
}
.nav .links {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  width:100%;
}
.nav .theme-toggle {
  order:999;
  margin-left:8px;
  justify-self:end;
  white-space:nowrap;
}
.hero.compact-hero { padding-bottom:clamp(48px, 7vw, 90px); }
.hero-with-search {
  max-width:none !important;
  padding-top:clamp(54px, 8vw, 108px);
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 520px);
  gap:clamp(36px, 7vw, 110px);
  align-items:center;
}
.hero-copy { max-width:760px; }
.hero-copy .lead { margin-bottom:0; }
.hero-with-search .actions { display:none !important; }
.hero-search-panel {
  display:grid !important;
  align-self:center;
  gap:14px;
  border:1px solid rgba(255,183,3,.34);
  border-radius:34px;
  padding:clamp(24px, 3vw, 34px);
  background:linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,248,210,.58));
  box-shadow:0 24px 80px rgba(120,80,0,.12);
  backdrop-filter:blur(18px);
}
.hero-search-panel h2 {
  margin:0;
  font-size:clamp(30px, 3.1vw, 46px);
  letter-spacing:-.055em;
}
.hero-search-copy { margin:0; font-size:15px; }
.hero-search-form {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  margin-top:4px;
}
.hero-search-form input[type="search"] {
  min-height:52px;
  font-size:16px;
  background:rgba(255,255,255,.86);
  box-shadow:inset 0 0 0 1px rgba(255,183,3,.10);
}
.hero-search-form .button { min-height:52px; padding-inline:20px; }
.hero-search-form .button:not(.primary) { grid-column:1 / -1; width:max-content; min-height:auto; }
.search-preset-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.search-preset-list button {
  border:1px solid rgba(255,183,3,.34);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,212,59,.20);
  color:var(--ink);
  font-weight:800;
  cursor:pointer;
}
.search-preset-list button:hover { background:rgba(255,212,59,.55); transform:translateY(-1px); }
.mobile-search-panel,
.mobile-search-action,
.nav-search-link { display:none !important; }
html[data-theme="dark"] .hero-search-panel { background:linear-gradient(135deg, rgba(24,24,27,.86), rgba(50,45,20,.62)); }
html[data-theme="dark"] .hero-search-form input[type="search"] { background:rgba(0,0,0,.30); }
@media (max-width: 840px) {
  .nav {
    grid-template-columns:1fr;
    align-items:start;
  }
  .nav .links {
    justify-content:flex-start;
    gap:8px;
  }
  .nav .theme-toggle { margin-left:auto; }
}
@media (max-width: 980px) {
  .hero-with-search {
    display:grid !important;
    grid-template-columns:1fr;
    gap:26px;
    padding-top:46px;
  }
  .hero-search-panel {
    margin-top:4px;
    border-radius:28px;
    padding:22px;
  }
  .hero-search-form { grid-template-columns:1fr; }
  .hero-search-form .button { width:100%; }
}

/* Aspect-ratio responsive mode: desktop until 8:9, taller windows behave like mobile */
@media (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .nav {
    grid-template-columns:1fr;
    align-items:start;
  }
  .nav .links {
    justify-content:flex-start;
    gap:8px;
  }
  .nav .theme-toggle {
    margin-left:auto;
  }
  .hero-with-search {
    display:grid !important;
    grid-template-columns:1fr;
    gap:26px;
    padding-top:46px;
  }
  .hero-search-panel {
    margin-top:4px;
    border-radius:28px;
    padding:22px;
  }
  .hero-search-form {
    grid-template-columns:1fr;
  }
  .hero-search-form .button {
    width:100%;
  }
  .community-layout {
    grid-template-columns:1fr;
  }
  .maker-sidebar {
    grid-template-columns:1fr;
  }
  .board-card-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .post-form-wide {
    max-width:none;
  }
}
@media (min-width: 981px) and (max-aspect-ratio: 3 / 4) {
  .board-card-grid {
    grid-template-columns:1fr;
  }
}

/* Board detail navigation and expanded maker board taxonomy */
.board-cue {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,212,59,.18);
  color:#a16207;
  font-size:12px;
  font-weight:850;
}
.board-detail-panel {
  display:grid;
  gap:18px;
  border-color:rgba(255,183,3,.36);
}
.board-detail-head {
  display:grid;
  gap:8px;
}
.board-detail-head h2 { margin-bottom:0; }
.board-detail-cue {
  width:max-content;
  max-width:100%;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,212,59,.22);
  color:#a16207;
  font-weight:900;
  font-size:13px;
}
.board-post-list {
  display:grid;
  gap:14px;
}
.board-post-list .post-card {
  margin:0;
}
.write-bullet-card {
  display:grid;
  gap:5px;
  padding:18px 20px;
  border:1px dashed rgba(255,183,3,.55);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,212,59,.28), rgba(255,255,255,.38));
  color:var(--ink);
}
.write-bullet-card strong {
  font-size:18px;
  letter-spacing:-.02em;
}
.write-bullet-card span {
  color:var(--muted);
  line-height:1.55;
}
.write-bullet-card:hover {
  transform:translateY(-1px);
  box-shadow:0 14px 36px rgba(120,80,0,.10);
}
html[data-theme="dark"] .write-bullet-card {
  background:linear-gradient(135deg, rgba(255,212,59,.14), rgba(24,24,27,.56));
}
html[data-theme="dark"] .board-cue,
html[data-theme="dark"] .board-detail-cue { color:#facc15; }

/* Section order v3: recent → boards → search → community hub, scoped search, split ads */
.search-panel {
  display:grid;
  gap:14px;
}
.search-scope-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px 0 4px;
}
.scope-chip {
  border:1px solid rgba(255,183,3,.36);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,212,59,.22);
  color:var(--ink);
  font-weight:850;
  cursor:pointer;
}
.scope-chip.inactive {
  background:rgba(120,113,108,.08);
  color:var(--muted);
  border-color:var(--line);
  opacity:.62;
  text-decoration:line-through;
}
.scope-chip:hover { transform:translateY(-1px); }
.compact-results .post-card {
  box-shadow:none;
  border-radius:20px;
}
.community-overview {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 420px);
  gap:24px;
  align-items:start;
}
.hub-tags {
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,212,59,.09);
}
.hub-tags h3 { margin:0; }
.standalone-ad {
  padding:0;
  overflow:hidden;
  box-shadow:none;
  background:transparent;
  border:0;
}
.standalone-ad .eyebrow {
  padding:0 4px;
  margin-bottom:8px;
}
.standalone-ad .ad-slot {
  min-height:96px;
  border-radius:24px;
  border-style:solid;
  background:linear-gradient(135deg, rgba(255,212,59,.18), rgba(255,255,255,.56));
}
.ad-slot-1 { max-width:780px; }
.ad-slot-2 { max-width:980px; margin-left:auto; }
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .community-overview { grid-template-columns:1fr; }
  .standalone-ad,
  .ad-slot-1,
  .ad-slot-2 { max-width:none; margin-left:0; }
}
html[data-theme="dark"] .hub-tags { background:rgba(255,212,59,.06); }
html[data-theme="dark"] .standalone-ad .ad-slot { background:linear-gradient(135deg, rgba(255,212,59,.10), rgba(24,24,27,.62)); }

/* Compact board list: description moves to board page */
.board-hub-compact .section-head { margin-bottom:14px; }
.board-card-grid-compact {
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:12px;
}
.board-card-compact {
  min-height:112px;
  padding:14px;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
}
.board-card-compact p { display:none; }
.board-card-compact strong {
  display:block;
  margin-bottom:8px;
  font-size:17px;
}
.board-mini-tags {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.board-mini-tags em {
  font-style:normal;
  border-radius:999px;
  padding:3px 7px;
  background:rgba(255,212,59,.20);
  color:#a16207;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
}
.board-page {
  margin-top:0;
}
.board-title-row {
  display:flex;
  align-items:center;
  gap:14px;
}
.board-icon-large {
  width:54px;
  height:54px;
  font-size:28px;
  flex:0 0 auto;
}
.section-head.compact { margin-top:4px; }
.section-head.compact h3 { margin:0; font-size:22px; }
html[data-theme="dark"] .board-mini-tags em { color:#facc15; background:rgba(255,212,59,.12); }
@media (max-width: 700px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .board-card-grid-compact { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .board-card-compact { min-height:104px; }
}
@media (max-width: 430px), (min-width: 981px) and (max-aspect-ratio: 3 / 4) {
  .board-card-grid-compact { grid-template-columns:1fr; }
}

/* Recent-first homepage density tuning */
.hero.compact-hero {
  padding-bottom:clamp(22px, 4vw, 46px);
}
.hero-body {
  padding-top:clamp(34px, 5.5vw, 72px);
}
.hero .lead {
  max-width:720px;
  font-size:clamp(16px, 1.7vw, 20px);
  line-height:1.55;
}
.recent-feed-panel {
  margin-top:clamp(12px, 2vw, 22px);
  padding:clamp(16px, 2.4vw, 24px);
}
.recent-head h2 { margin-bottom:0; }
.recent-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.recent-card {
  min-width:0;
}
.recent-card-main {
  width:100%;
  height:100%;
  min-height:148px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 142px;
  gap:12px;
  align-items:stretch;
  text-align:left;
  border:1px solid var(--line);
  border-radius:22px;
  padding:14px;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  font:inherit;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.045);
}
.recent-card-main:hover { transform:translateY(-1px); box-shadow:0 16px 36px rgba(0,0,0,.07); }
.recent-card-copy { min-width:0; display:grid; align-content:start; gap:6px; }
.recent-card-copy .meta { min-height:0; font-size:12px; }
.recent-card-copy h3 {
  margin:0;
  font-size:clamp(16px, 1.5vw, 20px);
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recent-card-copy p {
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-size:14px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recent-preview-rail {
  min-width:0;
  height:100%;
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  border-radius:16px;
  background:rgba(255,212,59,.10);
  padding:6px;
}
.recent-preview-rail img,
.recent-preview-rail .preview-token,
.recent-preview-rail.empty span {
  flex:0 0 100%;
  width:100%;
  height:100%;
  min-height:112px;
  border-radius:12px;
  scroll-snap-align:center;
  object-fit:cover;
  display:grid;
  place-items:center;
  background:#111827;
  color:#f8fafc;
  font-weight:900;
  font-size:13px;
}
.recent-preview-rail.empty span { background:rgba(17,24,39,.08); color:var(--muted); }
html[data-theme="dark"] .recent-card-main { background:rgba(24,24,27,.72); }
html[data-theme="dark"] .recent-preview-rail.empty span { background:rgba(255,255,255,.07); }
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .hero.compact-hero { padding-bottom:18px; }
  .hero-body { padding-top:32px; }
  .recent-list { grid-template-columns:1fr; gap:10px; }
  .recent-card-main {
    min-height:124px;
    grid-template-columns:minmax(0, 1fr) 112px;
    padding:12px;
  }
  .recent-card-copy h3 { font-size:16px; -webkit-line-clamp:2; }
  .recent-card-copy p { font-size:13px; -webkit-line-clamp:2; }
  .recent-preview-rail img,
  .recent-preview-rail .preview-token,
  .recent-preview-rail.empty span { min-height:92px; }
}
@media (max-width: 430px) {
  .recent-card-main { grid-template-columns:minmax(0, 1fr) 96px; min-height:116px; }
}

/* Recent preview hover controls + full post page */
.recent-preview-wrap {
  position:relative;
  min-width:0;
  height:100%;
}
.recent-preview-wrap .recent-preview-rail {
  height:100%;
}
.preview-nav {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:30px;
  height:42px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(17,24,39,.62);
  color:#fff;
  font-size:24px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, background .16s ease;
  backdrop-filter:blur(10px);
}
.preview-nav.prev { left:8px; }
.preview-nav.next { right:8px; }
.recent-preview-wrap:hover .preview-nav,
.preview-nav:focus-visible {
  opacity:1;
  pointer-events:auto;
}
.preview-nav:hover { background:rgba(255,212,59,.94); color:#111827; }
.post-page {
  margin-top:0;
}
.post-detail-page {
  max-width:min(1040px, 100%);
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:30px;
  background:var(--card);
  box-shadow:0 22px 70px rgba(0,0,0,.08);
  padding:clamp(22px, 4vw, 42px);
}
.post-detail-page .detail-close {
  position:static;
  margin-bottom:18px;
}
.recent-page-panel {
  margin-top:0;
}
.recent-list-page {
  margin-top:8px;
}
@media (hover:none) {
  .preview-nav { display:none; }
}

/* Main flow cleanup: board-only writing, search half + ad half, no community hub */
.search-ad-layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 1fr);
  gap:22px;
  align-items:stretch;
  margin-top:22px;
}
.search-ad-layout .search-panel,
.search-ad-layout .standalone-ad {
  margin-top:0;
}
.search-ad-layout .search-panel {
  min-width:0;
}
.search-side-ads {
  display:grid;
  gap:14px;
  align-content:stretch;
}
.search-side-ads .standalone-ad,
.search-side-ads .ad-slot-1,
.search-side-ads .ad-slot-2 {
  max-width:none;
  margin-left:0;
}
.search-side-ads .ad-slot {
  min-height:calc((100% - 14px) / 2);
  height:100%;
}
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .search-ad-layout {
    grid-template-columns:1fr;
  }
  .search-side-ads {
    grid-template-columns:1fr;
  }
}

/* Fix clipped ad eyebrow labels */
.standalone-ad {
  overflow:visible !important;
  padding-top:2px;
}
.standalone-ad .eyebrow {
  display:block;
  padding-left:10px !important;
  padding-right:10px !important;
  margin-left:0 !important;
  text-indent:0;
  overflow:visible;
  letter-spacing:.16em;
}
.search-side-ads {
  padding-left:2px;
}
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .search-side-ads {
    padding-left:0;
  }
  .standalone-ad .eyebrow {
    padding-left:12px !important;
  }
}

/* 3D auto-height override: JS controls viewer height unless user resized */
.inline-media-block.resizable-viewer-block:not([data-user-resized]) .local-maker-viewer,
.inline-media-block.resizable-viewer-block:not([data-user-resized]) .maker-3d-viewer,
.inline-media-block.resizable-viewer-block:not([data-user-resized]) .step-viewer-canvas,
.maker-viewer-slot.resizable-viewer-block:not([data-user-resized]) .step-viewer-canvas {
  height:var(--viewer-auto-height, auto) !important;
  min-height:320px;
}

/* 3D auto-height force pass: keep calculated viewer height unless manually resized */
.inline-media-block.resizable-viewer-block[data-auto-viewer-height="true"] .local-maker-viewer,
.inline-media-block.resizable-viewer-block[data-auto-viewer-height="true"] .maker-3d-viewer,
.inline-media-block.resizable-viewer-block[data-auto-viewer-height="true"] .step-viewer-canvas,
.maker-viewer-slot.resizable-viewer-block[data-auto-viewer-height="true"] .step-viewer-canvas {
  height:var(--viewer-auto-height) !important;
  min-height:var(--viewer-auto-height) !important;
}
.inline-media-block.resizable-viewer-block[data-auto-viewer-height="true"] .step-viewer-canvas canvas,
.maker-viewer-slot.resizable-viewer-block[data-auto-viewer-height="true"] .step-viewer-canvas canvas {
  height:var(--viewer-auto-height) !important;
}

/* Board/recent pagination and cleaner board page */
.board-page-footer {
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  margin-top:22px;
}
.page-dots {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.page-dots button {
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(30,35,45,.14);
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.page-dots button.active,
.page-dots button:disabled {
  background:var(--ink);
  color:var(--paper);
  cursor:default;
}
.page-dots span { color:var(--muted); font-weight:900; padding:0 2px; }
.write-bullet-inline {
  flex:0 0 auto;
  width:min(260px, 42%);
  margin:0;
  padding:14px 16px;
}
.board-detail-panel .board-detail-cue,
.board-detail-panel [data-board-back] { display:none !important; }

/* Original image viewer */
.lightbox-image,
.post-detail .rendered-markdown img { cursor:zoom-in; }
.image-lightbox {
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.88);
}
.image-lightbox.hidden { display:none; }
.image-lightbox img {
  max-width:100vw;
  max-height:100vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 20px 80px rgba(0,0,0,.45);
}
.image-lightbox-close {
  position:fixed;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#111;
  font-size:28px;
  font-weight:900;
  cursor:pointer;
}
@media (max-width: 720px) {
  .board-page-footer { align-items:stretch; }
  .write-bullet-inline { width:auto; min-width:132px; }
  .page-dots button { width:30px; height:30px; }
}

/* Logged-in Studio hub */
.studio-bullets {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin:18px auto 0;
}
.studio-bullets button {
  border:1px solid rgba(30,35,45,.14);
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--ink);
  padding:10px 15px;
  font-weight:900;
  cursor:pointer;
}
.studio-bullets button.active,
.studio-bullets button:hover {
  background:var(--ink);
  color:var(--paper);
}
.studio-panel { margin-top:18px; }
.studio-list {
  display:grid;
  gap:10px;
}
.studio-item {
  width:100%;
  display:grid;
  gap:4px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.68);
  padding:14px 16px;
  color:var(--ink);
  cursor:pointer;
}
.studio-item span { color:var(--muted); font-size:14px; line-height:1.45; }
.studio-item em { color:var(--muted); font-size:12px; font-style:normal; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.studio-star {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(220px, .45fr);
  gap:12px;
  align-items:stretch;
}
.studio-star label {
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.studio-star textarea {
  min-height:86px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
}
.studio-search {
  display:flex;
  gap:8px;
  margin:0 0 14px;
}
.studio-search input {
  flex:1;
  border:1px solid var(--line);
  border-radius:999px;
  padding:11px 14px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
}
.studio-search button,
.star-button {
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.75);
  color:var(--ink);
  font-weight:900;
  padding:9px 13px;
  cursor:pointer;
}
.star-button.active { background:#ffd43b; border-color:#ffd43b; color:#18181b; }
.post-title-row {
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
}
.ai-answer-preview {
  margin:18px 0;
  padding:16px;
  border:1px solid rgba(255,212,59,.46);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,212,59,.14), rgba(255,255,255,.72));
}
.ai-answer-preview p { margin:6px 0 10px; color:var(--muted); }
.ai-answer-preview button {
  border:0;
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
}
.board-hub-compact .section-head {
  align-items:end;
}
.board-head-note {
  align-self:end;
  margin:0 0 7px;
  text-align:right;
  max-width:320px;
}
.board-head-title h2 { margin:0; }
html[data-theme="dark"] .studio-bullets button,
html[data-theme="dark"] .studio-item,
html[data-theme="dark"] .studio-star textarea,
html[data-theme="dark"] .studio-search input,
html[data-theme="dark"] .studio-search button,
html[data-theme="dark"] .star-button {
  background:rgba(24,24,27,.72);
}
html[data-theme="dark"] .ai-answer-preview { background:linear-gradient(135deg, rgba(255,212,59,.10), rgba(24,24,27,.72)); }
@media (max-width:720px) {
  .studio-star { grid-template-columns:1fr; }
  .board-hub-compact .section-head { align-items:start; }
  .board-head-note { text-align:left; margin:0; }
  .post-title-row { display:grid; }
}

/* Question write assistant preparation */
.question-write-coach {
  border:1px solid rgba(255,212,59,.44);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg, rgba(255,212,59,.13), rgba(255,255,255,.70));
}
.question-write-coach strong { display:block; margin-bottom:8px; }
.question-write-coach ul { margin:0; padding-left:20px; color:var(--muted); line-height:1.55; }
html[data-theme="dark"] .question-write-coach { background:linear-gradient(135deg, rgba(255,212,59,.10), rgba(24,24,27,.70)); }

/* Mobile vertical-space cleanup */
.search-panel {
  gap:10px !important;
}
.search-panel > .eyebrow,
.board-hub-compact .section-head .eyebrow {
  margin-bottom:2px;
}
.search-panel > h2 {
  margin-top:0;
  margin-bottom:8px;
}
.search-panel > .muted:not(.search-result-meta) {
  display:none;
}
@media (max-width:720px) {
  .board-hub-compact .section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:10px;
    margin-bottom:14px;
  }
  .board-head-note {
    font-size:12px;
    line-height:1.25;
    text-align:right;
    max-width:42%;
    margin:0 0 5px !important;
  }
  .search-panel {
    gap:9px !important;
  }
  .search-panel > h2 {
    margin-bottom:4px;
  }
  .search-scope-list {
    margin-top:0;
  }
  .search-result-meta:empty {
    display:none;
  }
}

/* Mobile: remove helper copy that costs vertical space */
@media (max-width:720px) {
  .board-head-note {
    display:none !important;
  }
  .board-hub-compact .section-head {
    margin-bottom:12px !important;
  }
}

/* Frontend channel nav cleanup + Studio bullets polish */
.nav {
  align-items:center !important;
}
.nav .links {
  align-items:center !important;
  justify-content:flex-end;
  gap:10px;
}
.theme-toggle {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:0 !important;
  transform:none !important;
}
.studio-bullets {
  gap:12px;
  margin-top:20px;
}
.studio-bullets button {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:11px 16px;
  font-size:14px;
  line-height:1;
  box-shadow:0 10px 24px rgba(30,35,45,.08);
}
.studio-bullets button span {
  font-size:16px;
  line-height:1;
}
.studio-bullets button strong {
  font-weight:900;
  white-space:nowrap;
}
@media (max-width:720px) {
  .nav {
    grid-template-columns:1fr auto !important;
    gap:12px;
  }
  .nav .links {
    justify-self:end;
  }
  .nav .links .nav-button {
    display:none;
  }
  .theme-toggle {
    min-height:38px;
    padding:8px 12px;
  }
  .studio-bullets {
    justify-content:flex-start;
    gap:8px;
    margin-top:16px;
  }
  .studio-bullets button {
    min-height:40px;
    padding:10px 12px;
    font-size:13px;
    gap:5px;
  }
  .studio-bullets button span {
    font-size:15px;
  }
}
@media (max-width:420px) {
  .studio-bullets {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    width:100%;
  }
  .studio-bullets button {
    width:100%;
    padding:10px 8px;
  }
}

/* Studio bullets align with desktop title left edge */
.studio-bullets {
  justify-content:flex-start !important;
  margin-left:0 !important;
  margin-right:auto !important;
}

/* Fork terminology + post action alignment */
.detail-action-row {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.detail-action-row .detail-close,
.detail-action-row .fork-button {
  position:static !important;
  width:auto !important;
  min-width:0;
  margin:0 !important;
}
.fork-button {
  border-color:rgba(255,183,3,.34) !important;
  background:linear-gradient(135deg, rgba(255,212,59,.22), rgba(255,255,255,.78)) !important;
  color:#312600 !important;
}
.fork-button.active {
  background:linear-gradient(135deg, #ffd43b, rgba(255,236,153,.92)) !important;
  color:#18181b !important;
  border-color:#ffd43b !important;
}
html[data-theme="dark"] .fork-button {
  background:linear-gradient(135deg, rgba(255,212,59,.18), rgba(24,24,27,.78)) !important;
  color:#facc15 !important;
}
html[data-theme="dark"] .fork-button.active {
  background:linear-gradient(135deg, rgba(255,212,59,.86), rgba(113,82,0,.70)) !important;
  color:#111827 !important;
}
@media (max-width:720px) {
  .detail-action-row {
    justify-content:flex-end;
    gap:8px;
    margin-bottom:12px;
  }
  .detail-action-row .detail-close,
  .detail-action-row .fork-button {
    padding:8px 11px;
    font-size:12px;
  }
}

/* Circuit preview mode toggles */
.circuit-preview-options,
.circuit-reader-controls { border:1px solid var(--line); border-radius:18px; padding:12px 14px; background:rgba(255,255,255,.58); display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.circuit-preview-options legend { font-weight:800; padding:0 6px; }
.circuit-preview-options p { flex-basis:100%; margin:0; color:var(--muted); font-size:13px; }
.circuit-preview-options label,
.circuit-toggle-group label { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; }
.circuit-default-view { margin-left:auto; }
.circuit-default-view select { margin-left:6px; border:1px solid var(--line); border-radius:999px; padding:6px 10px; background:var(--card); color:var(--ink); }
.circuit-reader-controls { justify-content:space-between; margin:8px 0 2px; }
.circuit-toggle-group,
.circuit-downloads { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.circuit-downloads a { display:inline-flex; border:1px solid var(--line); border-radius:999px; padding:6px 10px; color:var(--ink); text-decoration:none; background:rgba(255,212,59,.15); font-size:12px; font-weight:700; }
.circuit-view-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.circuit-view-tabs button { border:1px solid var(--line); border-radius:999px; padding:8px 12px; background:rgba(255,255,255,.7); color:var(--ink); font-weight:800; cursor:pointer; }
.circuit-view-tabs button.active { background:var(--accent); color:#1f1600; border-color:transparent; }
.circuit-view-panel { display:none; }
.circuit-view-panel.active { display:block; }
.kicad-3d-view { min-height:520px; border-radius:18px; background:radial-gradient(circle at 45% 10%, #1f2937, #020617 70%); display:grid; place-items:center; padding:26px; overflow:hidden; color:#e5e7eb; }
.kicad-3d-stage { width:min(92%, 980px); perspective:1200px; display:grid; place-items:center; }
.kicad-3d-board { position:relative; width:100%; max-height:430px; min-height:220px; border-radius:18px; background:linear-gradient(135deg,#0f766e,#064e3b); box-shadow:0 22px 0 #052e24, 0 42px 55px rgba(0,0,0,.48); transform:rotateX(58deg) rotateZ(-28deg); transform-style:preserve-3d; outline:3px solid rgba(167,243,208,.35); }
.kicad-3d-board::before { content:""; position:absolute; inset:10px; border:2px solid rgba(209,250,229,.28); border-radius:14px; pointer-events:none; }
.kicad-3d-pad,
.kicad-3d-track { position:absolute; display:block; background:#fbbf24; box-shadow:0 2px 8px rgba(251,191,36,.35); transform-origin:left center; }
.kicad-3d-pad { border-radius:4px; transform:translate(-50%,-50%) translateZ(10px); }
.kicad-3d-track { height:2px; transform-origin:left center; translate:0 -1px; }
.kicad-3d-view .maker-viewer-caption { color:#cbd5e1; text-align:center; }


/* GitHub-style fork icon in Studio bullets */
.studio-bullet-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  line-height:1;
}
.github-fork-icon {
  width:17px;
  height:17px;
  display:block;
}
.studio-bullets button[data-studio-section="stars"] .studio-bullet-icon {
  color:#24292f;
}
.studio-bullets button[data-studio-section="stars"].active .studio-bullet-icon,
.studio-bullets button[data-studio-section="stars"]:hover .studio-bullet-icon {
  color:currentColor;
}
html[data-theme="dark"] .studio-bullets button[data-studio-section="stars"] .studio-bullet-icon {
  color:#f0f6fc;
}

/* Fork count badge */
.fork-button {
  display:inline-flex !important;
  align-items:center;
  gap:8px;
}
.fork-count {
  min-width:22px;
  height:22px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(120,90,0,.16);
  font-size:12px;
  font-weight:950;
  line-height:1;
  color:inherit;
}
.fork-button.active .fork-count {
  background:rgba(255,255,255,.88);
}
html[data-theme="dark"] .fork-count {
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.14);
}

/* Fork heat based on max fork count across posts */
.detail-action-row.bottom-actions {
  margin-top:22px;
  margin-bottom:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.fork-button {
  --fork-intensity:0;
  --fork-alpha:calc(.10 + (var(--fork-intensity) * .78));
  --fork-border-alpha:calc(.16 + (var(--fork-intensity) * .62));
  background:linear-gradient(135deg,
    rgba(255,212,59,var(--fork-alpha)),
    rgba(255,255,255,calc(.94 - (var(--fork-intensity) * .24)))) !important;
  border-color:rgba(255,183,3,var(--fork-border-alpha)) !important;
}
.fork-button.active {
  background:linear-gradient(135deg,
    rgba(255,212,59,calc(.28 + (var(--fork-intensity) * .72))),
    rgba(255,236,153,calc(.84 + (var(--fork-intensity) * .16)))) !important;
}
html[data-theme="dark"] .fork-button {
  background:linear-gradient(135deg,
    rgba(255,212,59,calc(.12 + (var(--fork-intensity) * .58))),
    rgba(24,24,27,calc(.82 - (var(--fork-intensity) * .20)))) !important;
  border-color:rgba(255,212,59,var(--fork-border-alpha)) !important;
}
html[data-theme="dark"] .fork-button.active {
  background:linear-gradient(135deg,
    rgba(255,212,59,calc(.26 + (var(--fork-intensity) * .64))),
    rgba(113,82,0,calc(.58 + (var(--fork-intensity) * .28)))) !important;
}

/* PCB layer controls */
.pcb-layer-controls { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:0 0 10px; padding:10px 12px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.55); }
.pcb-layer-controls label { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; }
.kicad-pcb-view .via { fill:#c084fc; stroke:#f5d0fe; stroke-width:.12; }
.kicad-pcb-view .silk { stroke:#e5e7eb; stroke-width:.18; fill:none; }


/* Forks preview and page split */
.section-title-button {
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  padding:0;
  cursor:pointer;
}
.section-title-button:hover { text-decoration:underline; text-underline-offset:4px; }
.forks-preview-panel {
  margin-top:22px;
}
.forks-open-button {
  align-self:end;
  white-space:nowrap;
}
.forks-preview-panel .studio-list .studio-star {
  grid-template-columns:1fr;
}
.forks-page-panel .section-head .eyebrow,
.forks-preview-panel .section-head .eyebrow {
  text-transform:none;
}
@media (max-width:720px) {
  .forks-open-button { display:none; }
}

/* Ad slot placement v2: slot 1 by search, slot 2 above terms */
.search-side-ads {
  align-content:stretch;
}
.search-side-ads .standalone-ad {
  height:100%;
}
.search-side-ads .ad-slot {
  min-height:100%;
}
.standalone-ad.ad-slot-2 {
  margin-top:22px;
}
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .search-side-ads .standalone-ad {
    height:auto;
  }
  .search-side-ads .ad-slot {
    min-height:0;
  }
  .forks-preview-panel {
    margin-top:22px;
  }
  .standalone-ad.ad-slot-2 {
    margin-top:22px;
  }
}


/* 3D viewer browser-first/server-fallback status chrome */
.maker-viewer-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 10px; color:var(--muted); font-size:13px; }
.maker-viewer-download { display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:999px; padding:7px 11px; background:rgba(255,255,255,.72); color:inherit; font-weight:800; text-decoration:none; }
.maker-viewer-loading-progress { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.maker-viewer-loading-progress p { margin:.35rem 0; color:#cbd5e1; }
.maker-viewer-loading-progress small { color:#94a3b8; }


/* Desktop ad slot 1 should visually match adjacent search card */
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-ad-layout {
    align-items:stretch;
  }
  .search-side-ads {
    height:100%;
  }
  .search-side-ads .standalone-ad.ad-slot-1 {
    height:100%;
    display:grid;
    grid-template-rows:auto 1fr;
    padding:0;
    background:var(--card);
    box-shadow:var(--shadow);
    border:1px solid rgba(30,35,45,.08);
  }
  .search-side-ads .standalone-ad.ad-slot-1 .eyebrow {
    padding:22px 22px 0 !important;
    margin:0 !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1 .ad-slot {
    min-height:0;
    height:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:0;
    padding:22px;
    border-radius:0 0 24px 24px;
    border:0;
    background:linear-gradient(135deg, rgba(255,212,59,.12), rgba(255,255,255,.72));
  }
}

/* Ad cards v3: labels inside, full-width slot 2, consistent rhythm */
.standalone-ad {
  overflow:hidden !important;
  padding:0 !important;
  margin-top:22px;
}
.standalone-ad .eyebrow {
  padding:20px 22px 0 !important;
  margin:0 !important;
  line-height:1.15;
}
.standalone-ad .ad-slot {
  margin:0 !important;
  border:0 !important;
  border-radius:0 0 24px 24px !important;
  background:linear-gradient(135deg, rgba(255,212,59,.16), rgba(255,255,255,.74)) !important;
  box-shadow:none !important;
}
.search-side-ads .standalone-ad.ad-slot-1 {
  margin-top:0 !important;
}
.search-side-ads .standalone-ad.ad-slot-1 .ad-slot {
  background:linear-gradient(135deg, rgba(255,212,59,.16), rgba(255,255,255,.74)) !important;
}
.standalone-ad.ad-slot-2 {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.standalone-ad.ad-slot-2 .ad-slot {
  min-height:82px;
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-side-ads .standalone-ad.ad-slot-1 {
    height:100%;
    display:grid;
    grid-template-rows:auto 1fr;
    background:var(--card);
    box-shadow:var(--shadow);
    border:1px solid rgba(30,35,45,.08);
  }
  .search-side-ads .standalone-ad.ad-slot-1 .ad-slot {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0;
    height:auto;
    padding:22px;
  }
}
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .standalone-ad {
    margin-top:22px !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1 {
    margin-top:0 !important;
  }
  .standalone-ad .eyebrow {
    padding:18px 20px 0 !important;
  }
  .standalone-ad .ad-slot {
    padding:18px 20px 20px !important;
  }
}

/* Ad cards v4: single gradient surface, label overlaid in same block */
.standalone-ad,
.search-side-ads .standalone-ad.ad-slot-1,
.standalone-ad.ad-slot-2 {
  overflow:hidden !important;
  padding:0 !important;
  background:linear-gradient(135deg, rgba(255,212,59,.18), rgba(255,255,255,.76)) !important;
  border:1px solid rgba(255,183,3,.22) !important;
  box-shadow:var(--shadow) !important;
}
.standalone-ad .eyebrow,
.search-side-ads .standalone-ad.ad-slot-1 .eyebrow,
.standalone-ad.ad-slot-2 .eyebrow {
  padding:22px 22px 0 !important;
  margin:0 !important;
  background:transparent !important;
  position:relative;
  z-index:1;
}
.standalone-ad .ad-slot,
.search-side-ads .standalone-ad.ad-slot-1 .ad-slot,
.standalone-ad.ad-slot-2 .ad-slot {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:42px 22px 24px !important;
}
.search-side-ads .standalone-ad.ad-slot-1 .ad-slot {
  padding-top:34px !important;
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-side-ads .standalone-ad.ad-slot-1,
  .standalone-ad.ad-slot-2 {
    min-height:184px !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1 {
    height:100% !important;
  }
  .standalone-ad.ad-slot-2 {
    display:grid;
    grid-template-rows:auto 1fr;
    width:100% !important;
  }
  .standalone-ad.ad-slot-2 .ad-slot {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0 !important;
    padding-top:30px !important;
  }
}
@media (max-width: 980px), (min-width: 981px) and (max-aspect-ratio: 8 / 9) {
  .standalone-ad .eyebrow {
    padding:20px 20px 0 !important;
  }
  .standalone-ad .ad-slot {
    padding:34px 20px 22px !important;
  }
}


/* Responsive uploaded image defaults: keep original behind explicit 원본보기. */
.image-carousel figure {
  max-width:min(96vw, 980px);
  contain:layout paint;
}
.image-carousel img.responsive-upload-image {
  aspect-ratio:4 / 3;
  width:100%;
  height:auto !important;
  max-height:min(64vh, 720px);
  object-fit:contain;
  background:rgba(0,0,0,.04);
}
.image-carousel figcaption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.image-carousel figcaption a {
  flex:0 0 auto;
  color:#a16207;
  font-weight:800;
  font-size:12px;
}
.recent-preview-rail img {
  content-visibility:auto;
  contain-intrinsic-size:180px 120px;
}
@media (max-width: 720px) {
  .image-carousel figure { min-width:min(92vw, 420px); }
  .image-carousel img.responsive-upload-image { max-height:52vh; }
}

/* Search chips beside title + fixed ad creative ratio */
.search-title-row {
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.search-title-row h2 {
  margin:0;
  flex:0 0 auto;
}
.search-title-row .search-scope-list {
  margin:0;
  flex:1 1 320px;
  align-items:center;
}
.standalone-ad,
.search-side-ads .standalone-ad.ad-slot-1,
.standalone-ad.ad-slot-2 {
  aspect-ratio:4 / 1 !important;
  min-height:0 !important;
  height:auto !important;
  position:relative;
  display:block !important;
}
.standalone-ad .eyebrow,
.search-side-ads .standalone-ad.ad-slot-1 .eyebrow,
.standalone-ad.ad-slot-2 .eyebrow {
  position:absolute;
  top:20px;
  left:22px;
  padding:0 !important;
  z-index:2;
}
.standalone-ad .ad-slot,
.search-side-ads .standalone-ad.ad-slot-1 .ad-slot,
.standalone-ad.ad-slot-2 .ad-slot {
  width:100%;
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  padding:44px 22px 22px !important;
  box-sizing:border-box;
}
.search-side-ads,
.search-side-ads .standalone-ad.ad-slot-1 {
  align-self:start;
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-side-ads .standalone-ad.ad-slot-1,
  .standalone-ad.ad-slot-2 {
    min-height:0 !important;
    height:auto !important;
  }
}
@media (max-width:720px) {
  .search-title-row {
    gap:10px;
  }
  .search-title-row .search-scope-list {
    flex:1 1 100%;
  }
  .standalone-ad .eyebrow {
    top:18px;
    left:20px;
  }
  .standalone-ad .ad-slot {
    padding:40px 20px 20px !important;
  }
}

/* Ad sizing v5: desktop slot 1 follows search card height */
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-ad-layout {
    align-items:stretch !important;
  }
  .search-ad-layout .search-panel {
    height:100%;
  }
  .search-side-ads {
    align-self:stretch !important;
    height:auto !important;
    display:block !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1 {
    aspect-ratio:auto !important;
    height:100% !important;
    min-height:0 !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1 .ad-slot {
    height:100% !important;
    min-height:0 !important;
    justify-content:center;
  }
  .standalone-ad.ad-slot-2 {
    aspect-ratio:auto !important;
    min-height:0 !important;
    height:clamp(156px, 15vw, 184px) !important;
  }
  .standalone-ad.ad-slot-2 .ad-slot {
    height:100% !important;
    min-height:0 !important;
    justify-content:center;
  }
}

/* Ad ratio trial: fixed 3:1 across mobile/desktop */
.standalone-ad,
.search-side-ads .standalone-ad.ad-slot-1,
.standalone-ad.ad-slot-2 {
  aspect-ratio:3 / 1 !important;
  height:auto !important;
  min-height:0 !important;
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .search-ad-layout {
    align-items:start !important;
  }
  .search-side-ads {
    align-self:start !important;
    height:auto !important;
  }
  .search-side-ads .standalone-ad.ad-slot-1,
  .standalone-ad.ad-slot-2 {
    aspect-ratio:3 / 1 !important;
    height:auto !important;
    min-height:0 !important;
  }
}

/* Studio Git: Forks promoted from peer bullet to hub card */
.studio-git-card {
  width:min(760px, 100%);
  display:grid;
  gap:12px;
  margin-top:20px;
}
.studio-git-main {
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  text-align:left;
  border:1px solid rgba(255,183,3,.28);
  border-radius:24px;
  padding:16px 18px;
  background:linear-gradient(135deg, rgba(255,212,59,.24), rgba(255,255,255,.74));
  color:var(--ink);
  box-shadow:0 18px 42px rgba(120,80,0,.12);
  cursor:pointer;
}
.studio-git-main.active,
.studio-git-main:hover {
  border-color:rgba(255,183,3,.54);
  transform:translateY(-1px);
}
.studio-git-mark {
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,.75);
  color:#24292f;
  box-shadow:inset 0 0 0 1px rgba(30,35,45,.08);
}
.studio-git-mark .github-fork-icon {
  width:22px;
  height:22px;
}
.studio-git-main strong {
  display:block;
  font-size:clamp(22px, 3vw, 34px);
  letter-spacing:-.055em;
  line-height:1;
}
.studio-git-main em {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-style:normal;
  font-size:13px;
  font-weight:850;
  letter-spacing:.02em;
}
.git-unread-badge,
.tab-unread-badge {
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#ff4d4f;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:950;
  line-height:1;
}
.studio-git-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.studio-git-tabs button {
  min-height:38px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  padding:9px 13px;
  font-size:13px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(30,35,45,.06);
}
.studio-git-tabs button.active,
.studio-git-tabs button:hover {
  background:var(--ink);
  color:var(--paper);
}
html[data-theme="dark"] .studio-git-main {
  background:linear-gradient(135deg, rgba(255,212,59,.14), rgba(24,24,27,.72));
  border-color:rgba(255,212,59,.25);
}
html[data-theme="dark"] .studio-git-mark,
html[data-theme="dark"] .studio-git-tabs button {
  background:rgba(24,24,27,.78);
  color:#f0f6fc;
  border-color:rgba(255,255,255,.12);
}
@media (max-width:720px) {
  .studio-git-card {
    gap:10px;
    margin-top:16px;
  }
  .studio-git-main {
    grid-template-columns:auto 1fr auto;
    padding:14px;
    border-radius:22px;
  }
  .studio-git-mark {
    width:38px;
    height:38px;
    border-radius:14px;
  }
  .studio-git-tabs {
    gap:7px;
  }
  .studio-git-tabs button {
    min-height:36px;
    padding:8px 11px;
    font-size:12px;
  }
}
@media (max-width:420px) {
  .studio-git-tabs {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .studio-git-tabs button {
    justify-content:center;
    padding:8px 6px;
  }
}


.three-d-preview-options { border:1px solid var(--line); border-radius:18px; padding:14px; display:grid; gap:8px; background:rgba(255,255,255,.48); }
.three-d-preview-options legend { font-weight:800; padding:0 6px; }
.three-d-preview-options p { margin:0; color:var(--muted); font-size:13px; }
.three-d-reader-controls.viewer-reader-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border:1px solid var(--line); border-radius:16px; padding:10px 12px; margin:10px 0; background:rgba(255,255,255,.5); }
.three-d-reader-controls label { font-weight:800; }
.viewer-downloads { display:flex; gap:8px; flex-wrap:wrap; }
.viewer-downloads a { border:1px solid var(--line); border-radius:999px; padding:6px 10px; color:inherit; text-decoration:none; font-weight:700; }
.hidden { display:none !important; }

/* Hero Studio → Git flow, replacing Git bullet card */
.hero-title-row {
  display:flex;
  align-items:flex-end;
  gap:18px;
  flex-wrap:wrap;
}
.hero-title-row h1 { margin:0; }
.studio-git-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:var(--ink);
  padding:0 0 clamp(8px, 1.2vw, 14px);
  cursor:pointer;
  font-weight:950;
  line-height:1;
}
.git-chevron-flow {
  display:inline-flex;
  gap:2px;
  margin:0 2px 0 4px;
  opacity:.72;
}
.git-chevron-flow i {
  width:9px;
  height:14px;
  display:block;
  clip-path:polygon(0 0, 55% 0, 100% 50%, 55% 100%, 0 100%, 44% 50%);
  background:linear-gradient(90deg, rgba(255,212,59,.18), rgba(255,183,3,.72));
}
.git-chevron-flow i:nth-child(2) { opacity:.78; }
.git-chevron-flow i:nth-child(3) { opacity:.88; }
.git-chevron-flow i:nth-child(4) { opacity:.96; }
.git-chevron-flow i:nth-child(5) { opacity:1; }
.git-to {
  color:var(--muted);
  font-size:clamp(16px, 2vw, 24px);
  letter-spacing:-.04em;
}
.studio-git-link .studio-git-mark {
  width:34px;
  height:34px;
  border-radius:13px;
}
.git-word {
  font-size:clamp(24px, 3vw, 42px);
  letter-spacing:-.065em;
}
.studio-git-link:hover .git-word,
.studio-git-link.active .git-word { color:#a16207; }

/* Git contribution grass */
.contribution-grass {
  display:grid;
  grid-template-columns:minmax(180px, .42fr) minmax(0, 1fr);
  gap:20px;
  align-items:center;
  margin:6px 0 18px;
  padding:18px;
  border:1px solid rgba(74, 222, 128, .30);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(220,252,231,.62), rgba(255,255,255,.70));
}
.contribution-grass h3 {
  margin:4px 0 6px;
  font-size:clamp(22px, 2.4vw, 32px);
  letter-spacing:-.05em;
}
.contribution-grass p {
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-weight:750;
}
.grass-grid {
  display:grid;
  grid-template-columns:repeat(21, minmax(8px, 1fr));
  gap:5px;
  align-items:center;
}
.grass-cell {
  aspect-ratio:1;
  border-radius:4px;
  background:#f0fdf4;
  box-shadow:inset 0 0 0 1px rgba(22,101,52,.06);
}
.grass-cell.level-1 { background:#dcfce7; }
.grass-cell.level-2 { background:#bbf7d0; }
.grass-cell.level-3 { background:#86efac; }
.grass-cell.level-4 { background:#4ade80; }
.grass-legend {
  grid-column:2;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  margin-top:-8px;
}
.grass-legend .grass-cell { width:12px; height:12px; }
html[data-theme="dark"] .contribution-grass {
  background:linear-gradient(135deg, rgba(22,101,52,.28), rgba(24,24,27,.72));
  border-color:rgba(74,222,128,.22);
}
html[data-theme="dark"] .grass-cell { background:rgba(20,83,45,.36); }
html[data-theme="dark"] .grass-cell.level-1 { background:#14532d; }
html[data-theme="dark"] .grass-cell.level-2 { background:#166534; }
html[data-theme="dark"] .grass-cell.level-3 { background:#15803d; }
html[data-theme="dark"] .grass-cell.level-4 { background:#22c55e; }
@media (max-width:720px) {
  .hero-title-row {
    display:block;
  }
  .studio-git-link {
    margin-top:8px;
    padding:0;
  }
  .git-chevron-flow i { width:7px; height:12px; }
  .studio-git-link .studio-git-mark { width:30px; height:30px; }
  .contribution-grass {
    grid-template-columns:1fr;
    gap:14px;
    padding:16px;
  }
  .grass-grid { grid-template-columns:repeat(14, minmax(9px, 1fr)); gap:5px; }
  .grass-legend { grid-column:1; justify-content:flex-start; margin-top:0; }
}
@media (max-width:420px) {
  .git-to { font-size:16px; }
  .git-word { font-size:24px; }
  .git-chevron-flow { gap:1px; }
  .grass-grid { grid-template-columns:repeat(12, minmax(8px, 1fr)); }
}

/* Comments vs reply posts: inline comment composer + GitHub-like child thread */
.reply-create-row {
  display:flex;
  justify-content:flex-start;
  margin:18px 0 14px;
}
.reply-create-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(30,35,45,.14);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  padding:10px 14px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(30,35,45,.07);
}
.reply-create-button span,
.reply-branch {
  color:#6b7280;
  font-weight:950;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.reply-create-button small {
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}
.child-reply-thread {
  position:relative;
  display:grid;
  gap:10px;
  margin:14px 0 18px 20px;
  padding-left:22px;
  border-left:2px solid rgba(30,35,45,.12);
}
.child-reply-thread > .eyebrow {
  margin:0 0 2px;
}
.child-reply-card {
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(30,35,45,.10);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  cursor:pointer;
}
.child-reply-card .reply-branch {
  margin-top:2px;
}
.child-reply-card h3 {
  margin:3px 0 4px;
  font-size:18px;
  letter-spacing:-.035em;
}
.child-reply-card p {
  margin:0;
  color:var(--muted);
  line-height:1.5;
}
.comment-composer {
  margin-top:20px;
  padding:16px;
  border:1px solid rgba(30,35,45,.10);
  border-radius:22px;
  background:rgba(255,255,255,.70);
}
.comment-composer .commentForm {
  display:grid;
  gap:10px;
}
.comment-composer textarea {
  width:100%;
  resize:vertical;
  min-height:84px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:16px;
  padding:13px 14px;
  background:rgba(255,255,255,.88);
  color:var(--ink);
  font:inherit;
}
.comment-tools {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.comment-tools select,
.comment-tools button {
  min-height:38px;
  border-radius:999px;
  border:1px solid rgba(30,35,45,.12);
  padding:8px 12px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font-weight:850;
}
.comment-tools button {
  background:var(--ink);
  color:var(--paper);
  cursor:pointer;
}
.reply-parent-context {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  margin:0 0 18px;
  padding:16px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(246,248,250,.92), rgba(255,255,255,.72));
}
.reply-parent-context strong {
  display:block;
  font-size:20px;
  letter-spacing:-.035em;
}
.reply-parent-context p:not(.eyebrow) {
  margin:5px 0 0;
  color:var(--muted);
}
html[data-theme="dark"] .reply-create-button,
html[data-theme="dark"] .child-reply-card,
html[data-theme="dark"] .comment-composer,
html[data-theme="dark"] .comment-composer textarea,
html[data-theme="dark"] .comment-tools select,
html[data-theme="dark"] .reply-parent-context {
  background:rgba(24,24,27,.74);
  border-color:rgba(255,255,255,.12);
}
@media (max-width:720px) {
  .child-reply-thread {
    margin-left:6px;
    padding-left:14px;
  }
  .comment-tools select,
  .comment-tools button {
    flex:1 1 auto;
  }
}


/* Enable Fork sharing toggle */
.fork-enable-card {
  border:1px solid rgba(120,113,108,.22);
  border-radius:18px;
  padding:14px 16px;
  background:rgba(250,250,249,.82);
  box-shadow:0 12px 30px rgba(41,37,36,.06);
  transition:border-color .18s ease, background .18s ease;
}
.fork-enable-card.is-enabled { border-color:rgba(34,197,94,.28); background:linear-gradient(135deg, rgba(240,253,244,.9), rgba(255,251,235,.72)); }
.fork-enable-card.is-disabled { border-color:rgba(248,113,113,.3); background:linear-gradient(135deg, rgba(254,242,242,.88), rgba(255,251,235,.66)); }
.fork-enable-main { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.fork-enable-title { display:flex; align-items:center; gap:8px; font-weight:900; color:#292524; }
.fork-help-button { width:22px; height:22px; border-radius:999px; border:1px solid rgba(120,113,108,.28); background:rgba(255,255,255,.75); color:#78716c; font-weight:900; cursor:pointer; }
.fork-enable-copy { margin:6px 0 0; color:#57534e; font-size:13px; line-height:1.55; }
.fork-toggle-pill { position:relative; flex:0 0 auto; display:grid; grid-template-columns:1fr 1fr; gap:0; min-width:156px; padding:4px; border:0; border-radius:999px; background:rgba(120,113,108,.14); cursor:pointer; font-weight:900; color:#78716c; }
.fork-toggle-pill::before { content:''; position:absolute; top:4px; bottom:4px; width:calc(50% - 4px); border-radius:999px; transition:transform .18s ease, background .18s ease; box-shadow:0 6px 18px rgba(41,37,36,.12); }
.fork-enable-card.is-enabled .fork-toggle-pill::before { left:4px; background:rgba(34,197,94,.78); }
.fork-enable-card.is-disabled .fork-toggle-pill::before { left:4px; background:rgba(239,68,68,.7); transform:translateX(100%); }
.fork-toggle-pill span { position:relative; z-index:1; padding:8px 10px; border-radius:999px; }
.fork-enable-card.is-enabled .fork-toggle-enable, .fork-enable-card.is-disabled .fork-toggle-disable { color:white; }
.fork-help-box { margin-top:12px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.78); color:#57534e; font-size:13px; line-height:1.65; border:1px solid rgba(120,113,108,.18); }
@media (max-width: 720px) { .fork-enable-main { align-items:flex-start; flex-direction:column; } .fork-toggle-pill { width:100%; } }

/* Maker Git/Fork marks + git-like reply/comment button states */
.maker-git-mark,
.maker-fork-mark {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.fork-inline-mark {
  width:20px;
  height:20px;
  border-radius:6px;
  object-fit:cover;
  display:inline-block;
  margin-right:6px;
  vertical-align:-5px;
}
.fork-button-label {
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.reply-create-button,
.comment-submit {
  position:relative;
  overflow:hidden;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.reply-create-button::before,
.comment-submit::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:linear-gradient(135deg, rgba(255,212,59,.24), rgba(255,255,255,.12));
  transition:opacity .16s ease;
  pointer-events:none;
}
.reply-create-button::after,
.comment-submit::after {
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  opacity:0;
  color:#ffd43b;
  font-size:15px;
  font-weight:950;
  transition:opacity .16s ease, transform .16s ease;
  pointer-events:none;
}
.reply-create-button::after { content:"git branch"; }
.comment-submit::after { content:"git commit"; }
.reply-button-icon,
.comment-button-icon {
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#18181b;
  color:#ffd43b !important;
  font-size:14px;
  line-height:1;
  transition:transform .16s ease, background .16s ease, color .16s ease;
}
.comment-button-icon {
  font-size:11px;
}
.reply-create-button:hover,
.comment-submit:hover {
  border-color:rgba(255,212,59,.64) !important;
  background:#18181b !important;
  color:#fff7cc !important;
  box-shadow:0 14px 32px rgba(24,24,27,.18);
  padding-right:104px;
}
.reply-create-button:hover::before,
.comment-submit:hover::before,
.reply-create-button:hover::after,
.comment-submit:hover::after {
  opacity:1;
  transform:translateY(-50%) translateX(0);
}
.reply-create-button:hover .reply-button-icon {
  transform:rotate(-12deg) scale(1.05);
  background:#ffd43b;
  color:#18181b !important;
}
.comment-submit:hover .comment-button-icon {
  transform:scale(1.08);
  background:#ffd43b;
  color:#18181b !important;
}
.reply-create-button:hover .reply-button-text,
.comment-submit:hover .comment-button-text {
  font-size:0;
}
.reply-create-button:hover .reply-button-text::after,
.comment-submit:hover .comment-button-text::after {
  content:attr(data-hover);
  font-size:13px;
  letter-spacing:.01em;
}
.reply-create-button:active,
.comment-submit:active {
  transform:translateY(1px) scale(.985);
  box-shadow:0 5px 14px rgba(24,24,27,.18) inset;
  filter:saturate(1.08);
}
.reply-create-button:active::after { content:"hold…"; }
.comment-submit:active::after { content:"staging…"; }
@media (max-width:720px) {
  .reply-create-button:hover,
  .comment-submit:hover {
    padding-right:14px;
  }
  .reply-create-button::after,
  .comment-submit::after {
    display:none;
  }
}

/* Studio → Git alignment v2: chevrons start beside Studio, Git locks to right edge */
.hero-title-row {
  width:100%;
  display:flex !important;
  align-items:flex-end !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
}
.hero-title-row h1 {
  flex:0 0 auto;
  min-width:0;
  white-space:nowrap;
}
.studio-git-link {
  flex:1 1 auto;
  min-width:120px;
  display:flex !important;
  align-items:center !important;
  gap:8px;
  padding-bottom:clamp(8px, 1.1vw, 14px) !important;
}
.studio-git-link .git-chevron-flow {
  flex:0 0 auto;
  margin-left:0 !important;
}
.studio-git-link .git-to {
  flex:0 0 auto;
}
.studio-git-link .studio-git-mark {
  margin-left:auto !important;
  flex:0 0 auto;
}
.studio-git-link .git-word {
  flex:0 0 auto;
}
@media (max-width:720px) {
  .hero-title-row {
    display:flex !important;
    align-items:flex-end !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
  }
  .hero-title-row h1 {
    flex:0 1 auto;
    min-width:0;
  }
  .hero-title-row h1 .hero-title-link {
    font-size:clamp(38px, 10.8vw, 58px);
    letter-spacing:-.09em;
    white-space:nowrap;
  }
  .studio-git-link {
    flex:1 1 auto;
    min-width:86px;
    margin-top:0 !important;
    padding-bottom:5px !important;
    gap:5px;
  }
  .git-chevron-flow {
    gap:1px !important;
  }
  .git-chevron-flow i {
    width:5px !important;
    height:9px !important;
  }
  .git-to {
    font-size:12px !important;
  }
  .studio-git-link .studio-git-mark {
    width:24px !important;
    height:24px !important;
    border-radius:9px !important;
  }
  .git-word {
    font-size:22px !important;
    letter-spacing:-.07em;
  }
}
@media (max-width:420px) {
  .hero-title-row h1 .hero-title-link {
    font-size:clamp(34px, 10vw, 46px);
  }
  .studio-git-link {
    min-width:78px;
    gap:4px;
  }
  .git-to {
    font-size:11px !important;
  }
  .studio-git-link .studio-git-mark {
    width:22px !important;
    height:22px !important;
  }
  .git-word {
    font-size:20px !important;
  }
}

/* Studio → Git alignment v3: chevron stream fills all space until `to Git` */
.studio-git-link .git-chevron-flow {
  flex:1 1 auto !important;
  min-width:28px;
  height:clamp(10px, 1.3vw, 16px);
  display:block !important;
  overflow:hidden;
  white-space:nowrap;
  margin-right:4px !important;
}
.studio-git-link .git-chevron-flow i {
  display:none !important;
}
.studio-git-link .git-chevron-flow::before {
  content:">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>";
  display:block;
  width:100%;
  font-weight:950;
  font-size:clamp(12px, 1.5vw, 18px);
  line-height:1;
  letter-spacing:.16em;
  color:transparent;
  background:linear-gradient(90deg, rgba(255,212,59,.18), rgba(255,212,59,.58) 58%, rgba(255,183,3,.86));
  -webkit-background-clip:text;
  background-clip:text;
  transform:translateY(-1px);
}
.studio-git-link .git-to {
  margin-left:0 !important;
}
.studio-git-link .studio-git-mark {
  margin-left:6px !important;
}
@media (max-width:720px) {
  .studio-git-link .git-chevron-flow {
    min-width:22px;
    height:10px;
    margin-right:3px !important;
  }
  .studio-git-link .git-chevron-flow::before {
    font-size:10px;
    letter-spacing:.08em;
    transform:translateY(0);
  }
  .studio-git-link .studio-git-mark {
    margin-left:4px !important;
  }
}

/* Studio → Git desktop block-edge alignment */
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .hero.compact-hero .hero-body {
    width:min(1040px, 100%);
    max-width:min(1040px, 100%) !important;
    margin-left:auto;
    margin-right:auto;
  }
  .hero.compact-hero .hero-title-row {
    width:100%;
  }
  .hero.compact-hero .studio-git-link {
    flex:1 1 auto;
  }
  .hero.compact-hero .git-word {
    margin-right:0;
  }
}

/* Compact CAD attachment card: icon + filename + Viewer OFF/ON pill */
.cad-attachment-card {
  margin:18px 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.cad-file-card {
  width:100%;
  min-height:136px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:24px 28px;
  border:1px solid rgba(30,35,45,.10);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 36px rgba(30,35,45,.06);
}
.cad-file-icon {
  width:86px;
  height:86px;
  flex:0 0 86px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:#0f111a;
  box-shadow:0 12px 28px rgba(15,17,26,.18);
}
.cad-file-icon svg {
  width:64px;
  height:64px;
  overflow:visible;
}
.cad-file-icon svg path:first-child {
  fill:#ffd43b;
  stroke:#ffd43b;
  stroke-width:1;
}
.cad-file-icon svg path:not(:first-child) {
  fill:none;
  stroke:#18181b;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cad-file-info {
  min-width:min(420px, 60%);
  max-width:680px;
  display:grid;
  justify-items:start;
  align-content:center;
  gap:10px;
  position:relative;
  padding-top:28px;
}
.cad-file-info strong {
  color:var(--ink);
  font-size:clamp(16px, 1.7vw, 22px);
  letter-spacing:-.025em;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.viewer-state-pill {
  position:absolute;
  right:0;
  top:0;
  border:1px solid rgba(30,35,45,.14);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#6b7280;
  padding:5px 10px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 6px 16px rgba(30,35,45,.06);
}
.viewer-state-pill::before {
  content:"";
  width:7px;
  height:7px;
  display:inline-block;
  margin-right:6px;
  border-radius:999px;
  background:#a1a1aa;
  vertical-align:1px;
}
.viewer-state-pill[aria-pressed="true"] {
  color:#166534;
  border-color:rgba(34,197,94,.34);
  background:rgba(220,252,231,.9);
}
.viewer-state-pill[aria-pressed="true"]::before {
  background:#22c55e;
}
.cad-file-card.viewer-on {
  border-color:rgba(34,197,94,.30);
  background:linear-gradient(135deg, rgba(220,252,231,.46), rgba(255,255,255,.72));
}
html[data-theme="dark"] .cad-file-card {
  background:rgba(24,24,27,.72);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .viewer-state-pill {
  background:rgba(24,24,27,.92);
  border-color:rgba(255,255,255,.14);
}
@media (max-width:720px) {
  .cad-file-card {
    min-height:118px;
    gap:16px;
    padding:20px;
  }
  .cad-file-icon {
    width:72px;
    height:72px;
    flex-basis:72px;
    border-radius:20px;
  }
  .cad-file-icon svg {
    width:54px;
    height:54px;
  }
  .cad-file-info {
    min-width:0;
    flex:1 1 auto;
    padding-top:26px;
  }
}

/* Studio → Git alignment v4: full-bleed hero row, stronger chevrons */
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .hero.compact-hero {
    padding-left:min(3vw,40px) !important;
    padding-right:min(3vw,40px) !important;
  }
  .hero.compact-hero .hero-body {
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .hero.compact-hero .hero-title-row {
    width:100% !important;
    max-width:none !important;
  }
  .studio-git-link .git-chevron-flow {
    height:clamp(18px, 2.2vw, 28px) !important;
    margin-left:2px !important;
    margin-right:8px !important;
  }
  .studio-git-link .git-chevron-flow::before {
    font-size:clamp(22px, 2.55vw, 34px) !important;
    font-weight:1000 !important;
    letter-spacing:.045em !important;
    background:linear-gradient(90deg, rgba(255,212,59,.22), rgba(255,212,59,.72) 52%, rgba(255,183,3,.96)) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    transform:translateY(-4px) !important;
  }
  .studio-git-link .git-to {
    font-size:clamp(20px, 2vw, 28px) !important;
    font-weight:950 !important;
  }
  .studio-git-link .studio-git-mark {
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    margin-left:8px !important;
  }
  .studio-git-link .git-word {
    font-size:clamp(34px, 3.25vw, 48px) !important;
    font-weight:950 !important;
  }
}
@media (max-width:720px) {
  .studio-git-link .git-chevron-flow::before {
    font-weight:1000 !important;
    background:linear-gradient(90deg, rgba(255,212,59,.22), rgba(255,212,59,.72) 56%, rgba(255,183,3,.96)) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
  }
}

/* CAD Viewer ON progress: GitHub Actions-like status bar */
.cad-file-card {
  flex-direction:column;
  gap:0;
}
.cad-file-main {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
}
.cad-viewer-progress {
  width:min(680px, 78%);
  margin:18px auto 0;
  display:none;
  padding:11px 13px 12px;
  border:1px solid rgba(34,197,94,.24);
  border-radius:14px;
  background:rgba(246,248,250,.78);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.48);
}
.cad-file-card.viewer-progress-active .cad-viewer-progress {
  display:block;
}
.cad-progress-head {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  color:#24292f;
  font-size:12px;
  font-weight:850;
}
.cad-progress-head strong {
  font-size:12px;
  letter-spacing:-.01em;
}
.cad-progress-head em {
  margin-left:auto;
  font-style:normal;
  color:#57606a;
  font-size:11px;
  font-weight:900;
}
.cad-progress-dot {
  width:9px;
  height:9px;
  border-radius:999px;
  background:#2da44e;
  box-shadow:0 0 0 4px rgba(45,164,78,.14);
  animation:cadProgressPulse 1.4s ease-in-out infinite;
}
.cad-progress-track {
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#d8dee4;
  box-shadow:inset 0 1px 2px rgba(27,31,36,.08);
}
.cad-progress-track i {
  display:block;
  height:100%;
  width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg, #2da44e, #56d364, #ffd43b);
  transition:width .52s ease;
  position:relative;
}
.cad-progress-track i::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0 36%, rgba(255,255,255,.38) 44%, transparent 56% 100%);
  animation:cadProgressSweep 1.1s linear infinite;
}
@keyframes cadProgressPulse {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(.78); opacity:.72; }
}
@keyframes cadProgressSweep {
  from { transform:translateX(-100%); }
  to { transform:translateX(100%); }
}
html[data-theme="dark"] .cad-viewer-progress {
  background:rgba(13,17,23,.82);
  border-color:rgba(63,185,80,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
html[data-theme="dark"] .cad-progress-head { color:#e6edf3; }
html[data-theme="dark"] .cad-progress-head em { color:#8b949e; }
html[data-theme="dark"] .cad-progress-track { background:#30363d; }
@media (max-width:720px) {
  .cad-file-main {
    gap:16px;
  }
  .cad-viewer-progress {
    width:100%;
    margin-top:14px;
  }
}

/* Studio → Git baseline alignment v5: bottom-align to Studio text, scale chevrons/Git */
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .hero-title-row {
    align-items:baseline !important;
  }
  .studio-git-link {
    align-items:baseline !important;
    padding-bottom:0 !important;
    transform:translateY(-0.02em);
  }
  .studio-git-link .git-chevron-flow {
    height:clamp(24px, 2.86vw, 36px) !important; /* previous strong size × ~1.3 */
    align-self:baseline !important;
    margin-bottom:0 !important;
  }
  .studio-git-link .git-chevron-flow::before {
    font-size:clamp(29px, 3.32vw, 44px) !important; /* previous strong size × ~1.3 */
    line-height:.82 !important;
    transform:translateY(.05em) !important;
  }
  .studio-git-link .git-to {
    font-size:clamp(30px, 3vw, 42px) !important; /* previous size × ~1.5 */
    line-height:.82 !important;
    align-self:baseline !important;
  }
  .studio-git-link .studio-git-mark {
    width:57px !important;  /* previous 38 × 1.5 */
    height:57px !important;
    border-radius:17px !important;
    align-self:baseline !important;
    transform:translateY(.23em);
  }
  .studio-git-link .git-word {
    font-size:clamp(51px, 4.88vw, 72px) !important; /* previous size × ~1.5 */
    line-height:.82 !important;
    align-self:baseline !important;
  }
}
@media (max-width:720px) {
  .hero-title-row {
    align-items:baseline !important;
  }
  .studio-git-link {
    align-items:baseline !important;
    padding-bottom:0 !important;
  }
  .studio-git-link .git-chevron-flow {
    height:13px !important;
    align-self:baseline !important;
  }
  .studio-git-link .git-chevron-flow::before {
    font-size:13px !important;
    line-height:.8 !important;
    transform:translateY(.05em) !important;
  }
  .studio-git-link .git-to {
    font-size:18px !important;
    line-height:.82 !important;
    align-self:baseline !important;
  }
  .studio-git-link .studio-git-mark {
    width:33px !important;
    height:33px !important;
    border-radius:11px !important;
    align-self:baseline !important;
    transform:translateY(.23em);
  }
  .studio-git-link .git-word {
    font-size:30px !important;
    line-height:.82 !important;
    align-self:baseline !important;
  }
}
@media (max-width:420px) {
  .studio-git-link .git-chevron-flow::before { font-size:12px !important; }
  .studio-git-link .git-to { font-size:16px !important; }
  .studio-git-link .studio-git-mark { width:30px !important; height:30px !important; }
  .studio-git-link .git-word { font-size:27px !important; }
}

/* Authoring live CAD viewer: appears below ON progress inside the attachment card */
.cad-live-viewer {
  width:100%;
  min-height:420px;
  margin-top:16px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:22px;
  overflow:hidden;
  background:#0f111a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 16px 36px rgba(15,17,26,.12);
}
.cad-live-viewer.hidden {
  display:none !important;
}
.cad-live-viewer .maker-3d-viewer,
.cad-live-viewer canvas {
  min-height:420px;
}
.cad-file-card.viewer-on {
  align-items:stretch;
}
.cad-file-card.viewer-on .cad-file-main {
  justify-content:center;
}
@media (max-width:720px) {
  .cad-live-viewer,
  .cad-live-viewer .maker-3d-viewer,
  .cad-live-viewer canvas {
    min-height:320px;
  }
}

/* Authoring 3D viewer polish: no reader chrome, top-right controls, help, compact loading */
.cad-live-viewer .maker-viewer-toolbar,
.cad-live-viewer .maker-viewer-caption,
.cad-live-viewer .maker-viewer-download {
  display:none !important;
}
.cad-live-viewer .maker-viewer-loading-compact {
  background:transparent !important;
  border:0 !important;
  color:var(--muted) !important;
  padding:10px 4px !important;
  min-height:0 !important;
}
.cad-live-viewer .maker-viewer-loading-compact p,
.cad-live-viewer .maker-viewer-loading-compact small {
  color:var(--muted) !important;
}
.cad-live-viewer .step-viewer-canvas {
  border:0 !important;
  border-radius:18px !important;
  min-height:520px;
  height:clamp(520px, 58vw, 760px) !important;
}
.cad-live-viewer .step-viewer-canvas canvas {
  height:100% !important;
}
.step-viewer-nav {
  top:12px !important;
  right:12px !important;
  left:auto !important;
  grid-template-columns:repeat(3, auto) !important;
}
.viewer-help-button {
  min-width:32px !important;
  width:32px;
  padding:0 !important;
  border-radius:999px !important;
}
.viewer-help-popover {
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(310px, 78vw);
  padding:12px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(15,23,42,.94);
  color:#e5e7eb;
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  font-size:12px;
  line-height:1.55;
  text-align:left;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
}
.viewer-help-button:hover + .viewer-help-popover,
.viewer-help-button:focus + .viewer-help-popover,
.viewer-help-popover:hover {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.viewer-help-popover b {
  color:#ffd43b;
}
.viewer-option-bar {
  position:absolute;
  top:58px;
  right:12px;
  z-index:5;
  margin-top:0 !important;
  justify-content:flex-end;
  min-height:0;
}
.viewer-option-bar button {
  background:rgba(15,23,42,.72) !important;
  color:#f8fafc !important;
  border-color:rgba(255,212,59,.36) !important;
  backdrop-filter:blur(10px);
}
.viewer-option-bar button:hover {
  background:rgba(255,212,59,.92) !important;
  color:#111827 !important;
}
@media (max-width:720px) {
  .cad-live-viewer .step-viewer-canvas {
    min-height:360px;
    height:420px !important;
  }
  .step-viewer-nav {
    top:10px !important;
    right:10px !important;
    gap:5px;
    padding:6px;
  }
  .step-viewer-nav button {
    min-width:44px;
    height:30px;
    padding:0 8px;
  }
  .viewer-help-button { min-width:30px !important; width:30px; }
  .viewer-option-bar {
    top:52px;
    right:10px;
  }
}

/* Nav auth bullets beside dark mode */
.nav .links .nav-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  backdrop-filter:blur(12px);
}
.nav .links .nav-button::before {
  content:"";
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:999px;
  background:#ffd43b;
  box-shadow:0 0 0 3px rgba(255,212,59,.18);
}
.nav .links .nav-button.primary {
  color:#2f2100;
  background:linear-gradient(135deg, #ffd43b, #ffb703);
  border-color:transparent;
}
.nav .links .nav-button.nav-logout::before {
  background:#f97316;
  box-shadow:0 0 0 3px rgba(249,115,22,.14);
}
.nav .links .nav-button:hover {
  transform:translateY(-1px);
  background:rgba(255,212,59,.20);
}
.nav .links .nav-button.primary:hover {
  background:linear-gradient(135deg, #ffe066, #ffd43b);
}
html[data-theme="dark"] .nav .links .nav-button {
  background:rgba(0,0,0,.28);
  color:#f8fafc;
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .nav .links .nav-button.primary {
  color:#111827;
  background:linear-gradient(135deg, #ffd43b, #ffb703);
}
@media (max-width:720px) {
  .nav .links {
    gap:6px !important;
    flex-wrap:nowrap;
  }
  .nav .links .nav-button {
    display:inline-flex !important;
    min-height:38px;
    padding:8px 10px;
    font-size:11px;
  }
  .nav .links .nav-button::before {
    width:5px;
    height:5px;
    margin-right:5px;
  }
}
@media (max-width:420px) {
  .nav .links .nav-button {
    padding:8px 8px;
  }
}

/* Write form cleanup: attachment controls live in the editor block, not below it */
.post-form-wide #threeDPreviewOptions,
.post-form-wide #circuitPreviewOptions {
  display:none !important;
}

/* Fork as a compact inline bullet + transient popover */
.fork-enable-card.fork-inline-control {
  position:relative;
  width:max-content;
  max-width:100%;
  margin:14px 0 10px;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.fork-inline-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:999px;
  padding:9px 13px;
  background:rgba(255,255,255,.76);
  color:var(--ink);
  font-size:13px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(30,35,45,.06);
  backdrop-filter:blur(12px);
}
.fork-inline-pill .fork-dot {
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.14);
}
.fork-enable-card.is-disabled .fork-inline-pill .fork-dot {
  background:#f97316;
  box-shadow:0 0 0 4px rgba(249,115,22,.14);
}
.fork-enable-card.is-disabled .fork-inline-pill {
  color:#9a3412;
  border-color:rgba(249,115,22,.26);
  background:rgba(255,247,237,.86);
}
.fork-inline-pill:hover {
  transform:translateY(-1px);
  border-color:rgba(255,183,3,.34);
  background:rgba(255,255,255,.92);
}
.fork-popover {
  position:absolute;
  left:0;
  bottom:calc(100% + 10px);
  z-index:20;
  width:min(320px, 76vw);
  padding:13px 14px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  color:var(--muted);
  font-size:13px;
  font-weight:750;
  line-height:1.55;
  box-shadow:0 18px 46px rgba(30,35,45,.16);
  backdrop-filter:blur(14px);
}
.fork-popover::after {
  content:"";
  position:absolute;
  left:22px;
  top:100%;
  border:8px solid transparent;
  border-top-color:rgba(255,255,255,.96);
}
.fork-popover.hidden {
  display:none !important;
}
html[data-theme="dark"] .fork-inline-pill,
html[data-theme="dark"] .fork-popover {
  background:rgba(24,24,27,.92);
  color:#f8fafc;
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .fork-popover::after {
  border-top-color:rgba(24,24,27,.92);
}
@media (max-width:720px) {
  .fork-enable-card.fork-inline-control {
    margin-top:12px;
  }
  .fork-popover {
    width:min(300px, 84vw);
  }
}


/* Authoring 3D viewer bottom resize handle */
.inline-media-block.author-3d-resizable { position:relative; min-height:420px; height:640px; padding-bottom:24px; overflow:hidden; }
.inline-media-block.author-3d-resizable .cad-file-card { min-height:100%; height:100%; display:block; }
.inline-media-block.author-3d-resizable .cad-live-viewer { height:calc(100% - 170px); min-height:300px; overflow:hidden; border-radius:16px; }
.inline-media-block.author-3d-resizable .cad-live-viewer .step-viewer-canvas,
.inline-media-block.author-3d-resizable .cad-live-viewer model-viewer { height:100% !important; min-height:300px; }
.inline-media-block.author-3d-resizable .author-viewer-resize-handle { bottom:4px; z-index:30; pointer-events:auto; }

/* Align Enable Fork to the right edge of the tag input */
.post-form-wide .fork-enable-card.fork-inline-control {
  width:min(720px, 100%);
  max-width:720px;
  display:flex;
  justify-content:flex-end;
  margin:14px 0 10px;
}
.post-form-wide .fork-enable-card.fork-inline-control .fork-popover {
  left:auto;
  right:0;
  text-align:left;
}
.post-form-wide .fork-enable-card.fork-inline-control .fork-popover::after {
  left:auto;
  right:28px;
}
@media (max-width:720px) {
  .post-form-wide .fork-enable-card.fork-inline-control {
    width:100%;
    max-width:100%;
  }
}


/* Draft save bullet */
.draft-save-card {
  border:1px solid rgba(120,113,108,.18);
  border-radius:18px;
  padding:13px 15px;
  background:linear-gradient(135deg, rgba(255,251,235,.78), rgba(245,245,244,.72));
  box-shadow:0 10px 26px rgba(41,37,36,.05);
}
.draft-save-main { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.draft-save-title { display:flex; align-items:center; gap:8px; color:#44403c; }
.draft-dot { width:10px; height:10px; border-radius:999px; background:#fbbf24; box-shadow:0 0 0 4px rgba(251,191,36,.18); }
.draft-save-copy { margin:5px 0 0; color:#78716c; font-size:13px; line-height:1.5; }
.draft-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:720px) { .draft-save-main { flex-direction:column; align-items:flex-start; } .draft-actions { width:100%; } .draft-actions .button { flex:1; } }

/* Dark theme signup terms contrast fix */
html[data-theme="dark"] .terms-box {
  background:rgba(255,255,255,.075);
  border-color:rgba(255,212,59,.32);
  color:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
html[data-theme="dark"] .terms-box strong,
html[data-theme="dark"] .terms-check {
  color:#ffffff;
}
html[data-theme="dark"] .terms-box ul {
  color:#e5e7eb;
}
html[data-theme="dark"] .terms-box li::marker {
  color:#ffd43b;
}
html[data-theme="dark"] .terms-box input[type="checkbox"] {
  accent-color:#ffd43b;
}


/* Commit thumbnail picker */
.thumbnail-picker-backdrop {
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(0,0,0,.52);
  backdrop-filter:blur(14px);
}
.thumbnail-picker-modal {
  width:min(760px, 100%);
  max-height:min(760px, 92vh);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 28px 100px rgba(0,0,0,.32);
  position:relative;
}
.thumbnail-picker-close {
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.12);
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font-size:22px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  z-index:2;
}
.thumbnail-picker-close:hover { background:#ffd43b; color:#111827; transform:translateY(-1px); }
.thumbnail-picker-head h2 { margin:2px 0 8px; }
.thumbnail-choice-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
  margin:18px 0;
}
.thumbnail-choice {
  display:grid;
  gap:10px;
  text-align:left;
  border:2px solid var(--line);
  border-radius:20px;
  padding:10px;
  background:var(--card);
  color:var(--ink);
  cursor:pointer;
}
.thumbnail-choice.active {
  border-color:#ffd43b;
  box-shadow:0 0 0 4px rgba(255,212,59,.20);
}
.thumbnail-choice img {
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:14px;
  background:#111827;
}
.thumbnail-choice span { display:grid; gap:3px; }
.thumbnail-choice em { color:var(--muted); font-style:normal; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.thumbnail-picker-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
html[data-theme="dark"] .thumbnail-picker-modal,
html[data-theme="dark"] .thumbnail-choice {
  background:rgba(24,24,27,.96);
  border-color:rgba(255,255,255,.12);
}
@media (max-width:640px) {
  .thumbnail-picker-backdrop { align-items:end; padding:12px; }
  .thumbnail-picker-modal { border-radius:24px; padding:18px; }
  .thumbnail-choice-grid { grid-template-columns:1fr 1fr; gap:10px; }
}


/* Authoring 3D viewer grow fix: resize the black viewer, not the whole white block */
.inline-media-block.author-3d-resizable { height:auto !important; max-height:none !important; overflow:visible !important; padding-bottom:18px; }
.inline-media-block.author-3d-resizable .cad-file-card { height:auto !important; min-height:0 !important; display:block; overflow:visible; }
.inline-media-block.author-3d-resizable .cad-live-viewer { position:relative; height:560px; min-height:300px; max-height:none !important; overflow:hidden; border-radius:16px; }
.inline-media-block.author-3d-resizable .cad-live-viewer .step-viewer-canvas,
.inline-media-block.author-3d-resizable .cad-live-viewer model-viewer,
.inline-media-block.author-3d-resizable .cad-live-viewer canvas { height:100% !important; min-height:100% !important; }
.author-viewer-resize-handle { position:absolute; left:50%; bottom:6px; transform:translateX(-50%); width:58px; height:16px; border-radius:999px; display:grid; place-items:center; color:#7c5a00; background:rgba(255,212,59,.72); border:1px solid rgba(255,183,3,.52); font-size:12px; line-height:1; cursor:ns-resize; user-select:none; z-index:40; pointer-events:auto; }
.author-viewer-resize-handle:hover { background:rgba(255,212,59,.96); color:#111827; }

/* Align Enable Fork to the full write form right edge */
.post-form-wide > .fork-enable-card.fork-inline-control {
  grid-column:1 / -1;
  width:100% !important;
  max-width:none !important;
  justify-content:flex-end !important;
  justify-self:stretch;
}
.post-form-wide > .fork-enable-card.fork-inline-control .fork-inline-pill {
  margin-left:auto;
}


/* Post detail full-width edge alignment */
.post-page.full-width {
  width:100%;
  max-width:none;
}
.post-detail-page {
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:clamp(28px, 5vw, 56px);
  padding-right:clamp(28px, 5vw, 56px);
}
.post-detail-page > .rendered-markdown,
.post-detail-page > .attachments,
.post-detail-page > .plugin-card-list,
.post-detail-page > .detail-action-row,
.post-detail-page > .reply-create-row,
.post-detail-page > .child-reply-thread,
.post-detail-page > .comment-box {
  width:100%;
  max-width:none;
}
.post-detail-page .rendered-markdown {
  overflow-wrap:anywhere;
}
@media (max-width:760px) {
  .post-detail-page {
    padding-left:20px;
    padding-right:20px;
  }
}

/* Board detail post blocks: 2 columns desktop, 1 column mobile */
.board-post-list {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
.board-post-card {
  min-width:0;
}
.board-post-card-main {
  min-height:172px;
  grid-template-columns:minmax(0, 1fr) minmax(132px, 36%);
  padding:16px;
}
.board-post-card .recent-card-copy {
  gap:7px;
}
.board-post-card .recent-card-copy h3 {
  font-size:clamp(17px, 1.55vw, 21px);
}
.board-post-card .recent-card-copy p {
  -webkit-line-clamp:2;
}
.board-card-stats {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}
.board-card-stats span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.48);
}
.board-preview-wrap {
  min-width:0;
  height:100%;
}
.board-post-card .recent-preview-rail img,
.board-post-card .recent-preview-rail .preview-token,
.board-post-card .recent-preview-rail.empty span {
  min-height:132px;
}
html[data-theme="dark"] .board-card-stats span {
  background:rgba(255,255,255,.06);
}
@media (max-width:820px) {
  .board-post-list {
    grid-template-columns:1fr;
  }
}
@media (max-width:560px) {
  .board-post-card-main {
    grid-template-columns:minmax(0, 1fr) 104px;
    min-height:132px;
    padding:13px;
  }
  .board-post-card .recent-preview-rail img,
  .board-post-card .recent-preview-rail .preview-token,
  .board-post-card .recent-preview-rail.empty span {
    min-height:96px;
  }
  .board-card-stats {
    gap:6px;
    font-size:11px;
  }
}

/* Login keep-signed-in option */
.login-keep-signed-in {
  display:grid !important;
  grid-template-columns:auto max-content minmax(0, 1fr);
  align-items:center !important;
  column-gap:8px;
  row-gap:2px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  color:var(--text) !important;
}
.login-keep-signed-in input { margin:0; }
.login-keep-title {
  display:inline-block;
  white-space:nowrap;
  font-size:13px;
  font-weight:900;
  line-height:1.2;
}
.login-keep-note {
  display:block;
  min-width:0;
  font-size:12px;
  line-height:1.2;
}
@media (max-width:420px) {
  .login-keep-signed-in {
    grid-template-columns:auto max-content;
  }
  .login-keep-note {
    grid-column:2;
  }
}

/* Studio → Hub hero flow: one structured source for desktop/mobile and light/dark */
.hero-title-row .studio-git-flow {
  --hub-chevron-left-fade:26%;
  --hub-chevron-solid:62%;
  --hub-chevron-soft:82%;
  --hub-chevron-gap:clamp(14px, 1.5vw, 22px);
  --hub-chevron-height:clamp(24px, 2.86vw, 36px);
  --hub-chevron-size:clamp(29px, 3.32vw, 44px);
  --hub-word-size:clamp(42px, 4.1vw, 60px);
  --hub-word-weight:820;
  --hub-mark-size:.74em;
  --hub-mark-y:.09em;
  --hub-word-color:var(--ink);
  flex:1 1 auto;
  min-width:120px;
  display:flex !important;
  align-items:baseline !important;
  gap:10px;
  padding-bottom:0 !important;
  transform:translateY(-0.02em);
  pointer-events:none;
}
html[data-theme="dark"] .hero-title-row .studio-git-flow {
  --hub-word-color:var(--theme-ink, #f8fafc);
}
.hero-title-row .studio-git-flow > .git-chevron-flow {
  flex:1 1 auto !important;
  min-width:42px;
  display:block !important;
  overflow:hidden;
  white-space:nowrap;
  pointer-events:none;
  margin:0 var(--hub-chevron-gap) 0 calc(2px + var(--hub-title-safe-offset, 0px)) !important;
  padding-right:var(--hub-chevron-gap);
  height:var(--hub-chevron-height) !important;
  align-self:baseline !important;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.18) 10%, #000 var(--hub-chevron-left-fade), #000 var(--hub-chevron-solid), rgba(0,0,0,.42) var(--hub-chevron-soft), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.18) 10%, #000 var(--hub-chevron-left-fade), #000 var(--hub-chevron-solid), rgba(0,0,0,.42) var(--hub-chevron-soft), transparent 100%);
}
.hero-title-row .studio-git-flow > .git-chevron-flow i {
  display:none !important;
}
.hero-title-row .studio-git-flow > .git-chevron-flow::before {
  content:">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>";
  display:block;
  width:100%;
  max-width:100%;
  margin-left:0;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  font-weight:1000 !important;
  font-size:var(--hub-chevron-size) !important;
  line-height:.82 !important;
  letter-spacing:.045em !important;
  color:transparent;
  background:linear-gradient(90deg, rgba(255,212,59,.18), rgba(255,212,59,.68) 56%, rgba(255,183,3,.94));
  -webkit-background-clip:text;
  background-clip:text;
  transform:translateY(.05em) !important;
}
.hero-title-row .studio-git-flow > .studio-git-link {
  flex:0 0 auto !important;
  min-width:max-content !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:.16em;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--hub-word-color);
  cursor:pointer;
  pointer-events:auto;
  font-size:var(--hub-word-size) !important;
  line-height:.82 !important;
  font-weight:var(--hub-word-weight) !important;
}
.hero-title-row .studio-git-flow > .studio-git-link .git-to {
  display:none !important;
}
.hero-title-row .studio-git-flow > .studio-git-link .studio-git-mark {
  flex:0 0 var(--hub-mark-size) !important;
  width:var(--hub-mark-size) !important;
  height:var(--hub-mark-size) !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  transform:translateY(var(--hub-mark-y));
}
.hero-title-row .studio-git-flow > .studio-git-link .maker-hub-mark {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.hero-title-row .studio-git-flow > .studio-git-link .git-word {
  font-size:1em !important;
  line-height:.82 !important;
  font-weight:var(--hub-word-weight) !important;
  letter-spacing:-.065em !important;
  color:var(--hub-word-color);
}
.hero-title-row .studio-git-flow > .studio-git-link:hover .git-word,
.hero-title-row .studio-git-flow > .studio-git-link.active .git-word { color:#a16207; }
.hero-title-row .hero-title-link { pointer-events:auto; }
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .hero-title-row .studio-git-flow {
    --hub-word-size:clamp(48px, 4.4vw, 64px);
    --hub-mark-size:.78em;
    --hub-mark-y:.105em;
    --hub-chevron-gap:clamp(18px, 2vw, 32px);
    --hub-chevron-left-fade:28%;
    --hub-chevron-solid:60%;
    --hub-chevron-soft:82%;
  }
}
@media (max-width:720px) {
  .hero-title-row .studio-git-flow {
    --hub-chevron-left-fade:58%;
    --hub-chevron-solid:70%;
    --hub-chevron-soft:88%;
    --hub-chevron-gap:10px;
    --hub-title-safe-offset:0px;
    --hub-chevron-height:13px;
    --hub-chevron-size:13px;
    --hub-word-size:30px;
    --hub-mark-size:.84em;
    --hub-mark-y:.095em;
    min-width:86px;
    gap:8px;
  }
  .hero-title-row .studio-git-flow > .git-chevron-flow { min-width:20px; }
  .hero-title-row .studio-git-flow > .git-chevron-flow::before { line-height:.8 !important; letter-spacing:.04em !important; }
  .hero-title-row .studio-git-flow > .studio-git-link { gap:.14em; }
}
@media (max-width:420px) {
  .hero-title-row .studio-git-flow {
    --hub-chevron-size:12px;
    --hub-word-size:27px;
    --hub-mark-size:.84em;
  }
}

/* Keep Fork button geometry stable across Fork/Forked states */
.detail-action-row .fork-button {
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  display:grid !important;
  grid-template-columns:82px 28px;
  align-items:center;
  justify-content:center;
  column-gap:8px;
  padding-left:12px !important;
  padding-right:12px !important;
}
.detail-action-row .fork-button-label {
  width:82px;
  min-width:82px;
  display:grid !important;
  grid-template-columns:20px 1fr;
  align-items:center;
  column-gap:7px;
  justify-items:start;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
}
.detail-action-row .fork-inline-mark {
  width:20px;
  height:20px;
  margin:0 !important;
  grid-column:1;
}
.detail-action-row .fork-button-label::first-letter {
  text-align:left;
}
.detail-action-row .fork-count {
  width:28px;
  min-width:28px;
  justify-self:end;
  padding:0;
}
@media (max-width:720px) {
  .detail-action-row .fork-button {
    width:122px !important;
    min-width:122px !important;
    max-width:122px !important;
    grid-template-columns:76px 26px;
    column-gap:6px;
  }
  .detail-action-row .fork-button-label {
    width:76px;
    min-width:76px;
    grid-template-columns:18px 1fr;
    column-gap:6px;
  }
  .detail-action-row .fork-inline-mark {
    width:18px;
    height:18px;
  }
  .detail-action-row .fork-count {
    width:26px;
    min-width:26px;
  }
}

/* Weekly Forked */
.weekly-forked-panel .section-head .text-button {
  align-self:center;
}
.board-fork-mark {
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}
.board-icon .board-fork-mark,
.board-icon-large .board-fork-mark {
  width:32px;
  height:32px;
}

/* Reply button cleanup: no busy hover animation or overlapping branch labels */
.reply-create-button {
  min-height:42px;
  padding:9px 14px !important;
  gap:8px !important;
  overflow:visible !important;
  box-shadow:0 6px 16px rgba(30,35,45,.06) !important;
  transition:background .14s ease, border-color .14s ease, transform .14s ease !important;
}
.reply-create-button::before,
.reply-create-button::after,
.reply-create-button:hover::before,
.reply-create-button:hover::after {
  content:none !important;
  display:none !important;
}
.reply-create-button:hover {
  padding:9px 14px !important;
  background:rgba(255,255,255,.92) !important;
  color:var(--ink) !important;
  border-color:rgba(30,35,45,.18) !important;
  box-shadow:0 8px 18px rgba(30,35,45,.08) !important;
}
.reply-create-button .reply-button-icon,
.reply-create-button:hover .reply-button-icon {
  width:24px;
  height:24px;
  transform:none !important;
  background:#18181b !important;
  color:#ffd43b !important;
}
.reply-create-button .reply-button-text,
.reply-create-button:hover .reply-button-text {
  font-size:13px !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}
.reply-create-button .reply-button-text::after,
.reply-create-button:hover .reply-button-text::after {
  content:none !important;
  display:none !important;
}
.reply-create-button small {
  display:inline-block;
  padding-left:2px;
  white-space:nowrap;
}
html[data-theme="dark"] .reply-create-button:hover {
  background:rgba(24,24,27,.86) !important;
  color:var(--ink) !important;
  border-color:rgba(255,255,255,.16) !important;
}

/* Long comment → reply post prompt */
.long-comment-prompt {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,17,26,.22);
  backdrop-filter:blur(8px);
}
.long-comment-card {
  width:min(460px, 100%);
  padding:22px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 60px rgba(30,35,45,.18);
  color:var(--ink);
}
.long-comment-card h3 {
  margin:6px 0 8px;
  font-size:24px;
  letter-spacing:-.04em;
}
.long-comment-card p:not(.eyebrow) {
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.long-comment-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
}
.long-comment-actions button {
  border:1px solid rgba(30,35,45,.12);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font-weight:900;
  cursor:pointer;
}
.long-comment-actions .long-comment-yes {
  background:#18181b;
  color:#fff7cc;
  border-color:#18181b;
}
html[data-theme="dark"] .long-comment-card {
  background:rgba(24,24,27,.96);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .long-comment-actions button {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:var(--ink);
}
html[data-theme="dark"] .long-comment-actions .long-comment-yes {
  background:#ffd43b;
  color:#18181b;
  border-color:#ffd43b;
}


/* 3D color option lives in the upper-right nav menu */
.step-viewer-nav .viewer-color-button { min-width:54px !important; font-weight:900; color:#f8fafc; border-color:rgba(255,212,59,.38) !important; }
.step-viewer-nav .viewer-color-button.active { background:rgba(255,212,59,.92) !important; color:#111827 !important; }
.step-viewer-nav { grid-template-columns:repeat(4, auto) !important; }
.viewer-option-bar { display:none !important; }

/* Author-only post delete button */
.detail-action-row .post-delete-button {
  border:1px solid rgba(239,68,68,.28);
  border-radius:999px;
  background:rgba(254,242,242,.86);
  color:#b91c1c;
  font-weight:900;
  padding:8px 12px;
  cursor:pointer;
}
.detail-action-row .post-delete-button:hover {
  background:#fee2e2;
  border-color:rgba(220,38,38,.45);
  color:#991b1b;
}
.detail-action-row .post-delete-button:disabled {
  opacity:.64;
  cursor:wait;
}
html[data-theme="dark"] .detail-action-row .post-delete-button {
  background:rgba(127,29,29,.22);
  border-color:rgba(248,113,113,.26);
  color:#fca5a5;
}
html[data-theme="dark"] .detail-action-row .post-delete-button:hover {
  background:rgba(127,29,29,.38);
  color:#fecaca;
}
@media (max-width:720px) {
  .detail-action-row .post-delete-button {
    padding:8px 11px;
    font-size:12px;
  }
}


/* Authoring resize handle remount/visibility fix */
.cad-live-viewer .author-viewer-resize-handle { display:grid !important; visibility:visible !important; opacity:1 !important; position:absolute !important; left:50% !important; bottom:8px !important; transform:translateX(-50%) !important; width:72px !important; height:18px !important; z-index:999 !important; pointer-events:auto !important; cursor:ns-resize !important; }
.cad-live-viewer { position:relative !important; }

/* Author-only post edit button */
.detail-action-row .post-edit-button {
  border:1px solid rgba(37,99,235,.22);
  border-radius:999px;
  background:rgba(239,246,255,.88);
  color:#1d4ed8;
  font-weight:900;
  padding:8px 12px;
  cursor:pointer;
}
.detail-action-row .post-edit-button:hover {
  background:#dbeafe;
  border-color:rgba(37,99,235,.38);
  color:#1e40af;
}
html[data-theme="dark"] .detail-action-row .post-edit-button {
  background:rgba(30,64,175,.20);
  border-color:rgba(96,165,250,.24);
  color:#93c5fd;
}
html[data-theme="dark"] .detail-action-row .post-edit-button:hover {
  background:rgba(30,64,175,.34);
  color:#bfdbfe;
}
@media (max-width:720px) {
  .detail-action-row .post-edit-button {
    padding:8px 11px;
    font-size:12px;
  }
}

html[data-theme="dark"] .thumbnail-picker-close { background:rgba(15,23,42,.86); border-color:rgba(255,255,255,.18); color:#f8fafc; }


/* Generic preview Fix bullet: lock viewer wheel/click/drag without changing saved view */
.viewer-fix-scope { position:relative !important; }
.viewer-fix-bullet {
  position:absolute;
  top:12px;
  right:12px;
  z-index:1001;
  min-width:58px;
  height:32px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,212,59,.38);
  background:rgba(15,23,42,.74);
  color:#f8fafc;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}
.viewer-fix-bullet:hover, .viewer-fix-bullet.active { background:rgba(255,255,255,.16); color:#f8fafc; border-color:rgba(255,255,255,.28); }
.viewer-fix-shield {
  position:absolute;
  inset:0;
  z-index:900;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:inherit;
  background:rgba(15,23,42,.045);
  cursor:not-allowed;
  touch-action:none;
}
.viewer-fixed .viewer-fix-shield { display:flex; pointer-events:auto; }
.viewer-fix-shield span {
  margin-top:auto;
  margin-bottom:16px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(15,23,42,.78);
  color:#f8fafc;
  font-size:12px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.cad-live-viewer .viewer-fix-bullet { top:12px; right:82px; }
.cad-live-viewer .viewer-fix-shield { z-index:80; }
.cad-live-viewer .author-viewer-resize-handle { z-index:1002 !important; }


/* Author preview handle + attachment action popovers */
.draggable-block::after { content:none !important; }
.block-drag-handle {
  position:absolute;
  left:-30px;
  top:10px;
  width:24px;
  height:30px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.72);
  color:var(--muted);
  font-weight:900;
  letter-spacing:-3px;
  cursor:grab;
  z-index:60;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.block-drag-handle:hover { color:#111827; background:#ffd43b; }
.block-drag-handle:active { cursor:grabbing; }
.preview-handle-popover,
.attachment-action-popover {
  position:fixed;
  z-index:3000;
  width:240px;
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 22px 60px rgba(0,0,0,.24);
}
.preview-handle-popover { width:170px; }
.preview-handle-popover button,
.attachment-action-popover button {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
  color:var(--ink);
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
  text-align:left;
}
.preview-handle-popover button:hover,
.attachment-action-popover button:hover { border-color:#ffd43b; background:rgba(255,212,59,.16); }
.preview-handle-popover .danger,
.attachment-action-popover .danger { color:#b91c1c; border-color:rgba(239,68,68,.35); }
.attachment-action-popover p { margin:0; color:var(--muted); font-size:13px; line-height:1.45; }
.attachment-popover-actions { display:flex; gap:8px; justify-content:flex-end; }
.inline-attachment-chip { cursor:pointer; border:1px solid var(--line); }
.inline-attachment-chip:hover { border-color:#ffd43b; background:rgba(255,212,59,.13); }


/* Preview handle visibility fix: keep the move/duplicate/delete handle inside clipped preview cards */
.inline-media-block,
.inline-file-preview,
.cad-attachment-card,
.maker-table-wrap,
pre.code-editor-block { overflow:visible !important; }
.inline-media-block > .block-drag-handle,
.inline-file-preview > .block-drag-handle,
.cad-attachment-card > .block-drag-handle,
.maker-table-wrap > .block-drag-handle,
pre.code-editor-block > .block-drag-handle {
  left:10px !important;
  top:10px !important;
  width:30px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:1200 !important;
  background:rgba(15,23,42,.78) !important;
  color:#f8fafc !important;
  border:1px solid rgba(255,212,59,.35) !important;
  backdrop-filter:blur(8px);
}
.inline-media-block > .block-drag-handle:hover,
.inline-file-preview > .block-drag-handle:hover,
.cad-attachment-card > .block-drag-handle:hover,
.maker-table-wrap > .block-drag-handle:hover,
pre.code-editor-block > .block-drag-handle:hover {
  background:#ffd43b !important;
  color:#111827 !important;
}

/* Git-like reply action wording */
.reply-create-button .reply-button-text,
.reply-create-button:hover .reply-button-text {
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:13px !important;
  font-weight:950;
}
.reply-create-button small {
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  letter-spacing:.01em;
  text-transform:none;
}
.reply-create-button .reply-button-icon,
.reply-create-button:hover .reply-button-icon {
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:15px;
}


/* Keep preview Fix bullet above viewer control nav, not overlapping Fit/Reset/? */
.cad-live-viewer .viewer-fix-bullet,
.three-d-viewer-slot .viewer-fix-bullet,
.maker-3d-viewer .viewer-fix-bullet {
  top:-42px !important;
  right:12px !important;
  z-index:1205 !important;
}
.cad-live-viewer .viewer-fix-shield span {
  margin-bottom:34px !important;
}
@media (max-width:720px) {
  .cad-live-viewer .viewer-fix-bullet,
  .three-d-viewer-slot .viewer-fix-bullet,
  .maker-3d-viewer .viewer-fix-bullet {
    top:-38px !important;
    right:10px !important;
  }
}

/* Owner Git actions: align edit/delete with Fork/Git visual language */
.detail-action-row .git-owner-action,
.detail-action-row .post-edit-button,
.detail-action-row .post-delete-button {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(30,35,45,.10) !important;
  border-radius:999px;
  background:rgba(255,255,255,.72) !important;
  color:#312600 !important;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:12px;
  font-weight:950;
  letter-spacing:-.02em;
  line-height:1;
  padding:8px 12px !important;
  box-shadow:0 8px 20px rgba(30,35,45,.045);
  cursor:pointer;
  transition:background .14s ease, border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}
.detail-action-row .git-owner-action span,
.detail-action-row .post-edit-button span,
.detail-action-row .post-delete-button span {
  width:18px;
  height:18px;
  display:inline-grid;
  place-items:center;
  border-radius:7px;
  background:#18181b;
  color:#ffd43b;
  font-size:12px;
  line-height:1;
}
.detail-action-row .post-edit-button:hover,
.detail-action-row .post-delete-button:hover {
  background:linear-gradient(135deg, rgba(255,212,59,.20), rgba(255,255,255,.86)) !important;
  border-color:rgba(255,183,3,.34) !important;
  color:#18181b !important;
  box-shadow:0 10px 24px rgba(30,35,45,.07);
  transform:translateY(-1px);
}
.detail-action-row .post-delete-button:hover span {
  background:#3f1d1d;
  color:#ffd43b;
}
.detail-action-row .post-delete-button:disabled,
.detail-action-row .post-edit-button:disabled {
  opacity:.62;
  cursor:wait;
  transform:none;
}
html[data-theme="dark"] .detail-action-row .git-owner-action,
html[data-theme="dark"] .detail-action-row .post-edit-button,
html[data-theme="dark"] .detail-action-row .post-delete-button {
  background:rgba(24,24,27,.72) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#facc15 !important;
  box-shadow:none;
}
html[data-theme="dark"] .detail-action-row .post-edit-button:hover,
html[data-theme="dark"] .detail-action-row .post-delete-button:hover {
  background:linear-gradient(135deg, rgba(255,212,59,.20), rgba(24,24,27,.86)) !important;
  border-color:rgba(255,212,59,.28) !important;
  color:#fde68a !important;
}
@media (max-width:720px) {
  .detail-action-row .git-owner-action,
  .detail-action-row .post-edit-button,
  .detail-action-row .post-delete-button {
    min-height:32px;
    padding:7px 10px !important;
    font-size:11px;
  }
  .detail-action-row .git-owner-action span,
  .detail-action-row .post-edit-button span,
  .detail-action-row .post-delete-button span {
    width:17px;
    height:17px;
  }
}


/* Fix mode should behave like a static image: wheel/touch scrolls the page */
.viewer-fix-shield {
  touch-action:pan-x pan-y !important;
  overscroll-behavior:auto !important;
}
.viewer-fixed .viewer-fix-shield {
  cursor:default !important;
}

/* Question pre-commit review: appears only when committing */
.question-write-coach { display:none !important; }
.question-commit-review {
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,17,26,.22);
  backdrop-filter:blur(8px);
}
.question-review-card {
  width:min(520px, 100%);
  padding:24px;
  border:1px solid rgba(30,35,45,.12);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  box-shadow:0 24px 70px rgba(30,35,45,.18);
}
.question-review-card h3 {
  margin:6px 0 8px;
  font-size:24px;
  letter-spacing:-.045em;
}
.question-review-card p:not(.eyebrow) {
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.question-review-checks {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 0;
}
.question-review-checks span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(30,35,45,.10);
  border-radius:999px;
  padding:8px 11px;
  background:rgba(255,255,255,.76);
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:12px;
  font-weight:900;
}
.question-review-checks .ok b { color:#15803d; }
.question-review-checks .warn b { color:#a16207; }
.question-review-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:20px;
}
.question-review-actions button {
  border:1px solid rgba(30,35,45,.12);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.82);
  color:var(--ink);
  font-weight:950;
  cursor:pointer;
}
.question-review-actions .question-review-continue {
  background:#18181b;
  color:#fff7cc;
  border-color:#18181b;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
html[data-theme="dark"] .question-review-card {
  background:rgba(24,24,27,.96);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .question-review-checks span,
html[data-theme="dark"] .question-review-actions button {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:var(--ink);
}
html[data-theme="dark"] .question-review-actions .question-review-continue {
  background:#ffd43b;
  color:#18181b;
  border-color:#ffd43b;
}

/* AI Assistant answer card cleanup */
.ai-answer-preview {
  padding:16px 18px !important;
}
.ai-answer-preview > .eyebrow {
  margin:0 0 8px !important;
  color:#a16207 !important;
}
.ai-answer-ready {
  display:grid;
  gap:8px;
}
.ai-answer-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.ai-answer-head > strong {
  font-size:15px;
  letter-spacing:-.02em;
}
.ai-answer-summary {
  margin:0;
  padding-left:20px;
  color:var(--ink);
  line-height:1.55;
}
.ai-answer-details {
  position:relative;
  flex:0 0 auto;
}
.ai-answer-details > summary {
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(30,35,45,.10);
  border-radius:999px;
  padding:7px 11px;
  background:rgba(255,255,255,.78);
  color:#312600;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.ai-answer-details > summary::-webkit-details-marker { display:none; }
.ai-answer-details[open] > summary {
  background:#18181b;
  color:#fff7cc;
  border-color:#18181b;
}
.ai-answer-full {
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(30,35,45,.10);
  line-height:1.7;
}
.ai-answer-ready:has(.ai-answer-details[open]) .ai-answer-summary {
  display:none;
}
html[data-theme="dark"] .ai-answer-preview > .eyebrow { color:#facc15 !important; }
html[data-theme="dark"] .ai-answer-details > summary {
  background:rgba(255,255,255,.08);
  color:#fde68a;
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .ai-answer-details[open] > summary {
  background:#ffd43b;
  color:#18181b;
  border-color:#ffd43b;
}
html[data-theme="dark"] .ai-answer-full { border-top-color:rgba(255,255,255,.12); }
@media (max-width:720px) {
  .ai-answer-head { align-items:flex-start; }
  .ai-answer-details > summary { padding:7px 10px; }
}

/* Light theme hard reset: keep feed panels light even on system-dark browsers */
html[data-theme="light"] .panel,
html[data-theme="light"] .recent-feed-panel,
html[data-theme="light"] .weekly-forked-panel,
html[data-theme="light"] .board-hub-compact,
html[data-theme="light"] .search-panel,
html[data-theme="light"] .post-detail,
html[data-theme="light"] .comment-composer,
html[data-theme="light"] .notion-lite-shell {
  background:rgba(255,255,255,.76) !important;
  border-color:rgba(23,23,23,.10) !important;
  color:#171717 !important;
}
html[data-theme="light"] .recent-card-main,
html[data-theme="light"] .board-post-card .recent-card-main,
html[data-theme="light"] .studio-item,
html[data-theme="light"] .studio-star textarea,
html[data-theme="light"] .comment-composer textarea,
html[data-theme="light"] .comment-tools select,
html[data-theme="light"] .signup-form input,
html[data-theme="light"] .signup-form select,
html[data-theme="light"] .signup-form textarea,
html[data-theme="light"] .format-toolbar button {
  background:rgba(255,255,255,.72) !important;
  border-color:rgba(23,23,23,.10) !important;
  color:#171717 !important;
}
html[data-theme="light"] .recent-preview-rail.empty span {
  background:rgba(17,24,39,.08) !important;
  color:#6b7280 !important;
}
html[data-theme="light"] .eyebrow { color:#a16207; }

/* AI Assistant compact header: details button sits beside title */
.ai-answer-preview {
  position:relative;
  padding-top:16px !important;
}
.ai-answer-preview > .eyebrow {
  padding-right:120px;
}
.ai-answer-head {
  display:block !important;
  margin:0 !important;
}
.ai-answer-head > strong { display:none !important; }
.ai-answer-details {
  position:absolute !important;
  top:14px;
  right:16px;
}
.ai-answer-details > summary {
  padding:7px 11px !important;
  font-size:11px !important;
}
.ai-answer-summary {
  margin-top:2px !important;
}
@media (max-width:720px) {
  .ai-answer-preview > .eyebrow { padding-right:96px; }
  .ai-answer-details { right:14px; top:13px; }
  .ai-answer-details > summary { padding:7px 10px !important; }
}

/* Unified Maker Viewer Shell v1 */
.attachments,
.post-detail .attachments,
.post-detail-page .attachments { width:100%; max-width:none; }
.maker-viewer-slot {
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:0 !important;
  overflow:hidden;
  border-radius:24px;
  background:#0d1117 !important;
  border:1px solid rgba(148,163,184,.32) !important;
}
.maker-viewer-head,
.viewer-reader-controls,
.circuit-reader-controls,
.maker-viewer-toolbar,
.circuit-view-tabs,
.pcb-layer-controls,
.viewer-internal-toolbar {
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(15,23,42,.86) !important;
  color:#e5e7eb !important;
  padding:10px 14px !important;
  box-sizing:border-box;
}
.maker-viewer-head { border-bottom:1px solid rgba(148,163,184,.24) !important; }
.maker-viewer-head strong,
.viewer-internal-toolbar strong { color:#fff; }
.maker-viewer-head span,
.maker-viewer-caption,
.viewer-reader-controls .muted { color:#cbd5e1 !important; }
.maker-viewer-body {
  position:relative;
  min-height:420px;
  width:100%;
  background:#0d1117;
  color:#e5e7eb;
}
.maker-viewer-slot.resizable-viewer-block [data-viewer-body],
.maker-viewer-slot.resizable-viewer-block .step-viewer-canvas,
.maker-viewer-slot.resizable-viewer-block model-viewer { min-height:560px; }
.step-viewer-canvas,
.model-viewer-wrap,
.kicad-viewer,
.kicad-3d-view,
.gerber-viewer { width:100%; max-width:none; position:relative; }
.step-viewer-nav {
  position:absolute !important;
  inset:12px 12px auto auto !important;
  z-index:70;
  display:grid !important;
  gap:8px !important;
  pointer-events:auto;
}
.viewer-floating-tools { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.viewer-floating-tools button,
.circuit-view-tabs button,
.pcb-layer-controls label,
.gerber-layer-controls label,
.circuit-toggle-group label {
  background:rgba(255,255,255,.10);
  color:#f8fafc;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:6px 10px;
}
.viewer-nav-cube {
  position:relative;
  width:112px;
  height:112px;
  margin-left:auto;
  opacity:.94;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.38));
}
.viewer-nav-cube button {
  position:absolute;
  border:1px solid rgba(15,23,42,.35);
  background:rgba(255,255,255,.88);
  color:#334155;
  font-size:12px;
  line-height:1;
}
.nav-cube-core { left:34px; top:34px; width:48px; height:48px; border-radius:10px; transform:rotate(-18deg); display:grid; place-items:center; font-weight:700; }
.nav-cube-core span { font-size:8px; }
.nav-cube-core b { font-size:9px; }
.nav-cube-core i { font-size:8px; font-style:normal; color:#64748b; }
.nav-cube-top { left:46px; top:0; width:24px; height:24px; clip-path:polygon(50% 0,100% 100%,0 100%); }
.nav-cube-bottom { left:46px; bottom:0; width:24px; height:24px; clip-path:polygon(0 0,100% 0,50% 100%); }
.nav-cube-left { left:0; top:46px; width:24px; height:24px; clip-path:polygon(100% 0,100% 100%,0 50%); }
.nav-cube-right { right:0; top:46px; width:24px; height:24px; clip-path:polygon(0 0,100% 50%,0 100%); }
.nav-cube-mini { right:4px; bottom:4px; width:22px; height:22px; border-radius:5px; }
.viewer-fix-bullet { top:12px !important; left:12px !important; right:auto !important; z-index:90 !important; }
.viewer-fixed .viewer-fix-shield { border-radius:0 0 24px 24px; }
.gerber-layer-controls { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-bottom:1px solid rgba(148,163,184,.22) !important; }
.gerber-layer[hidden] { display:none !important; }
.kicad-viewer .pcb-layer-controls { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.kicad-viewer svg,
.gerber-layer svg { border-radius:0 !important; min-height:520px; }
.document-viewer-shell { width:100%; background:#0d1117; color:#e5e7eb; border-radius:24px; overflow:hidden; }
.document-viewer-toolbar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:10px 14px; background:rgba(15,23,42,.9); }
.document-viewer-toolbar button,
.document-viewer-toolbar select { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.1); color:#fff; border-radius:999px; padding:6px 10px; }
.document-viewer-slot .document-viewer-stage { min-height:620px; overflow:auto; display:grid; place-items:start center; background:#111827; }
.document-viewer-slot iframe { width:calc(100% * var(--doc-zoom, 1)); height:760px; min-width:320px; border:0; background:#fff; transform:rotate(var(--doc-rotate, 0deg)); transform-origin:center center; }
.document-viewer-slot .maker-viewer-placeholder { margin:24px; }

/* Compact required terms/privacy/license block */
.terms-panel.terms-compact {
  margin-top:18px !important;
  padding:14px 18px !important;
  font-size:12px;
  color:var(--muted);
}
.terms-compact-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
}
.terms-compact-head h2 {
  margin:2px 0 0;
  font-size:18px;
  letter-spacing:-.035em;
  color:var(--ink);
}
.terms-compact-head .eyebrow {
  margin:0;
  font-size:10px;
}
.terms-compact-head > p {
  margin:0;
  font-size:11px;
}
.terms-panel.terms-compact details {
  margin-top:8px;
}
.terms-panel.terms-compact summary {
  cursor:pointer;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(30,35,45,.10);
  border-radius:999px;
  padding:7px 10px;
  background:rgba(255,255,255,.64);
  color:#312600;
  font-size:11px;
  font-weight:900;
  list-style:none;
}
.terms-panel.terms-compact summary::-webkit-details-marker { display:none; }
.terms-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.terms-grid h3 {
  margin:0 0 6px;
  font-size:13px;
  color:var(--ink);
  letter-spacing:-.02em;
}
.terms-grid ul {
  margin:0;
  padding-left:16px;
  line-height:1.55;
}
.terms-grid li { margin:3px 0; }
html[data-theme="dark"] .terms-panel.terms-compact summary {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fde68a;
}
@media (max-width:900px) {
  .terms-grid { grid-template-columns:1fr; gap:10px; }
}
@media (max-width:720px) {
  .terms-panel.terms-compact { padding:12px 14px !important; }
  .terms-compact-head { align-items:start; flex-direction:column; gap:4px; }
  .terms-compact-head h2 { font-size:16px; }
}

/* Real CAD navigation cube */
.cad-nav-cube-panel { min-width:148px; }
.cad-nav-cube {
  position:relative;
  width:148px;
  height:148px;
  margin-left:auto;
  perspective:720px;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.42));
}
.cad-nav-cube button { cursor:pointer; user-select:none; font-family:ui-sans-serif,system-ui,sans-serif; }
.cube-face {
  position:absolute;
  border:1px solid rgba(51,65,85,.55);
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(203,213,225,.92));
  color:#334155;
  font-weight:800;
  font-size:10px;
  display:grid;
  place-items:center;
  transition:transform .12s ease, background .12s ease, color .12s ease;
}
.cube-top {
  left:42px; top:18px; width:56px; height:34px;
  transform:skewX(-32deg) rotate(-1deg);
  border-radius:8px 8px 4px 4px;
}
.cube-front {
  left:40px; top:52px; width:58px; height:52px;
  transform:skewY(10deg);
  border-radius:4px 4px 8px 8px;
}
.cube-right {
  left:96px; top:48px; width:34px; height:54px;
  transform:skewY(-32deg);
  border-radius:4px 8px 8px 4px;
  writing-mode:vertical-rl;
  font-size:9px;
}
.cube-edge,
.cube-corner {
  position:absolute;
  border:1px solid rgba(250,204,21,.52);
  background:rgba(250,204,21,.28);
  opacity:.88;
}
.edge-top-front { left:40px; top:49px; width:58px; height:8px; border-radius:999px; }
.edge-top-right { left:94px; top:34px; width:30px; height:8px; transform:rotate(36deg); border-radius:999px; }
.edge-front-right { left:94px; top:76px; width:34px; height:8px; transform:rotate(-54deg); border-radius:999px; }
.corner-tfr { left:92px; top:46px; width:14px; height:14px; border-radius:50%; background:rgba(251,191,36,.8); }
.cube-orbit,
.cube-home {
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(15,23,42,.78);
  color:#f8fafc;
  border-radius:999px;
  width:26px;
  height:26px;
  font-weight:900;
}
.orbit-up { left:61px; top:0; }
.orbit-down { left:61px; bottom:0; }
.orbit-left { left:0; top:61px; }
.orbit-right { right:0; top:61px; }
.cube-home { right:5px; bottom:7px; font-size:14px; }
.cad-nav-cube button:hover,
.cad-nav-cube button:focus-visible {
  background:#ffd43b !important;
  color:#111827 !important;
  outline:2px solid rgba(255,255,255,.88);
  transform:scale(1.06);
  z-index:5;
}
.cube-top:hover,.cube-top:focus-visible { transform:skewX(-32deg) rotate(-1deg) scale(1.06); }
.cube-front:hover,.cube-front:focus-visible { transform:skewY(10deg) scale(1.06); }
.cube-right:hover,.cube-right:focus-visible { transform:skewY(-32deg) scale(1.06); }

/* Light theme editor dropdown repair */
html[data-theme="light"] .slash-menu,
html[data-theme="light"] .editorjs-holder .ce-popover,
html[data-theme="light"] .editorjs-holder .ce-conversion-toolbar,
html[data-theme="light"] .editorjs-holder .ce-inline-toolbar {
  background:#fffdf4 !important;
  color:#171717 !important;
  border-color:rgba(23,23,23,.12) !important;
  box-shadow:0 24px 80px rgba(17,24,39,.14) !important;
}
html[data-theme="light"] .slash-menu button,
html[data-theme="light"] .slash-menu strong,
html[data-theme="light"] .editorjs-holder .ce-popover__item,
html[data-theme="light"] .editorjs-holder .ce-popover-item,
html[data-theme="light"] .editorjs-holder .ce-inline-tool,
html[data-theme="light"] .editorjs-holder .ce-conversion-tool {
  color:#171717 !important;
}
html[data-theme="light"] .slash-menu span,
html[data-theme="light"] .editorjs-holder .ce-popover__item-description,
html[data-theme="light"] .editorjs-holder .ce-popover-item__secondary-title {
  color:#6b7280 !important;
}
html[data-theme="light"] .slash-menu button:hover,
html[data-theme="light"] .slash-menu button:focus,
html[data-theme="light"] .editorjs-holder .ce-popover__item:hover,
html[data-theme="light"] .editorjs-holder .ce-popover-item:hover,
html[data-theme="light"] .editorjs-holder .ce-inline-tool:hover,
html[data-theme="light"] .editorjs-holder .ce-conversion-tool:hover {
  background:rgba(255,212,59,.22) !important;
}

/* Canonical theme tokens v1: UI components read from one light/dark source */
html[data-theme="light"] {
  color-scheme:light;
  --theme-bg:#fffdf4;
  --theme-bg-radial:rgba(255,212,59,.40);
  --theme-ink:#171717;
  --theme-muted:#6b7280;
  --theme-surface:rgba(255,255,255,.78);
  --theme-surface-solid:#fffdf4;
  --theme-surface-soft:rgba(255,255,255,.64);
  --theme-field:rgba(255,255,255,.72);
  --theme-border:rgba(23,23,23,.10);
  --theme-shadow:rgba(17,24,39,.12);
  --theme-popover:#fffdf4;
  --theme-hover:rgba(255,212,59,.22);
  --theme-code-bg:#111827;
  --theme-code-ink:#f8fafc;
  --ink:var(--theme-ink);
  --muted:var(--theme-muted);
  --paper:var(--theme-bg);
  --card:var(--theme-surface);
  --line:var(--theme-border);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --theme-bg:#10100d;
  --theme-bg-radial:rgba(255,212,59,.14);
  --theme-ink:#f8fafc;
  --theme-muted:#a1a1aa;
  --theme-surface:rgba(24,24,27,.78);
  --theme-surface-solid:#10100d;
  --theme-surface-soft:rgba(0,0,0,.28);
  --theme-field:rgba(0,0,0,.28);
  --theme-border:rgba(255,255,255,.12);
  --theme-shadow:rgba(0,0,0,.34);
  --theme-popover:#1d1d1d;
  --theme-hover:rgba(255,212,59,.16);
  --theme-code-bg:#111827;
  --theme-code-ink:#f8fafc;
  --ink:var(--theme-ink);
  --muted:var(--theme-muted);
  --paper:var(--theme-bg);
  --card:var(--theme-surface);
  --line:var(--theme-border);
}
html[data-theme] body {
  background:radial-gradient(circle at top left, var(--theme-bg-radial), transparent 35%), var(--theme-bg) !important;
  color:var(--theme-ink) !important;
}
html[data-theme] .card,
html[data-theme] .panel,
html[data-theme] .plugin,
html[data-theme] .auth-modal,
html[data-theme] .notion-lite-shell,
html[data-theme] .editorjs-shell,
html[data-theme] .comment-composer,
html[data-theme] .post-detail,
html[data-theme] .recent-feed-panel,
html[data-theme] .weekly-forked-panel,
html[data-theme] .board-hub-compact,
html[data-theme] .search-panel {
  background:var(--theme-surface) !important;
  border-color:var(--theme-border) !important;
  color:var(--theme-ink) !important;
}
html[data-theme] input,
html[data-theme] select,
html[data-theme] textarea,
html[data-theme] .format-toolbar button,
html[data-theme] .comment-tools select,
html[data-theme] .comment-composer textarea,
html[data-theme] .studio-star textarea,
html[data-theme] .studio-search input,
html[data-theme] .studio-search button,
html[data-theme] .theme-toggle {
  background:var(--theme-field) !important;
  border-color:var(--theme-border) !important;
  color:var(--theme-ink) !important;
}
html[data-theme] input::placeholder,
html[data-theme] textarea::placeholder {
  color:var(--theme-muted) !important;
}
html[data-theme] .slash-menu,
html[data-theme] .editorjs-holder .ce-popover,
html[data-theme] .editorjs-holder .ce-conversion-toolbar,
html[data-theme] .editorjs-holder .ce-inline-toolbar,
html[data-theme] .preview-handle-popover,
html[data-theme] .attachment-action-popover,
html[data-theme] .fork-popover {
  background:var(--theme-popover) !important;
  border-color:var(--theme-border) !important;
  color:var(--theme-ink) !important;
  box-shadow:0 24px 80px var(--theme-shadow) !important;
}
html[data-theme] .slash-menu button,
html[data-theme] .slash-menu strong,
html[data-theme] .editorjs-holder .ce-popover__item,
html[data-theme] .editorjs-holder .ce-popover-item,
html[data-theme] .editorjs-holder .ce-inline-tool,
html[data-theme] .editorjs-holder .ce-conversion-tool,
html[data-theme] .preview-handle-popover button,
html[data-theme] .attachment-action-popover button {
  color:var(--theme-ink) !important;
}
html[data-theme] .slash-menu span,
html[data-theme] .editorjs-holder .ce-popover__item-description,
html[data-theme] .editorjs-holder .ce-popover-item__secondary-title,
html[data-theme] .muted,
html[data-theme] .meta {
  color:var(--theme-muted) !important;
}
html[data-theme] .slash-menu button:hover,
html[data-theme] .slash-menu button:focus,
html[data-theme] .format-toolbar button:hover,
html[data-theme] .editorjs-holder .ce-popover__item:hover,
html[data-theme] .editorjs-holder .ce-popover-item:hover,
html[data-theme] .editorjs-holder .ce-inline-tool:hover,
html[data-theme] .editorjs-holder .ce-conversion-tool:hover {
  background:var(--theme-hover) !important;
}
html[data-theme] .notion-lite-editor {
  color:var(--theme-ink) !important;
  background:transparent !important;
  caret-color:var(--theme-ink);
}
html[data-theme] .notion-lite-editor :where(p,h1,h2,h3,li,ul,ol,blockquote,td,th,span,strong,em,a,div:not(.local-maker-viewer):not(.step-viewer-canvas):not(.maker-viewer-loading)) {
  color:var(--theme-ink) !important;
}
html[data-theme] .notion-lite-editor :where([data-placeholder])::before,
html[data-theme] .notion-lite-editor:empty::before {
  color:var(--theme-muted) !important;
}
html[data-theme] .notion-lite-editor pre,
html[data-theme] .notion-lite-editor pre *,
html[data-theme] .rendered-markdown pre,
html[data-theme] .rendered-markdown pre * {
  background:var(--theme-code-bg) !important;
  color:var(--theme-code-ink) !important;
}
html[data-theme="light"] .local-maker-viewer,
html[data-theme="light"] .maker-viewer-loading,
html[data-theme="light"] .step-viewer-canvas,
html[data-theme="light"] .viewer-internal-toolbar,
html[data-theme="light"] .maker-viewer-card .step-viewer-canvas {
  color:#e6edf3 !important;
}

/* Code attachment viewer + editor code tools */
.code-preview-options {
  border:1px solid rgba(15,23,42,.12);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg, rgba(15,23,42,.03), rgba(59,130,246,.05));
}
.code-preview-options legend { font-weight:800; padding:0 6px; }
.code-preview-options p { margin:4px 0 10px; color:#64748b; font-size:13px; }
pre.code-shell, .rendered-markdown pre.code-shell, .code-viewer-pre {
  position:relative;
  background:#0b1020 !important;
  color:#dbeafe;
  border:1px solid rgba(148,163,184,.22);
  border-radius:16px;
  padding:46px 14px 14px !important;
  overflow:auto;
  box-shadow:0 18px 45px rgba(15,23,42,.16);
}
.code-block-tools {
  position:absolute;
  top:8px;
  right:8px;
  left:8px;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  z-index:2;
  pointer-events:auto;
}
.code-block-tools select,
.code-block-tools button,
.code-viewer-toolbar select,
.code-viewer-toolbar button,
.code-viewer-toolbar a {
  border:1px solid rgba(148,163,184,.28);
  border-radius:999px;
  background:rgba(15,23,42,.88);
  color:#e5e7eb;
  padding:6px 10px;
  font-size:12px;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
}
.code-block-tools button:hover,
.code-viewer-toolbar button:hover,
.code-viewer-toolbar a:hover { background:#1d4ed8; color:white; }
pre.code-collapsed code,
.code-file-viewer.code-collapsed pre { display:none !important; }
pre.code-collapsed { min-height:48px; padding-bottom:12px !important; }
.code-viewer-slot .maker-viewer-head { align-items:flex-start; }
.code-viewer-list { display:grid; gap:14px; }
.code-file-viewer {
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  overflow:hidden;
  background:#0f172a;
}
.code-viewer-toolbar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:10px 12px;
  background:rgba(15,23,42,.94);
  border-bottom:1px solid rgba(148,163,184,.18);
}
.code-viewer-toolbar strong { color:#f8fafc; margin-right:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.code-viewer-pre { margin:0 !important; border-radius:0 !important; box-shadow:none; padding-top:14px !important; }
.generic-attachment-card {
  border:1px solid rgba(15,23,42,.12);
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.generic-file-main { display:flex; gap:12px; align-items:flex-start; }
.generic-file-icon {
  min-width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  color:#1d4ed8;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
  border:1px solid rgba(59,130,246,.18);
}
.generic-attachment-card figcaption { color:#334155; margin-top:2px; word-break:break-all; }

/* Real CAD navigation cube v2: override old pill-toolbar button styles */
.step-viewer-nav.cad-nav-cube-panel {
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:auto !important;
  min-width:0 !important;
  grid-template-columns:none !important;
  padding:10px !important;
  border-radius:20px !important;
  background:rgba(6,10,22,.72) !important;
}
.step-viewer-nav.cad-nav-cube-panel .cad-nav-cube {
  flex:0 0 132px !important;
  position:relative !important;
  display:block !important;
  width:132px !important;
  height:118px !important;
  margin:0 !important;
  perspective:780px !important;
  transform-style:preserve-3d !important;
}
.step-viewer-nav.cad-nav-cube-panel .cad-nav-cube button {
  position:absolute !important;
  display:grid !important;
  place-items:center !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  font-size:10px !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 8px 18px rgba(0,0,0,.2) !important;
}
.step-viewer-nav.cad-nav-cube-panel .cube-face {
  border:1px solid rgba(148,163,184,.62) !important;
  background:linear-gradient(145deg,#f8fafc,#cbd5e1) !important;
  color:#172033 !important;
  font-weight:950 !important;
}
.step-viewer-nav.cad-nav-cube-panel .cube-top {
  left:34px !important;
  top:8px !important;
  width:58px !important;
  height:34px !important;
  transform:skewX(-34deg) rotate(-1deg) !important;
  border-radius:9px 9px 3px 3px !important;
  background:linear-gradient(145deg,#ffffff,#dbeafe) !important;
}
.step-viewer-nav.cad-nav-cube-panel .cube-front {
  left:30px !important;
  top:42px !important;
  width:62px !important;
  height:52px !important;
  transform:skewY(13deg) !important;
  border-radius:4px 4px 10px 10px !important;
  background:linear-gradient(145deg,#e2e8f0,#94a3b8) !important;
}
.step-viewer-nav.cad-nav-cube-panel .cube-right {
  left:90px !important;
  top:36px !important;
  width:36px !important;
  height:56px !important;
  transform:skewY(-35deg) !important;
  border-radius:4px 10px 10px 4px !important;
  background:linear-gradient(145deg,#cbd5e1,#64748b) !important;
  color:#f8fafc !important;
  writing-mode:vertical-rl !important;
}
.step-viewer-nav.cad-nav-cube-panel .cube-edge,
.step-viewer-nav.cad-nav-cube-panel .cube-corner {
  border:1px solid rgba(250,204,21,.85) !important;
  background:rgba(250,204,21,.70) !important;
  color:transparent !important;
  z-index:4 !important;
}
.step-viewer-nav.cad-nav-cube-panel .edge-top-front { left:29px !important; top:39px !important; width:65px !important; height:8px !important; border-radius:999px !important; transform:none !important; }
.step-viewer-nav.cad-nav-cube-panel .edge-top-right { left:84px !important; top:27px !important; width:36px !important; height:8px !important; border-radius:999px !important; transform:rotate(34deg) !important; }
.step-viewer-nav.cad-nav-cube-panel .edge-front-right { left:84px !important; top:68px !important; width:40px !important; height:8px !important; border-radius:999px !important; transform:rotate(-53deg) !important; }
.step-viewer-nav.cad-nav-cube-panel .corner-tfr { left:85px !important; top:36px !important; width:16px !important; height:16px !important; border-radius:50% !important; }
.step-viewer-nav.cad-nav-cube-panel .cube-orbit,
.step-viewer-nav.cad-nav-cube-panel .cube-home {
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.92) !important;
  color:#f8fafc !important;
  border:1px solid rgba(255,255,255,.24) !important;
  font-size:12px !important;
  z-index:5 !important;
}
.step-viewer-nav.cad-nav-cube-panel .orbit-up { left:51px !important; top:-5px !important; }
.step-viewer-nav.cad-nav-cube-panel .orbit-down { left:51px !important; bottom:-3px !important; }
.step-viewer-nav.cad-nav-cube-panel .orbit-left { left:-5px !important; top:50px !important; }
.step-viewer-nav.cad-nav-cube-panel .orbit-right { right:-2px !important; top:50px !important; }
.step-viewer-nav.cad-nav-cube-panel .cube-home { right:5px !important; bottom:4px !important; }
.step-viewer-nav.cad-nav-cube-panel .cad-nav-cube button:hover,
.step-viewer-nav.cad-nav-cube-panel .cad-nav-cube button:focus-visible {
  background:#ffd43b !important;
  color:#111827 !important;
  outline:2px solid rgba(255,255,255,.92) !important;
  z-index:9 !important;
}
.step-viewer-nav.cad-nav-cube-panel .viewer-floating-tools {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  width:54px !important;
}
.step-viewer-nav.cad-nav-cube-panel .viewer-floating-tools button {
  position:relative !important;
  min-width:0 !important;
  width:54px !important;
  height:28px !important;
  padding:0 8px !important;
  border-radius:999px !important;
}

/* Runtime warning should never replace the app on recoverable init errors */
.runtime-warning {
  margin:14px min(5vw,64px) 0;
  padding:10px 14px;
  border:1px solid rgba(245,158,11,.35);
  border-radius:14px;
  background:rgba(255,212,59,.16);
  color:var(--theme-ink, var(--ink));
  font-size:13px;
  line-height:1.5;
}
.runtime-warning details { margin-top:6px; }
.runtime-warning pre { white-space:pre-wrap; overflow:auto; max-height:180px; }

/* Resizable body media + carousel arrows */
.media-size-controls {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  padding:8px 10px;
  background:rgba(15,23,42,.72);
  color:#e5e7eb;
  font-size:12px;
  line-height:1;
  pointer-events:auto;
}
.media-size-controls span { margin-right:auto; font-weight:800; opacity:.82; }
.media-size-controls button {
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,255,255,.10);
  color:#f8fafc;
  cursor:pointer;
  font-weight:800;
}
.media-size-controls button.active,
.media-size-controls button:hover { background:#ffd43b; color:#111827; border-color:#ffd43b; }
.inline-media-block.media-size-small,
.video-attachment.media-size-small,
.youtube-embed-block.media-size-small,
.image-carousel figure.media-size-small { max-width:min(420px, 100%); margin-left:auto; margin-right:auto; }
.inline-media-block.media-size-medium,
.video-attachment.media-size-medium,
.youtube-embed-block.media-size-medium,
.image-carousel figure.media-size-medium { max-width:min(760px, 100%); margin-left:auto; margin-right:auto; }
.inline-media-block.media-size-large,
.video-attachment.media-size-large,
.youtube-embed-block.media-size-large,
.image-carousel figure.media-size-large { max-width:100%; margin-left:0; margin-right:0; }
.inline-media-block.media-size-small img,
.inline-media-block.media-size-small video,
.video-attachment.media-size-small video { max-height:300px; }
.inline-media-block.media-size-medium img,
.inline-media-block.media-size-medium video,
.video-attachment.media-size-medium video { max-height:520px; }
.inline-media-block.media-size-large img,
.inline-media-block.media-size-large video,
.video-attachment.media-size-large video { max-height:78vh; }
.image-carousel-wrap,
.inline-media-carousel-wrap {
  position:relative;
  margin:14px 0;
}
.inline-media-carousel-wrap { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.66); }
.inline-media-carousel,
.image-carousel { scroll-behavior:smooth; }
.inline-media-carousel figure { min-width:min(78vw, 520px); margin:0; scroll-snap-align:center; border-radius:16px; overflow:hidden; background:rgba(0,0,0,.05); }
.inline-media-carousel img { width:100%; height:360px; object-fit:contain; display:block; background:#111827; }
.media-carousel-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 10px 26px rgba(0,0,0,.24);
}
.media-carousel-prev { left:10px; }
.media-carousel-next { right:10px; }
.media-carousel-arrow:hover { background:#ffd43b; color:#111827; }
.youtube-embed-block.media-size-small .youtube-embed-frame { max-width:min(420px, 100%); margin:auto; }
.youtube-embed-block.media-size-medium .youtube-embed-frame { max-width:min(760px, 100%); margin:auto; }
.youtube-embed-block.media-size-large .youtube-embed-frame { max-width:100%; }
@media (max-width:720px) {
  .media-size-controls { justify-content:flex-start; overflow:auto; }
  .media-carousel-arrow { width:36px; height:36px; font-size:26px; }
  .inline-media-carousel figure { min-width:min(88vw, 420px); }
  .inline-media-carousel img { height:280px; }
}

/* Detailed standard terms appended after compact legal summary */
.terms-standard {
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed var(--theme-border, var(--line));
}
.terms-standard h3 {
  margin:0 0 10px;
  font-size:13px;
  color:var(--theme-ink, var(--ink));
}
.terms-standard ol {
  margin:0;
  padding-left:20px;
  columns:2;
  column-gap:24px;
}
.terms-standard li {
  break-inside:avoid;
  margin:0 0 10px;
  padding-left:2px;
}
.terms-standard strong {
  display:block;
  margin-bottom:3px;
  color:var(--theme-ink, var(--ink));
  font-size:12px;
}
.terms-standard p {
  margin:0;
  max-width:none;
  font-size:11px;
  line-height:1.58;
  color:var(--theme-muted, var(--muted));
}
@media (max-width:900px) {
  .terms-standard ol { columns:1; }
}

/* Fix bullet must remain clickable above the fixed interaction shield */
.viewer-fix-scope > .viewer-fix-bullet,
.cad-live-viewer .viewer-fix-bullet,
.three-d-viewer-slot .viewer-fix-bullet,
.maker-3d-viewer .viewer-fix-bullet {
  z-index:1205 !important;
  pointer-events:auto !important;
}
.viewer-fix-scope > .viewer-fix-shield {
  z-index:1190 !important;
}

/* PCB/Gerber layer sidebar overlay viewers */
.gerber-overlay-viewer,
.kicad-pcb-view,
.kicad-pcb3d-server-view {
  display:grid !important;
  grid-template-columns:220px minmax(0, 1fr) !important;
  min-height:620px;
  background:#0b1020 !important;
  color:#e5e7eb;
}
.viewer-layer-sidebar {
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  align-items:stretch !important;
  padding:14px 12px !important;
  margin:0 !important;
  border:0 !important;
  border-right:1px solid rgba(148,163,184,.24) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.94)) !important;
  color:#f8fafc !important;
  max-height:620px;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable both-edges;
  scrollbar-width:thin;
  scrollbar-color:rgba(148,163,184,.72) rgba(15,23,42,.45);
}
.viewer-layer-sidebar > strong {
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 6px;
}
.viewer-layer-sidebar label,
.pcb-layer-controls label,
.gerber-layer-controls label {
  display:grid !important;
  grid-template-columns:auto 14px minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100% !important;
  margin:0 !important;
  padding:8px 9px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.07) !important;
  color:#f8fafc !important;
  cursor:pointer;
}
.viewer-layer-sidebar input { accent-color:var(--layer-color, #ffd43b); }
.viewer-layer-sidebar::-webkit-scrollbar { width:10px; height:10px; }
.viewer-layer-sidebar::-webkit-scrollbar-track { background:rgba(15,23,42,.45); border-radius:999px; }
.viewer-layer-sidebar::-webkit-scrollbar-thumb { background:rgba(148,163,184,.72); border-radius:999px; border:2px solid rgba(15,23,42,.45); }

.layer-swatch {
  display:block;
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--layer-color, #ffd43b);
  box-shadow:0 0 0 2px rgba(255,255,255,.14), 0 0 16px color-mix(in srgb, var(--layer-color, #ffd43b), transparent 42%);
}
.viewer-layer-sidebar b { display:block; font-size:12px; line-height:1.15; }
.viewer-layer-sidebar em { display:block; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-style:normal; color:#94a3b8; font-size:10px; line-height:1.25; }
.gerber-overlay-stage,
.pcb-overlay-stage,
.pcb3d-server-stage {
  min-width:0;
  padding:0;
  background:radial-gradient(circle at 50% 30%, rgba(30,41,59,.92), #0b1020 62%);
  overflow:auto;
}
.gerber-overlay-stage .maker-viewer-caption,
.pcb-overlay-stage .maker-viewer-caption {
  margin:0 !important;
  padding:10px 14px !important;
  border-bottom:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.72);
}
.gerber-overlay-stage svg,
.kicad-pcb-view .pcb-overlay-stage svg {
  display:block;
  width:100%;
  min-height:620px !important;
  background:#0b1020;
}
.gerber-svg-layer line,
.gerber-svg-layer path {
  stroke:var(--layer-color, #22c55e);
  stroke-width:.16;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  fill:none;
  opacity:.88;
  mix-blend-mode:screen;
}
.gerber-svg-layer circle {
  fill:var(--layer-color, #22c55e);
  stroke:#020617;
  stroke-width:.05;
  vector-effect:non-scaling-stroke;
  opacity:.9;
  mix-blend-mode:screen;
}
.gerber-svg-layer[hidden] { display:none !important; }
.kicad-pcb-view .layer-F_Cu { stroke:#ff4d6d !important; }
.kicad-pcb-view .layer-B_Cu { stroke:#22d3ee !important; }
.kicad-pcb-view .layer-Edge_Cuts { stroke:#f8fafc !important; }
.kicad-pcb-view .layer-Silk { stroke:#34d399 !important; }
.kicad-pcb-view .layer-Pads { fill:#facc15 !important; stroke:#78350f !important; }
.kicad-pcb-view .layer-Vias { fill:#a78bfa !important; stroke:#312e81 !important; }
.kicad-pcb-view svg .track,
.kicad-pcb-view svg .edge,
.kicad-pcb-view svg .silk { mix-blend-mode:screen; opacity:.9; }
.kicad-pcb-view svg .pad,
.kicad-pcb-view svg .via { mix-blend-mode:screen; opacity:.88; }
@media (max-width:760px) {
  .gerber-overlay-viewer,
  .kicad-pcb-view,
  .kicad-pcb3d-server-view { grid-template-columns:1fr !important; }
  .viewer-layer-sidebar {
    max-height:190px;
    overflow-x:auto;
    overflow-y:hidden;
    border-right:0 !important;
    border-bottom:1px solid rgba(148,163,184,.24) !important;
  }
}

/* Circuit stability hotfix: keep Fix button above every viewer overlay and make disabled PCB3D honest */
.maker-viewer-slot.viewer-fix-scope > .viewer-fix-bullet,
.viewer-fix-scope > .viewer-fix-bullet {
  z-index:2147483000 !important;
  pointer-events:auto !important;
  isolation:auto !important;
}
.maker-viewer-slot.viewer-fix-scope > .viewer-fix-shield,
.viewer-fix-scope > .viewer-fix-shield {
  z-index:2147482990 !important;
}
.kicad-3d-view.pcb3d-disabled {
  min-height:360px !important;
  display:grid !important;
  place-items:center !important;
  padding:28px !important;
  background:radial-gradient(circle at 50% 0%, rgba(30,41,59,.9), #020617 70%) !important;
}
.kicad-3d-view.pcb3d-disabled .maker-viewer-placeholder {
  max-width:720px;
  padding:22px 24px;
  border:1px solid rgba(250,204,21,.24);
  border-radius:18px;
  background:rgba(15,23,42,.78);
  color:#e5e7eb;
  text-align:left;
}
.kicad-sch-view .sch-placeholder { fill:#cbd5e1; font-size:4px; }

/* Circuit 2D document-style pan/zoom/rotate shell */
.circuit-2d-shell {
  min-width:0;
  background:#0b1020;
  color:#e5e7eb;
}
.circuit-2d-toolbar {
  position:sticky;
  top:0;
  z-index:12;
  border-bottom:1px solid rgba(148,163,184,.18) !important;
}
.circuit-2d-toolbar span { margin-left:auto; color:#cbd5e1; font-size:12px; font-weight:800; }
.circuit-2d-viewport {
  min-height:620px;
  overflow:hidden;
  touch-action:none;
  cursor:grab;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 30%, rgba(30,41,59,.92), #0b1020 62%);
}
.circuit-2d-viewport:active { cursor:grabbing; }
.circuit-2d-stage {
  transform-origin:center center;
  transition:transform .12s ease-out;
  will-change:transform;
  max-width:100%;
}
.circuit-2d-stage svg {
  display:block;
  width:min(100%, 1180px);
  min-width:720px;
  min-height:560px !important;
  background:#0b1020;
}
.kicad-sch-view svg .junction { fill:#facc15; stroke:#78350f; stroke-width:.08; vector-effect:non-scaling-stroke; }
.kicad-sch-view svg .sch-label,
.kicad-pcb-view svg .pcb-label { fill:#e5e7eb; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; vector-effect:non-scaling-stroke; }

/* Mobile: layer controls should collapse into compact bullet/pill feel */
@media (max-width:760px) {
  .viewer-layer-sidebar {
    display:flex !important;
    flex-direction:row !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:190px !important;
    padding:10px !important;
  }
  .viewer-layer-sidebar > strong { flex:0 0 auto; align-self:center; margin:0 4px 0 0; font-size:11px; }
  .viewer-layer-sidebar label,
  .pcb-layer-controls label,
  .gerber-layer-controls label {
    grid-template-columns:auto 10px auto !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:118px !important;
    border-radius:999px !important;
    padding:7px 10px !important;
  }
  .viewer-layer-sidebar em { display:none; }
  .layer-swatch { width:9px; height:9px; }
  .circuit-2d-toolbar { overflow-x:auto; flex-wrap:nowrap !important; }
  .circuit-2d-toolbar button { flex:0 0 auto; }
  .circuit-2d-viewport { min-height:520px; place-items:start center; }
  .circuit-2d-stage svg { min-width:760px; min-height:520px !important; }
}

/* KiCad PCB 3D three.js shell follows 3D viewer interaction style */
.pcb3d-three-shell {
  position:relative;
  min-height:560px !important;
  height:640px;
  overflow:hidden;
  border-radius:0 0 20px 20px;
  background:#0b1020;
}
.pcb3d-three-shell canvas { width:100% !important; height:100% !important; display:block; cursor:grab; }
.pcb3d-three-shell canvas:active { cursor:grabbing; }
.pcb3d-loading { position:absolute; inset:0; display:grid; place-items:center; color:#cbd5e1; font-weight:800; }
.pcb3d-tools {
  position:absolute;
  top:12px;
  right:12px;
  z-index:50;
  display:flex;
  gap:6px;
}
.pcb3d-tools button {
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(15,23,42,.76);
  color:#f8fafc;
  padding:7px 10px;
  font-weight:900;
}
.pcb3d-tools button:hover { background:#ffd43b; color:#111827; }
@media (max-width:760px) { .pcb3d-three-shell { height:520px; min-height:520px !important; } .pcb3d-tools { left:10px; right:auto; top:10px; } }

/* Viewer download buttons */
.viewer-download-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#f8fafc;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.viewer-download-button:hover { background:rgba(255,255,255,.16); color:#fff; border-color:rgba(255,255,255,.28); }
.viewer-3d-downloads { position:absolute; top:12px; left:12px; z-index:60; }

/* KiCad SCH server-rendered PDF viewer */
.sch-server-pdf-view .sch-pdf-stage {
  width:100%;
  min-height:620px;
  display:grid;
  place-items:stretch;
  background:#fff;
}
.sch-server-pdf-view .circuit-2d-viewport { background:#fff; place-items:stretch; }
.sch-server-pdf-view .circuit-2d-stage { width:100%; max-width:none; height:100%; }
.sch-server-pdf-view .sch-pdf-frame {
  display:block;
  width:100%;
  min-width:100%;
  min-height:620px;
  height:760px;
  border:0;
  background:#fff;
}
.sch-server-pdf-view .maker-viewer-loading,
.sch-server-pdf-view .maker-viewer-error {
  margin:24px;
  padding:22px 24px;
  border:1px solid #dbe3ef;
  border-radius:18px;
  background:#fff;
  color:#111827;
}

/* PCB server-rendered transparent SVG layer stack */
.pcb-server-layer-view .pcb-server-layer-stack {
  position:relative;
  width:min(100%, 1180px);
  min-width:720px;
  min-height:620px;
  display:grid;
  place-items:center;
  background:#0b1020;
}
.pcb-server-layer-view .pcb-server-svg-layer {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:screen;
  pointer-events:none;
}
.pcb-server-layer-view .maker-viewer-loading,
.pcb-server-layer-view .maker-viewer-error {
  position:relative;
  z-index:100;
  max-width:720px;
  padding:22px 24px;
  border:1px solid rgba(250,204,21,.24);
  border-radius:18px;
  background:rgba(15,23,42,.82);
  color:#e5e7eb;
}
@media (max-width:760px) {
  .pcb-server-layer-view .pcb-server-layer-stack { min-width:760px; min-height:520px; }
}

/* Documents Viewer multi-file switcher patch */
.document-viewer-slot .maker-viewer-head span[data-doc-current] {
  max-width:min(62vw, 720px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-file-switcher {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 14px;
  background:#0d1117;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.document-file-tab {
  max-width:260px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#dbeafe;
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
  font-weight:800;
}
.document-file-tab.active {
  background:#ffd43b;
  border-color:#ffd43b;
  color:#111827;
}
.document-file-name {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-download,
.document-current-download {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  min-height:30px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.1);
  color:#fff;
  border-radius:999px;
  padding:6px 9px;
  text-decoration:none;
  font-weight:900;
}
.document-current-download { margin-left:auto; }
.document-docx-rendered {
  width:min(900px, calc(100% - 48px));
  min-height:620px;
  margin:24px auto;
  padding:34px;
  background:#fff;
  color:#111827;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  line-height:1.7;
}
.document-tabs {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  width:100%;
  padding:10px;
  background:#f8fafc;
  border-bottom:1px solid #dbe3ef;
}
.document-tabs button {
  border:1px solid #dbe3ef;
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:#111827;
  cursor:pointer;
}
.document-tabs button.active { background:#2563eb; color:#fff; border-color:#2563eb; }
.document-sheet-panel {
  display:none;
  width:100%;
  min-height:620px;
  padding:16px;
  overflow:auto;
  background:#fff;
  color:#111827;
}
.document-sheet-panel.active { display:block; }
.document-sheet-panel table { border-collapse:collapse; width:max-content; min-width:100%; font-size:13px; }
.document-sheet-panel td,
.document-sheet-panel th { border:1px solid #dbe3ef; padding:6px 8px; white-space:pre-wrap; }
.document-ppt-outline {
  width:min(900px, calc(100% - 48px));
  margin:24px auto;
  display:grid;
  gap:14px;
}
.document-slide {
  border:1px solid #dbe3ef;
  border-radius:18px;
  padding:18px;
  background:#fff;
  color:#111827;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.document-server-needed { width:min(760px, calc(100% - 48px)); margin:24px auto; }
.document-viewer-slot .document-viewer-stage > iframe,
.document-viewer-slot .document-docx-rendered,
.document-viewer-slot .document-ppt-outline,
.document-viewer-slot .document-sheet-panel table {
  transform:scale(var(--doc-zoom, 1)) rotate(var(--doc-rotate, 0deg));
  transform-origin:top center;
}
@media (max-width: 720px) {
  .document-file-tab { max-width:calc(100% - 42px); }
  .document-viewer-toolbar { align-items:flex-start; }
  .document-current-download { margin-left:0; }
}

/* Gerber server-rendered transparent SVG layer stack */
.gerber-server-layer-stack { position:relative; width:min(100%,1180px); min-width:720px; min-height:620px; background:#0b1020; }
.gerber-server-svg-layer { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; mix-blend-mode:screen; pointer-events:none; }
.gerber-server-layer-stack .maker-viewer-loading,.gerber-server-layer-stack .maker-viewer-error{position:relative;z-index:100;margin:24px;padding:22px 24px;border:1px solid rgba(250,204,21,.24);border-radius:18px;background:rgba(15,23,42,.82);color:#e5e7eb;}

/* Documents Viewer controls */
.document-file-switcher .document-download { display:none; }
.document-current-download {
  max-width:min(52vw, 520px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.document-viewer-slot.viewer-fixed .document-viewer-stage { pointer-events:none; }
.document-viewer-slot .document-lock-shield { border-radius:0 0 24px 24px; }
.document-viewer-slot > .document-lock-button.viewer-fix-bullet,
.document-lock-scope > .document-lock-button.viewer-fix-bullet {
  top:auto;
  left:auto;
  right:14px;
  bottom:14px;
  min-width:92px;
}
.document-viewer-slot > .document-lock-button.viewer-fix-bullet.active,
.document-lock-scope > .document-lock-button.viewer-fix-bullet.active {
  background:rgba(15,23,42,.82);
  color:#f8fafc;
  border-color:rgba(255,255,255,.18);
}
.document-pdf-object {
  width:100%;
  min-height:680px;
  border:0;
  background:#fff;
}
.document-pdf-object iframe { width:100%; min-height:680px; border:0; }
.viewer-fix-bullet { font-size:11px; }

/* Circuit reader controls */
.viewer-fix-scope > .viewer-fix-bullet,
.maker-viewer-slot.viewer-fix-scope > .viewer-fix-bullet,
.cad-live-viewer .viewer-fix-bullet,
.three-d-viewer-slot .viewer-fix-bullet,
.maker-3d-viewer .viewer-fix-bullet {
  top:auto;
  left:auto;
  right:14px;
  bottom:14px;
  z-index:2147483000;
}
.circuit-reader-downloads-only .circuit-toggle-group,
.circuit-toggle-group {
  display:none;
}
.circuit-reader-downloads-only {
  justify-content:flex-end;
  min-height:0;
  padding:6px 12px;
}
.circuit-reader-downloads-only .circuit-downloads { margin-left:auto; }
.pcb-server-layer-view .viewer-layer-sidebar label span b,
.pcb-server-layer-view .viewer-layer-sidebar label span em { text-transform:none; }


/* Circuit layer UX fixes: Gerber uses one combined SVG canvas; PCB layer controls are neutral toggles. */
.gerber-server-layer-stack { display:grid; place-items:center; overflow:auto; }
.gerber-server-layer-stack .gerber-combined-svg { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; display:block; }
.gerber-server-layer-stack .gerber-combined-svg [data-server-layer] { mix-blend-mode:normal; }
.gerber-layer-controls .layer-swatch { background:var(--layer-color) !important; border-color:var(--layer-color) !important; box-shadow:0 0 0 2px color-mix(in srgb, var(--layer-color) 28%, transparent) !important; }
.pcb-layer-controls-neutral .pcb-layer-item { --layer-color:transparent !important; }
.pcb-layer-controls-neutral .layer-swatch { display:none !important; }
.pcb-layer-controls-neutral .layer-check-icon { width:14px; height:14px; border-radius:4px; border:1px solid rgba(226,232,240,.7); background:rgba(15,23,42,.74); display:inline-grid; place-items:center; flex:0 0 auto; }
.pcb-layer-controls-neutral input:checked + .layer-check-icon::after { content:'✓'; color:#e5e7eb; font-size:10px; font-weight:900; line-height:1; }
.pcb3d-server-shell { position:relative; }
.pcb3d-nav-cube { position:absolute; right:14px; bottom:14px; z-index:40; display:grid; grid-template-columns:1fr; gap:4px; padding:7px; border:1px solid rgba(148,163,184,.32); border-radius:12px; background:rgba(15,23,42,.72); box-shadow:0 14px 32px rgba(0,0,0,.25); backdrop-filter:blur(10px); }
.pcb3d-nav-cube button { width:42px; height:28px; border-radius:8px; border:1px solid rgba(226,232,240,.22); background:rgba(255,255,255,.08); color:#e5e7eb; font-size:10px; font-weight:900; cursor:pointer; }
.pcb3d-nav-cube button:hover { background:#ffd43b; color:#111827; }

/* 2026-05-16 circuit viewer fixes: one checkbox visual, transparent lock shield, PCB3D nav cube, Gerber combined SVG */
.viewer-layer-sidebar label,
.pcb-layer-controls label,
.gerber-layer-controls label {
  position:relative !important;
  grid-template-columns:14px minmax(0, 1fr) !important;
}
.viewer-layer-sidebar label > input[type="checkbox"],
.pcb-layer-controls label > input[type="checkbox"],
.gerber-layer-controls label > input[type="checkbox"] {
  position:absolute !important;
  inline-size:1px !important;
  block-size:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  margin:0 !important;
}
.viewer-layer-sidebar label > .layer-swatch,
.pcb-layer-controls label > .layer-swatch,
.gerber-layer-controls label > .layer-swatch {
  grid-column:1 !important;
  position:relative;
  width:13px !important;
  height:13px !important;
  border-radius:999px !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.14), 0 0 16px color-mix(in srgb, var(--layer-color, #ffd43b), transparent 42%) !important;
}
.viewer-layer-sidebar label > input[type="checkbox"]:checked + .layer-swatch::after,
.pcb-layer-controls label > input[type="checkbox"]:checked + .layer-swatch::after,
.gerber-layer-controls label > input[type="checkbox"]:checked + .layer-swatch::after {
  content:"✓";
  position:absolute;
  inset:-3px;
  display:grid;
  place-items:center;
  color:#020617;
  font-size:10px;
  font-weight:1000;
}
.viewer-layer-sidebar label > span:not(.layer-swatch),
.pcb-layer-controls label > span:not(.layer-swatch),
.gerber-layer-controls label > span:not(.layer-swatch) { grid-column:2 !important; }
.viewer-fix-shield,
.viewer-fixed .viewer-fix-shield {
  background:transparent !important;
  border:0 !important;
  pointer-events:auto !important;
}
.viewer-fix-shield span {
  align-self:end !important;
  margin-bottom:14px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.72) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.pcb3d-cad-nav { right:14px !important; bottom:14px !important; top:auto !important; z-index:80 !important; }
.pcb3d-cad-nav .viewer-floating-tools { justify-content:center !important; }
.gerber-server-layer-stack { display:grid !important; place-items:center !important; overflow:hidden !important; }
.gerber-combined-svg { width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; display:block !important; background:#0b1020 !important; }
.gerber-combined-svg [data-server-layer][hidden],
.gerber-combined-svg [data-server-layer][style*="display: none"] { display:none !important; }

/* PCB 3D CAD navigation cube belongs at top-right like conventional CAD apps */
.pcb3d-cad-nav,
.pcb3d-three-shell .step-viewer-nav.cad-nav-cube-panel,
.pcb3d-server-shell .step-viewer-nav.cad-nav-cube-panel {
  top:14px !important;
  right:14px !important;
  bottom:auto !important;
  left:auto !important;
  z-index:90 !important;
}

/* Viewer lock/unlock button placement: keep it away from headers, layer sidebars, and toolbar controls. */
.viewer-fix-scope > .viewer-fix-bullet,
.maker-viewer-slot.viewer-fix-scope > .viewer-fix-bullet,
.cad-live-viewer .viewer-fix-bullet,
.three-d-viewer-slot .viewer-fix-bullet,
.maker-3d-viewer .viewer-fix-bullet,
.document-viewer-slot > .document-lock-button.viewer-fix-bullet,
.document-lock-scope > .document-lock-button.viewer-fix-bullet {
  top:auto !important;
  left:auto !important;
  right:14px !important;
  bottom:14px !important;
  z-index:2147483000 !important;
}
.pcb3d-nav-cube { bottom:58px !important; right:14px !important; }

/* FreeCAD-inspired Navigation Cube for PCB 3D (Three.js reimplementation).
   FreeCAD source reviewed: src/Gui/NaviCube.cpp and src/Gui/Inventor/SoNaviCube.cpp.
   We reimplement the interaction model (face/edge/corner canonical views + camera-relative cube), not a direct code copy. */
.freecad-navcube-panel {
  position:absolute !important; top:14px !important; right:14px !important; bottom:auto !important; left:auto !important;
  z-index:120 !important; display:flex !important; align-items:center !important; gap:10px !important; padding:10px !important;
  border:1px solid rgba(148,163,184,.24) !important; border-radius:20px !important; background:rgba(6,10,22,.72) !important;
  box-shadow:0 20px 45px rgba(0,0,0,.34) !important; backdrop-filter:blur(12px) !important;
}
.freecad-navcube { position:relative; width:136px; height:122px; perspective:620px; overflow:visible; }
.freecad-cube-stage { position:absolute; left:42px; top:26px; width:52px; height:52px; transform-style:preserve-3d; transition:transform .12s linear; }
.freecad-cube-stage button,.freecad-navcube button { cursor:pointer; user-select:none; font-family:ui-sans-serif,system-ui,sans-serif; }
.navcube-face { position:absolute !important; inset:0 !important; display:grid !important; place-items:center !important; width:52px !important; height:52px !important; min-width:0 !important; padding:0 !important; margin:0 !important; border:1px solid rgba(51,65,85,.58) !important; border-radius:8px !important; background:linear-gradient(145deg,#f8fafc,#cbd5e1) !important; color:#172033 !important; font-size:9px !important; font-weight:950 !important; line-height:1 !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 18px rgba(0,0,0,.22) !important; backface-visibility:hidden; }
.navcube-top { transform:rotateX(90deg) translateZ(26px); background:linear-gradient(145deg,#ffffff,#dbeafe) !important; }
.navcube-bottom { transform:rotateX(-90deg) translateZ(26px); }
.navcube-front { transform:translateZ(26px); background:linear-gradient(145deg,#fef3c7,#facc15) !important; }
.navcube-rear { transform:rotateY(180deg) translateZ(26px); }
.navcube-right { transform:rotateY(90deg) translateZ(26px); background:linear-gradient(145deg,#e2e8f0,#64748b) !important; color:#f8fafc !important; writing-mode:vertical-rl; }
.navcube-left { transform:rotateY(-90deg) translateZ(26px); writing-mode:vertical-rl; }
.navcube-chip,.navcube-orbit,.navcube-home { position:absolute !important; display:grid !important; place-items:center !important; min-width:0 !important; padding:0 !important; margin:0 !important; border:1px solid rgba(255,255,255,.24) !important; box-sizing:border-box !important; z-index:8 !important; }
.navcube-chip { background:rgba(250,204,21,.70) !important; border-color:rgba(250,204,21,.92) !important; color:transparent !important; box-shadow:0 8px 18px rgba(0,0,0,.22) !important; }
.navcube-edge { width:42px !important; height:9px !important; border-radius:999px !important; }
.e-top-front { left:46px; top:28px; }
.e-top-right { left:82px; top:41px; transform:rotate(58deg); }
.e-front-right { left:83px; top:69px; transform:rotate(-58deg); }
.navcube-corner { width:16px !important; height:16px !important; border-radius:999px !important; }
.c-top-front-right { left:80px; top:35px; }
.navcube-orbit,.navcube-home { width:24px !important; height:24px !important; border-radius:999px !important; background:rgba(15,23,42,.92) !important; color:#f8fafc !important; font-size:12px !important; font-weight:900 !important; }
.o-up { left:56px; top:0; } .o-down { left:56px; bottom:0; } .o-left { left:0; top:50px; } .o-right { right:0; top:50px; } .navcube-home { right:4px; bottom:4px; }
.freecad-navcube button:hover,.freecad-navcube button:focus-visible,.freecad-navcube-panel .viewer-floating-tools button:hover,.freecad-navcube-panel .viewer-floating-tools button:focus-visible { background:#ffd43b !important; color:#111827 !important; outline:2px solid rgba(255,255,255,.92) !important; z-index:20 !important; }
.freecad-navcube-panel .viewer-floating-tools { display:flex !important; flex-direction:column !important; gap:7px !important; width:54px !important; }
.freecad-navcube-panel .viewer-floating-tools button { position:relative !important; width:54px !important; height:30px !important; border-radius:999px !important; border:1px solid rgba(255,255,255,.22) !important; background:rgba(15,23,42,.92) !important; color:#f8fafc !important; font-weight:900 !important; }

/* NavCube layout revision: integrated Fit, author-view return, ISO home, and help. */
.freecad-navcube-panel .viewer-floating-tools { display:none !important; }
.freecad-navcube { width:150px !important; height:126px !important; }
.freecad-cube-stage { left:49px !important; top:28px !important; }
.navcube-fit,
.navcube-author,
.navcube-help,
.navcube-home {
  position:absolute !important;
  display:grid !important;
  place-items:center !important;
  min-width:0 !important;
  width:32px !important;
  height:24px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:rgba(15,23,42,.92) !important;
  color:#f8fafc !important;
  font-size:11px !important;
  font-weight:950 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.24) !important;
  z-index:18 !important;
}
.navcube-author { left:4px !important; top:4px !important; }
.navcube-fit { right:4px !important; top:4px !important; }
.navcube-home { left:4px !important; bottom:4px !important; }
.navcube-help { right:4px !important; bottom:4px !important; }
.navcube-help-popover {
  position:absolute;
  right:0;
  top:32px;
  width:190px;
  display:none;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(15,23,42,.94);
  color:#f8fafc;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
  box-shadow:0 16px 34px rgba(0,0,0,.34);
  z-index:30;
}
.navcube-help:hover + .navcube-help-popover,
.navcube-help:focus + .navcube-help-popover,
.navcube-help-popover:hover { display:block; }
.freecad-navcube .navcube-home { font-size:13px !important; }

/* Explicit corner resets for navcube action bullets. */
.navcube-author { left:4px !important; top:4px !important; right:auto !important; bottom:auto !important; }
.navcube-fit { right:4px !important; top:4px !important; left:auto !important; bottom:auto !important; }
.navcube-home { left:4px !important; bottom:4px !important; right:auto !important; top:auto !important; }
.navcube-help { right:4px !important; bottom:4px !important; left:auto !important; top:auto !important; }

/* Full 26-zone FreeCAD-style navcube hit map. */
.freecad-navcube .navcube-edge,
.freecad-navcube .navcube-corner { opacity:.82 !important; }
/* 12 edges around the visible cube footprint. Hidden-side edges are smaller but still clickable. */
.e-top-front { left:50px !important; top:29px !important; transform:none !important; }
.e-top-rear { left:50px !important; top:16px !important; transform:none !important; opacity:.45 !important; }
.e-bottom-front { left:50px !important; top:86px !important; transform:none !important; }
.e-bottom-rear { left:50px !important; top:99px !important; transform:none !important; opacity:.45 !important; }
.e-top-right { left:88px !important; top:41px !important; transform:rotate(58deg) !important; }
.e-top-left { left:22px !important; top:41px !important; transform:rotate(-58deg) !important; }
.e-bottom-right { left:88px !important; top:76px !important; transform:rotate(-58deg) !important; }
.e-bottom-left { left:22px !important; top:76px !important; transform:rotate(58deg) !important; }
.e-front-right { left:94px !important; top:58px !important; transform:rotate(90deg) !important; }
.e-front-left { left:13px !important; top:58px !important; transform:rotate(90deg) !important; }
.e-rear-right { left:106px !important; top:58px !important; transform:rotate(90deg) !important; opacity:.45 !important; }
.e-rear-left { left:1px !important; top:58px !important; transform:rotate(90deg) !important; opacity:.45 !important; }
/* 8 corners */
.c-top-front-right { left:89px !important; top:33px !important; }
.c-top-front-left { left:43px !important; top:33px !important; }
.c-top-rear-right { left:89px !important; top:15px !important; opacity:.45 !important; }
.c-top-rear-left { left:43px !important; top:15px !important; opacity:.45 !important; }
.c-bottom-front-right { left:89px !important; top:82px !important; }
.c-bottom-front-left { left:43px !important; top:82px !important; }
.c-bottom-rear-right { left:89px !important; top:100px !important; opacity:.45 !important; }
.c-bottom-rear-left { left:43px !important; top:100px !important; opacity:.45 !important; }
.freecad-navcube .navcube-edge:hover,
.freecad-navcube .navcube-corner:hover,
.freecad-navcube .navcube-edge:focus-visible,
.freecad-navcube .navcube-corner:focus-visible { opacity:1 !important; }

/* NavCube visual correction: edge/corner hit zones should look like cube edges, not yellow debug bars. */
.freecad-navcube .navcube-chip {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:transparent !important;
  opacity:1 !important;
}
.freecad-navcube .navcube-edge,
.freecad-navcube .navcube-corner {
  overflow:visible !important;
}
.freecad-navcube .navcube-edge::after {
  content:'';
  position:absolute;
  left:5px;
  right:5px;
  top:50%;
  height:2px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg, rgba(248,250,252,.92), rgba(148,163,184,.78));
  box-shadow:0 0 0 1px rgba(15,23,42,.20), 0 1px 3px rgba(0,0,0,.26);
  pointer-events:none;
}
.freecad-navcube .navcube-corner::after {
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  transform:translate(-50%,-50%);
  border-radius:2px;
  background:rgba(248,250,252,.90);
  box-shadow:0 0 0 1px rgba(51,65,85,.54), 0 1px 4px rgba(0,0,0,.30);
  pointer-events:none;
}
.freecad-navcube .navcube-edge:hover::after,
.freecad-navcube .navcube-edge:focus-visible::after,
.freecad-navcube .navcube-corner:hover::after,
.freecad-navcube .navcube-corner:focus-visible::after {
  background:#ffd43b;
  box-shadow:0 0 0 1px rgba(255,255,255,.88), 0 0 10px rgba(250,204,21,.40);
}
.freecad-navcube .e-top-rear::after,
.freecad-navcube .e-bottom-rear::after,
.freecad-navcube .e-rear-right::after,
.freecad-navcube .e-rear-left::after,
.freecad-navcube .c-top-rear-right::after,
.freecad-navcube .c-top-rear-left::after,
.freecad-navcube .c-bottom-rear-right::after,
.freecad-navcube .c-bottom-rear-left::after {
  opacity:.42;
}


/* Makers Codex brand refresh */
.brand .logo-mark {
  width:2.55em !important;
  height:1.08em !important;
  min-width:2.55em !important;
  border-radius:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:inherit !important;
}
.brand .logo-mark img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  transform:none !important;
}
html[data-theme="dark"] .brand .logo-mark,
html[data-theme="light"] .brand .logo-mark { background:transparent !important; }
.hero-title-row .studio-git-flow {
  --hub-word-size:clamp(42px, 4.3vw, 64px);
  --hub-word-weight:850;
}
.hero-title-row .studio-git-flow > .studio-codex-link {
  gap:.18em !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link .studio-git-mark {
  display:none !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  display:inline-block;
  font-size:.34em !important;
  line-height:.95 !important;
  font-weight:820 !important;
  letter-spacing:-.035em !important;
  color:var(--muted);
  transform:translateY(-.08em);
}
.hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  font-size:1em !important;
  line-height:.82 !important;
  font-weight:900 !important;
  letter-spacing:-.07em !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link:hover .codex-to-my,
.hero-title-row .studio-git-flow > .studio-codex-link.active .codex-to-my,
.hero-title-row .studio-git-flow > .studio-codex-link:hover .codex-word,
.hero-title-row .studio-git-flow > .studio-codex-link.active .codex-word { color:#a16207; }
@media (max-width:720px) {
  .brand .logo-mark { width:2.35em !important; height:1em !important; min-width:2.35em !important; }
  .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my { font-size:.36em !important; }
}


/* Codex flow: reusable text chevrons + bottom-line alignment */
.hero-title-row {
  align-items:flex-end !important;
}
.hero-title-row h1,
.hero-title-row h1 .hero-title-link {
  line-height:.9 !important;
}
.hero-title-row .studio-git-flow {
  align-items:flex-end !important;
  transform:none !important;
}
.hero-title-row .studio-git-flow > .git-chevron-flow {
  display:flex !important;
  align-items:flex-end !important;
  height:auto !important;
  line-height:.9 !important;
  padding-bottom:0 !important;
}
.hero-title-row .studio-git-flow > .git-chevron-flow::before {
  content:none !important;
  display:none !important;
}
.hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
  display:block;
  width:100%;
  max-width:100%;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  font-weight:1000 !important;
  font-size:var(--hub-chevron-size) !important;
  line-height:.78 !important;
  letter-spacing:.045em !important;
  color:transparent;
  background:linear-gradient(90deg, rgba(255,212,59,.18), rgba(255,212,59,.68) 56%, rgba(255,183,3,.94));
  -webkit-background-clip:text;
  background-clip:text;
}
.hero-title-row .studio-git-flow > .studio-codex-link {
  align-items:flex-end !important;
  line-height:.9 !important;
  padding:0 !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  line-height:.95 !important;
  transform:translateY(-.055em) !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  line-height:.78 !important;
}
@media (max-width:720px) {
  .hero-title-row .studio-git-flow { align-items:flex-end !important; }
  .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text { line-height:.82 !important; }
}


/* Codex owner label: username's above Codex */
.hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  max-width:clamp(72px, 16vw, 180px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* Hero identity flow: Maker's Codex >>>> to user's Codex */
.hero-title-row {
  flex-wrap:nowrap !important;
  align-items:flex-end !important;
}
.hero-title-row h1 {
  flex:0 1 auto;
  min-width:0;
}
.hero-title-row .hero-title-link {
  white-space:nowrap;
}
.hero-title-row .studio-git-flow {
  flex:1 1 auto;
  min-width:0 !important;
}
.hero-title-row .studio-git-flow > .git-chevron-flow {
  flex:1 1 auto !important;
  min-width:18px !important;
  margin-left:clamp(6px, 1.4vw, 18px) !important;
  margin-right:clamp(6px, 1.4vw, 18px) !important;
  padding-right:0 !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link {
  flex:0 1 auto !important;
  min-width:0 !important;
}
.hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  max-width:clamp(58px, 14vw, 170px);
}
@media (max-width:720px) {
  .hero-title-row {
    display:grid !important;
    grid-template-columns:minmax(0, auto) minmax(22px, 1fr) minmax(0, auto);
    column-gap:6px;
    row-gap:2px;
    align-items:end !important;
  }
  .hero-title-row h1 {
    grid-column:1;
    min-width:0;
  }
  .hero-title-row .hero-title-link {
    font-size:clamp(38px, 10vw, 58px);
    letter-spacing:-.105em;
  }
  .hero-title-row .studio-git-flow {
    grid-column:2 / 4;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:minmax(18px, 1fr) auto;
    align-items:end !important;
    gap:6px !important;
  }
  .hero-title-row .studio-git-flow > .git-chevron-flow {
    margin:0 !important;
    min-width:18px !important;
  }
  .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
    font-size:clamp(10px, 3.2vw, 16px) !important;
    letter-spacing:.02em !important;
    line-height:.78 !important;
  }
  .hero-title-row .studio-git-flow > .studio-codex-link {
    gap:.11em !important;
  }
  .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:clamp(48px, 18vw, 92px);
    font-size:.30em !important;
  }
  .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
    font-size:clamp(27px, 8.8vw, 42px) !important;
  }
}
@media (max-width:430px) {
  .hero-title-row .hero-title-link {
    font-size:clamp(34px, 9.4vw, 44px);
  }
  .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:54px;
  }
  .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
    font-size:29px !important;
  }
}


/* Hero kicker: OPEN / MAKER / COMMUNITY >>> aligned to title height */
.hero-identity-row {
  display:grid;
  grid-template-columns:max-content minmax(0, 1fr);
  align-items:end;
  column-gap:clamp(14px, 2.4vw, 34px);
}
.hero-kicker {
  margin:0 0 .12em;
  display:grid;
  grid-template-rows:repeat(3, 1fr);
  justify-content:start;
  min-height:clamp(58px, 5.7vw, 86px);
  color:#a16207;
  text-transform:uppercase;
  font-size:clamp(11px, .72vw, 15px);
  line-height:.9;
  font-weight:950;
  letter-spacing:.18em;
}
.hero-kicker span {
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.hero-kicker .community-line {
  gap:.45em;
}
.hero-kicker .community-line b {
  display:inline-block;
  max-width:clamp(72px, 11vw, 220px);
  overflow:hidden;
  white-space:nowrap;
  color:transparent;
  background:linear-gradient(90deg, rgba(255,183,3,.9), rgba(255,212,59,.45), rgba(255,212,59,0));
  -webkit-background-clip:text;
  background-clip:text;
  letter-spacing:.08em;
  font-weight:1000;
}
.hero-movement-lead {
  max-width:760px;
  margin-top:clamp(14px, 1.4vw, 20px);
  font-weight:650;
}
@media (max-width:720px) {
  .hero-identity-row {
    display:block;
  }
  .hero-kicker {
    min-height:0;
    margin:0 0 10px;
    gap:2px;
    font-size:11px;
    line-height:1;
    letter-spacing:.16em;
  }
  .hero-kicker span {
    align-items:flex-start;
  }
  .hero-kicker .community-line b {
    max-width:96px;
  }
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .hero-movement-lead {
    display:block;
    max-width:780px;
  }
}


/* Community identity replaces visible Maker's Codex title */
.hero-title-sr {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.hero-identity-row.community-codex-flow {
  grid-template-columns:max-content minmax(0, 1fr) !important;
  align-items:end !important;
}
.community-codex-flow .hero-kicker {
  min-height:clamp(58px, 5.4vw, 82px);
  margin:0 !important;
}
.community-codex-flow .hero-kicker .community-line b {
  display:none !important;
}
.community-codex-flow .hero-title-row {
  display:flex !important;
  min-width:0;
  align-items:flex-end !important;
}
.community-codex-flow .hero-title-row .studio-git-flow {
  width:100%;
  flex:1 1 auto;
  display:grid !important;
  grid-template-columns:minmax(80px, 1fr) max-content;
  align-items:end !important;
  column-gap:clamp(10px, 1.6vw, 24px);
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
  min-width:80px !important;
  margin:0 !important;
  padding:0 !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
  min-width:max-content !important;
  flex:0 0 auto !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  max-width:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
@media (min-width:981px) and (min-aspect-ratio: 8 / 9) {
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    font-size:.30em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
    font-size:clamp(42px, 3.7vw, 58px) !important;
  }
}
@media (max-width:720px) {
  .hero-identity-row.community-codex-flow {
    display:block !important;
  }
  .community-codex-flow .hero-title-row {
    margin-top:8px;
  }
  .community-codex-flow .hero-title-row .studio-git-flow {
    grid-template-columns:minmax(24px, 1fr) max-content;
    column-gap:6px;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
    min-width:24px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:clamp(58px, 22vw, 110px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* Community line flow: COMMUNITY >>>> log in/to user's Codex baseline */
.hero-identity-row.community-codex-flow {
  --community-flow-font:clamp(11px, .72vw, 15px);
  align-items:end !important;
}
.community-codex-flow .hero-kicker {
  font-size:var(--community-flow-font) !important;
  line-height:.9 !important;
  letter-spacing:.18em !important;
}
.community-codex-flow .hero-kicker span {
  height:1em;
  line-height:.9 !important;
  align-items:flex-end !important;
}
.community-codex-flow .hero-title-row {
  align-self:end !important;
  transform:translateY(-.02em);
}
.community-codex-flow .hero-title-row .studio-git-flow {
  --hub-chevron-size:var(--community-flow-font) !important;
  align-items:end !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
  align-self:end !important;
  align-items:flex-end !important;
  line-height:.9 !important;
  height:1em !important;
  transform:none !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
  font-size:var(--community-flow-font) !important;
  line-height:.9 !important;
  letter-spacing:.18em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
  align-items:flex-end !important;
  gap:.18em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  font-size:var(--community-flow-font) !important;
  line-height:.9 !important;
  letter-spacing:-.02em !important;
  transform:translateY(-.05em) !important;
  font-weight:900 !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  line-height:.78 !important;
}
@media (max-width:720px) {
  .hero-identity-row.community-codex-flow {
    --community-flow-font:11px;
  }
  .community-codex-flow .hero-title-row .studio-git-flow {
    grid-template-columns:minmax(24px, 1fr) max-content;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
    letter-spacing:.12em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:clamp(82px, 30vw, 140px) !important;
  }
}


/* OPEN MAKER COMMUNITY acts as home link; auth bullets removed from logged-out nav */
.hero-community-link {
  color:#a16207;
  text-decoration:none;
  cursor:pointer;
}
.hero-community-link:hover {
  color:#854d0e;
}
.hero-community-link:focus-visible {
  outline:3px solid rgba(255,183,3,.65);
  outline-offset:5px;
  border-radius:10px;
}
.nav .links:empty {
  display:none;
}


/* Bold responsive hero + top nav alignment */
.nav {
  align-items:flex-start !important;
}
.nav .links {
  margin-left:auto !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  padding-top:0 !important;
}
.nav-button,
.theme-toggle {
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
}
.hero-identity-row.community-codex-flow {
  --community-flow-font:clamp(19px, 1.45vw, 31px);
  --codex-word-hero:clamp(76px, 7.2vw, 132px);
  display:grid !important;
  grid-template-columns:max-content minmax(0, 1fr) !important;
  column-gap:clamp(22px, 3.4vw, 64px) !important;
  align-items:end !important;
}
.community-codex-flow .hero-kicker {
  min-height:calc(var(--community-flow-font) * 3.15) !important;
  font-size:var(--community-flow-font) !important;
  line-height:.86 !important;
  letter-spacing:.22em !important;
  font-weight:1000 !important;
}
.community-codex-flow .hero-kicker span {
  height:1em !important;
  line-height:.86 !important;
  align-items:flex-end !important;
}
.community-codex-flow .hero-title-row {
  min-width:0 !important;
  width:100% !important;
  align-self:end !important;
}
.community-codex-flow .hero-title-row .studio-git-flow {
  --hub-chevron-size:var(--community-flow-font) !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(160px, 1fr) max-content !important;
  column-gap:clamp(16px, 2.2vw, 40px) !important;
  align-items:end !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
  min-width:160px !important;
  height:1em !important;
  align-items:flex-end !important;
  overflow:hidden !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
  font-size:var(--community-flow-font) !important;
  line-height:.86 !important;
  letter-spacing:.22em !important;
  font-weight:1000 !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
  min-width:max-content !important;
  align-items:flex-end !important;
  gap:.22em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  font-size:var(--community-flow-font) !important;
  line-height:.86 !important;
  font-weight:1000 !important;
  max-width:none !important;
  overflow:visible !important;
  white-space:nowrap !important;
  transform:translateY(-.12em) !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  font-size:var(--codex-word-hero) !important;
  line-height:.72 !important;
  letter-spacing:-.085em !important;
  font-weight:1000 !important;
}
.hero-movement-lead {
  margin-top:clamp(18px, 2vw, 34px) !important;
}
@media (max-width:720px) {
  .nav {
    flex-direction:row !important;
    align-items:flex-start !important;
  }
  .nav .links {
    margin-left:auto !important;
    display:flex !important;
    flex-wrap:wrap;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    gap:8px !important;
    max-width:55%;
  }
  .nav-button,
  .theme-toggle {
    min-height:32px !important;
    padding:7px 10px !important;
  }
  .hero-identity-row.community-codex-flow {
    --community-flow-font:clamp(15px, 4.2vw, 20px);
    --codex-word-hero:clamp(54px, 15vw, 78px);
    display:grid !important;
    grid-template-columns:max-content minmax(0, 1fr) !important;
    column-gap:clamp(12px, 3vw, 20px) !important;
    align-items:end !important;
  }
  .community-codex-flow .hero-kicker {
    min-height:calc(var(--community-flow-font) * 3.2) !important;
    margin:0 !important;
    gap:0 !important;
  }
  .community-codex-flow .hero-title-row {
    margin-top:0 !important;
    min-width:0 !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow {
    grid-template-columns:minmax(20px, 1fr) max-content !important;
    column-gap:7px !important;
    min-width:0 !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
    min-width:20px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
    letter-spacing:.10em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
    min-width:0 !important;
    max-width:100% !important;
    gap:.14em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:clamp(72px, 26vw, 126px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    transform:translateY(-.13em) !important;
  }
}
@media (max-width:430px) {
  .hero-identity-row.community-codex-flow {
    --community-flow-font:14px;
    --codex-word-hero:50px;
    column-gap:10px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow {
    grid-template-columns:minmax(14px, 1fr) max-content !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:70px !important;
  }
}


/* Hero scale correction + single-row nav controls */
.nav .links {
  margin-left:auto !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  max-width:none !important;
  white-space:nowrap !important;
}
.nav-button,
.theme-toggle {
  white-space:nowrap !important;
  flex:0 0 auto !important;
  min-height:32px !important;
  height:32px !important;
  padding:7px 11px !important;
}
.hero-identity-row.community-codex-flow {
  --community-flow-font:clamp(15px, 1.08vw, 23px) !important;
  --codex-word-hero:clamp(58px, 5.35vw, 98px) !important;
  column-gap:clamp(18px, 2.8vw, 50px) !important;
}
.community-codex-flow .hero-kicker {
  letter-spacing:.20em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow {
  grid-template-columns:minmax(120px, 1fr) max-content !important;
  column-gap:clamp(12px, 1.75vw, 30px) !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
  min-width:120px !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
  letter-spacing:.16em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  font-size:var(--community-flow-font) !important;
  transform:translateY(-.10em) !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  font-size:var(--codex-word-hero) !important;
  line-height:.74 !important;
  letter-spacing:-.082em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word::first-letter {
  font-size:1.13em;
  letter-spacing:-.105em;
}
@media (max-width:720px) {
  .nav {
    flex-direction:row !important;
    align-items:flex-start !important;
  }
  .nav .links {
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:7px !important;
    max-width:calc(100vw - 190px) !important;
  }
  .nav-button,
  .theme-toggle {
    height:31px !important;
    min-height:31px !important;
    padding:6px 9px !important;
    font-size:12px !important;
  }
  .hero-identity-row.community-codex-flow {
    --community-flow-font:clamp(12px, 3.35vw, 16px) !important;
    --codex-word-hero:clamp(42px, 12.4vw, 60px) !important;
    column-gap:clamp(9px, 2.4vw, 16px) !important;
  }
  .community-codex-flow .hero-kicker {
    letter-spacing:.18em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow {
    grid-template-columns:minmax(18px, 1fr) max-content !important;
    column-gap:6px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
    min-width:18px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow .chevron-text {
    letter-spacing:.08em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:clamp(62px, 24vw, 110px) !important;
    transform:translateY(-.10em) !important;
  }
}
@media (max-width:430px) {
  .nav .links {
    max-width:calc(100vw - 176px) !important;
    gap:6px !important;
  }
  .nav-button,
  .theme-toggle {
    padding:6px 8px !important;
    font-size:11px !important;
  }
  .hero-identity-row.community-codex-flow {
    --community-flow-font:12px !important;
    --codex-word-hero:43px !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
    max-width:58px !important;
  }
}


/* Final nav lock: brand left, controls top-right on the same baseline */
.hero.compact-hero,
.hero {
  position:relative !important;
}
.hero.compact-hero .nav {
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:34px !important;
}
.hero.compact-hero .nav .brand {
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  z-index:2;
}
.hero.compact-hero .nav .links {
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  height:34px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  width:auto !important;
  max-width:calc(100vw - 190px) !important;
  white-space:nowrap !important;
  z-index:3;
}
.hero.compact-hero .nav .links:empty { display:none !important; }
.hero.compact-hero .nav .links .nav-button,
.hero.compact-hero .nav .links .theme-toggle {
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  margin:0 !important;
  padding:6px 11px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  font-size:12px !important;
}
@media (max-width:720px) {
  .hero.compact-hero .nav {
    min-height:34px !important;
  }
  .hero.compact-hero .nav .brand {
    height:34px !important;
  }
  .hero.compact-hero .nav .links {
    top:0 !important;
    right:0 !important;
    height:34px !important;
    gap:7px !important;
    max-width:calc(100vw - 182px) !important;
  }
  .hero.compact-hero .nav .links .nav-button,
  .hero.compact-hero .nav .links .theme-toggle {
    height:31px !important;
    min-height:31px !important;
    max-height:31px !important;
    padding:6px 9px !important;
    font-size:12px !important;
  }
}
@media (max-width:430px) {
  .hero.compact-hero .nav .links {
    gap:6px !important;
    max-width:calc(100vw - 172px) !important;
  }
  .hero.compact-hero .nav .links .nav-button,
  .hero.compact-hero .nav .links .theme-toggle {
    padding:6px 8px !important;
    font-size:11px !important;
  }
}



/* Codex paint layer: keep the word above surrounding hero UI and prevent C clipping */
.community-codex-flow,
.community-codex-flow .hero-title-row,
.community-codex-flow .hero-title-row .studio-git-flow,
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
  overflow:visible !important;
}
.community-codex-flow .hero-title-row .studio-git-flow {
  isolation:isolate;
}
.community-codex-flow .hero-title-row .studio-git-flow > .git-chevron-flow {
  position:relative;
  z-index:0;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
  position:relative;
  z-index:3;
  isolation:isolate;
  padding-inline-start:.20em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-to-my {
  position:relative;
  z-index:1;
  font-weight:820 !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
  position:relative;
  z-index:4;
  display:inline-block !important;
  overflow:visible !important;
  padding-inline-start:.12em !important;
  margin-inline-start:-.045em !important;
  font-weight:880 !important;
  letter-spacing:-.07em !important;
}
.community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word::first-letter {
  font-size:1.07em !important;
  letter-spacing:-.085em !important;
}
@media (max-width:720px) {
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link {
    padding-inline-start:.16em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word {
    padding-inline-start:.10em !important;
    font-weight:860 !important;
    letter-spacing:-.065em !important;
  }
  .community-codex-flow .hero-title-row .studio-git-flow > .studio-codex-link .codex-word::first-letter {
    font-size:1.06em !important;
  }
}


/* Draft autosave/manual list modal */
.draft-load-backdrop {
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(8px);
}
.draft-load-modal {
  width:min(760px, 96vw);
  max-height:min(760px, 92vh);
  overflow:auto;
  border-radius:28px;
  border:1px solid rgba(120,113,108,.18);
  background:rgba(255,253,244,.98);
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  padding:24px;
  position:relative;
}
.draft-load-close { position:absolute; top:18px; right:18px; }
.draft-load-head { padding-right:84px; margin-bottom:18px; }
.draft-load-head h2 { margin:0 0 6px; letter-spacing:-.045em; }
.draft-load-modal section { margin-top:18px; }
.draft-load-modal h3 { margin:0 0 10px; font-size:16px; letter-spacing:-.02em; }
.draft-load-list { display:grid; gap:10px; }
.draft-load-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 14px;
  border:1px solid rgba(120,113,108,.18);
  border-radius:18px;
  background:rgba(255,255,255,.78);
}
.draft-load-item div:first-child { min-width:0; display:grid; gap:3px; }
.draft-load-item span { color:#a16207; font-size:12px; font-weight:900; }
.draft-load-item strong { color:#292524; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.draft-load-item em { color:#78716c; font-size:12px; font-style:normal; }
.draft-load-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.draft-trash-button {
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(120,113,108,.18);
  background:rgba(255,255,255,.86);
  cursor:pointer;
}
.draft-trash-button:hover { background:#fee2e2; border-color:#fca5a5; }
html[data-theme="dark"] .draft-load-modal { background:rgba(24,24,27,.98); border-color:rgba(255,255,255,.14); }
html[data-theme="dark"] .draft-load-item { background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.12); }
html[data-theme="dark"] .draft-load-item strong { color:#f8fafc; }
@media (max-width:720px) {
  .draft-load-item { align-items:flex-start; flex-direction:column; }
  .draft-load-actions { width:100%; justify-content:flex-end; }
}





/* Write header: semantic two-column header, baseline-aligned draft chip */
.write-title-row {
  --write-heading-gap: 6px;
  --draft-chip-gap: 6px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  column-gap:clamp(12px, 3vw, 28px);
  margin:0 0 var(--section-gap, 18px);
}
.write-heading-stack {
  display:grid;
  gap:var(--write-heading-gap);
  min-width:0;
}
.write-heading-stack .eyebrow {
  margin:0;
}
.write-heading-stack h2 {
  margin:0;
  line-height:1;
}
.write-title-row .draft-save-card {
  justify-self:end;
  align-self:end;
  width:auto;
  max-width:100%;
  margin:0;
  padding:6px 8px;
  border-radius:999px;
  box-shadow:0 8px 22px rgba(41,37,36,.07);
}
.write-title-row .draft-save-main {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:var(--draft-chip-gap);
}
.write-title-row .draft-save-main > div:first-child {
  display:flex;
  align-items:center;
  margin:0;
}
.write-title-row .draft-save-title {
  gap:5px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.write-title-row .draft-dot {
  width:7px;
  height:7px;
  box-shadow:0 0 0 3px rgba(251,191,36,.14);
}
.write-title-row .draft-save-copy {
  display:none;
}
.write-title-row .draft-actions {
  display:flex;
  align-items:center;
  gap:var(--draft-chip-gap);
  flex-wrap:nowrap;
}
.write-title-row .draft-actions .button {
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  white-space:nowrap;
}
@media (max-width:560px) {
  .write-title-row {
    grid-template-columns:minmax(0, 1fr);
    row-gap:var(--write-heading-gap);
  }
  .write-title-row .draft-save-card {
    justify-self:end;
  }
}


/* Writer controls: placeholder, tags, attachments, and right-side action stack */
.write-actions-stack {
  justify-self:end;
  align-self:end;
  display:grid;
  justify-items:end;
  gap:8px;
}
.write-actions-stack .fork-enable-card.fork-inline-control {
  width:auto;
  max-width:100%;
  margin:0;
  justify-content:flex-end;
}
.notion-lite-editor > p[data-placeholder]:only-child:has(> br:only-child)::before {
  content:attr(data-placeholder);
  color:var(--muted);
  opacity:.56;
}
.post-form-wide > .editor-help { display:none !important; }
.tag-editor {
  display:grid;
  grid-template-columns:max-content minmax(0, 720px);
  align-items:start;
  gap:8px 12px;
  max-width:900px;
}
.tag-editor > label {
  padding-top:10px;
  font-weight:800;
}
.tag-chipbox {
  min-height:42px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.tag-chipbox input[type="text"] {
  flex:1 1 180px;
  min-width:120px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:5px 0 !important;
  outline:none;
}
.tag-token {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(255,183,3,.35);
  border-radius:999px;
  background:rgba(255,212,59,.18);
  color:#92400e;
  padding:5px 9px;
  font-weight:800;
  cursor:pointer;
}
.tag-trash { display:none; font-size:11px; }
.tag-token:hover .tag-trash { display:inline; }
.tag-suggestions {
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  min-height:26px;
}
.tag-suggestion {
  border:1px dashed rgba(120,113,108,.28);
  border-radius:999px;
  background:rgba(255,255,255,.32);
  color:rgba(68,64,60,.48);
  padding:4px 9px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.tag-suggestion:hover,
.tag-suggestion[data-active="true"] {
  color:#92400e;
  border-style:solid;
  background:rgba(255,212,59,.18);
}
.attachment-footer {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  gap:10px 16px;
  width:100%;
}
.attachment-footer .inline-attachment-list {
  margin:0;
}
.attachment-size-indicator {
  justify-self:end;
  white-space:nowrap;
  padding:8px 0;
  font-weight:800;
}
.attachment-size-indicator.error { color:#dc2626; }
@media (max-width:720px) {
  .write-title-row { grid-template-columns:minmax(0, 1fr) auto; }
  .write-actions-stack { gap:6px; }
  .tag-editor { grid-template-columns:1fr; }
  .tag-suggestions { grid-column:1; }
  .attachment-footer { grid-template-columns:1fr; }
  .attachment-size-indicator { justify-self:start; padding-top:0; }
}
@media (max-width:560px) {
  .write-title-row { grid-template-columns:1fr; }
  .write-actions-stack { justify-self:end; }
}


/* Writer form grid placement for custom controls */
.post-form-wide > .tag-editor,
.post-form-wide > .attachment-footer {
  grid-column:1 / -1;
  width:100%;
}

/* Unified viewer-off attachment cards: every viewer-capable attachment starts as a plain file card with the same pill control. */
.generic-file-info { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.generic-attachment-card .viewer-state-pill { align-self:flex-start; margin-bottom:2px; }
.inline-file-preview.viewer-on,
.local-maker-viewer.viewer-on,
.cad-file-card.viewer-on { border-color:rgba(250,204,21,.55); box-shadow:0 16px 38px rgba(250,204,21,.14); }
