:root{--ddb-canvas: #ffffff;--ddb-surface: #ffffff;--ddb-surface-subtle: #f7f7f5;--ddb-ink: #111318;--ddb-muted: #6f747b;--ddb-border: #e6e7e8;--ddb-border-strong: #c9cdd2;--ddb-accent: #ffc300;--ddb-danger: #d92d20;--ddb-success: #198754;--ddb-font-body: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ddb-font-heading: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ddb-content-max: 1200px;--ddb-article-max: 760px;--ddb-media-max: 960px;--ddb-gutter: 24px;--ddb-radius-control: 6px;--ddb-radius-panel: 8px;--ddb-shadow-float: 0 10px 30px rgba(17, 19, 24, .08);--board-bg: var(--ddb-canvas);--board-surface: var(--ddb-surface);--board-text: var(--ddb-ink);--board-muted: var(--ddb-muted);--board-border: var(--ddb-border);--board-accent: var(--ddb-accent);--board-radius: var(--ddb-radius-panel);--board-width: var(--ddb-content-max);--shadow: none;--font: var(--ddb-font-body)}html,body{background:var(--ddb-canvas)}body{color:var(--ddb-ink);font-family:var(--ddb-font-body)}.topbar{background:#fffffff0;border-bottom-color:var(--ddb-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-inner{max-width:var(--ddb-content-max);padding-inline:var(--ddb-gutter)}.container{max-width:var(--ddb-content-max);padding:40px var(--ddb-gutter) 80px}.panel{box-shadow:none;border-color:var(--ddb-border);border-radius:var(--ddb-radius-panel)}.board-shell{padding:28px}.hero h1,.detail h1,.board-head h2,.admin-content h2,.editor-title{font-family:var(--ddb-font-heading)}.hero h1{font-size:40px;line-height:1.3;letter-spacing:-.04em}.board-head h2{font-size:32px;line-height:1.31;letter-spacing:-.035em}.detail h1{font-size:40px;line-height:1.2;letter-spacing:-.04em}.article{max-width:var(--ddb-article-max);font-size:17px;line-height:1.82}.detail-cover{max-width:var(--ddb-media-max);border-radius:8px}.btn,.nav-tabs button,.search input,.view-switch button,.insert-bar button,.field input,.field select,.field textarea,.tool{border-radius:var(--ddb-radius-control)}.btn{min-height:40px;padding:9px 14px}.btn:not(.primary):not(.accent):not(.ghost){background:var(--ddb-surface)}.btn:hover{border-color:var(--ddb-border-strong)}.search input{min-height:40px}.search input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--ddb-accent) 28%,transparent);outline-offset:1px;border-color:var(--ddb-accent)}.categories{gap:20px}.categories button{border-radius:0}.categories button.active:after{height:2px}.list-row{padding-block:17px}.list-row:hover{background:var(--ddb-surface-subtle)}.list-row:hover .title{text-decoration:none}.badge{border-radius:4px}.card-grid,.gallery-grid{gap:16px}.thumb{border-radius:7px;margin-bottom:12px}.card h3{font-size:17px;line-height:1.4}.acc-btn{min-height:56px}.acc-symbol{border-radius:5px}.data-table tr:hover td{background:var(--ddb-surface-subtle)}.compact{max-width:680px}.editor-page{grid-template-columns:minmax(0,1fr) 312px}.editor-main{padding:28px}.editor-title{font-size:30px;line-height:1.3}.toolbar{background:var(--ddb-surface)}.editor{min-height:520px;font-size:16px;line-height:1.65}.side{box-shadow:none}.setting-row{border-bottom:1px solid var(--ddb-border)}.view-option{box-shadow:none}@media(max-width:767px){:root{--ddb-gutter: 16px}.container{padding-top:28px}.board-shell{padding:18px}.hero h1{font-size:32px;line-height:1.31}.board-head h2{font-size:26px;line-height:1.31}.detail h1{font-size:30px;line-height:1.27}.btn,.search input,.field input,.field select{min-height:44px}.editor-main{padding:18px}.article{font-size:16px;line-height:1.8}}*{box-sizing:border-box}body{margin:0;color:var(--ddb-ink);background:var(--ddb-canvas);font-family:var(--ddb-font-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.shell>aside{border-right:1px solid var(--ddb-border);padding:24px 16px;display:flex;flex-direction:column}.brand{font-size:20px;letter-spacing:-.04em}.shell nav{display:grid;gap:4px;margin-top:40px}.shell nav button,.ghost{background:transparent;border:0;text-align:left;padding:11px 10px;border-radius:6px;color:var(--ddb-ink)}.shell nav button.active,.shell nav button:hover,.ghost:hover{background:var(--ddb-surface-subtle)}.logout{margin-top:auto}main header{height:64px;border-bottom:1px solid var(--ddb-border);display:flex;align-items:center;gap:16px;padding:0 28px}header div{display:grid;gap:2px}small{color:var(--ddb-muted);display:block}select,input,textarea{border:1px solid var(--ddb-border);border-radius:6px;padding:9px;background:var(--ddb-surface);min-height:40px}.content,.viewer,.detail{max-width:var(--ddb-content-max);margin:auto;padding:40px 28px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:28px}.page-head h1{font-size:32px;letter-spacing:-.035em;margin:0}.page-head p,.board-head p{color:var(--ddb-muted)}.admin-table,table{width:100%;border-collapse:collapse}.admin-table th,table th{font-size:12px;color:var(--ddb-muted);font-weight:600;text-align:left}.admin-table th,.admin-table td,table th,table td{border-bottom:1px solid var(--ddb-border);padding:14px 8px}.admin-table td .ghost{display:inline;padding:4px 7px}.danger,.error{color:var(--ddb-danger)}.empty{padding:64px 16px;color:var(--ddb-muted);text-align:center}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,440px);border:1px solid var(--ddb-border);border-radius:8px;padding:32px;display:grid;gap:16px}.login-card h1{font-size:32px;letter-spacing:-.04em;margin:0}.login-card label,.settings label{display:grid;gap:7px;font-size:14px}.primary{background:var(--ddb-ink);border:1px solid var(--ddb-ink);color:#fff;border-radius:6px;padding:10px 14px;min-height:40px}.editor-page{display:grid;grid-template-columns:minmax(0,1fr) 312px;max-width:var(--ddb-content-max);margin:auto}.editor-main{padding:32px;min-width:0}.title-input{border:0;border-bottom:1px solid var(--ddb-border);border-radius:0;width:100%;font-size:30px;font-weight:700;padding:14px 0;margin-bottom:12px}.editor-toolbar{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--ddb-border);padding:10px 0}.editor-toolbar button{border:1px solid var(--ddb-border);background:#fff;border-radius:4px;min-height:32px;padding:4px 8px}.editor-toolbar select{min-height:32px;padding:4px}.tiptap .tiptap{min-height:520px;padding:20px 0;font-size:16px;line-height:1.65}.tiptap .tiptap:focus{outline:none}.tiptap img{max-width:100%;height:auto}.settings{border-left:1px solid var(--ddb-border);padding:32px 20px;display:grid;align-content:start;gap:16px}.settings textarea{min-height:100px}.settings button{border:1px solid var(--ddb-border);background:#fff;border-radius:6px;padding:9px}.settings button.active{border-color:var(--ddb-accent);background:var(--ddb-surface-subtle)}.board-head h2{margin:0}.controls{display:grid;grid-template-columns:1fr auto;gap:8px}.categories{display:flex;gap:20px;border-bottom:1px solid var(--ddb-border);margin-top:8px}.categories button{background:none;border:0;padding:12px 0;color:var(--ddb-muted)}.categories button.active{color:var(--ddb-ink);border-bottom:2px solid var(--ddb-accent)}.list button{width:100%;display:grid;grid-template-columns:90px 1fr 120px;gap:16px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--ddb-border);padding:17px 4px;background:#fff}.list button:hover{background:var(--ddb-surface-subtle)}.badge{font-size:11px;background:var(--ddb-surface-subtle);padding:3px 6px;border-radius:4px;width:max-content}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:18px}.grid button{background:none;border:0;text-align:left;padding:0}.grid img,.placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:7px;background:var(--ddb-surface-subtle);margin-bottom:12px}.gallery{grid-template-columns:repeat(3,1fr)}.gallery img,.gallery .placeholder{aspect-ratio:4/3}.grid b{display:block;font-size:17px}.grid span,.grid time{display:block;color:var(--ddb-muted);font-size:12px;margin-top:5px}.accordion{border-bottom:1px solid var(--ddb-border)}.accordion summary{padding:17px 4px;display:flex;align-items:center;gap:12px;cursor:pointer}.accordion summary b{margin-left:auto}.accordion div{padding:0 4px 18px;color:var(--ddb-muted)}.compact button{display:grid;grid-template-columns:38px 1fr 100px;width:100%;text-align:left;padding:13px 0;background:none;border:0;border-bottom:1px solid var(--ddb-border)}.compact span,.compact small{color:var(--ddb-muted)}.pagination{display:flex;justify-content:center;gap:4px;padding:24px}.pagination button{background:#fff;border:1px solid var(--ddb-border);padding:7px 11px;border-radius:4px}.pagination button.active{border-color:var(--ddb-ink)}.detail h1{font-size:40px;letter-spacing:-.04em;max-width:760px}.cover{width:100%;max-width:960px;border-radius:8px}.article{max-width:760px;font-size:17px;line-height:1.82}.article img{max-width:100%;height:auto}.attachments{display:grid;gap:8px;margin-top:32px;border-top:1px solid var(--ddb-border);padding-top:16px}.attachments a{color:var(--ddb-ink)}@media(max-width:767px){.shell{display:block}.shell>aside{border-right:0;border-bottom:1px solid var(--ddb-border);padding:16px}.shell nav{margin-top:14px;display:flex;overflow:auto}.logout{display:none}main header{padding:10px 16px;height:auto}.content,.viewer,.detail{padding:28px 16px}.editor-page{display:block}.editor-main{padding:20px 16px}.settings{border-left:0;border-top:1px solid var(--ddb-border);padding:20px 16px}.title-input{font-size:26px}.controls{grid-template-columns:1fr}.list button{grid-template-columns:1fr;gap:5px}.grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}.detail h1{font-size:30px}.tiptap .tiptap{min-height:420px}}.selector-row{display:flex;align-items:center;gap:4px}.add-button{white-space:nowrap;padding:8px}.empty-state{max-width:560px;margin:100px auto;padding:48px 24px;text-align:center;border:1px solid var(--ddb-border);border-radius:8px}.empty-state h1{margin:0 0 10px;font-size:28px}.empty-state p{color:var(--ddb-muted);margin:0 0 24px}.modal-backdrop{position:fixed;inset:0;background:#11131847;display:grid;place-items:center;padding:16px;z-index:10}.modal{width:min(100%,480px);background:var(--ddb-surface);border-radius:8px;padding:24px;box-shadow:var(--ddb-shadow-float)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0;font-size:24px}.modal-form{display:grid;gap:16px}.modal-form label{display:grid;gap:7px}.modal-form textarea{min-height:90px}.modal-form button{justify-self:end}.settings-section{padding:24px 0;border-top:1px solid var(--ddb-border)}.settings-section h2{margin:0 0 8px;font-size:24px;letter-spacing:-.025em}.settings-section h3{margin:28px 0 10px;font-size:16px}.settings-section label{display:grid;gap:7px;max-width:320px}.settings-section pre{white-space:pre-wrap;overflow:auto;background:var(--ddb-surface-subtle);border:1px solid var(--ddb-border);padding:16px;border-radius:6px;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.btn{background:var(--ddb-surface);border:1px solid var(--ddb-border);border-radius:6px;min-height:40px;padding:9px 14px}.modal fieldset{display:grid;gap:8px;border:1px solid var(--ddb-border);padding:12px}.modal fieldset label{display:flex;gap:8px;align-items:center}.modal input[type=checkbox]{min-height:auto}.view-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.view-tiles button{background:#fff;border:1px solid var(--ddb-border);padding:10px;text-align:left;border-radius:6px}.view-tiles button.active{border-color:var(--ddb-ink);background:var(--ddb-surface-subtle)}.mini-preview{display:block;height:28px;margin-bottom:7px;background:repeating-linear-gradient(to bottom,var(--ddb-border) 0 1px,transparent 1px 8px)}.mini-preview.card,.mini-preview.gallery{background:linear-gradient(90deg,var(--ddb-surface-subtle) 30%,transparent 30% 35%,var(--ddb-surface-subtle) 35% 65%,transparent 65% 70%,var(--ddb-surface-subtle) 70%)}.mini-preview.accordion{background:repeating-linear-gradient(to bottom,transparent 0 7px,var(--ddb-border) 7px 8px)}.mini-preview.table{background:repeating-linear-gradient(to bottom,var(--ddb-border) 0 1px,transparent 1px 9px),repeating-linear-gradient(90deg,transparent 0 32%,var(--ddb-border) 32% 33%)}.wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
