:root{--bg-color: #f5f5f5;--sidebar-bg: #fff;--text-color: #333;--border-color: #ddd;--btn-bg: #fff;--btn-text: #666;--btn-border: #ccc;--btn-hover: #f0f0f0;--page-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);height:100vh;overflow:hidden;transition:background-color .3s,color .3s,--spotlight-radius .3s ease}#app{display:grid;grid-template-columns:250px 1fr;height:100vh}#app.with-thumbnails{grid-template-columns:250px 200px 1fr}.thumbnail-sidebar{background:var(--bg-color);background:var(--sidebar-bg);border-right:1px solid var(--border-color);padding:1rem;overflow-y:auto;display:none}.thumbnail-sidebar.visible{display:block}.sidebar-toggle{position:fixed;top:10px;left:10px;z-index:1000;background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);border-radius:4px;padding:6px 10px;cursor:pointer;font-size:1.2rem;box-shadow:0 2px 4px #0003;transition:background-color .2s}.sidebar-toggle:hover{background:var(--btn-hover)}#app.sidebar-collapsed{grid-template-columns:0px 1fr!important}#app.sidebar-collapsed.with-thumbnails{grid-template-columns:0px 200px 1fr!important}#app.sidebar-collapsed aside{visibility:hidden;padding:0;border:none;overflow:hidden}.pdf-container{background:transparent;box-shadow:none;min-height:800px;min-width:600px;display:flex;flex-direction:column;margin:0 auto}.mobile-menu-btn{display:none}@media (max-width: 768px){.sidebar-toggle{display:none}.mobile-menu-btn{display:block;position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);box-shadow:0 4px 10px #0000004d;z-index:1100;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}#app,#app.with-thumbnails,#app.sidebar-collapsed{grid-template-columns:1fr!important;height:100vh;overflow:hidden}.thumbnail-sidebar,#thumbnail-container{display:none!important}aside.sidebar{position:fixed;bottom:0;left:0;right:0;width:100%;height:auto;max-height:80vh;z-index:1000;border-right:none;border-top:1px solid var(--border-color);box-shadow:0 -5px 20px #0003;border-radius:16px 16px 0 0;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);padding-bottom:40px}aside.sidebar.open{transform:translateY(0)}.pdf-container{min-width:100vw;width:100vw;overflow-x:auto}.preview{padding:0!important;width:100vw;overflow-x:auto}.bridge-page-container{margin-bottom:0!important;box-shadow:none!important}}aside{background:var(--sidebar-bg);border-right:1px solid var(--border-color);padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;transition:background-color .3s,border-color .3s}.preview{padding:2rem;overflow:auto;display:flex;background-color:var(--bg-color);transition:background-color .3s}.bridge-page-container{background:#fff;box-shadow:0 1px 4px #0000004d;transition:filter .3s ease;margin-left:auto;margin-right:auto}canvas{display:block}.textLayer{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;opacity:.25;line-height:1;pointer-events:none}.textLayer{pointer-events:auto}.textLayer>span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}::selection{background:#0000ff4d}.control-group{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}button{padding:.5rem 1rem;cursor:pointer;background-color:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);border-radius:4px;transition:background-color .2s,color .2s,border-color .2s}button:hover{background-color:var(--btn-hover)}.bridge-thumbnail{border:2px solid transparent;transition:transform .2s,border-color .2s}.bridge-thumbnail:hover{transform:scale(1.02)}.bridge-thumbnail.active{border-color:#007bff;box-shadow:0 0 5px #007bff80}.hidden{display:none!important}#landing-view{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--bg-color);text-align:center}#landing-view h1{font-size:3rem;margin-bottom:2rem;color:var(--text-color)}.upload-btn-wrapper{position:relative;overflow:hidden;display:inline-block;margin-bottom:1rem}.btn{border:2px solid var(--btn-border);color:var(--btn-text);background-color:var(--btn-bg);padding:8px 20px;border-radius:8px;font-size:20px;font-weight:700;cursor:pointer}.upload-btn-wrapper input[type=file]{font-size:100px;position:absolute;left:0;top:0;opacity:0;cursor:pointer}@property --spotlight-x{syntax: "<length-percentage>"; inherits: true; initial-value: 50%;}@property --spotlight-radius{syntax: "<length-percentage>"; inherits: true; initial-value: 30vmax;}body.theme-paper{--bg-color: #dadad6;--sidebar-bg: #dadad6;--text-color: #433422;--border-color: #d3cbb7;--btn-bg: #dadad6;--btn-text: #5b4a35;--btn-border: #bfb7a6;--btn-hover: #cfc7b6;--paper-tint: var(--bg-color)}body.theme-paper input,body.theme-paper select,body.theme-paper textarea{background-color:var(--bg-color);border-color:var(--border-color);color:var(--text-color)}body.theme-dark{--bg-color: #000000;--sidebar-bg: #000000;--text-color: #e0e0e0;--border-color: #333;--btn-bg: #111;--btn-text: #ccc;--btn-border: #333;--btn-hover: #222}body.theme-dark .bridge-page-container canvas,body.theme-dark .bridge-thumbnail canvas{filter:invert(100%) hue-rotate(180deg)}body.theme-dark .bridge-page-container{background-color:#333;box-shadow:none}body.theme-lamp{--bg-color: #1a1510;--sidebar-bg: #2a2018;--text-color: #eccfa1;--border-color: #4e3b2c;--btn-bg: #3e2f22;--btn-text: #eccfa1;--btn-border: #5c4634;--btn-hover: #4e3b2c;--paper-tint: #dadad6}#lamp-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1000;opacity:0;transition:opacity .5s ease;background:radial-gradient(circle at var(--spotlight-x, 50%) 50%,rgba(255,200,100,.1) 0%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.85) 90%);mix-blend-mode:multiply}body.theme-lamp #lamp-overlay{opacity:1}body.theme-lamp,body.theme-spotlight{transition:background-color 0s,color 0s}body.theme-spotlight{--bg-color: #1a1510;--sidebar-bg: #2a2018;--text-color: #eccfa1;--border-color: #4e3b2c;--btn-bg: #3e2f22;--btn-text: #eccfa1;--btn-border: #5c4634;--btn-hover: #4e3b2c;--paper-tint: #dadad6}body.theme-spotlight #lamp-overlay{opacity:1;background:radial-gradient(circle at var(--spotlight-x, 50%) 50%,rgba(255,220,150,.15) 0%,rgba(255,220,150,.05) var(--spotlight-radius, 25%),rgba(0,0,0,.2) calc(var(--spotlight-radius, 25%) + 2%),rgba(0,0,0,.85) calc(var(--spotlight-radius, 25%) + 8%),rgba(0,0,0,.85) 100%)}body.theme-lamp .bridge-page-container canvas,body.theme-lamp .bridge-thumbnail canvas,body.theme-spotlight .bridge-page-container canvas,body.theme-spotlight .bridge-thumbnail canvas{filter:none}body.theme-lamp .bridge-page-container,body.theme-spotlight .bridge-page-container{background-color:#dadad6;box-shadow:0 10px 30px #00000080}body.theme-paper .bridge-page-container,body.theme-paper .bridge-thumbnail,body.theme-lamp .bridge-page-container,body.theme-lamp .bridge-thumbnail,body.theme-spotlight .bridge-page-container,body.theme-spotlight .bridge-thumbnail{position:relative;background-color:#fff}body.theme-paper .bridge-page-container:after,body.theme-paper .bridge-thumbnail:after,body.theme-lamp .bridge-page-container:after,body.theme-lamp .bridge-thumbnail:after,body.theme-spotlight .bridge-page-container:after,body.theme-spotlight .bridge-thumbnail:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--paper-tint);mix-blend-mode:multiply;pointer-events:none;z-index:10}body.theme-paper .bridge-page-container canvas,body.theme-paper .bridge-thumbnail canvas,body.theme-lamp .bridge-page-container canvas,body.theme-lamp .bridge-thumbnail canvas,body.theme-spotlight .bridge-page-container canvas,body.theme-spotlight .bridge-thumbnail canvas{filter:none}
