.toolbar{background:linear-gradient(180deg,#3d3a36,#2d2a26);padding:8px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-logo{display:flex;align-items:center;gap:8px;padding-right:16px;border-right:1px solid rgba(255,255,255,.2);margin-right:8px}.logo-icon{width:32px;height:32px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:"Noto Serif JP",serif;font-weight:700;font-size:16px;color:#fff}.logo-text{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:700;letter-spacing:1px;color:#fff}.toolbar-group{display:flex;align-items:center;gap:4px;padding-right:12px;border-right:1px solid rgba(255,255,255,.2)}.toolbar-group:last-child{border-right:none}.toolbar-btn{background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 10px;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:12px;color:#ccc;transition:all .15s ease;font-family:inherit}.toolbar-btn:hover{background:#ffffff1a;color:#fff}.toolbar-btn.active{background:#ffffff26;color:#fff}.toolbar-btn svg{width:16px;height:16px}.toolbar-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.tab-switcher{display:flex;background:#0000004d;border-radius:6px;padding:3px}.tab-btn{background:transparent;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:12px;color:#999;transition:all .15s ease;font-family:inherit}.tab-btn svg{width:14px;height:14px}.tab-btn:hover{color:#ccc}.tab-btn.active{background:var(--accent);color:#fff}.page-navigation{display:flex;align-items:center;gap:6px}.nav-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;width:26px;height:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#ccc;transition:all .15s ease}.nav-btn:hover:not(:disabled){background:#fff3;color:#fff}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.page-input{width:36px;padding:4px 6px;border:1px solid rgba(255,255,255,.2);border-radius:4px;font-size:11px;text-align:center;font-family:inherit;background:#0000004d;color:#fff}.page-input:focus{outline:none;border-color:var(--accent)}.page-total{font-size:11px;color:#999}.editor-panel{flex:1;display:flex;flex-direction:column;background:var(--bg-editor);min-width:300px}.editor-contenteditable{flex:1;padding:30px 30px 30px 60px;font-family:"Noto Serif JP",serif;font-size:15px;line-height:2;outline:none;overflow:auto;background:var(--bg-editor);color:var(--text-primary);cursor:text}.editor-contenteditable.editor-vertical{writing-mode:vertical-rl;text-orientation:mixed;padding:50px 40px 30px}.editor-contenteditable::selection,.editor-contenteditable *::selection{background:#c4463a4d}.editor-line{display:block;position:relative;min-height:1.5em}.editor-line:before{content:attr(data-line-number);position:absolute;left:-40px;color:#bbb;font-size:10px;-webkit-user-select:none;user-select:none;pointer-events:none;width:30px;text-align:right}.editor-vertical .editor-line:before{left:auto;top:-30px;width:auto;writing-mode:horizontal-tb}.editor-line.dialogue{padding-left:0}.editor-line.narrative{text-indent:4em}.editor-vertical .editor-line.narrative{text-indent:0;padding-top:4em}.editor-line.empty{min-height:1.5em}.editor-vertical .editor-line.empty{min-height:auto;min-width:1.5em}.editor-line.direction,.editor-line.action{position:relative;margin-left:0;margin-top:1em;padding-left:.5em;padding-right:.5em;border-left:1px solid #888;border-bottom:1px solid #888}.editor-line.direction:before,.editor-line.action:before{content:attr(data-line-number);position:absolute;left:-40px;color:#bbb;font-size:10px;-webkit-user-select:none;user-select:none;pointer-events:none;width:30px;text-align:right}.editor-line.direction:after,.editor-line.action:after{content:"";position:absolute;top:-.5em;left:-1px;width:2em;height:.5em;border-top:1px solid #888;border-left:1px solid #888;border-right:1px solid #888}.editor-line.direction{color:var(--text-secondary)}.editor-vertical .editor-line.direction,.editor-vertical .editor-line.action{margin-left:0;margin-top:0;margin-right:0;padding:.6em .5em .5em;border-left:1px solid #888;border-right:1px solid #888;border-top:none;border-bottom:none}.editor-vertical .editor-line.direction:before,.editor-vertical .editor-line.action:before{left:auto;top:-30px;width:auto;writing-mode:horizontal-tb}.editor-vertical .editor-line.direction:after,.editor-vertical .editor-line.action:after{top:-.6em;left:-1px;right:-1px;width:auto;height:.6em;border-top:1px solid #888;border-left:1px solid #888;border-right:1px solid #888;border-bottom:none}.preview-panel{flex:1;display:flex;flex-direction:column;background:#e8e5dd;min-width:300px}.preview-container{flex:1;padding:20px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth}.preview-pages{display:flex;flex-direction:row-reverse;gap:20px;padding:0 20px;height:100%;width:max-content}.preview-page{background:#fff;box-shadow:0 2px 10px var(--shadow);writing-mode:vertical-rl;text-orientation:mixed;font-family:"Noto Serif JP",serif;height:calc(100vh - 120px);min-height:500px;max-height:800px;width:calc((100vh - 120px)*.707);min-width:354px;max-width:566px;position:relative;flex-shrink:0;padding:15px;aspect-ratio:210 / 297;transition:box-shadow .2s ease}.preview-page.active{box-shadow:0 4px 20px #c4463a4d}.page-header{display:flex;font-size:9px;color:var(--text-secondary);writing-mode:horizontal-tb;position:absolute;top:10px;left:15px;right:15px}.page-header.odd{justify-content:flex-end}.page-header.even{justify-content:flex-start}.page-title{font-weight:500}.page-content{position:absolute;top:230px;left:15px;right:15px;bottom:40px;border-top:2px solid #333;overflow:visible}.page-footer{writing-mode:horizontal-tb;text-align:center;font-size:10px;color:var(--text-primary);position:absolute;bottom:10px;left:0;right:0}.page-number{letter-spacing:2px}.preview-line{font-size:10px}.preview-line:first-child{margin-left:0!important}.preview-line.empty{height:1em}.preview-line.dialogue{font-weight:400}.preview-line .togaki-container{position:relative}.preview-line .togaki-cap{position:absolute;top:-3.5em;left:0;right:0;height:3.5em;border-top:2px solid #333;border-left:2px solid #333;border-right:2px solid #333}.preview-line .togaki-content{position:relative;padding:.2em 5px 1em;font-size:.9em;border-left:2px solid #333;border-right:2px solid #333}.preview-line.direction .togaki-content{color:var(--text-secondary)}.settings-panel{width:240px;background:var(--bg-secondary);border-left:1px solid var(--border);padding:16px;overflow-y:auto;flex-shrink:0}.settings-section{margin-bottom:20px}.settings-title{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-label{font-size:12px;color:var(--text-primary)}.settings-input{width:60px;padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:right;font-family:inherit}.settings-value{font-size:12px;color:var(--text-secondary)}.settings-select{padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:#fff;font-family:inherit}.status-bar{background:var(--bg-secondary);padding:4px 16px;font-size:11px;color:var(--text-secondary);display:flex;justify-content:space-between;border-top:1px solid var(--border)}.filename-display{cursor:pointer;padding:2px 6px;border-radius:3px;transition:background .15s ease}.filename-display:hover{background:var(--border)}.filename-input{background:#fff;border:1px solid var(--accent);border-radius:3px;padding:2px 6px;font-size:11px;font-family:inherit;color:var(--text-primary);outline:none;width:200px}:root{--bg-primary: #f7f5f0;--bg-secondary: #ebe8e0;--bg-editor: #fdfcfa;--text-primary: #2d2a26;--text-secondary: #6b6560;--accent: #c4463a;--accent-hover: #a83a30;--border: #d4d0c8;--shadow: rgba(45, 42, 38, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Zen Kaku Gothic New,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.app-container{display:flex;flex-direction:column;height:100vh}.main-content,.content-area{flex:1;display:flex;overflow:hidden}.hidden-input{display:none}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0}}
