:root{font-family:system-ui,-apple-system,sans-serif;color:#182646;background:#eff3f9;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:white;color:#243453;border:1px solid #ccd5e5;border-radius:10px;padding:11px 15px;min-height:44px;font-weight:600}button:hover{background:#edf2ff;border-color:#7690df}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f4b740;outline-offset:2px}.primary,button.active{background:#264fd0;color:white;border-color:#264fd0}header{display:flex;align-items:center;gap:20px;padding:18px 24px;background:white;border-bottom:1px solid #dce3ef;flex-wrap:wrap}.brand{text-decoration:none;color:#264fd0;font-size:21px;font-weight:800}header input{border:0;border-bottom:1px solid #ccd5e5;max-width:260px;width:25%;padding:8px;font-weight:600}#state{font-size:14px;color:#5c6982;margin-left:auto}.layout{display:grid;grid-template-columns:230px 1fr;height:calc(100dvh - 91px)}aside{background:#fafbfe;border-right:1px solid #dce3ef;padding:20px 16px;overflow:auto}aside button{width:100%;margin-bottom:9px;font-size:14px}.imports{margin-bottom:28px}.sectionhead{font-weight:700;font-size:14px;margin-bottom:12px;display:flex;justify-content:space-between}#pages{display:grid;gap:10px;margin-bottom:24px}.page{display:flex;gap:12px;align-items:center;text-align:left}.page img{width:45px;height:62px;object-fit:contain;background:white}.page.current{border:2px solid #264fd0;background:#edf2ff}.small{font-size:14px;color:#66738b;line-height:1.7}main{min-width:0;display:flex;flex-direction:column;overflow:hidden}.toolbar{display:flex;gap:6px;align-items:center;background:white;padding:13px 18px;flex-wrap:wrap}.toolbar button{border-color:transparent}.spacer{flex:1}.subbar{display:flex;align-items:center;gap:10px;padding:10px 20px;color:#596981;font-size:14px}.subbar span{margin-right:auto}.subbar button{font-size:14px;padding:7px 12px}#workspace{flex:1;overflow:auto;padding:32px;position:relative;background-color:#e9eef7;background-image:radial-gradient(#c9d3e5 .7px,transparent .7px);background-size:16px 16px}#empty{max-width:580px;margin:7vh auto;text-align:center;background:white;border:1px solid #dce3ef;padding:48px 25px;border-radius:20px;box-shadow:0 12px 40px #20366409}h1{font-size:24px}h2{font-size:21px}.papericon{font-size:60px;color:#264fd0}#sheet{position:relative;margin:0 auto;width:fit-content;box-shadow:0 6px 30px #17294926;background:white}#canvas{display:block;touch-action:none}#eraser{display:none;position:absolute;width:36px;height:36px;border:2px solid #264fd0;background:#264fd020;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}footer{padding:9px 20px;font-size:13px;color:#69768d;display:flex;justify-content:space-between;background:#fafbfe}dialog{border:1px solid #d5deed;border-radius:18px;padding:26px;width:min(620px,94vw);max-height:92dvh;box-shadow:0 25px 100px #16274433}dialog::backdrop{background:#14264466}textarea{width:100%;padding:12px;border:1px solid #b8c6dc;border-radius:9px;font-size:20px;resize:vertical}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.end{justify-content:flex-end}#adjust{max-width:100%;max-height:48vh;display:block;margin:auto;touch-action:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#162746;color:white;border-radius:12px;padding:15px 22px;display:none;z-index:10;max-width:90vw}#printarea{display:none}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){header{padding:12px;gap:8px}.brand{font-size:18px}header input{width:45%;max-width:none}#state{order:4;width:100%}header #save{margin-left:auto}.layout{height:calc(100dvh - 125px);display:flex;flex-direction:column}aside{padding:10px;display:flex;gap:8px;align-items:center;overflow:auto;border-bottom:1px solid #ccd5e5;flex-shrink:0}aside .imports{display:flex;margin:0;gap:7px}aside button{width:auto;white-space:nowrap;margin:0}aside .sectionhead,aside .small{display:none}#pages{display:flex;margin:0}.page img{width:24px;height:30px}.page{padding:4px 8px}main{flex:1}.toolbar{padding:7px;gap:1px}.toolbar button{padding:9px;font-size:14px}.subbar{padding:8px;flex-wrap:wrap}.subbar span{width:100%}#workspace{padding:15px}footer span{display:none}#empty{margin:15px auto;padding:25px 15px}h1{font-size:20px}}@media print{@page{size:A4;margin:8mm}body>*{display:none!important}#printarea{display:block!important}#printarea img{display:block;max-width:100%;max-height:280mm;margin:auto;break-after:page;page-break-after:always}#printarea img:last-child{break-after:auto;page-break-after:auto}}
/* Bookshelf, page collection and focused worksheet */
[hidden]{display:none!important}body{background:#f6f8fc;color:#29394e}header{height:80px;padding:0 5%;flex-wrap:nowrap}.brand{color:#3d609f;font-size:21px}.header-note{color:#8793a5;font-size:14px}.collection{max-width:1120px;padding:48px 42px 70px;margin:auto}.collection-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.collection h1{font-size:32px;letter-spacing:.06em;margin:0 0 10px}.collection-head p{font-size:15px;color:#7c8aa0;margin:0}.shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.shelf article{min-width:0}.shelf h2{font-size:16px;margin:18px 0 5px;line-height:1.6;overflow-wrap:anywhere}.cover-button,.page-button{border:0;background:none!important;padding:0;width:100%;display:block;text-align:left;transition:transform .15s}.cover-button:hover,.page-button:hover{transform:translateY(-4px)}.book-cover{aspect-ratio:3/4;background:#e0eafa;border-radius:5px 11px 11px 5px;box-shadow:3px 5px 0 #e1e6ef,0 10px 20px #24395212;overflow:hidden;display:flex;flex-direction:column;padding:22px;color:#45638d;justify-content:center}.book-cover:has(img){padding:0;background:white}.book-cover img{width:100%;height:100%;object-fit:contain}.book-cover small{font-size:12px;font-weight:500;margin-bottom:20px}.book-cover strong{font-size:26px;overflow-wrap:anywhere}.add-card{aspect-ratio:3/4;width:100%;border:2px dashed #ccd8eb;background:#eef3fc;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:#567abb;font-size:16px;border-radius:11px}.plus{display:grid;place-items:center;width:63px;height:63px;background:white;border-radius:50%;font-size:40px;font-weight:300}.card-meta,.save-tag{font-size:13px;color:#8995a7;margin:4px 0}.save-tag{font-size:12px;color:#7888a2}.storagehint{margin:48px 0 0;padding-top:19px;border-top:1px solid #e1e7f0;font-size:13px;color:#8190a6;line-height:1.8}.emptyhint{color:#7a899f;font-size:14px;margin-top:26px}.back{border:0;background:none;padding:8px 0;margin:0 0 23px;color:#697c95}.book-heading{display:flex;gap:20px;align-items:center;min-width:0}.book-heading input{font-size:26px;font-weight:700;color:#29394e;background:none;border:0;border-bottom:1px solid transparent;width:100%;padding:5px 0;max-width:560px}.book-heading input:focus{border-bottom-color:#7894ce}.mini-cover{width:55px;height:73px;padding:8px;box-shadow:2px 3px 0 #e1e6ef;border-radius:4px}.mini-cover strong{font-size:12px}.mini-cover small{display:none}.book-actions{display:flex;gap:10px;align-items:center;margin:-12px 0 28px;flex-wrap:wrap}.book-actions #state{margin:0 auto 0 0;font-size:13px}.book-actions button{font-size:13px;padding:8px 12px}.page-button{aspect-ratio:3/4;background:white!important;border:1px solid #dce3ec;border-radius:4px;box-shadow:0 6px 18px #23385409;overflow:hidden}.page-button img{width:100%;height:100%;object-fit:contain;display:block}.primary{background:#496fce;border-color:#496fce}body[data-view=editor]>header{display:none}#editorView{height:100dvh;display:flex;flex-direction:column}.editor-header{display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #e0e7f0;padding:10px 25px;gap:15px;min-height:76px}.editor-title{text-align:center;font-size:15px;min-width:0;overflow-wrap:anywhere}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;color:#8592a6}.pagination button{min-height:25px;padding:0 8px;border:0;background:transparent;font-size:22px}#workspace{min-height:0;padding:28px 20px;background:#eef2f8;flex:1}#sheet{box-shadow:0 8px 28px #24385416}#editorView .subbar{background:#f7f9fc;padding:6px 24px}#editorState{font-size:12px}#editorView .subbar #zoomlabel{margin:0}#editorView .subbar button{min-height:34px}.tools-bottom{background:white;border-top:1px solid #dce3ed;padding:8px 10px}.tools-bottom .toolbar{justify-content:center;padding:0;gap:6px}.toolbar button.active{background:#edf2ff;color:#365fbd;border:1px solid #ccd9f5}.tools-bottom p{text-align:center;font-size:13px;color:#7d899c;margin:7px 0 0}#newTitle{width:100%;font-size:20px;border:1px solid #bac9e0;border-radius:9px;padding:12px}.name-label{display:block;margin:25px 0 9px;font-size:14px}.cover-preview{height:130px;margin-top:16px}.cover-preview img{height:100%;max-width:100%;object-fit:contain;border-radius:5px}.choice{width:100%;display:block;margin-top:12px}#textdialog{position:fixed;inset:auto 16px 115px auto;margin:0;width:350px;padding:18px;box-shadow:0 10px 36px #23395326}#textdialog::backdrop{background:transparent}#textdialog h2{font-size:17px;margin-top:0}#textdialog textarea{font-size:24px;min-height:64px}#textdialog .row{gap:6px;margin-top:10px}#textdialog button{font-size:13px;padding:7px 10px}#textdialog label{font-size:13px}#textdialog .small{font-size:12px;line-height:1.5}
@media(max-width:800px){header{height:70px}.header-note{display:none}.collection{padding:32px 25px}.shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 23px}.collection-head{gap:15px}.collection-head>button{font-size:13px}.book-heading input{font-size:23px}.book-cover strong{font-size:23px}.editor-header{padding:10px 15px}.toolbar button{font-size:14px}}
@media(max-width:560px){.collection{padding:28px 22px 50px}.collection-head{display:block;margin-bottom:26px}.collection-head>button{margin-top:20px}.collection h1{font-size:27px}.shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 22px}.book-cover{padding:15px}.book-cover strong{font-size:21px}.shelf h2{font-size:14px}.card-meta,.save-tag{font-size:12px}.plus{width:53px;height:53px;font-size:35px}.add-card{font-size:14px}.book-heading{gap:12px}.book-heading input{font-size:20px}.book-heading p{font-size:12px}.book-actions{margin-top:0}.book-actions #state{width:100%}.editor-header{padding:8px 10px;gap:8px}.editor-header button{font-size:13px;padding:8px 10px}.editor-title{font-size:12px}.tools-bottom .toolbar{gap:2px}.toolbar button{padding:9px 7px;font-size:12px;min-height:46px}.tools-bottom p{font-size:11px}.subbar span{width:auto}#editorState{width:100%;font-size:11px}#editorView .subbar{padding:5px 12px;gap:6px}#workspace{padding:15px 12px}#textdialog{left:10px;right:10px;bottom:105px;width:auto;max-height:55dvh}.storagehint{margin-top:35px}.header-note{display:none}}
[hidden]{display:none!important}#scanCamera,#imagedialog{width:min(760px,94vw);max-height:94dvh;overflow:auto} .camera-stage{position:relative;background:#101827;min-height:180px}.camera-stage video{display:block;width:100%;max-height:60dvh;object-fit:contain}.camera-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}#adjust{display:block;max-width:100%;max-height:58dvh;width:auto;height:auto;margin:12px auto;touch-action:none}#cornerControls{flex-wrap:wrap}#cornerControls button{min-height:44px}#toneControls{padding:16px 0}#scanCamera .row,#imagedialog .row{flex-wrap:wrap;gap:8px}#scanStatus,#cameraStatus{font-size:16px;line-height:1.6}
