:root{--bg:#f6f6f4;--bar:#fff;--line:#e6e6e1;--ink:#1a1a1a;--accent:#ff5a3c;--accent2:#d8331a;--muted:#8a8a86}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,sans-serif;background:var(--bg);color:var(--ink);height:100vh;height:100dvh;overflow:hidden}.topbar{position:fixed;top:0;left:0;right:0;z-index:70;background:var(--bar)}.app-bar{background:var(--bar);border-bottom:1px solid var(--line);flex:none}.app-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;gap:10px}.app-title{font-weight:800;font-size:14px;white-space:nowrap}.proto{font-size:10px;background:#fff3ef;color:var(--accent2);padding:1px 7px;border-radius:20px;margin-left:4px}.app-actions{display:flex;align-items:center;gap:8px}.savestate{font-size:11.5px;color:var(--muted);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.savestate.ok{color:#2e7d32}.savestate.err{color:#c0392b}.act{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;color:#333;white-space:nowrap}.act:hover{background:#f4f4f0}.act.primary{color:#fff;background:var(--accent2);border-color:var(--accent2)}.view-tabs{display:flex;gap:4px;background:#f0f0ec;padding:3px;border-radius:10px}.view-tabs button{border:none;background:transparent;padding:5px 14px;border-radius:8px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}.view-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001a}.admin-name-bar{display:flex;align-items:center;gap:10px;padding:0 14px 8px}.admin-name-bar[hidden]{display:none}.admin-name-bar label{flex:none;font-size:12px;font-weight:800;color:#333}.admin-name-bar label span{font-weight:500;color:var(--muted)}.admin-name-bar input{width:min(520px,100%);height:34px;border:1px solid #d8d8d2;border-radius:8px;padding:6px 10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.admin-name-bar input:focus{outline:2px solid rgba(216,51,26,.18);border-color:var(--accent2)}.admin-name-bar input.invalid{border-color:#c0392b;background:#fff8f7}.toolbar{background:var(--bar);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:4px;padding:6px 10px;flex:none;overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar .tbtn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font-size:13px;cursor:pointer;color:#333;flex:none;white-space:nowrap}.toolbar .tbtn:hover{background:#f4f4f0}.toolbar .tbtn.primary{color:#fff;background:var(--accent);border-color:var(--accent);font-weight:700}.toolbar .tbtn.ghost{color:var(--muted)}.toolbar select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:13px;background:#fff;flex:none}.line-height-control{display:flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#555;font-size:12px}.line-height-control span{font-weight:700;white-space:nowrap}.line-height-control input[type=range]{width:96px;margin:0;accent-color:var(--accent2)}.line-height-control input[type=number]{width:52px;border:0;border-left:1px solid var(--line);padding:3px 0 3px 7px;background:transparent;color:#333;font:inherit;font-variant-numeric:tabular-nums}.line-height-control input[type=number]:focus{outline:none}.line-height-control button{height:24px;border:1px solid var(--line);border-radius:6px;padding:0 7px;background:#fff;color:#555;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.line-height-control button:hover{background:#f4f4f0}.line-height-control button.on{background:#f0f0ec;color:#333}.line-height-control button:disabled{opacity:.45;cursor:default}.toolbar .sep{width:1px;height:20px;background:var(--line);margin:0 4px;flex:none}.ctxbar{display:flex;align-items:center;gap:4px;min-height:46px;background:#fbfaf7;border-bottom:1px solid var(--line);padding:5px 10px;flex:none;overflow-x:auto;scrollbar-width:none}.ctxbar::-webkit-scrollbar{display:none}.ctxhint{font-size:11.5px;color:var(--muted);white-space:nowrap}.ctxhint.hidden{display:none}.bubble{display:flex;align-items:center;gap:3px}.bubble.hidden{display:none}.bubble button{border:1px solid var(--line);background:#fff;border-radius:8px;height:36px;padding:0 12px;font-size:13px;cursor:pointer;color:#222;white-space:nowrap}.bubble button:hover{background:#f1f1ec}.bubble button.on{background:var(--accent2);color:#fff}.bubble button.danger{color:#c0392b}.bubble .mini{font-size:12px;color:var(--muted)}.bubble .blabel{font-size:11px;color:var(--muted);padding:0 2px}.bubble .bsep{width:1px;height:20px;background:var(--line);margin:0 2px}.bubble .dot{width:20px;height:20px;min-width:20px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.bubble .dot.custom{position:relative;overflow:hidden;background:conic-gradient(red,orange,#ff0,green,#00f,violet,red)}.bubble .dot.custom input{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;opacity:0;width:200%;height:200%;cursor:pointer}.workspace{position:fixed;top:var(--topH,134px);left:0;right:0;bottom:0;display:flex;min-height:0}.pane{flex:1;min-width:0;display:flex;flex-direction:column}.pane-edit{border-right:1px solid var(--line);background:#fff}.pane-preview{background:#fbfbfa}.canvas{flex:1;overflow:auto;padding:22px 0}.canvas.drag-over{outline:2px dashed var(--accent);outline-offset:-10px;background:#ff5a3c0a}.hint{flex:none;font-size:11.5px;color:var(--muted);background:#fffdf6;border-top:1px solid #f0ead2;margin:0;padding:7px 14px}#preview{width:100%;height:100%;border:none;background:#fff}#editor{max-width:680px;margin:0 auto;padding:0 22px}.ProseMirror{outline:none;font-size:17px;line-height:2;color:#1a1a1a;letter-spacing:.02em;min-height:60vh}.ProseMirror>*:first-child{margin-top:0}.ProseMirror p{margin:0;line-height:1.35;text-align:justify}.ProseMirror h1{font-size:1.9em;font-weight:800;line-height:1.4;letter-spacing:.02em;margin:.7em 0 .25em}.ProseMirror h1+p{margin:0 0 2.2em;color:var(--muted);font-size:.88em;line-height:1.7}.ProseMirror h2{font-size:1.5em;font-weight:800;line-height:1.5;margin:2.4em 0 .9em;padding:.55em .8em;background:#f6f6f3;border-left:5px solid var(--accent)}.ProseMirror h3{font-size:1.25em;font-weight:800;line-height:1.5;margin:2.3em 0 .8em;padding:.12em 0 .12em .7em;border-left:5px solid var(--accent);color:var(--ink)}.ProseMirror strong{font-weight:800}.ProseMirror blockquote{margin:20px 0;padding:14px 18px;background:#f6f6f3;border-left:4px solid #999;font-style:italic;color:#444;width:-webkit-fit-content;width:fit-content;max-width:100%}.ProseMirror hr{border:none;border-top:1px dashed #c8c8c8;margin:34px 0}.ProseMirror ul,.ProseMirror ol{margin:0 0 1.25em;padding-left:24px}.ProseMirror li{margin-bottom:8px}.ProseMirror li>p{margin:0}.ProseMirror img{display:block;width:100%;height:auto;margin:26px auto;border-radius:10px;box-shadow:0 4px 18px #00000014;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.ProseMirror img.ProseMirror-selectednode{outline:3px solid var(--accent);outline-offset:2px}body[data-mode=article] .ProseMirror>img:first-child{width:calc(100% + 44px);margin-left:-22px;margin-right:-22px;margin-top:0;border-radius:0;box-shadow:none}.ProseMirror a{color:var(--accent);text-decoration:underline;font-weight:700}.ProseMirror table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.ProseMirror th,.ProseMirror td{border:1px solid #ddd;padding:8px 10px;text-align:left;vertical-align:top;position:relative}.ProseMirror th{background:#fafaf7;font-weight:700}.ProseMirror .selectedCell:after{background:#ff5a3c1f;content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:18px;z-index:80}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:14px;width:min(720px,100%);max-height:84vh;display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px}.modal-head .x{border:none;background:#f1f1ee;width:30px;height:30px;border-radius:50%;cursor:pointer}.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:14px;overflow:auto}.img-cell{border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;cursor:pointer;text-align:center}.img-cell:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014}.img-cell img{width:100%;height:80px;object-fit:cover;border-radius:6px;display:block}.img-cell span{font-size:10px;color:var(--muted);word-break:break-all;display:block;margin-top:4px}#htmlOut{flex:1;margin:14px;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:monospace;font-size:12px;min-height:50vh;resize:none}.list-card{width:min(960px,100%);max-height:90vh}.modal-head-actions{display:flex;align-items:center;gap:8px}.modal-head-actions .act{padding:5px 12px;font-size:12px}.list-tools{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto auto;gap:8px;padding:12px 16px 8px;border-bottom:1px solid var(--line);background:#fbfbf9}.list-tools input,.list-tools select{min-width:0;height:36px;border:1px solid #d8d8d2;border-radius:8px;padding:6px 10px;background:#fff;color:#333;font:inherit;font-size:12px}.list-tools input:focus,.list-tools select:focus{outline:2px solid rgba(216,51,26,.15);border-color:var(--accent2)}.list-tools .act{height:36px;padding:6px 12px;font-size:12px}.list-arrange-hint{padding:3px 16px 8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:10.5px;background:#fbfbf9}.list-arrange-hint.disabled{color:#a06b5f}.list-body{overflow:auto;padding:10px 12px 16px;background:#f7f7f4}.list-empty{padding:40px 18px;text-align:center;color:var(--muted);font-size:13px}.list-folder{margin-bottom:10px;border:1px solid #dfdfd8;border-radius:12px;background:#fff;overflow:hidden}.list-folder:last-child{margin-bottom:0}.list-folder.drag-over{border-color:var(--accent2);box-shadow:0 0 0 2px #d8331a1f}.list-folder-head{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f4f4f0}.list-folder-handle,.list-row-handle{flex:none;border:0;background:transparent;color:#aaa;cursor:grab;font-size:17px;font-weight:800;line-height:1;padding:4px}.list-folder-handle:active,.list-row-handle:active{cursor:grabbing}.list-folder-name{min-width:0;flex:1;font-size:13px;font-weight:800}.list-folder-count{color:var(--muted);font-size:11px;font-weight:600}.list-folder-actions{display:flex;gap:5px}.list-folder-actions button{border:1px solid #dcdcd6;border-radius:7px;padding:4px 8px;background:#fff;color:#555;font-size:10.5px;font-weight:700;cursor:pointer}.list-folder-actions button.danger{color:#b13b27}.list-folder-empty{padding:18px 14px;text-align:center;color:#aaa;font-size:11.5px}.list-row{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line);background:#fff}.list-row.dragging,.list-folder.dragging{opacity:.4}.list-row:last-child{border-bottom:none}.list-main{flex:1;min-width:0}.list-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta{font-size:11.5px;color:var(--muted);margin-top:3px}.list-meta .pub{color:#2e7d32;font-weight:700}.list-meta .archived{color:#7a5a16;font-weight:700}.list-meta .trashed{color:#a33b2a;font-weight:700}.list-stats{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.list-stat{display:inline-flex;align-items:baseline;gap:4px;padding:3px 7px;border:1px solid #ecebe5;border-radius:999px;background:#fafaf7;color:#666;font-size:10.5px;white-space:nowrap}.list-stat b{color:#242424;font-size:11.5px;font-variant-numeric:tabular-nums}.list-stat.ctr{background:#fff6f3;border-color:#f2d7d0;color:var(--accent2)}.list-stat.ctr b{color:var(--accent2)}.list-acts{display:flex;gap:6px;flex:none}.list-acts .mini{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;color:#333;white-space:nowrap}.list-acts .mini:hover{background:#f4f4f0}.list-acts .mini.edit{color:#fff;background:var(--accent2);border-color:var(--accent2)}.list-acts .mini.analytics{color:#9b2c18;border-color:#ebc9c1;background:#fff8f6}.list-acts .mini.archive{color:#795c17;border-color:#dfd0a7;background:#fffdf5}.list-acts .mini.trash{color:#a33b2a;border-color:#ebc9c1;background:#fff8f6}.list-acts .mini.restore{color:#216b36;border-color:#b9d9c1;background:#f6fff8}.list-acts .mini.delete{color:#fff;border-color:#a32618;background:#a32618}.analytics-card{width:min(880px,100%);max-height:90vh}.analytics-heading{display:flex;min-width:0;flex-direction:column;gap:2px}.analytics-slug{color:var(--muted);font-size:10.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.analytics-range{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11.5px;font-weight:700}.analytics-range select{border:1px solid var(--line);border-radius:7px;padding:5px 8px;background:#fff;color:#333;font:inherit}.analytics-body{overflow:auto;padding:16px}.analytics-note{margin:0 0 14px;color:var(--muted);font-size:11.5px;line-height:1.65}.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analytics-metric{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.analytics-metric.accent{background:#fff7f4;border-color:#efcfc7}.analytics-metric-label{display:block;color:var(--muted);font-size:11px;font-weight:700}.analytics-metric-value{display:block;margin-top:5px;font-size:24px;line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums}.analytics-metric.accent .analytics-metric-value{color:var(--accent2)}.analytics-metric-help{display:block;margin-top:5px;color:#9b9b96;font-size:10px;line-height:1.4}.analytics-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.analytics-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.analytics-section-head h3{margin:0;font-size:13px}.analytics-section-head span{color:var(--muted);font-size:10.5px}.analytics-chart{height:150px;display:flex;align-items:flex-end;gap:3px;padding:12px 8px 0;border:1px solid var(--line);border-radius:12px;background:linear-gradient(to top,#f7f7f4 1px,transparent 1px) 0 100%/100% 25%}.analytics-bar{position:relative;flex:1;min-width:2px;height:100%;display:flex;align-items:flex-end}.analytics-bar-view{position:relative;width:100%;min-height:2px;border-radius:3px 3px 0 0;background:#deded8}.analytics-bar-click{position:absolute;left:0;right:0;bottom:0;border-radius:3px 3px 0 0;background:var(--accent)}.analytics-chart-labels{display:flex;justify-content:space-between;margin-top:5px;color:var(--muted);font-size:10px}.analytics-buttons{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}.analytics-button-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line)}.analytics-button-row:last-child{border-bottom:none}.analytics-button-name{min-width:0}.analytics-button-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.analytics-button-target{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10.5px}.analytics-button-value{text-align:right;font-variant-numeric:tabular-nums}.analytics-button-value b{display:block;font-size:14px}.analytics-button-value span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.analytics-zero{padding:28px 16px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}@media (max-width:760px){body[data-view=edit] .pane-preview,body[data-view=preview] .pane-edit{display:none}.pane-edit{border-right:none}.app-row{align-items:flex-start}.app-actions{overflow-x:auto;max-width:75vw;padding-bottom:2px}.admin-name-bar{align-items:flex-start;flex-direction:column;gap:5px}.admin-name-bar input{width:100%}.list-tools{grid-template-columns:1fr 1fr}.list-tools input{grid-column:1 / -1}.list-tools .act{width:100%}.list-row{align-items:flex-start;flex-direction:column}.list-row-handle{position:absolute}.list-main{padding-left:28px}.list-acts{width:100%;flex-wrap:wrap}.list-acts .mini{flex:1}.analytics-body{padding:12px}.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-button-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.analytics-button-value:last-child{grid-column:2}.analytics-section-head{align-items:flex-start;flex-direction:column}}@media (min-width:761px){.view-tabs{display:none}}.ig-carousel{position:relative;margin:2.2em 0}.ig-carousel .ig-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 2px 14px}.ig-carousel .ig-track::-webkit-scrollbar{display:none}.ig-carousel .ig-card{flex:0 0 78%;max-width:300px;min-height:44px;scroll-snap-align:center;background:#fff;border:1px solid #eceae2;border-top:3px solid #c8a030;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000000f}.ig-carousel .ig-thumb{aspect-ratio:16/9;background:#f3f2ec}.ig-carousel .ig-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;box-shadow:none}.ig-carousel .ig-cardbody{padding:14px 16px 18px}.ig-carousel .ig-title{font-weight:800;font-size:1.02em;line-height:1.5;margin:0 0 6px;color:#1a1a1a}.ig-carousel .ig-desc{color:#6b7280;font-size:.9em;line-height:1.7;margin:0 0 12px}.ig-carousel .ig-link{display:inline-block;color:#fff;background:linear-gradient(135deg,#c8a030,#e6b422);text-decoration:none;font-weight:700;font-size:.85em;padding:8px 16px;border-radius:50px}.ig-carousel .ig-arrow{position:absolute;top:calc(50% - 18px);width:36px;height:36px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fffffff5;border:1px solid #d9c37a;color:#b8901f;font-size:1.3rem;line-height:1;font-weight:700;box-shadow:0 2px 8px #00000024;z-index:3}.ig-carousel .ig-prev{left:6px}.ig-carousel .ig-next{right:6px}.ig-carousel .ig-card-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:#b8901f;font-weight:700}.ProseMirror .ig-carousel.ProseMirror-selectednode{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px}.cta{margin:2.4em 0}.cta .cta-btn{display:block;box-sizing:border-box;width:100%;padding:18px 26px;border-radius:14px;background:linear-gradient(135deg,#c8a030,#e6b422);color:#fff;font-weight:800;font-size:1.12em;line-height:1.45;letter-spacing:.02em;text-align:center;text-decoration:none;box-shadow:0 6px 18px #c8a03047}.cta .cta-btn-empty{opacity:.65}.ProseMirror .cta.ProseMirror-selectednode{outline:3px solid var(--accent);outline-offset:3px;border-radius:14px}.car-rows{overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.car-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px}.car-thumb{flex:none;width:110px;height:72px;border:1px dashed #cfcfc7;border-radius:8px;background:#fafaf7;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center}.car-thumb img{width:100%;height:100%;object-fit:cover;display:block}.car-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.car-fields input,.car-fields textarea{border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:13px;font-family:inherit;width:100%}.car-fields textarea{resize:vertical}.car-ctrl{flex:none;display:flex;flex-direction:column;gap:6px}.car-ctrl button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer;color:#333}.car-ctrl button:hover{background:#f4f4f0}.car-ctrl button.danger{color:#c0392b}.car-foot{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.cta-fields{display:flex;flex-direction:column;gap:10px;padding:14px}.cta-fields input{border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;width:100%}
