/* 正式愿景板独立样式：欣赏模式只出现作品和简洁操作，编辑面板在画布下方。 */
.v40-board{width:100%;max-width:520px;margin:12px auto 0;padding:8px;background:#e7e0d5;border:1px solid #e2d9cc;border-radius:15px;box-shadow:0 14px 35px #312a1c1b}
.v40-direct-hint{max-width:520px;margin:9px auto 2px;color:#526a59;font-size:11px;line-height:1.5}
.v40-board canvas{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:7px;cursor:pointer}
.v40-board.editing canvas{touch-action:none;cursor:grab}
.v40-board.editing canvas.dragging{cursor:grabbing}
.v40-board-feedback{max-width:520px;margin:7px auto 0;color:#a15e55;font-size:11px;line-height:1.5;text-align:center}
.v40-board-feedback:empty{display:none}
body.v40-board-visible .nav{opacity:0;pointer-events:none;transform:translate(-50%,120%)}
body.v40-editing .nav{display:none}
.v40-toolbar{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7px;margin:14px 0 23px}
.v40-toolbar .btn{font-size:11px;padding:11px 4px;min-width:0;line-height:1.35}
.v40-pending{background:#f6f1e5;border:1px solid #e6d9bc;border-radius:12px;padding:12px 13px;margin:12px 0;color:#6d674f;font-size:12px;line-height:1.5}
.v40-pending button{display:block;margin-top:7px;background:none;color:#34624a;padding:0;font-size:12px;font-weight:700;text-decoration:underline}
.v40-editor{background:#fffdfa;border:1px solid #e5e3d9;border-radius:17px;padding:18px;margin:8px 0 30px}
.v40-editor h3{font-size:18px;margin:0 0 4px;color:#344b3d}
.v40-editor>p,.v40-section>p{color:#7b8178;font-size:11px;line-height:1.6;margin:5px 0 12px}
.v40-section{padding:17px 0;border-top:1px solid #e8e8e0}
.v40-section>b{display:block;color:#3e5145;font-size:13px;margin-bottom:10px}
.v40-section select,.v40-section textarea{display:block;width:100%;border:1px solid #d9dfd5;border-radius:9px;background:#fff;padding:10px;color:#34483c;font-size:12px;line-height:1.5}
.v40-section textarea{resize:vertical;margin-top:8px}
.v40-template-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v40-template-row button{background:#f4f3ed;border:1px solid #dfe4da;border-radius:9px;padding:12px 8px;color:#40594a;font-size:12px}
.v40-template-row button.active{background:#e8f0e8;border-color:#5e8468;font-weight:700}
.v40-header-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.v40-header-controls button,.v40-inline-edit{background:#eef2ea;border:1px solid #dce6da;color:#3b6048;border-radius:8px;padding:9px 6px;font-size:11px}
.v40-inline-edit{margin:7px 0 1px}
.v40-modal-save-error{background:#fff2ee;border:1px solid #e7c4b7;border-radius:9px;color:#9a493c;padding:10px 12px;font-size:12px;line-height:1.5}
body.v40-editing .toast{max-width:calc(100vw - 32px);white-space:normal;text-align:center;line-height:1.5}
.v40-switches{display:flex;flex-wrap:wrap;column-gap:13px;row-gap:9px;margin-top:12px}
.v40-switches label,.v40-word-edit label{display:flex;align-items:center;gap:5px;font-size:11px;color:#596b5d}
.v40-switches input,.v40-word-edit input,.v40-select-list input{accent-color:#426b51}
.v40-photo-list,.v40-select-list{display:grid;gap:7px}
.v40-list-row{display:flex;align-items:center;gap:5px;background:#f7f7f2;border-radius:9px;padding:6px;min-width:0}
.v40-thumb{width:40px;height:48px;border-radius:5px;background-size:cover;background-position:center;flex:none}
.v40-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d5042;font-size:11px}
.v40-list-row button{background:#e8eee7;border-radius:6px;color:#3e6448;padding:7px 6px;font-size:11px;flex:none}
.v40-list-row button:disabled{opacity:.35}
.v40-word-edit{padding:10px 0;border-bottom:1px dashed #e2e7dd}
.v40-word-edit:last-child{border-bottom:0}
.v40-word-edit>label:first-child{font-weight:700}
.v40-word-edit textarea{margin:7px 0}
.v40-select-list label{display:flex;align-items:center;gap:8px;border:1px solid #eceee8;border-radius:8px;padding:8px;font-size:11px;line-height:1.45;color:#3e5143}
.v40-select-list label span{flex:1}
.v40-select-list label small{color:#8b968b;font-size:10px;white-space:nowrap}
.v40-undo{width:100%;margin:6px 0 0}
.v40-undo:disabled{opacity:.45}
.v40-focus-preview{height:240px;background-size:cover;background-repeat:no-repeat;border-radius:10px;margin:10px 0}
.v40-editor,.v40-toolbar{scroll-margin-bottom:140px}
@media(max-width:390px){.v40-toolbar .btn{font-size:10px}.v40-editor{padding:14px}.v40-list-row{gap:3px}.v40-list-row button{padding:7px 4px}}
