:root{--bg:#fff;--surface:#fff;--ink:#000;--ink-soft:#555;--accent:#00c;--accent-hover:#009;--subtle:#ccf;--lavender:#ccf;--line:#00c;--text:var(--ink);--border:2px solid var(--accent);--radius:0;--shadow:none;--font-serif:"Noto Serif JP", "Hiragino Mincho ProN", serif;--font-ui:"Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button{font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius)}.novel-sheet{background:var(--bg);direction:rtl;height:100%;overflow:auto hidden}.novel-body{writing-mode:vertical-rl;text-orientation:mixed;width:max-content;font-family:var(--font-serif);color:var(--ink);font-size:1.15rem;font-weight:400;line-height:var(--novel-leading,2.05);letter-spacing:var(--novel-tracking,0);font-kerning:none;font-variant-ligatures:none;line-break:strict;word-break:normal;overflow-wrap:normal;font-feature-settings:"vert" 1, "vrt2" 1, "kern" 0;height:100%;padding-block:var(--novel-padding-block,16px);padding-block-end:calc(var(--novel-padding-block,16px) + var(--novel-trailing-space,4.1em));padding-inline:var(--novel-padding-inline,8px);direction:ltr}.novel-body p{margin:0}.yakumono-full{inline-size:1em;display:inline-block;overflow:visible}.latin-sideways{text-orientation:sideways;white-space:nowrap}.ellipsis-vertical{text-orientation:upright;white-space:nowrap}.tcy{writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:0;vertical-align:middle;width:1em;height:1em;line-height:1;font-family:var(--font-serif);font-feature-settings:normal;justify-content:center;align-items:center;display:inline-flex;position:relative;left:-.26em}.tcy-text{white-space:nowrap;transform-origin:50%;display:block;transform:scaleX(.82)}.num,.num-unit{text-orientation:upright;white-space:nowrap;letter-spacing:0;font-feature-settings:normal}.angle-sideways{text-orientation:sideways;white-space:nowrap;letter-spacing:0;font-feature-settings:normal}.novel-seam--latest{background:#0000cc14}.workspace{background:var(--bg);height:100%;color:var(--text);flex-direction:column;display:flex}.workspace-header{inset-inline:0;z-index:50;background:var(--bg);height:56px;padding:0 var(--space-4);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0}.workspace-title{font-family:var(--font-ui);color:var(--accent);margin:0;font-size:1.25rem;font-weight:700}.typesetting-tools{top:var(--space-2);left:var(--space-4);z-index:80;font-family:var(--font-ui);position:absolute}.typesetting-toggle,.typesetting-actions button{color:var(--accent);background:0 0;border:0}.typesetting-toggle{place-items:center;width:40px;height:40px;padding:0;display:grid}.typesetting-toggle .material-symbols-sharp{font-variation-settings:"wght" 600;font-size:24px}.typesetting-toggle:hover,.typesetting-toggle[aria-expanded=true]{background:var(--accent);color:#fff}.typesetting-panel{width:min(22rem,100vw - 2rem);margin-top:var(--space-2);border:2px solid var(--accent);background:var(--surface);padding:var(--space-6);color:var(--accent)}.typesetting-heading{margin:0 0 var(--space-6);color:var(--accent);font-size:1.1rem;font-weight:700}.typesetting-control{gap:4px var(--space-2);margin-bottom:var(--space-6);color:var(--accent);grid-template-columns:1fr auto;font-size:.95rem;font-weight:700;display:grid}.typesetting-number{color:var(--accent);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.typesetting-number input{border:2px solid var(--accent);background:var(--surface);width:5.5rem;height:34px;color:var(--accent);font:inherit;text-align:right;border-radius:0;outline:none;padding:2px 6px}.typesetting-number input:focus{background:#f7f7ff}.typesetting-control input[type=range]{width:100%;accent-color:var(--accent);grid-column:1/-1}.typesetting-actions{gap:var(--space-2);padding-top:var(--space-2);border-top:2px solid var(--accent);justify-content:flex-end;display:flex}.typesetting-actions button{min-height:32px;color:var(--accent);text-underline-offset:3px;padding:4px 8px;font-size:.8rem;font-weight:700;text-decoration:underline}.workspace-body{z-index:10;background:var(--bg);min-height:0;padding:3.5rem var(--space-4) var(--space-2);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.composer-bar{z-index:10;background:var(--bg);padding:var(--space-2) var(--space-4) var(--space-4);flex-shrink:0;position:relative}.ui-panel{border:var(--border);background:var(--surface)}.composer-panel{align-items:flex-end;width:100%;max-width:48rem;margin:0 auto;display:flex;position:relative}.composer-input--paragraph{background-image:linear-gradient(var(--surface), var(--surface))}.composer-panel:has(.composer-input--paragraph):before{content:"";z-index:1;box-sizing:border-box;border:1px dashed var(--subtle);pointer-events:none;width:1rem;height:1rem;position:absolute;bottom:16px;left:12px}.composer-paragraph-status{color:var(--accent)}.composer-input{resize:none;background:var(--surface);min-height:48px;max-height:160px;font-family:var(--font-ui);color:var(--ink);border:none;outline:none;flex:1;padding:12px;font-size:1rem;line-height:1.5;overflow-y:auto}.composer-input::placeholder{color:var(--subtle)}.composer-meta{width:100%;max-width:48rem;min-height:1.25rem;color:var(--ink-soft);margin:0 auto 2px;font-size:.75rem;display:flex}.composer-error{color:#b00020}.composer-send{border:none;border-left:var(--border);background:var(--surface);width:48px;height:48px;color:var(--subtle);cursor:not-allowed;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.composer-send--on{background:var(--surface);cursor:pointer}.composer-send--on:hover{background:#f7f7ff}.composer-timer-fill{background:var(--lavender);pointer-events:none;position:absolute;inset:0}.composer-timer-content{z-index:1;color:var(--accent);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.composer-timer-content .material-symbols-sharp{height:18px;font-size:1.15rem;line-height:18px}.composer-count-value{color:var(--accent);font-size:.625rem;font-weight:700;line-height:11px}.composer-send--error .composer-timer-content,.composer-send--error .composer-count-value{color:#b00020}.material-symbols-sharp{font-family:Material Symbols Sharp;font-size:1.5rem;font-style:normal;font-weight:400;line-height:1;display:inline-block}
