:root{--bg:#111;--fg:#eee;--accent:#f2c14e;--strip:#1b1a18;--muted:#aaa}html,body,#root{background:var(--bg);height:100%;color:var(--fg);margin:0;font-family:system-ui,sans-serif}#root{flex-direction:column;display:flex}.reader{touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;flex:1;min-height:0;display:flex}.controls button{color:var(--fg);background:0 0;border:0;min-width:44px;min-height:44px;font-size:22px}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden;container-type:size}.view{position:relative;overflow:hidden}.page{background:#000;position:absolute;container-type:size}.page img{pointer-events:none;position:absolute}.line{white-space:pre;transform-origin:0 100%;z-index:2;position:absolute}.line.static{pointer-events:none}.hit{z-index:1;border-radius:12px;position:absolute}.hit.active{box-shadow:0 0 0 2px var(--accent)}.w.on{background:var(--accent);color:#000;border-radius:3px}.w.sel{background:#f2c14e73;border-radius:3px}.dock{background:var(--strip);flex:none}.controls{align-items:center;padding:0 4px;display:flex}.grow{flex:1}.pageno{color:var(--muted);font-size:13px}.strip{overscroll-behavior:contain;max-height:32vh;padding:0 16px 10px;overflow:auto}.who-row{justify-content:space-between;align-items:center;display:flex}.who{font-size:14px;font-weight:700}.txt{margin:2px 0 4px;font-size:24px;line-height:1.35}.en{color:var(--fg);background:0 0;border:1px solid #555;border-radius:6px;min-height:36px;padding:2px 12px}.tr{color:var(--muted);margin:0;font-size:18px}.hint{color:var(--muted);margin:4px 0}.card{z-index:10;background:#2a2826;border-radius:12px;padding:16px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px 24px #00000080}.card .head{font-size:22px}.card .note{color:var(--muted)}.card button{color:var(--fg);background:#3a3734;border:0;border-radius:8px;min-height:44px;margin:8px 8px 0 0;padding:0 14px}.import{padding:24px 16px}.btn{background:var(--accent);color:#000;border-radius:8px;padding:12px 16px;display:inline-block}.error{color:#ff8a80}.warn{background:#5a4300;margin:0;padding:6px 12px;font-size:13px}.center{text-align:center;margin-top:40vh}
