.board-mode .sidebar,.board-mode .topbar,.board-mode footer{display:none}.board-mode .workspace{margin:0}.board-mode main{padding:0;max-width:none;min-height:100vh}.board-mode #toast{left:50%;pointer-events:auto}.canvas-page{min-height:100vh;background:#fffaf5;display:flex;flex-direction:column}.canvas-header{background:#fff;padding:18px 34px 0;border-bottom:1px solid #eee4da}.canvas-nav{display:flex;align-items:center;gap:14px;font-size:11px;margin-bottom:24px}.canvas-back{display:flex;align-items:center;gap:7px;font-weight:600;color:#68635e}.canvas-back svg{width:17px}.canvas-save{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:10px;color:#8e9687}.canvas-save svg{width:13px}.canvas-title-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.canvas-title{display:flex;align-items:center;gap:16px;min-width:0}.canvas-board-symbol{width:51px;height:51px;border-radius:14px;background:#fff0e6;color:#dc743e;display:grid;place-items:center;flex-shrink:0}.canvas-board-symbol svg{width:27px;height:27px}.canvas-title h1{font-size:26px;letter-spacing:-1px;line-height:1.6;overflow-wrap:anywhere}.canvas-title p{font-size:12px;color:#8d8a85;margin-top:3px;line-height:1.7}.canvas-header-actions{display:flex;gap:9px;align-items:center}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:14px}.layout-picker{display:flex;gap:3px;background:#f5f3f0;padding:4px;border-radius:9px}.layout-picker button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;padding:9px 12px;color:#8b8780;border-radius:6px;white-space:nowrap}.layout-picker button svg{width:15px;height:15px}.layout-picker .selected{background:#fff;color:#cb602d;box-shadow:0 2px 4px #2b24120b;font-weight:650}.canvas-toolbar-right{display:flex;align-items:center;gap:10px}.canvas-toolbar-right input{font-size:11px;width:145px}.canvas-guidance{font-size:11px;color:#9e9285;padding:15px 35px;display:flex;align-items:center;gap:7px;line-height:1.8}.canvas-guidance svg{width:14px;height:14px;flex-shrink:0}.canvas-guidance span{color:#bd724b;margin-left:auto}.board-canvas{padding:10px 34px 100px;flex:1;min-height:450px;background-image:radial-gradient(#d0c0af65 .7px,transparent .7px);background-size:20px 20px}.layout-columns{display:flex;align-items:flex-start;gap:23px;overflow-x:auto}.canvas-column{flex:0 0 300px;min-height:360px;background:#f5f1ebd9;border:1px solid #e9e0d7;border-radius:13px;padding:13px;transition:background .15s}.column-heading{display:flex;justify-content:space-between;align-items:center;padding:1px 2px 13px}.column-heading h2{font-size:13px;display:flex;align-items:center;gap:8px;font-weight:650;color:#6a6258}.column-heading h2 span{font-size:10px;background:#e9e2d8;border-radius:10px;padding:2px 7px;color:#9a8c7a}.column-posts{display:grid;gap:15px;min-height:30px}.column-add{width:100%;padding:13px;display:flex;gap:7px;justify-content:center;align-items:center;color:#a7937d;font-size:11px;margin-top:13px;border:1px dashed #dbcbb9;border-radius:8px}.column-add:hover{background:#fff5e9}.column-add svg{width:15px;height:15px}.new-column{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 200px;border:1px dashed #d6c7b7;color:#a68f76;border-radius:10px;padding:17px;background:#fff9f1;font-size:12px}.canvas-card{border:1px solid #e8e3db;border-radius:12px;background:white;box-shadow:0 3px 7px #50331705;overflow:hidden;break-inside:avoid;transition:box-shadow .15s,opacity .15s;cursor:grab;min-width:0}.canvas-card:active{cursor:grabbing}.canvas-card:hover{box-shadow:0 5px 17px #50331710}.canvas-card-top{display:flex;align-items:center;gap:7px;padding:10px 10px 0}.canvas-card-top .icon-btn{margin-left:auto;height:27px;width:27px;color:#b7b0a6}.canvas-card-top .icon-btn svg{height:14px;width:14px}.drag-handle{font-size:24px;line-height:1;color:#b8afa3;cursor:grab;min-width:24px;min-height:28px}.canvas-author{font-size:10px;color:#9a948c;display:flex;align-items:center;gap:6px}.canvas-author>span{height:20px;width:20px;display:grid;place-items:center;border-radius:50%;font-size:8px;background:#ede5d9;color:#a7957b}.canvas-card-content{display:block;width:100%;text-align:left;padding:10px 19px 20px;cursor:pointer}.canvas-card-content h2{font-size:16px;line-height:1.6;letter-spacing:-.5px;margin:0 0 10px;overflow-wrap:anywhere;color:#4c4842}.canvas-card-content p{font-size:12px;color:#898077;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.canvas-card-bottom{border-top:1px solid #a7886610;margin:0 17px;padding:10px 0;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#b2a392}.canvas-card-bottom button{display:flex;align-items:center;gap:4px;font-size:10px;color:#ab9882;padding:4px}.canvas-card-bottom svg{height:12px;width:12px}.color-peach{background:#fff1e5;border-color:#f3ddc9}.color-sage{background:#eff4e9;border-color:#dfe8d4}.color-blue{background:#eef4fa;border-color:#dce6ee}.color-lavender{background:#f3eef9;border-color:#e6dcef}.layout-wall{column-width:280px;column-gap:22px;display:block}.layout-wall .canvas-card{margin-bottom:22px;display:inline-block;width:100%;vertical-align:top}.layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;align-content:start;align-items:start}.canvas-empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:#ad9b86}.canvas-empty svg{width:40px;height:40px;margin-bottom:20px}.canvas-empty h2{font-size:20px}.canvas-empty p{font-size:12px;margin:13px 0 25px}.canvas-fab{position:fixed;right:35px;bottom:49px;width:59px;height:59px;border-radius:50%;color:#fff;background:var(--orange);box-shadow:0 5px 20px #dc6d3a44;display:grid;place-items:center;z-index:20}.canvas-fab:hover{background:#d85a27;transform:scale(1.05)}.canvas-fab svg{width:28px;height:28px}.canvas-bottom-hint{padding:9px 35px;background:#fffdf9;border-top:1px solid #eee6da;font-size:9px;color:#b1a591;display:flex;justify-content:space-between;gap:15px}.dragging{opacity:.35}.drop-target{outline:2px dashed #ee9c62;outline-offset:5px;background-color:#fff4e8}.board-composer{width:430px;max-width:calc(100vw - 30px);margin:80px 30px 25px auto;max-height:calc(100dvh - 105px);overflow-y:auto;padding:26px}.board-composer::backdrop{background:#31251b25;backdrop-filter:none}.board-composer .modal-heading h2{font-size:19px}.board-composer textarea{min-height:180px;font-size:13px}.composer-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.composer-footer{display:flex;align-items:center;gap:8px;margin-top:13px}.composer-footer>.modal-note,.composer-footer>.delete-card{margin:0 auto 0 0}.delete-card{color:#bc6752;font-size:11px}.move-step-buttons{display:flex;gap:8px}.move-step-buttons>*{flex:1}#toast button{color:#ffd8b5;text-decoration:underline;margin-left:12px;font-weight:600}.canvas-page .searchbox input:focus-visible{outline:2px solid #efb18a!important;outline-offset:5px}
.drag-handle{touch-action:none;user-select:none}.pointer-ghost{position:fixed;pointer-events:none;z-index:150;opacity:.9;transform:rotate(3deg);box-shadow:0 15px 35px #50331725}
/* 담벼락: 실제 카드 높이에 맞춰 행을 차지하는 벽돌 배치. */
.layout-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:1px;column-gap:20px;row-gap:0;align-items:start;align-content:start}
.layout-wall .canvas-card{display:block;margin:0;width:100%;height:auto;align-self:start}
/* 격자: 같은 크기, 같은 시작선. 긴 글은 카드 클릭으로 전체 확인. */
.layout-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:20px;align-items:stretch}
.layout-grid .canvas-card{height:280px;display:flex;flex-direction:column}
.layout-grid .canvas-card-content{flex:1;overflow:hidden;min-height:0;padding-bottom:12px}
.layout-grid .canvas-card-content h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.layout-grid .canvas-card-content p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.layout-grid .canvas-card-bottom{flex-shrink:0;margin-top:auto}
.canvas-link{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #e8e1d7;color:#a07859;font-size:11px;min-width:0}
.canvas-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-link svg{width:14px;height:14px;flex-shrink:0}
/* 피드: 읽기 중심의 넓은 단일 열. 본문 길이를 제한하지 않는다. */
.layout-feed{display:flex;flex-direction:column;align-items:center;gap:24px;background:#f5f3ef;padding-top:26px}
.layout-feed .canvas-card{width:min(100%,740px);flex-shrink:0;cursor:default;border-radius:14px;box-shadow:0 3px 12px #30281a08}
.layout-feed .canvas-card-top{padding:17px 24px 0}.layout-feed .canvas-author{font-size:12px}
.layout-feed .canvas-author>span{width:29px;height:29px;font-size:11px}
.layout-feed .canvas-card-content{padding:18px 30px 27px}.layout-feed .canvas-card-content h2{font-size:22px;line-height:1.6;margin-bottom:16px}
.layout-feed .canvas-card-content p{font-size:14px;line-height:2.1;color:#766f67}
.layout-feed .canvas-card-bottom{margin:0 30px;padding:14px 0;font-size:11px}.layout-feed .canvas-link{padding:16px 30px}
.canvas-guidance{flex-wrap:wrap}.canvas-guidance strong{color:#8d735c;font-weight:600;margin-right:10px}
@media(max-width:700px){.layout-picker button{gap:4px;padding:8px 6px;font-size:10px}.layout-picker button svg{width:13px;height:13px}.layout-wall{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.layout-grid .canvas-card{height:250px}.layout-grid .canvas-card-top{padding:8px 5px 0;gap:2px}.layout-grid .canvas-author{font-size:8px;gap:3px}.layout-grid .canvas-author>span{display:none}.layout-grid .canvas-card-content{padding:10px 12px}.layout-grid .canvas-card-content h2{font-size:14px}.layout-grid .canvas-card-content p{font-size:11px}.layout-grid .canvas-card-bottom{margin:0 10px;font-size:8px}.layout-grid .canvas-card-bottom button{font-size:9px}.layout-feed{padding-top:15px;gap:18px}.layout-feed .canvas-card-top{padding:13px 14px 0}.layout-feed .canvas-card-content{padding:15px 20px 22px}.layout-feed .canvas-card-content h2{font-size:20px}.layout-feed .canvas-card-content p{font-size:13px}.layout-feed .canvas-card-bottom{margin:0 20px}.canvas-guidance strong{display:block;margin:0 0 5px}}
@media(max-width:700px){.canvas-header{padding:15px 18px 0}.canvas-nav{gap:8px;margin-bottom:21px}.canvas-save{font-size:9px}.canvas-nav .preview-chip{display:none}.canvas-title-row{align-items:flex-start;margin-bottom:19px}.canvas-title{gap:10px}.canvas-board-symbol{width:37px;height:37px;border-radius:10px}.canvas-board-symbol svg{width:22px;height:22px}.canvas-title h1{font-size:20px;line-height:1.5}.canvas-title p{font-size:11px}.canvas-header-actions .btn{padding:8px;font-size:10px;min-height:33px}.canvas-header-actions .btn svg{display:none}.canvas-header-actions .icon-btn{width:24px}.canvas-toolbar{flex-wrap:wrap;gap:12px}.layout-picker{flex:1}.layout-picker button{flex:1;padding:8px;font-size:11px}.canvas-toolbar-right{width:100%}.canvas-toolbar-right .searchbox{flex:1}.canvas-toolbar-right input{width:100%}.canvas-toolbar-right .btn{font-size:11px;min-height:34px;padding:8px 13px}.canvas-guidance{padding:12px 18px;font-size:10px;display:block}.canvas-guidance svg{margin-right:5px}.canvas-guidance span{display:block}.board-canvas{padding:8px 18px 85px;min-height:calc(100dvh - 270px)}.canvas-column{flex-basis:280px}.layout-columns{gap:17px}.layout-grid{grid-template-columns:1fr}.canvas-fab{right:20px;bottom:40px;width:54px;height:54px}.canvas-bottom-hint{padding:9px 18px;font-size:8px}.canvas-bottom-hint>span{display:none}.board-composer{margin:20px auto;width:calc(100% - 24px);max-height:calc(100dvh - 40px);padding:23px}.board-composer textarea{min-height:130px}}

.layout-wall{grid-auto-flow:dense}
@media(max-width:700px){.layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 로컬 첨부파일과 미디어 */
.attachment-zone{border:1px dashed #e6c8af;border-radius:10px;padding:13px;background:#fffbf7;min-width:0}
.attachment-tools{display:flex;gap:8px}.attachment-tools button{display:flex;gap:6px;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #eedfce;border-radius:8px;background:white;color:#b77a4d;font-size:11px;flex:1}.attachment-tools svg{width:15px;height:15px}
.attachment-zone>p{font-size:10px;line-height:1.8;color:#a78f77;margin-top:11px}.attachment-zone small{font-size:9px;color:#b2a18f}
.media-attachments{display:grid;gap:9px;padding:10px 13px 0;min-width:0}.media-attachment{position:relative;min-width:0;border:1px solid #eadfd2;border-radius:8px;overflow:hidden;background:#fff}
.media-image-button{padding:0;width:100%;display:block;cursor:zoom-in}.media-image-button img{width:100%;height:auto;max-height:420px;object-fit:contain;display:block;background:#f4f1ec}
.media-content video{display:block;width:100%;max-height:420px;background:#25231f;aspect-ratio:16/9}.media-content audio{display:block;width:100%;padding:8px}
.media-download{display:flex;align-items:center;gap:9px;padding:11px 12px;color:#a7825b;min-width:0}.media-download>span{min-width:0;flex:1}.media-download strong{font-size:11px;color:#72685c;display:block;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-download small{display:block;font-size:9px;color:#a89b8a;margin-top:4px}.media-download svg{width:17px;height:17px;flex-shrink:0}.media-download:hover{background:#fff8ef}
.draft-attachments{padding:12px 0 0}.draft-attachments .media-image-button img{max-height:150px}.draft-attachments .media-content video{max-height:150px}.remove-attachment{position:absolute;right:5px;top:5px;border-radius:50%;background:#fff;box-shadow:0 1px 6px #2222;color:#a88c72;width:25px;height:25px;display:grid;place-items:center;z-index:1}.remove-attachment svg{width:14px;height:14px}.media-loading,.media-error{display:block;font-size:10px;color:#ae8d6a;padding:15px;line-height:1.8}.media-error{color:#b66b4e}
.layout-grid .media-attachments{max-height:135px;overflow:auto;flex-shrink:0}.layout-grid .media-image-button img{height:95px;object-fit:cover}.layout-grid .media-content video{max-height:105px}.layout-grid .media-download{padding:7px 9px}.layout-grid .media-download small{font-size:8px}
.layout-feed .media-attachments{padding:16px 30px 0}.layout-feed .media-image-button img{max-height:650px}.media-viewer{max-width:1000px;width:calc(100% - 30px);max-height:calc(100dvh - 40px);overflow:auto}.original-image img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}
.media-drag-over .board-canvas,.media-drag-over .attachment-zone{outline:3px dashed #ed9a60;outline-offset:-7px;background-color:#fff0dd}.media-drag-over .board-canvas:before{content:'파일을 놓으면 바로 첨부돼요';position:fixed;inset:40% 20% auto;text-align:center;padding:25px;background:#fff8ec;border:2px dashed #e69a60;color:#b27240;border-radius:15px;z-index:90;pointer-events:none;font-size:18px}
@media(max-width:700px){.layout-feed .media-attachments{padding:12px 20px 0}.layout-grid .media-attachments{padding:7px 7px 0;max-height:115px}.layout-grid .media-image-button img{height:72px}.media-drag-over .board-canvas:before{inset:35% 12px auto;font-size:14px}.attachment-tools button{padding:11px 8px}}

.pdf-thumbnail{display:block;width:100%;padding:0;background:#eeece7;text-align:center;cursor:zoom-in;min-height:100px}.pdf-thumbnail img{display:block;width:100%;max-height:330px;object-fit:contain;object-position:top;background:#fff}.pdf-thumbnail>span:not(.media-loading):not(.media-error){display:block;padding:9px;font-size:10px;color:#a18b70;background:#faf7f2}.draft-attachments .pdf-thumbnail img{max-height:180px}.layout-grid .pdf-thumbnail img{height:90px}.layout-grid .pdf-thumbnail>span{font-size:8px;padding:5px}.pdf-viewer{max-width:1050px;width:calc(100% - 28px);max-height:calc(100dvh - 35px);overflow:auto;padding:24px}.pdf-page-toolbar{position:sticky;top:-24px;background:white;padding:12px 0;display:flex;align-items:center;justify-content:center;gap:20px;border-bottom:1px solid #eee;z-index:2}.pdf-page-toolbar>span{font-size:12px;color:#a18b70}#pdf-page-content{background:#eeece7;padding:15px;text-align:center;min-height:250px}#pdf-page-content canvas{display:block;max-width:100%;height:auto;margin:auto}#pdf-page-content>p{font-size:12px;color:#a18b70;padding-top:40px}

.board-address-fields{border:1px solid #efdfcf;border-radius:10px;padding:15px;display:grid;gap:12px;margin:0;min-width:0;background:#fffcf8}.board-address-fields legend{font-size:12px;color:#a37952;padding:0 6px}.board-address-fields [hidden]{display:none}.address-preview{font-size:10px;line-height:1.8;background:#f8f0e6;padding:10px;border-radius:7px;color:#ae9579;overflow-wrap:anywhere}.address-preview span{font-weight:650;color:#b36b3b}.address-error{font-size:10px;color:#bf6046;line-height:1.8}.address-error:empty{display:none}.address-note{font-size:9px;color:#b1a18e;line-height:1.8}
 .board-comments{display:grid;gap:12px}.board-comment{border-top:1px solid #eee;padding:12px 0}.board-comment time{font-size:11px;color:#888;margin-left:8px}.board-comment p{margin:8px 0}.board-comment button{border:0;background:#fff3e9;border-radius:7px;padding:4px 7px;margin-right:4px}.board-replies{margin-left:20px}.board-comments textarea{width:100%;min-height:70px;margin:8px 0}.reaction-button.selected{background:#fff0e7!important;border-color:#e98a60!important;color:#bd5428!important;font-weight:700}.emoji-picker{display:grid;gap:16px}.emoji-picker section{display:grid;gap:8px}.emoji-picker section>strong{font-size:12px;color:#6c625b}.emoji-picker section>div{display:flex;flex-wrap:wrap;gap:6px}.emoji-picker button{width:38px;height:36px;border:1px solid #eee0d5;border-radius:8px;background:#fff;font-size:18px}.emoji-picker button:hover{background:#fff2e9;border-color:#e98a60}.column-heading h2{flex:1}.column-drag-handle{width:25px;height:27px;margin-right:2px;color:#ae9b86;cursor:grab;font-size:19px;line-height:1}.column-drag-handle:active{cursor:grabbing}.canvas-column.column-dragging{opacity:.45}.canvas-column.column-drop-target{outline:2px dashed #e67942;outline-offset:3px}
.canvas-column.column-color-peach{background:#fff1e5;border-color:#f3ddc9}.canvas-column.column-color-sage{background:#eff4e9;border-color:#dfe8d4}.canvas-column.column-color-blue{background:#eef4fa;border-color:#dce6ee}.canvas-column.column-color-lavender{background:#f3eef9;border-color:#e6dcef}
.column-color-button{width:25px;height:27px;padding:0;color:#a7937d;font-size:17px;line-height:1}.column-color-button:hover{color:#d76532}.column-color-peach .column-color-button{color:#d77a52}.column-color-sage .column-color-button{color:#718b63}.column-color-blue .column-color-button{color:#628ba8}.column-color-lavender .column-color-button{color:#886fa5}
