@font-face{font-family:CunuSans;src:url("fonts/DejaVuSans.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuSans;src:url("fonts/DejaVuSans-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuSans;src:url("fonts/DejaVuSans-Oblique.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuSans;src:url("fonts/DejaVuSans-BoldOblique.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:CunuSerif;src:url("fonts/DejaVuSerif.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuSerif;src:url("fonts/DejaVuSerif-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuSerif;src:url("fonts/DejaVuSerif-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuSerif;src:url("fonts/DejaVuSerif-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:CunuMono;src:url("fonts/DejaVuSansMono.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuMono;src:url("fonts/DejaVuSansMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuMono;src:url("fonts/DejaVuSansMono-Oblique.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuMono;src:url("fonts/DejaVuSansMono-BoldOblique.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}
:root{color-scheme:light;--ink:#18324c;--muted:#53687d;--blue:#165a9e;--line:#d8e2ec;--soft:#f3f6f9;--paper:#fff;--focus:#b85800;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#edf2f7;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid #bdcddd;border-radius:6px;background:white;padding:9px 12px;font-weight:600;min-height:38px}button:hover{background:#ecf3fa;border-color:#7b9ebf}button:disabled{opacity:.48;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#10467d}button.danger{color:#9b3030}.link{border:0;background:transparent;padding:4px;text-decoration:underline;font-weight:400}input,select,textarea{min-width:0;border:1px solid #aebfd0;background:white;border-radius:5px;padding:8px;max-width:100%}input[type=number]{width:88px}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px}input[type=color]{height:38px;padding:4px}textarea{width:100%;min-height:86px;resize:vertical}label{display:block;font-size:13px;line-height:1.45}label>input:not([type=checkbox]),label>select,label>textarea{display:block;width:100%;margin-top:4px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,p{margin:0}h2{font-size:17px}p{line-height:1.6}button[aria-pressed=true]{color:var(--blue);background:#e4effb;border-color:var(--blue)}[hidden]{display:none!important}.muted{color:var(--muted);font-size:12px}.full{width:100%;margin-top:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spacer{flex:1}.info{border-radius:50%;width:24px;min-height:24px;height:24px;padding:0;flex-shrink:0;color:var(--blue);font-family:Georgia,serif;font-style:italic;font-weight:bold}.skip{position:absolute;left:20px;top:-80px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.header{display:flex;gap:16px;align-items:center;background:white;border-bottom:1px solid var(--line);padding:14px 26px}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:42px;background:var(--blue);color:white;font-size:30px;font-weight:700;border-radius:4px 12px 4px 4px}.brand strong{display:block;font-size:20px;letter-spacing:.1em}.brand span span{font-size:12px;color:var(--muted)}.badge{border:1px solid #d2deea;border-radius:20px;background:var(--soft);font-size:11px;padding:5px 9px}.header-actions{display:flex;gap:8px;margin-left:auto}.start{max-width:1040px;margin:68px auto;padding:0 30px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.eyebrow{color:var(--blue);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px}h1,.hero-title{font-size:36px;line-height:1.12;letter-spacing:-.03em;margin:14px 0 20px}.start p{margin-bottom:18px}.format-form{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 12px 35px #1d355512}.format-form>label{font-weight:700}.input-action{display:flex;gap:8px;margin:10px 0}.input-action input{flex:1;width:100%}main{max-width:1800px;margin:0 auto;padding:0 22px}.document-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0}.document-bar strong{display:block;font-size:17px;margin-bottom:4px}.document-bar button{font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:white;padding:12px 16px;border:1px solid var(--line);border-radius:8px 8px 0 0}.switch-label{display:flex;align-items:center;gap:8px;font-weight:600}.compact{display:flex;align-items:center;gap:8px;margin-left:12px}.compact input{width:65px;padding:6px}.series-bar{background:#e4effa;display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:10px 16px}.series-bar label{display:flex;gap:8px;align-items:center}.series-bar label>select{width:auto;margin:0}.editor{display:grid;grid-template-columns:206px minmax(300px,1fr) 270px;border:1px solid var(--line);border-top:0;background:white;min-height:560px}.panel{padding:18px 14px;overflow:auto;max-height:850px}.elements{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.elements>select{width:100%;margin-top:6px}.layers{margin:10px 0;display:grid;gap:6px}.layer{width:100%;display:flex;gap:7px;align-items:center;text-align:left;font-size:12px;padding:10px;overflow:hidden}.layer span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer small{font-size:10px;background:var(--soft);border-radius:3px;padding:3px;color:var(--muted)}#layer-controls .two{margin-top:7px}#layer-controls button{font-size:11px;padding:7px 4px}#mode-label{margin-top:20px}.canvas-panel{background:#e8eef4;min-width:0;display:flex;flex-direction:column}.viewbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid #d3dce7;background:#f6f8fb}.viewbar>label{display:flex;align-items:center;gap:7px}.viewbar input,.viewbar select{width:auto;max-width:85px;margin:0}.viewbar input{width:64px}.segmented{display:flex;gap:0}.segmented button{font-size:12px;padding:7px 10px;border-radius:0}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-radius:0 5px 5px 0}.canvas-scroll{padding:28px;overflow:auto;flex:1;min-height:360px;display:flex;align-items:flex-start;justify-content:center}#canvas-host{width:100%;max-width:800px}#canvas-host.sheet{max-width:470px}#canvas-host>svg{display:block;width:100%;height:auto;background:white;box-shadow:0 5px 20px #17344c19;max-height:670px}#canvas-host [data-object]{cursor:move;touch-action:none}#canvas-host [data-field]{cursor:pointer}.canvas-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;padding:8px 16px;font-size:11px;color:var(--muted)}.issues{font-size:12px;margin:0 16px 12px;border-left:3px solid #be6b1b;background:#fff8eb;padding:9px 12px;line-height:1.5}.issues:empty{display:none}.inspector h2{margin-bottom:18px}.properties-grid{display:grid;gap:13px}.properties-grid .check{display:flex;gap:7px;align-items:center}.properties-grid .check input{margin:0}.subheading{font-weight:700;border-top:1px solid var(--line);padding-top:12px;font-size:12px}.output-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;padding:14px 18px}.output-bar label{display:flex;align-items:center;gap:8px}.output-bar label input{width:85px;margin:0}#output-summary{font-size:12px;color:var(--muted)}footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:18px 26px;color:var(--muted);font-size:11px}.status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#18324c;color:white;border-radius:7px;box-shadow:0 4px 18px #0003;max-width:90vw;z-index:50}.status.error{background:#872d2d}dialog{border:1px solid var(--line);border-radius:12px;max-width:760px;width:calc(100% - 32px);max-height:90vh;padding:25px;color:var(--ink);box-shadow:0 15px 70px #0003}dialog::backdrop{background:#18324c66}dialog p{margin:14px 0}dialog li{line-height:1.6;margin-bottom:9px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}#csv-dialog label{margin:12px 0}.check{display:flex;align-items:center;gap:8px}.table-scroll{overflow:auto;max-height:240px}table{border-collapse:collapse;font-size:12px;white-space:pre-wrap;width:100%}td,th{text-align:left;border:1px solid var(--line);padding:8px;max-width:200px;overflow-wrap:anywhere}th{background:var(--soft)}.error{color:#9b3030}#tooltip{position:fixed;z-index:100;padding:12px 14px;max-width:340px;background:#17334f;color:white;font-size:12px;line-height:1.5;border-radius:7px;box-shadow:0 5px 20px #0003;pointer-events:none}#print-root{display:none}.file-note{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.empty-list{border:1px dashed #c2d0dd;border-radius:6px;padding:18px 10px;font-size:12px;color:var(--muted);line-height:1.5}
@media(min-width:1600px){.editor{grid-template-columns:230px minmax(300px,1fr) 290px}.canvas-scroll{padding:35px}}
@media(max-width:1000px){.editor{grid-template-columns:180px minmax(260px,1fr)}.inspector{grid-column:1/-1;border-top:1px solid var(--line);border-left:0;max-height:none}.properties-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.properties-grid .wide{grid-column:1/-1}.properties-grid .subheading{grid-column:1/-1}.start{gap:25px}.toolbar .spacer{display:none}}
@media(max-width:650px){.header{padding:12px;flex-wrap:wrap;gap:10px}.header-actions{width:100%;margin-left:0}.header-actions button{flex:1;padding:8px;font-size:12px}.badge{margin-left:auto}.start{display:block;margin:30px auto;padding:0 16px}h1,.hero-title{font-size:30px}.format-form{padding:20px}.input-action{flex-direction:column}main{padding:0 10px}.toolbar{padding:12px;gap:8px}.compact{margin-left:0}.editor{display:flex;flex-direction:column}.elements{order:2;border:0;border-top:1px solid var(--line);max-height:none}.canvas-panel{order:1}.inspector{order:3}.layers{grid-template-columns:repeat(2,minmax(0,1fr))}.properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-scroll{padding:18px;min-height:260px}.viewbar{padding:10px;gap:10px}.output-bar{padding:12px}.output-bar .spacer{display:none}.output-bar>button{flex:1}.document-bar strong{font-size:14px}.document-bar .muted{font-size:11px}.canvas-caption{font-size:10px}footer{padding:18px 12px}.series-bar{gap:10px;padding:10px}.dialog-actions{flex-direction:column}}
@page{size:A4 portrait;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white!important}#app,dialog,#tooltip,noscript{display:none!important}#print-root{display:block!important}.print-page{margin:0!important;padding:0!important;width:210mm!important;height:297mm!important;break-after:page;page-break-after:always;overflow:hidden}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page>svg{display:block;width:210mm;height:297mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.brand h1{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin:0;line-height:1.4}
/* 0.2.1: explicit foregrounds fix inherited button/tooltip contrast. */
:root{--muted:#43566a;--ink:#18324c}button:disabled{opacity:1;background:#eef1f5;color:#596575;border-color:#c9d0da}button.primary:disabled{background:#d8e1eb;color:#43566a}input:disabled,select:disabled{color:#596575;background:#eef1f5}input::placeholder{color:#596575;opacity:1}.status,.status.error,#tooltip{color:#fff}a{color:#12538e}.topline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 26px;background:#18324c;color:#fff}.topline a{color:#fff;font-weight:bold;text-decoration:underline;text-underline-offset:3px}.topline label{display:flex;align-items:center;gap:8px}.topline select{width:auto;margin:0;color:#18324c}.brand h1{font-size:16px;font-weight:700;color:#18324c}.brand strong{font-size:16px}.editor{grid-template-columns:250px minmax(300px,1fr) 300px}.panel{max-height:950px}#properties{margin-top:18px}.data-fields{margin-top:22px;padding-top:16px;border-top:2px solid #165a9e}.data-fields h3{font-size:15px;margin:0 0 10px}.data-fields p{margin-bottom:9px}.data-card{border:1px solid #9bb3cd;border-radius:6px;background:#f0f6fc;padding:10px;margin:8px 0;cursor:grab;overflow-wrap:anywhere}.data-card strong,.data-value{display:block;font-size:12px}.data-value{color:#43566a;max-height:44px;overflow:hidden;margin:5px 0}.data-card button{font-size:11px;padding:4px 8px;min-height:28px}.selection-tools{margin:16px 0 8px}.selection-tools button{font-size:11px;padding:7px}.arrangebar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;background:#f6f8fb;border-bottom:1px solid #c8d4e1;font-size:12px}.arrangebar button{font-size:11px;padding:5px 7px;min-height:30px}.arrangebar input[type=number]{width:64px}.arrangebar label{display:flex;gap:6px;align-items:center}.arrangebar label input{margin:0}#record-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:10px;background:#e4effa}#record-controls label{display:flex;align-items:center;gap:6px}#record-controls input{width:70px;margin:0}#record-controls button{font-size:12px}#canvas-host [data-handle]{cursor:nwse-resize;touch-action:none}#canvas-host [data-handle=n],#canvas-host [data-handle=s]{cursor:ns-resize}#canvas-host [data-handle=e],#canvas-host [data-handle=w]{cursor:ew-resize}#canvas-host [data-handle=ne],#canvas-host [data-handle=sw]{cursor:nesw-resize}.field-checks{display:flex;flex-wrap:wrap;gap:12px;max-height:220px;overflow:auto;margin:15px 0}.font-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 0;border-bottom:1px solid #d8e2ec}.font-row span{overflow-wrap:anywhere}.guide{max-width:1180px;margin:55px auto;padding:32px;background:#fff;border:1px solid #d8e2ec;border-radius:10px}.guide h2{font-size:24px;margin:10px 0 20px}.guide h3{font-size:18px;margin:30px 0 12px}.guide p,.guide li{line-height:1.75;margin-bottom:12px;color:#354d64}.guide ol,.guide ul{padding-left:24px}.guide details{border-top:1px solid #d8e2ec;padding:15px 0}.guide summary{font-weight:bold;cursor:pointer}.guide details p{margin-top:12px}#data-fields:focus{outline:3px solid #b85800;outline-offset:3px}.canvas-panel{overflow:hidden}
@media(min-width:1600px){.editor{grid-template-columns:270px minmax(300px,1fr) 310px}}
@media(max-width:1100px){.editor{grid-template-columns:230px minmax(260px,1fr)}.inspector{grid-column:1/-1;max-height:none;border-left:0;border-top:1px solid var(--line)}.properties-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.properties-grid .wide{grid-column:1/-1}}
@media(max-width:650px){.topline{padding:9px 12px;font-size:12px}.topline label{font-size:0}.topline select{font-size:13px}.guide{margin:28px 10px;padding:20px}.elements{order:1}.canvas-panel{order:2}.inspector{order:3}.properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-fields #data-cards{display:grid;grid-template-columns:1fr 1fr;gap:7px}.data-card{margin:0;min-width:0}.brand h1{font-size:15px}.arrangebar button{min-height:36px}.panel{max-height:none}}

@font-face{font-family:CunuCarlito;src:url("fonts/Carlito-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuCarlito;src:url("fonts/Carlito-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuCarlito;src:url("fonts/Carlito-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuCarlito;src:url("fonts/Carlito-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:CunuCaladea;src:url("fonts/Caladea-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuCaladea;src:url("fonts/Caladea-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuCaladea;src:url("fonts/Caladea-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuCaladea;src:url("fonts/Caladea-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}
@font-face{font-family:CunuRubik;src:url("fonts/Rubik-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CunuRubik;src:url("fonts/Rubik-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:block}
@font-face{font-family:CunuRubik;src:url("fonts/Rubik-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:CunuRubik;src:url("fonts/Rubik-BoldItalic.ttf") format("truetype");font-weight:700;font-style:italic;font-display:block}

/* 0.2.1: compact sticky chrome, bounded CSV list and whole-sheet selection. */
html{scroll-padding-top:100px}.header{position:sticky;top:0;z-index:30;background:#18324c;color:#fff;padding:10px 24px;gap:18px;flex-wrap:wrap}.header .brand,.header .brand h1{color:#fff}.header .brand-mark{background:#fff;color:#165a9e}.header .badge{color:#e4effb;background:#264561;border-color:#60788f}.language-control{display:flex;align-items:center;gap:8px;margin-left:auto}.language-control select{width:auto;margin:0;color:#18324c}.header-actions{margin-left:0}.header-actions button{color:#18324c;background:#fff}.header-actions button:disabled{color:#596575;background:#e3e9ef}.format-title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px}.format-title-row strong{margin:0}.format-title-row a{font-weight:600;text-underline-offset:3px}.format-heading #format-details{display:block;margin-top:5px}.start-order{margin:16px 0 0!important}.document-bar>button{flex-shrink:0}.layers{max-height:200px;overflow:auto;align-content:start;padding:2px}.data-fields{margin-top:16px;padding-top:12px;border-top:1px solid #b3c6da}.data-fields summary{font-size:14px;font-weight:700;cursor:pointer;padding:4px 0}.data-fields p{margin:8px 0}.data-fields #data-cards{display:block;max-height:180px;overflow-y:auto;overscroll-behavior:contain;padding:2px 5px 2px 1px;scrollbar-gutter:stable}.data-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;margin:6px 0;padding:8px}.data-card strong{grid-column:1;font-size:12px}.data-card .data-value{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.data-card button{grid-column:2;grid-row:1/3;align-self:center}.data-card .data-kind{grid-column:1/-1;color:#43566a;font-size:11px}.data-card .data-kind.error{color:#9b3030}.csv-guide-link{display:inline-block;margin-top:9px;font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;padding:8px!important}.icon-button svg{display:block;flex-shrink:0}.selection-tools .icon-button{justify-self:start}.remove-button{margin-top:10px}.arrangebar .icon-button{min-height:36px;width:36px;min-width:36px;height:36px}.arrangebar [data-align=top]{margin-left:7px}.exclude-help{padding:9px 14px;color:#18324c;background:#fff2d6;font-size:12px;line-height:1.5;border-bottom:1px solid #d3c39f}.canvas-scroll{padding:16px;min-height:240px}.canvas-scroll.sheet-fit{flex:0 0 auto;height:calc(var(--sheet-height, 480px) + 32px);min-height:0;overflow:visible}#canvas-host.sheet{height:var(--sheet-height,480px);max-width:calc(var(--sheet-height,480px)*210/297)}#canvas-host.sheet svg{height:100%;max-height:none;width:100%;background:#fff}.canvas-scroll.is-excluding #canvas-host.sheet{max-width:none}#canvas-host [data-axis]{cursor:pointer}#canvas-host [data-field]:focus-visible,#print-field-picker [data-field]:focus-visible,#canvas-host [data-axis]:focus-visible,#print-field-picker [data-axis]:focus-visible{outline:1px solid #b85800;outline-offset:-1px}.is-excluding #canvas-host,.print-field-picker{touch-action:none;user-select:none}.print-field-picker{width:220px;max-width:100%;margin:12px auto}.print-field-picker svg{width:100%;display:block}.print-field-picker [data-field],.print-field-picker [data-axis]{cursor:pointer}.print-advanced{border-top:1px solid #bdcddd;padding-top:14px}.print-advanced summary{cursor:pointer;font-weight:bold}.print-advanced .check{margin:14px 0}.print-advanced h3{font-size:14px;margin:18px 0 8px}.guide-step{margin:24px 0}.guide-figure{margin:14px 0 22px}.guide-shot{display:block;width:100%;max-width:780px;padding:0;border:1px solid #9bb3cd;overflow:hidden;background:#edf2f7}.guide-shot img{width:100%;height:auto;display:block}.guide-figure figcaption{font-size:12px;color:#43566a;margin-top:6px}.guide a{overflow-wrap:anywhere}#guide-image-dialog{max-width:min(1400px,96vw)}#guide-image-dialog img{display:block;max-width:100%;height:auto}.guide-nav{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0}.guide table{white-space:normal}.guide th,.guide td{max-width:none}
@media(min-width:1101px){.panel{max-height:820px}.editor{min-height:520px}}
@media(max-width:850px){.header{gap:10px;padding:10px 14px}.header .badge{display:none}.header-actions{flex-wrap:wrap}.header-actions button{padding:8px;font-size:12px}.language-control{margin-left:auto}.language-control>select{font-size:13px}}
@media(max-width:650px){.header .brand{gap:7px}.header .brand h1{font-size:13px}.header .brand-mark{width:30px;height:34px;font-size:25px}.language-control{font-size:0}.language-control select{font-size:13px}.header-actions{width:100%;gap:6px}.header-actions button{flex:1}.document-bar{align-items:flex-start;gap:8px}.format-title-row a{font-size:12px}.canvas-panel{order:1}.elements{order:2}.layers{grid-template-columns:1fr}.data-fields #data-cards{display:block;max-height:180px}.selection-tools{grid-template-columns:1fr 1fr}.arrangebar .icon-button{width:40px;height:40px;min-width:40px}.canvas-scroll{padding:12px}.canvas-scroll.sheet-fit{height:calc(var(--sheet-height,380px) + 24px)}.guide-shot{max-width:100%}.panel{max-height:none}}
@media(pointer:coarse){.icon-button,.arrangebar .icon-button{min-height:44px;min-width:44px;width:44px;height:44px}.data-card button{min-height:40px}}
/* Keep imported column names legible; the preview itself scrolls horizontally. */
#csv-preview table{table-layout:auto;width:max-content;min-width:100%}#csv-preview th,#csv-preview td{min-width:110px;max-width:250px;white-space:normal;word-break:normal;overflow-wrap:break-word}

/* 0.3.0: shop palette, screen zoom and virtual roll strip. */
:root{--ink:#292929;--muted:#566474;--blue:#006b9a;--line:#c7d3df;--soft:#f4f7f9;--focus:#005bb5;background:#f4f7f9;color:#292929}
a{color:#0077ad}button.primary{background:#087dae;border-color:#087dae}button.primary:hover{background:#00567f}button[aria-pressed=true]{background:#eaf6fc;color:#006b9a;border-color:#006b9a}
.header{background:#006c9e;padding:9px 22px;gap:14px}.brand{gap:14px}.brand-logo{width:143px;height:auto;display:block;background:white;padding:5px 7px;border-radius:4px}.brand h1{font-size:18px!important}.header .badge{background:#00567f;color:#fff;border-color:#74b2cc}.header-actions button{font-size:12px;min-height:34px}.language-control{gap:3px}.language-control button{padding:5px;min-height:32px;border:0;background:transparent;color:white;font-size:12px}.language-control button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px;background:transparent;color:white}.header :focus-visible{outline-color:#fff}
.format-choice{min-width:0}.mode-choice{margin-bottom:12px}.mode-choice button{flex:1;padding:12px}.format-form p{margin:12px 0}.format-form .two{margin-top:18px}.format-mode-bar{margin:0 0 12px}.document-bar{padding:16px 0 12px}.editor{grid-template-columns:240px minmax(300px,1fr) 300px;align-items:stretch}.panel{max-height:870px;padding:16px 12px}.panel-heading{margin-bottom:14px}.canvas-panel{background:#e5eef3}.viewbar{padding:9px 12px;gap:10px}.arrangebar{padding:8px 10px}.arrangebar input[type=number]{width:55px}#record-controls{padding:7px;gap:7px}.zoom-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line)}.zoom-controls button{min-height:30px;padding:5px 8px;font-size:11px}.zoom-controls output{min-width:46px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.zoom-controls input{width:95px;height:24px;padding:0;accent-color:var(--blue)}
.design-area{display:flex;min-width:0;min-height:280px;align-items:stretch}.canvas-scroll,.canvas-scroll.sheet-fit{display:block;flex:1;min-width:0;min-height:260px;max-height:none;padding:16px;overflow:auto;overscroll-behavior:contain}.canvas-scroll #canvas-host,.canvas-scroll #canvas-host.sheet{max-width:none;max-height:none;flex:none;margin:0 auto}.canvas-scroll #canvas-host>svg{width:100%;height:100%;max-height:none;max-width:none}.canvas-caption{background:#f4f7f9}.is-excluding [data-field]{cursor:crosshair!important}#canvas-host [data-handle=bar-height]{cursor:ns-resize}
#roll-preview{width:164px;flex:0 0 164px;background:#dce8ef;border-right:1px solid #bacbd6;display:flex;flex-direction:column;min-height:0}.roll-heading{padding:11px 6px;text-align:center;font-size:12px;font-weight:bold}#roll-list{position:relative;flex:1;min-height:200px;height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}#roll-items{position:relative}.roll-label{position:absolute;left:4px;right:4px;width:calc(100% - 8px);padding:6px 4px 10px;border-radius:5px;border:2px solid transparent;background:#cddce6;font-weight:normal;min-height:0;display:flex;align-items:center;flex-direction:column;gap:5px}.roll-label>span{font-size:10px}.roll-label svg{background:white;display:block;max-width:100%;box-shadow:0 1px 4px #0002;pointer-events:none}.roll-label[aria-pressed=true]{border-color:#006b9a;background:#eaf6fc}.roll-label:hover{background:#eff8fc}
.combo-column{display:flex;gap:4px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}.combo-column span{min-width:0;flex:1;font-size:12px;overflow-wrap:anywhere}.combo-column button{font-size:11px;padding:4px;min-height:30px}#help-dialog{max-width:1100px;padding:18px}#help-content .guide{margin:0;padding:8px;border:0}.guide figure{margin:15px 0 24px}.guide img{max-width:100%;height:auto;display:block}.guide-figure-button{width:100%;padding:0;overflow:hidden}.guide figcaption{font-size:12px;color:var(--muted);margin-top:7px}.guide .guide-intro{font-size:16px}.guide .guide-note{background:#eaf6fc;border-left:3px solid #087dae;padding:12px 15px}.guide table{margin:18px 0;white-space:normal}.guide table td,.guide table th{max-width:none;vertical-align:top}.guide[id],.guide [id]{scroll-margin-top:105px}
@media(min-width:1600px){.editor{grid-template-columns:260px minmax(300px,1fr) 320px}}
@media(max-width:1150px){.editor{grid-template-columns:210px minmax(260px,1fr)}.inspector{grid-column:1/-1;max-height:none;border-left:0;border-top:1px solid var(--line)}.properties-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.properties-grid .wide{grid-column:1/-1}.brand h1{font-size:16px!important}.header{gap:10px}.header-actions{gap:5px}}
@media(max-width:760px){.header{padding:8px 12px}.brand-logo{width:115px}.brand h1{font-size:14px!important}.header .badge{font-size:10px;padding:3px 6px}.language-control{margin-left:auto}.header-actions{width:100%;justify-content:flex-end}.header-actions button{padding:5px 8px;flex:1}.editor{display:flex;flex-direction:column}.elements{order:2;max-height:none;border:0;border-top:1px solid var(--line)}.canvas-panel{order:1}.inspector{order:3}.properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-controls{gap:5px}.zoom-controls input{width:70px}#roll-preview{width:126px;flex-basis:126px}.roll-label svg{max-width:108px}.document-bar{align-items:flex-start}.document-bar>button{max-width:100px}.format-title-row{gap:4px}.format-title-row a{font-size:12px}.canvas-scroll{padding:12px}.start{margin-top:32px}}

/* 0.3.1: page scrolling for controls, a pinned/pannable work view and bounded roll previews. */
:root{--header-height:112px}html{scroll-padding-top:calc(var(--header-height) + 16px)}
.header{padding:7px 20px;gap:6px 12px}.brand-logo{width:126px;padding:3px 5px}.brand{gap:10px}.brand h1{font-size:16px!important}.header .badge{padding:3px 7px}.header-actions button{min-height:32px;padding:5px 9px}
.header-format{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;border-top:1px solid #ffffff50;padding-top:6px}.header-format .format-heading{flex:1;min-width:180px}.header-format strong{font-size:13px}.header-format a{color:#fff;font-size:12px}.header-format #format-details{margin-top:2px;color:#edf7fc;font-size:11px}.header-format .format-title-row{gap:6px 16px}.header-format .format-mode-bar{margin:0}.header-format button{min-height:30px;padding:5px 9px;font-size:12px}.header-format button[aria-pressed=true]{background:#d5effb;color:#064b6b}.header-format .segmented{flex:none}
main{padding:0 16px}.toolbar{padding:6px 10px;gap:6px 8px;border-radius:0;border-top:0}.toolbar>button{min-height:32px;padding:5px 8px;font-size:12px}.toolbar>.info{min-height:24px;padding:0}.toolbar .compact{margin:0}.compact input{width:54px}.toolbar label{font-size:12px}.toolbar .spacer{flex:.3}.series-bar{padding:0;gap:6px 10px;background:transparent;flex:1 1 auto}.series-bar label{font-size:12px}.series-bar select{max-width:180px;padding:5px}.series-bar>button{min-height:32px;padding:5px 8px;font-size:12px}.series-bar>.info{padding:0;min-height:24px}#series-count{font-size:12px;white-space:nowrap}
.editor{align-items:start}.panel{max-height:none;overflow:visible;padding:12px}.layers{max-height:none;overflow:visible;grid-template-columns:1fr}.side-section{padding:9px 0;border-top:1px solid var(--line)}.side-section>summary{cursor:pointer;font-weight:bold;font-size:13px;padding:4px 0}.side-section>select{width:100%;margin-top:5px}.side-section>label{margin-top:9px}.side-section .selection-tools{margin-top:10px}#mode-label{margin-top:12px}.properties-grid{grid-template-columns:1fr;gap:10px}.properties-section{border-top:1px solid var(--line);padding:8px 0}.properties-section>summary{cursor:pointer;font-size:13px;font-weight:700;padding:5px 0 10px}.properties-section .properties-grid{padding:3px 0 8px}#properties{margin-top:10px}.inspector h2{margin-bottom:5px}.panel-heading{margin-bottom:8px}
.data-fields #data-cards{height:var(--csv-height,360px);max-height:none;overflow-y:auto}.data-fields.all-data #data-cards{height:auto;overflow:visible;scrollbar-gutter:auto}.csv-size-actions{display:flex;align-items:center;gap:7px;justify-content:space-between}.csv-size-actions button{font-size:11px;padding:4px 7px;min-height:30px}.csv-size-actions span{font-size:10px}.resize-handle{width:100%;min-height:28px;padding:3px;background:#e3edf5;border:1px solid #8daac0;cursor:ns-resize;touch-action:none;color:#164566;font-size:12px;margin:3px 0 8px}.resize-handle::before,.resize-handle::after{content:'―';margin:0 12px;color:#526e85}.data-fields.all-data .resize-handle{display:none}
.canvas-panel{overflow:visible;align-self:start;width:100%;min-width:0}.canvas-panel.workspace-pinned{position:sticky;top:calc(var(--header-height) + 8px)}.canvas-tools{position:sticky;top:var(--header-height);z-index:12;background:#f6f8fb}.workspace-pinned .canvas-tools{position:relative;top:auto}.viewbar{gap:6px 9px;padding:6px 10px}.viewbar button,.viewbar input,.viewbar select{min-height:30px;padding:5px 7px}.arrangebar{padding:5px 10px;gap:5px}.arrangebar button{min-height:28px}.arrangebar input[type=number]{padding:4px}.zoom-controls{padding:6px 10px;gap:5px}.zoom-controls button{min-height:29px;padding:4px 7px}.zoom-controls input[type=checkbox]{width:17px;height:17px;margin:0}.keep-label{font-size:11px;margin-left:auto}.zoom-controls input[type=range]{width:72px}#record-controls{padding:5px 10px;gap:5px}#record-controls button,#record-controls input{min-height:28px;padding:4px 7px;font-size:11px}#pin-note{padding:4px 10px}
.design-area{min-height:0;position:relative;flex:none;overflow:hidden}.canvas-scroll,.canvas-scroll.sheet-fit{position:relative;flex:1 1 auto;min-height:0;padding:0;overflow:hidden;overscroll-behavior:auto;height:100%!important;touch-action:pan-y}.canvas-scroll #canvas-host,.canvas-scroll #canvas-host.sheet{position:absolute;left:16px;top:16px;margin:0;transform-origin:top left}.canvas-scroll.is-panning,.canvas-scroll.is-panning *{cursor:grabbing!important}.canvas-scroll.pan-ready,.canvas-scroll.pan-ready *{cursor:grab!important}.canvas-scroll.pan-ready{touch-action:none}.canvas-caption{padding:6px 10px}.issues{margin:0 10px 8px;padding:7px 9px;font-size:11px}.issues .issue-item{margin:2px 0}.issue-link{padding:2px 0;min-height:26px;border:0;background:transparent;text-decoration:underline;color:#005e8c;font-size:inherit;text-align:left}.issue-link:hover{background:#e4f2fa}.issue-link:focus-visible{outline-offset:0}.issue-message{display:block}
#roll-preview{height:100%;min-height:0;overflow:hidden}#roll-list{flex:1 1 0;min-height:0;height:0;overflow-y:auto;overflow-x:hidden}.roll-heading{padding:8px 6px}.roll-label{min-width:0}.output-bar{padding:9px 12px;gap:8px}.output-bar>button{min-height:34px;font-size:12px}.output-print-note{border:1px solid var(--line);border-top:0;background:#fff;margin:0;padding:12px 16px;font-size:12px}.print-important{line-height:1.65}.print-important a{display:inline-block;margin-top:4px}.print-pages h3{margin:0 0 12px}.print-pages .two{margin-top:12px}.print-pages>label{margin-top:10px}.output-diagnostics{background:white;border:1px solid var(--line);padding:12px 16px;margin-top:12px}.output-diagnostics>summary{font-weight:bold;cursor:pointer}#diagnostics-note{font-size:12px;margin-top:8px}#diagnostics-list,#output-warning-list{padding-left:22px}#diagnostics-list li,#output-warning-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}#output-warning-dialog .dialog-actions{position:sticky;bottom:-25px;background:#fff;padding:12px 0;margin-bottom:-10px}#print-format-required{background:#eaf6fc;padding:10px;border-left:3px solid #087dae;font-weight:bold}
.start{max-width:1240px;margin:30px auto 45px;padding:0 24px;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.start .hero-title{font-size:30px;margin:0 0 18px;line-height:1.2}.benefits{list-style:none;margin:0;padding:0;display:grid;gap:11px}.benefits li{padding:0 0 10px 14px;border-left:3px solid #88b9d0;border-bottom:1px solid #dde5eb}.benefits strong{display:block;font-size:14px;margin-bottom:3px}.benefits span{font-size:13px;line-height:1.6;color:#43566a}.benefits a{white-space:nowrap;font-size:12px}.start .format-form{padding:22px}.guide [id]{scroll-margin-top:calc(var(--header-height) + 16px)}.printer-examples{display:grid;grid-template-columns:1fr 1fr;gap:24px}.printer-examples .guide-figure-button{background:#f4f7f9;display:flex;justify-content:center}.printer-examples img{max-height:500px;width:auto}.guide .print-important{border-left:4px solid #087dae;background:#eaf6fc;padding:12px 16px}
@media(max-width:1150px){.properties-section .properties-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header{padding-left:12px;padding-right:12px}.keep-label{margin-left:0}.canvas-tools{position:static}.start{gap:24px}.start .hero-title{font-size:26px}}
@media(max-width:760px){.header{gap:5px 8px;padding:6px 10px}.header-actions{gap:5px}.header .brand-logo{width:102px}.header .brand h1{font-size:13px!important}.header .badge{font-size:9px}.header-format{gap:5px 8px}.header-format .format-heading{flex-basis:100%}.header-format button{font-size:11px;min-height:28px}.header-format .format-title-row{gap:5px 10px}.header-format #format-details{font-size:10px}.header-actions button{min-height:29px;font-size:11px}.header-format .format-mode-bar{margin-right:auto}.editor{display:flex}.properties-section .properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:0 8px}.toolbar .spacer{display:none}.toolbar .compact{font-size:11px}.series-bar{flex-basis:100%;border-top:1px solid var(--line);padding-top:5px}.zoom-controls{padding:5px 8px}.zoom-controls input[type=range]{width:62px}#roll-preview{flex-basis:105px;width:105px}.roll-label svg{max-width:85px}.start{display:block;margin-top:25px;padding:0 16px}.start-benefits{margin-bottom:24px}.printer-examples{grid-template-columns:1fr}.canvas-tools{position:static}.output-bar>button{flex:1 1 auto}.output-print-note{font-size:11px;padding:10px}.keep-label{width:100%}}
.header-format button{color:#18324c}

/* 0.3.2: one compact header row, shared toolbar pinned above the design. */
.header{display:grid;grid-template-columns:auto minmax(max-content,1fr) auto;align-items:center;gap:6px 12px;padding:7px 14px}
.header .brand{min-width:max-content}.header .brand h1{white-space:nowrap;font-size:16px!important}
.header-format-controls,.header-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.header-format-controls{justify-content:center}.header-format-controls .format-mode-bar{margin:0;flex:none;display:flex;flex-wrap:nowrap}
.header-format-controls button,.header-actions button{white-space:nowrap;font-size:12px;min-height:32px;padding:5px 8px;color:#18324c}
.header-format-controls button[aria-pressed=true]{background:#d5effb;color:#064b6b}
.header-user-actions{justify-content:flex-end}.header-user-actions .language-control,.header-user-actions .header-actions{margin-left:0;flex:none;width:auto;flex-wrap:nowrap}
.header-format{grid-column:1/-1;margin:0;padding-top:5px}.header-format .format-heading{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}.header-format #format-details{margin:0}
.canvas-tools>.toolbar{margin:0;border-radius:0;padding:7px 10px;justify-content:flex-start;gap:5px 8px;background:#fff}.canvas-tools>.toolbar>.spacer{display:none}
.canvas-tools>.toolbar>.series-bar{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:6px 0 0;border-top:1px solid var(--line);gap:5px 9px}.canvas-tools>.toolbar>.series-bar[hidden]{display:none}
.canvas-tools>.toolbar button{min-height:28px;padding:4px 6px;font-size:12px}.canvas-tools>.toolbar button.info{min-height:24px;padding:0}
.canvas-tools>.toolbar input[type=number]{width:48px}.canvas-tools>.toolbar>.series-bar label{display:flex;align-items:center;gap:5px}
.legacy-format{padding:8px;background:#f3f6f9;border-left:2px solid #8ba8bc;font-size:11px}
@media(max-width:1000px){.header{gap:6px 8px;padding:7px 8px}.header .brand h1{font-size:14px!important}.header-format-controls,.header-user-actions{gap:5px}.header-format-controls button,.header-actions button{font-size:11px;padding:4px 6px;min-height:29px}.header-user-actions .language-control{gap:1px}.header .language-control button{font-size:11px;padding:4px 2px}}
@media(max-width:900px){.header{grid-template-columns:minmax(0,1fr) auto}.header .brand{grid-column:1/-1}.header-format-controls{justify-content:flex-start;min-width:0}.header-format{min-width:0}.header-format .format-heading{min-width:0}.header-format #format-details{white-space:normal}}
@media(max-width:700px){.header{grid-template-columns:1fr auto}.header .brand{grid-column:1/-1}.header-format-controls{justify-content:flex-start}}
@media(max-width:650px){.header{grid-template-columns:1fr}.header-user-actions{justify-content:flex-start}.header-user-actions .header-actions{flex:1;justify-content:flex-end}.header-format-controls{justify-content:flex-start}}
@media(max-width:360px){.header-user-actions{flex-wrap:wrap}.header-user-actions .header-actions{flex:1 0 100%}.header-actions button{padding-left:4px;padding-right:4px}}

/* 0.3.3: name and purpose stay compact; legal text has one scroll region. */
.header .brand-copy{display:block}.header .brand-name{display:flex;align-items:center;gap:7px}
.header .brand-subtitle{display:block;font-size:10px;line-height:1.25;white-space:nowrap;margin-top:2px}
.alpha-label{font-size:10px;line-height:1.3;padding:1px 4px;border:1px solid #aac9df;border-radius:3px;font-weight:400}
.alpha-note{margin:0 0 8px;font-size:12px;color:#38526a}.alpha-note a{margin-left:3px}
#terms-dialog{width: min(800px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;overflow:hidden}
#terms-dialog[open]{display:flex;flex-direction:column;gap:10px}
#terms-dialog .dialog-head{flex-wrap:wrap;margin:0;gap:8px;flex-shrink:0}
#terms-dialog .dialog-head h2{margin:0;flex:1}
#terms-dialog .language-control{margin:0;display:flex;width:auto;gap:4px;flex-wrap:nowrap}
#terms-dialog p,#terms-dialog .check{margin:0}
#terms-dialog #terms-intro,#terms-dialog #terms-consent,#terms-page-link{flex-shrink:0}
#terms-content{overflow:auto;min-height:0;padding:12px;border:1px solid var(--line);border-radius:5px;overscroll-behavior:contain}
.terms-text{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#terms-content p{margin:0 0 12px}#terms-content h3{font-size:16px;margin:18px 0 8px}#terms-content h3:first-child{margin-top:0}
#terms-consent .check{align-items:flex-start;line-height:1.4}#terms-consent .check input{flex:none;margin-top:3px}
#terms-dialog .dialog-actions{margin:10px 0 0}
.terms-page{max-width:850px;margin:auto;padding:24px;background:white;color:#182f43}
.terms-page nav{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px}
.terms-page h1{font-size:25px;line-height:1.3}.terms-page h2{font-size:18px;margin-top:28px}
@media(max-width:400px){#terms-dialog{padding:12px}.header .brand-subtitle{font-size:9px}#terms-dialog .dialog-head h2{font-size:17px}#terms-dialog .dialog-head button{font-size:12px;padding:5px 7px}.terms-page{padding:16px}}
@media print{.terms-page nav{display:none}.terms-page{max-width:none;padding:0}}

#terms-dialog .language-control button{background:#fff;color:#18324c;border:1px solid #bacbd7;border-radius:4px;min-width:32px;min-height:30px;padding:5px 7px}
#terms-dialog .language-control button[aria-pressed=true]{background:#d5effb;color:#064b6b;border-color:#257a9e}

/* 0.3.4: a fitted editor with one scroll region in each side panel. */
.start>.alpha-note{grid-column:1/-1;margin:0}.start{row-gap:14px}.start .format-choice{align-self:start}#format-cancel{margin-bottom:12px}
#exclude-fields span,#exclude-fields small{display:block}#exclude-fields small{font-size:10px;font-weight:400;line-height:1.2;margin-top:2px}
.panel-scroll{min-width:0}.canvas-tools{position:static;flex-shrink:0}.canvas-panel.workspace-pinned{position:static}
.canvas-scroll,.canvas-scroll.sheet-fit{position:relative;overflow:auto;overscroll-behavior:contain;padding:16px;touch-action:auto;scrollbar-gutter:stable}
.canvas-scroll #canvas-host,.canvas-scroll #canvas-host.sheet{position:relative;left:auto;top:auto;transform:none;margin:0 auto;max-width:none;flex:none}
.design-area{min-height:0}.canvas-caption{flex-shrink:0}.issues{flex-shrink:0;max-height:120px;overflow:auto;overscroll-behavior:contain}.issue-item>.issue-link+button{margin-left:12px}
.dialog-status{padding:10px 12px;border:1px solid var(--line);border-left:4px solid #087dae;background:#eff7fb}.dialog-status.error{background:#fff4ed;border-left-color:#a23525}
.guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.guide-actions button{font-size:12px;min-height:34px}.guide-toc{padding:16px 20px;background:#f0f6fa;border:1px solid var(--line);border-radius:7px;margin:18px 0}.guide-toc h3{margin:0 0 10px}.guide-toc ol{margin:0;padding-left:22px}.guide-toc li{padding:4px 0}.guide-chapter{margin:12px 0;border:1px solid var(--line);border-radius:7px;padding:0 18px;background:#fff}.guide-chapter>summary{padding:16px 0;cursor:pointer;color:#164f73}.guide-chapter>summary h3{display:inline;font-size:17px;margin:0}.guide-chapter[open]>summary{border-bottom:1px solid var(--line);margin-bottom:16px}.guide-chapter>p:last-child{margin-bottom:18px}.guide figure{max-width:900px}.guide-mode #workspace{opacity:.6}.guide-mode .header{position:sticky}.guide [id],.guide-chapter>summary{scroll-margin-top:calc(var(--header-height) + 16px)}
@media(min-width:1000px) and (min-height:600px){
 body.work-fixed:not(.guide-mode){overflow:hidden;height:100dvh}
 .work-fixed #workspace{height:calc(100dvh - var(--header-height));max-width:none;padding:0 12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
 .work-fixed .editor{display:grid;grid-template-columns:230px minmax(270px,1fr) 280px;flex:1 1 0;min-height:0;align-items:stretch;overflow:hidden}
 .work-fixed .panel{display:flex;flex-direction:column;min-height:0;max-height:none;overflow:hidden;padding:0;grid-column:auto;border-top:0}
 .work-fixed .panel-heading,.work-fixed .inspector>h2{flex-shrink:0;margin:0;padding:12px}
 .work-fixed .inspector{border-left:1px solid var(--line)}
 .work-fixed .panel-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 12px 18px}
 .work-fixed .panel .layers{overflow:visible;max-height:none;grid-template-columns:1fr}
 .work-fixed .data-fields #data-cards{height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto}
 .work-fixed .csv-size-actions,.work-fixed #csv-resize{display:none}
 .work-fixed .properties-grid,.work-fixed .properties-section .properties-grid{grid-template-columns:1fr}
 .work-fixed .canvas-panel{align-self:stretch;position:relative;min-height:0;overflow:hidden}
 .work-fixed .design-area{flex:1 1 0;min-height:40px;overflow:hidden}
 .work-fixed .canvas-tools{max-height:60%;overflow:auto;overscroll-behavior:contain}
 .work-fixed .canvas-caption{font-size:10px}
 .work-fixed .output-bar{flex-shrink:0;padding:7px 12px;border-radius:0;gap:8px}
 .work-fixed .output-print-note{flex-shrink:0;padding:5px 12px;font-size:11px;line-height:1.5}
 .work-fixed .output-print-note strong{line-height:1.5}
 .work-fixed .output-print-note a{margin:0}
 .work-fixed .output-diagnostics{flex-shrink:0;max-height:22vh;overflow:auto;overscroll-behavior:contain;margin:0;padding:8px 12px}
 .work-fixed #guide-content{padding-top:16px}
 .work-fixed .issues{max-height:92px}
}
@media(min-width:1600px){.work-fixed .editor{grid-template-columns:260px minmax(320px,1fr) 320px}}
@media(min-width:1000px) and (max-width:1150px){.work-fixed .editor{grid-template-columns:205px minmax(260px,1fr) 250px}.work-fixed .zoom-controls input[type=range]{width:58px}.work-fixed .panel-scroll{padding-left:9px;padding-right:9px}}
@media(max-width:999px),(max-height:599px){body.work-fixed{overflow:auto}.panel-scroll{overflow:visible}.canvas-panel{position:static}.guide-mode #workspace{opacity:1}.guide-chapter{padding:0 12px}.guide-toc{padding:14px}.guide-chapter>summary h3{font-size:16px}}
@media print{body.work-fixed{height:auto!important;overflow:visible!important}}
/* Prevent focus/scrollIntoView from moving the page behind a modal. */
@media(min-width:1000px) and (min-height:600px){body.work-fixed:not(.guide-mode){position:fixed;inset:0;width:100%}}
@media print{body.work-fixed{position:static!important;inset:auto!important;width:auto!important}}

/* 0.3.5: more canvas height, grouped compact controls, output in the inspector. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.workspace-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 0}
.workspace-actions .tool-group{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;padding:0;margin:0;border:0;width:auto;max-width:100%;font-size:12px}
.workspace-actions button{font-size:12px;min-height:32px;padding:4px 7px;white-space:nowrap}
.workspace-actions label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px}
.workspace-actions input:not([type=checkbox]),.workspace-actions select{height:30px;min-height:30px;padding:3px;width:43px;font-size:12px}
.workspace-actions #field-select{width:49px}
.workspace-actions input[type=checkbox]{width:14px;height:14px}
.workspace-actions .icon-button{min-width:28px;width:28px;min-height:30px;height:30px;padding:3px}
.workspace-actions .icon-button svg{width:20px;height:20px}
.workspace-actions .info{width:23px;min-width:23px;min-height:24px;height:24px;padding:0}
.workspace-actions #exclude-fields{line-height:1.05;min-height:32px}
.workspace-actions #exclude-fields small{font-size:10px;margin:1px 0 0}
.workspace-actions #record-total{white-space:nowrap}
.copy-help{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#eef5ff;border:1px solid #a7c4ea;border-radius:5px;padding:6px 8px;font-size:12px}
.copy-help button{padding:4px 7px;font-size:12px;white-space:nowrap}
.is-copying [data-field]{cursor:copy}
.is-copying [data-copy-source]{fill:#d5e6fc!important;fill-opacity:.18!important;stroke:#0d53a5!important;stroke-width:.9!important}
.output-dock{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7px;padding:12px;margin:0;border:0;border-top:1px solid #d7e0eb;background:#f7f9fc;border-radius:0}
.output-dock #count-label,.output-dock #output-summary,.output-dock #print-settings{grid-column:1/-1}
.output-dock #output-summary{font-size:12px;color:#526278}
.output-dock button{width:100%;padding:8px 5px;font-size:12px;min-width:0}
.output-dock #count-label{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.output-dock #output-count{width:76px}
.inspector .canvas-caption{padding:8px 0;margin-top:12px;border-top:1px solid #e1e7ef;font-size:11px}
.inspector .issues{font-size:12px;margin:0}
.inspector .issue-item{display:flex;flex-wrap:wrap}
.inspector .output-diagnostics{max-height:none;overflow:visible;font-size:12px;padding:6px 0;margin:8px 0}
#print-notice-dialog{max-width:490px}
#copy-conflict-dialog{max-width:530px}
#quantity-settings{border-bottom:1px solid #d7e0eb;margin:0 0 14px;padding:0 0 10px}
@media(min-width:1000px) and (min-height:600px){
 body.work-fixed .canvas-panel{padding-bottom:0}
 body.work-fixed .canvas-tools{flex:none;max-height:55%}
 body.work-fixed .design-area{min-height:60px}
 body.work-fixed .inspector .output-dock{flex:none;padding:10px 12px}
 body.work-fixed .inspector .panel-scroll{padding-bottom:10px}
 body.work-fixed .editor{margin-bottom:0}
}
@media(max-width:600px){.workspace-actions .tool-group{flex-wrap:wrap}.workspace-actions{gap:8px}.copy-help{align-items:flex-start;flex-wrap:wrap}}

/* 0.3.6: editable CSV values retain caret and native text selection. */
.data-card .csv-value{display:block;width:100%;min-height:36px;height:40px;max-height:160px;resize:vertical;padding:5px 6px;margin:3px 0 0;white-space:pre-wrap;overflow:auto;cursor:text;color:var(--ink);font-size:12px;background:#fff}
.data-card .csv-value[aria-invalid=true]{border:2px solid #a32b20;background:#fff3f0}.data-card .data-kind{grid-column:1/-1;white-space:normal}.data-card strong{cursor:grab}
#page-total{white-space:nowrap}.viewbar #add-sheet,.viewbar #duplicate-sheet{font-size:11px;padding:5px 7px}
/* Manual sheet actions may wrap within the available middle column. */
.workspace-actions .viewbar{flex-wrap:wrap}

/* Compact format permalink and local copy control (0.3.7). */
.header-format .format-link-group{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%}
.header-format #format-title{min-width:0;overflow-wrap:anywhere}
.header-format #format-link{font-size:13px;font-weight:700;text-underline-offset:3px}
.header-format #copy-format-link{width:26px;min-width:26px;min-height:26px;height:26px;padding:4px;border:1px solid transparent;background:transparent;color:#fff;flex:none}
.header-format #copy-format-link:hover{background:#ffffff25;border-color:#ffffff80}
.header-format #copy-format-link svg{width:18px;height:18px}
.header-format #format-link:focus-visible,.header-format #copy-format-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
#format-link-dialog{max-width:560px}#format-link-value{display:block;width:100%;margin:8px 0 16px}
