:root{--bg-page: #181818;--bg-panel: #1a1a1a;--bg-chip: #231f20;--header-bar: #49225b;--button-purple: #6e3482;--light-purple: #7b5ba7;--icon-purple: #a56abd;--chip-text: #d9bbf9;--body-text: #f5f2f8;--button-text: #eeeeee;--line: #454545;--success: #5fae7e;--success-bg: #1e2a22;--error: #d97878;--error-bg: #2a1e1e;--font: "Noto Sans Myanmar", sans-serif}:root[data-theme=light]{--bg-page: #f7f5fa;--bg-panel: #ffffff;--bg-chip: #ede7f2;--header-bar: #49225b;--button-purple: #6e3482;--light-purple: #8c6bae;--icon-purple: #8a4fa6;--chip-text: #5b3876;--body-text: #241f29;--button-text: #ffffff;--line: #ddd5e4;--success: #2f7a4f;--success-bg: #e3f5ea;--error: #b23b3b;--error-bg: #fbe7e7}body{margin:0;background:var(--bg-page);color:var(--body-text);font-family:var(--font)}button,input,textarea{font-family:var(--font)}.tile{height:28px;min-width:28px;padding:0 6px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease-out}.tile:hover{background:var(--bg-chip)}.btn-hover{transition:filter .12s ease-out}.btn-hover:hover{filter:brightness(1.15)}.btn-hover:active{filter:brightness(.9)}.book-row{border-left:3px solid transparent;transition:background .12s ease-out,border-color .12s ease-out,transform .12s ease-out}.book-row:hover{background:var(--line);border-left-color:var(--icon-purple);transform:translate(2px)}.book-row:active{background:var(--button-purple);transform:translate(0)}.app-shell{height:100vh;overflow:hidden;display:flex;flex-direction:column}.app-body{flex:1;display:flex;gap:16px;min-height:0}.app-left{flex:2 1 720px;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.app-right{flex:1 1 320px;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.sticky-toolbar{position:sticky;top:0;z-index:2}@media (max-width: 900px){.app-shell{height:auto;overflow:visible}.app-body{flex-direction:column}.sticky-toolbar{position:static}.app-left,.app-right{overflow:visible}}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;box-shadow:0 8px 24px #00000073;animation:toast-in .15s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.themed-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.themed-scroll::-webkit-scrollbar{width:8px}.themed-scroll::-webkit-scrollbar-track{background:transparent}.themed-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.themed-scroll::-webkit-scrollbar-thumb:hover{background:var(--icon-purple)}.json-panel{display:flex}.tool-group{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;flex-shrink:0}.editor-row{display:flex;justify-content:center;gap:12px;flex:1;min-height:0}.editor-row .phone-frame{flex:0 0 auto;align-self:flex-start;height:90vh;min-height:420px;aspect-ratio:9 / 16;max-width:100%}.editor-row .marker-panel{flex:1 1 360px;min-width:300px;max-width:480px;align-self:flex-start;max-height:320px;overflow-y:auto;position:sticky;top:108px;z-index:1}@media (max-width: 900px){.editor-row{flex-direction:column;justify-content:flex-start}.editor-row .phone-frame{width:100%;aspect-ratio:auto;height:60vh}.editor-row .marker-panel{width:100%;max-width:none;align-self:stretch;position:static;flex:none;height:auto;max-height:none;overflow-y:visible}.json-panel{display:none}}.raw-block{background:#231f20;border-radius:10px;padding:6px 10px;margin:8px 0;font-size:12px;line-height:18px;color:#d9bbf9;font-style:italic}.ProseMirror{outline:none}.ProseMirror:focus{outline:none}.caption-block{font-size:12px;line-height:18px;font-style:italic;color:#777;margin:4px 0}.marker-block-wrap{margin:8px 0}.marker-block-box{position:relative;display:flex;align-items:center;gap:8px;background:#3a3a3a;border-radius:10px;padding:6px 10px;font-size:12px;line-height:18px;color:#d9bbf9;font-style:italic}.marker-block-label{flex:1;cursor:pointer}.marker-block-del{flex-shrink:0;width:22px;height:22px;border-radius:11px;border:none;background:#2a1e1e;color:#d97878;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-style:normal;line-height:1;transition:background-color .12s ease-out,color .12s ease-out}.marker-block-del:hover{background:#d97878;color:#1a1a1a}.marker-popover{position:absolute;top:100%;left:0;margin-top:4px;z-index:20;background:var(--bg-chip);border:1px solid var(--icon-purple);border-radius:5px;box-shadow:0 8px 20px #0006;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-style:normal;min-width:240px}.marker-popover label{font-size:12px;line-height:18px;color:var(--body-text);opacity:.7}.marker-popover input{border:1px solid var(--line);border-radius:10px;background:var(--bg-page);color:var(--body-text);padding:3px 6px;font-size:14px}.marker-popover input[type=number]{width:56px}.marker-popover input[type=text]{flex:1;min-width:120px}.marker-popover-close{background:var(--button-purple);color:var(--button-text);border:none;border-radius:10px;padding:4px 12px;cursor:pointer;transition:filter .12s ease-out}.marker-popover-close:hover{filter:brightness(1.15)}.image-block-wrap{margin:10px 0}.image-block-box{width:100%}.image-block-loading,.image-block-error{padding:16px;text-align:center;color:#888;border:1px dashed #bbb;border-radius:4px;cursor:pointer;width:100%;font-style:italic;font-size:13px}.image-block-error{color:#c0392b;border-color:#e6a6a0}.image-popover{margin-top:8px;padding:14px;border:1px solid var(--icon-purple);border-radius:5px;background:var(--bg-chip);box-shadow:0 8px 20px #0006;display:flex;flex-direction:column;gap:12px;max-width:380px;color:var(--body-text)}.image-popover-row{display:flex;flex-direction:column;gap:4px}.image-popover-row label{font-size:12px;line-height:18px;color:var(--body-text);opacity:.7}.image-popover-row input[type=range]{width:100%;accent-color:var(--button-purple)}.image-popover-row button{border:1px solid var(--icon-purple);border-radius:10px;padding:6px 10px;background:var(--bg-chip);color:var(--chip-text);cursor:pointer;font-size:12px}.image-popover-row button:hover{background:var(--button-purple);color:var(--button-text);border-color:var(--button-purple)}.image-popover-actions{display:flex;justify-content:space-between;align-items:center}.image-popover-actions button{border:2px solid var(--icon-purple);border-radius:10px;padding:4px 12px;background:transparent;color:var(--body-text);cursor:pointer;font-size:12px;line-height:18px;transition:background-color .12s ease-out,filter .12s ease-out}.image-popover-actions button:hover{background:var(--bg-chip)}.image-popover-close{background:var(--button-purple)!important;color:var(--button-text)!important;border:none!important}.image-popover-close:hover{filter:brightness(1.15)}.capbox{min-width:0;overflow:hidden}.capbox-input{font-family:inherit;line-height:1.5;outline:none;box-sizing:border-box}.capbox-input:focus{border-color:var(--light-purple)!important}.inline-image-wrap{display:inline-block}.inline-image-loading,.inline-image-error{display:inline-block;padding:4px 8px;background:#eee;border:1px dashed #bbb;border-radius:4px;cursor:pointer;font-size:12px}.inline-image-error{color:#c0392b}.inline-image-popover{display:block;margin-top:6px;padding:10px;border:1px solid var(--icon-purple);border-radius:5px;background:var(--bg-chip);color:var(--body-text);font-size:12px;line-height:18px;box-shadow:0 8px 20px #0006}.iip-row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.iip-row label{font-size:12px;line-height:18px;color:var(--body-text);opacity:.7}.iip-row input[type=range]{width:100%;accent-color:var(--button-purple)}.iip-actions{display:flex;justify-content:space-between}.iip-actions button,.iip-row button{border:1px solid var(--icon-purple);border-radius:10px;padding:2px 8px;background:var(--bg-chip);color:var(--chip-text);cursor:pointer;font-size:12px;line-height:18px;transition:background-color .12s ease-out,color .12s ease-out,border-color .12s ease-out}.iip-actions button:hover,.iip-row button:hover{background:var(--button-purple);color:var(--button-text);border-color:var(--button-purple)}
