:root{--paper:#f6f5f0;--white:#fffefa;--ink:#222e28;--muted:#657068;--line:#d9dcd2;--green:#245943;--pale:#e9ede3;--danger:#a0382b;--focus:#a97922;--serif:Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--sans)}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-9999px;top:8px;background:var(--white);padding:10px;z-index:10}.skip:focus{left:8px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 26px;border-bottom:1px solid var(--line);background:var(--white)}.brand{text-decoration:none;font-size:26px;font-weight:800;letter-spacing:-1.3px;line-height:.8}.brand span,.heading h1 span{color:var(--green)}.brand small{display:block;margin-top:8px;color:var(--muted);font-size:8px;letter-spacing:1.5px}.top-actions{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px}main{min-height:calc(100vh - 70px)}h1,h2,p{margin-top:0}p{color:var(--muted)}.kicker,.panel-head{font-size:10px;font-weight:750;letter-spacing:1.5px;color:var(--green)}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid var(--green);text-decoration:none;font-weight:700;font-size:12px;white-space:nowrap}.button.small{min-height:36px;font-size:11px}.primary{background:var(--green);color:white}.secondary{background:var(--white);color:var(--green)}.quiet{min-height:36px;border:0;background:transparent;padding:6px 10px;color:var(--ink);font-weight:700}.quiet:hover,.tools button:hover{background:var(--pale)}.danger{color:var(--danger)!important}.gate{max-width:950px;margin:9vh auto;padding:65px 55px;background:var(--green);color:white}.gate h1{font:normal clamp(64px,9vw,115px)/.94 var(--serif);letter-spacing:-4px}.gate h1 em{color:#d1e0ca}.gate p{color:#d9e8d4}.gate .kicker{color:#d9e8d4}.gate .button{background:white;color:var(--green)}#library{max-width:1120px;margin:auto;padding:60px 28px}.heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.heading h1{font:normal 76px/1 var(--serif);letter-spacing:-3px;margin:0 0 24px}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:35px}.project-card{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;padding:20px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.project-card strong{font:normal 28px/1.1 var(--serif)}.project-card small{color:var(--muted)}.editor-top{height:65px;display:flex;align-items:center;gap:10px;padding:9px 18px;border-bottom:1px solid var(--line);background:var(--white)}#project-title{min-width:100px;flex:1;border:0;border-bottom:1px solid var(--line);background:transparent;font:normal 26px var(--serif);color:var(--ink)}#save-state{color:var(--muted);font-size:11px;white-space:nowrap}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr) 245px;min-height:calc(100vh - 135px)}.pages-panel,.inspector{background:var(--white);padding:17px 14px}.pages-panel{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.panel-head{display:flex;justify-content:space-between;margin-bottom:18px}.page-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.page-actions input{display:none}.page-list{display:grid;gap:8px;max-height:calc(100vh - 325px);overflow:auto;padding:3px}.page-tile{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:7px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:grab}.page-tile.active{border:2px solid var(--green);padding:6px}.page-tile img{width:43px;height:57px;object-fit:contain;background:white;box-shadow:0 1px 4px #0002}.page-tile span{font-size:11px;overflow:hidden;text-overflow:ellipsis}.canvas-panel{min-width:0;display:flex;flex-direction:column;background:#e8eae3}.tools{display:flex;gap:2px;overflow:auto;padding:10px 13px;border-bottom:1px solid var(--line);background:var(--white)}.tools button{min-height:36px;white-space:nowrap;border:0;background:transparent;padding:7px 10px;color:var(--ink);font-size:11px;font-weight:700}.tools button.active{background:var(--green);color:white}.canvas-stage{min-height:440px;flex:1;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:40px}.paper{position:relative;width:min(100%,595px);aspect-ratio:612 / 792;background:white;box-shadow:0 9px 32px #1c382522;touch-action:none;container-type:inline-size}.paper>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}#layer-stage{position:absolute;inset:0}.layer{position:absolute;overflow:hidden;white-space:pre-wrap;cursor:move;touch-action:none;font-family:var(--sans)}.layer.selected{outline:2px solid var(--green);outline-offset:1px}.layer.image img{width:100%;height:100%;object-fit:fill}.layer.highlight{background:#f5d65b99}.layer.redaction{background:#000}.layer.shape{border:2px solid var(--green)}.layer.comment{background:#fff6ce;border:1px solid #ceb766;padding:3px}.layer.stamp{border:2px solid var(--green);color:var(--green);font-weight:800;text-align:center}.layer.signature{font-family:cursive}.layer .handle{position:absolute;right:0;bottom:0;width:12px;height:12px;background:var(--green);cursor:nwse-resize}.canvas-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 15px;border-top:1px solid var(--line);background:var(--white);color:var(--muted);font-size:10px}.canvas-foot .quiet{font-size:11px}.inspector label,.layout label,#print-form label,#admin-form label{display:grid;gap:5px;margin:11px 0;color:var(--ink);font-size:11px;font-weight:700}.inspector input,.inspector select,#print-form input,#print-form select,#admin-form input{width:100%;min-height:36px;padding:5px 8px;border:1px solid #b9c3b7;background:var(--white);color:var(--ink)}.inspector fieldset{border:0;border-top:1px solid var(--line);margin:25px 0 0;padding:20px 0}.inspector legend{font:normal 24px var(--serif)}#layer-inspector>p{font-size:12px}.inspector .button{width:100%;margin-top:12px}.history{padding:20px 28px;background:var(--white);border-top:1px solid var(--line)}.history summary{cursor:pointer;font-weight:700}.history button{display:block;margin:8px 0}#admin{max-width:1120px;margin:auto;padding:25px 28px 55px;border-top:1px solid var(--line)}#admin h2{font:normal 36px var(--serif)}#admin-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}#admin-form label{min-width:170px}dialog{width:min(95vw,900px);max-height:90vh;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:20px}dialog::backdrop{background:#102b20a6}.dialog-bar,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-bar h2,#print-form h2{font:normal 35px var(--serif);margin:0}.dialog-actions{margin-top:23px;justify-content:flex-end}#preview-dialog{height:90vh}#sheet-preview{width:100%;height:calc(100% - 55px);border:0}#print-dialog{max-width:450px}#print-form input[type=checkbox]{width:18px;min-height:18px}#notice{position:fixed;right:20px;bottom:20px;z-index:30;max-width:400px;padding:13px 17px;background:var(--ink);color:white;box-shadow:0 9px 25px #0003;font-size:12px}
@media(max-width:1000px){.workspace{grid-template-columns:170px minmax(0,1fr)}.inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.inspector .layout{display:flex;flex-wrap:wrap;gap:12px}.inspector .layout label{min-width:110px}}@media(max-width:650px){.topbar{padding:0 15px}.editor-top{height:auto;flex-wrap:wrap}.editor-top #project-title{order:-1;flex-basis:100%}.workspace{display:flex;flex-direction:column}.pages-panel{border-right:0;border-bottom:1px solid var(--line)}.page-list{display:flex;overflow:auto;max-height:110px}.page-tile{min-width:90px;width:90px}.page-actions{margin:5px 0}.canvas-stage{padding:19px 12px;min-height:400px}.paper{width:min(100%,430px)}.canvas-foot span{display:none}.inspector{padding:18px}.heading h1{font-size:55px}.gate{margin:20px;padding:40px 25px}.gate h1{font-size:64px}}
.inspector textarea,#new-form input{width:100%;min-height:38px;padding:7px 9px;border:1px solid #b9c3b7;background:var(--white);color:var(--ink)}.inspector textarea{min-height:75px;resize:vertical}.inspector input[type=color]{width:52px;padding:2px}.layer.pen{pointer-events:none}.layer.pen path{pointer-events:stroke}#new-form label{display:grid;gap:5px;margin:15px 0;font-size:12px;font-weight:700}
.admin-user{display:flex;align-items:center;justify-content:space-between;max-width:650px;border-bottom:1px solid var(--line);font-size:12px}.admin-user .quiet{color:var(--danger)}
.library-actions{display:flex;align-items:center;gap:8px}.library-actions input{display:none}@media(max-width:650px){.library-actions{flex-wrap:wrap}.heading{align-items:flex-start;flex-direction:column}}
#page-content{position:absolute;inset:0;width:100%;height:100%;container-type:inline-size}#page-content>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.paper{width:100%}
