:root{font-family:Arial,Noto Sans SC,Microsoft YaHei,sans-serif;color:#222b34;background:#f6f7f9;font-synthesis:none}:root{--ui:1}html{font-size:calc(100% * var(--ui))}@media(min-width:1700px){:root{--ui:1.06}}@media(min-width:2200px){:root{--ui:1.15}}@media(min-width:3000px){:root{--ui:1.25}}@media(max-width:900px){:root{--ui:1.06}}html[data-ui="1"]{--ui:1}html[data-ui="1.1"]{--ui:1.1}html[data-ui="1.25"]{--ui:1.25}html[data-ui="1.5"]{--ui:1.5}html[data-ui="1.75"]{--ui:1.75}html[data-ui="2"]{--ui:2}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:4.375rem;flex:none;display:flex;align-items:center;gap:1.125rem;padding:0 1.5625rem;background:#fff;border-bottom:1px solid #e9edf0;z-index:3}.brand{display:flex;align-items:center;gap:.625rem;min-width:12.0625rem}.brand-icon{width:2.25rem;height:2.25rem;border-radius:.6875rem;background:#ec6449;color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px #ed63473b}.brand-words{display:flex;flex-direction:column;line-height:1}.brand-words strong{font-family:Arial,sans-serif;font-size:1.375rem;font-weight:800;letter-spacing:-.1062rem;color:#18222a}.brand-words strong span{color:#ed6349}.brand-words small{font-size:.5rem;font-weight:800;letter-spacing:.1437rem;color:#8b98a3;margin-top:.25rem}.top-divider{height:1.625rem;width:1px;background:#e6eaee;flex:none}.top-divider.small{margin:0 -.25rem}.document-name{display:flex;align-items:center;gap:.5625rem;min-width:12.5rem}.doc-avatar{width:1.6875rem;height:1.6875rem;border-radius:.4375rem;background:#f4f5f7;color:#657584;display:grid;place-items:center}.document-name input{border:0;outline:0;background:transparent;width:10.625rem;color:#2e3944;font-weight:700;font-size:.75rem;text-overflow:ellipsis}.saved-dot,.local-badge span,.canvas-live-dot,.status-dot{width:.4375rem;height:.4375rem;border-radius:50%;background:#54bb8b;flex:none}.top-spacer{flex:1}.local-badge{display:flex;align-items:center;gap:.4375rem;color:#818f9a;font-size:.6875rem;font-weight:600;white-space:nowrap}.local-badge span{width:.375rem;height:.375rem}.icon-btn{border:0;background:transparent;color:#667582;width:2.0625rem;height:2.0625rem;display:grid;place-items:center;border-radius:.5rem}.icon-btn:hover{background:#f4f6f8;color:#273640}.primary-button{border:0;border-radius:.5625rem;background:#eb6349;color:#fff;min-height:2.3125rem;padding:0 .875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;font-size:.75rem;font-weight:800;box-shadow:0 4px 9px #eb63492b;white-space:nowrap}.primary-button:hover{background:#dc543b}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:var(--panel-left,270px) minmax(0,1fr) var(--panel-right,297px)}.sidebar{position:relative;background:#fff;min-height:0;display:flex;flex-direction:column}.left-sidebar{border-right:1px solid #e9edf0}.right-sidebar{border-left:1px solid #e9edf0}.side-tabs{height:3.6875rem;padding:.625rem 1.0625rem;border-bottom:1px solid #edf0f3;display:flex;gap:.25rem;flex:none}.side-tabs button{border:0;border-radius:.5rem;background:transparent;color:#7a8995;flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;font-weight:700;white-space:nowrap}.side-tabs button.active{background:#fff0ec;color:#e6644c}.sidebar-scroll,.inspector-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#d4dbe0 transparent;min-height:0}.side-intro{padding:1.5625rem 1.3125rem .875rem}.eyebrow{display:block;font:800 .5625rem Arial,sans-serif;color:#eb674f;letter-spacing:.125rem}.side-intro h2,.inspector-head h2{margin:.375rem 0 .3125rem;font-size:1.0625rem;letter-spacing:-.5px;color:#25303b}.side-intro p{margin:0;color:#97a2ab;font-size:.6562rem;line-height:1.6}.catalog-section{padding:.9375rem .9375rem 0}.catalog-heading{display:flex;justify-content:space-between;align-items:center;padding:0 .4375rem .5625rem;color:#687887;font-size:.625rem;font-weight:800;letter-spacing:.3px}.catalog-heading span{font-size:.5625rem;color:#abb6be}.pattern-list{display:flex;flex-direction:column;gap:.3125rem}.pattern-card{height:3.4375rem;border:1px solid transparent;border-radius:.5625rem;display:flex;align-items:center;transition:background .15s,border-color .15s}.pattern-card:hover{background:#f8f9fa}.pattern-card.selected{background:#fff4f0;border-color:#f9d8ce}.pattern-main{flex:1;min-width:0;display:flex;align-items:center;gap:.6875rem;text-align:left;border:0;background:transparent;padding:.4375rem 0 .4375rem .5625rem;color:inherit}.pattern-icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;flex:none;border:1px solid #e8edf1;background:#f7f8f9;border-radius:.5rem;font:700 1.4375rem Arial,sans-serif;color:#4c5964;line-height:1}.selected .pattern-icon{background:#fff;border-color:#f5d4ca;color:#df6049}.pattern-copy{display:flex;flex-direction:column;min-width:0;gap:.1875rem}.pattern-copy strong{font-size:.6875rem;color:#34414c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-copy small{font-size:.5625rem;color:#9aa6af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pattern-add{width:1.5625rem;height:1.6875rem;border:0;background:transparent;color:#a1acb5;display:grid;place-items:center;margin-right:.25rem;border-radius:.375rem;opacity:0}.pattern-card:hover .pattern-add,.pattern-card.selected .pattern-add{opacity:1}.pattern-add:hover{background:#f7e2db;color:#d9563d}.layer-panel .side-intro{padding-bottom:1.125rem}.add-layer-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.375rem;padding:0 .875rem 1.125rem}.add-layer-row button{min-width:0;height:2rem;border:1px solid #e9eef1;border-radius:.4375rem;background:#fff;display:flex;align-items:center;justify-content:center;gap:.1875rem;padding:0 .1875rem;color:#677681;font-size:.5938rem;font-weight:700}.add-layer-row button svg{flex:none}.add-layer-row button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-layer-row button:hover{border-color:#efab99;color:#dc5c43}.layer-list{display:flex;flex-direction:column;gap:.25rem;padding:0 .8125rem}.layer-item{height:3.4375rem;display:flex;align-items:center;gap:.5625rem;border-radius:.5rem;padding:0 .5rem;cursor:pointer;border:1px solid transparent}.layer-item:hover{background:#f8f9fa}.layer-item.active{background:#fff4f0;border-color:#f9d8ce}.layer-glyph{width:1.9375rem;height:1.9375rem;display:grid;place-items:center;border-radius:.4375rem;color:#818e9a;background:#f3f6f7;flex:none}.layer-glyph.board{color:#e3674f;background:#fceae4}.layer-name{min-width:0;display:flex;flex-direction:column;gap:.125rem;flex:1}.layer-name strong{font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-name small{font-size:.5625rem;color:#a1acb5}.layer-lock{color:#a5afb7}.layer-eye{border:0;background:none;color:#9aa7b1;padding:.25rem;display:grid;place-items:center}.layer-eye:hover{color:#e8664d}.layer-tip{display:flex;gap:.5rem;margin:1.375rem 1.1875rem;padding:.75rem;background:#f6f8f8;border-radius:.5rem;color:#83939d;font-size:.625rem;line-height:1.6}.layer-tip svg{flex:none;color:#58ae82}.stage{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f6f7f9}.stage-toolbar{height:3.6875rem;flex:none;display:flex;align-items:center;gap:.8125rem;padding:0 1.625rem;background:#fff;border-bottom:1px solid #e9edf0}.toolbar-group{display:flex;align-items:center;gap:.5625rem}.tool-indicator{width:1.9375rem;height:1.9375rem;border-radius:.5rem;display:grid;place-items:center;color:#e25f47;background:#fff2ee}.toolbar-label{font-size:.6875rem;color:#61717d;font-weight:800}.toolbar-divider{height:1.3125rem;width:1px;background:#e7ebee}.toolbar-group.subtle{gap:.125rem}.toolbar-group.subtle button,.zoom-control button{width:1.9375rem;height:1.875rem;border:0;background:transparent;color:#788896;display:grid;place-items:center;border-radius:.4375rem}.toolbar-group.subtle button:hover,.zoom-control button:hover{background:#edf0f3;color:#33434e}.stage-toolbar-spacer{flex:1}.page-chip{display:flex;align-items:center;gap:.4375rem;color:#667784;font-size:.6875rem;font-weight:800}.page-chip span{font-weight:500;color:#a1adb6}.canvas-scroll{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background-color:#f5f6f8;background-image:radial-gradient(#dbe1e6 .65px,transparent .65px);background-size:17px 17px}.canvas-wrap{min-width:max-content;padding:1.875rem 2.5rem 2rem}.canvas-caption{display:flex;align-items:center;justify-content:space-between;color:#8a9aa5;font-size:.625rem;font-weight:600;margin-bottom:.9375rem}.canvas-caption span:first-child{display:flex;align-items:center;gap:.4375rem}.canvas-live-dot{width:.375rem;height:.375rem}.paper-shadow{background:#fff;box-shadow:0 2px 4px #4e667a12,0 14px 35px #4e667a21,0 0 0 1px #c5cdd341;position:relative;transition:width .15s,height .15s}.paper-shadow svg{display:block;touch-action:none}.canvas-layer{cursor:move}.selection-outline{vector-effect:non-scaling-stroke}.page-footnote{display:flex;align-items:center;justify-content:center;gap:.375rem;color:#a5b0b9;font-size:.625rem;margin-top:1.25rem}.stage-bottom{height:2.6875rem;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 1.375rem;background:#fff;border-top:1px solid #e9edf0;color:#83919b;font-size:.625rem;font-weight:700}.status-left{display:flex;align-items:center;gap:.5rem}.status-dot{width:.375rem;height:.375rem}.status-dot.warn{background:#e8a041}.status-divider{height:.8125rem;width:1px;background:#dce3e8;margin:0 .4375rem}.zoom-control{display:flex;align-items:center;gap:.25rem}.zoom-control span{width:3rem;text-align:center;color:#50606c;font-variant-numeric:tabular-nums}.inspector-head{height:3.6875rem;flex:none;border-bottom:1px solid #edf0f3;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem}.inspector-head h2{font-size:.9375rem;margin:.125rem 0 0}.inspector-head svg{color:#99a6af}.inspector-scroll{padding-bottom:1.875rem}.selected-layer-summary{min-height:4.875rem;display:flex;align-items:center;gap:.625rem;padding:1rem 1.125rem;border-bottom:1px solid #edf0f3}.summary-icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.5625rem;color:#e0614a;background:#fff1eb;flex:none}.selected-layer-summary>div:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:.25rem}.selected-layer-summary strong{font-size:.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-layer-summary small{font-size:.5625rem;color:#a2acb5}.summary-actions{display:flex;gap:1px}.summary-actions button{background:transparent;border:0;color:#9cabb4;width:1.4375rem;height:1.5rem;display:grid;place-items:center;border-radius:.3125rem}.summary-actions button:hover{background:#fff0eb;color:#d85a43}.inspector-section{padding:1.25rem 1.25rem 1.3125rem;border-bottom:1px solid #edf0f3}.section-title{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;font-weight:800;color:#34424e;margin-bottom:1rem}.precision-tag{color:#e27258;background:#fff2ed;border-radius:.3125rem;padding:.1875rem .375rem;font-size:.5625rem;display:inline-flex;align-items:center;gap:.1875rem}.field-stack{display:flex;flex-direction:column;gap:.8125rem}.field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.field-label{font-size:.625rem;font-weight:700;color:#74838f}.field input:not([type=color]),.field select,.field textarea,.measure-input input{width:100%;height:2.125rem;border:1px solid #e3e8eb;border-radius:.4375rem;padding:0 .625rem;background:#fff;color:#34424d;font-size:.6875rem;outline:0}.field input:focus,.field select:focus,.field textarea:focus,.measure-input input:focus{border-color:#f0a28e;box-shadow:0 0 0 3px #fbece6}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23909da7' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:1.75rem}.input-wrap{position:relative}.input-wrap input{padding-right:2.375rem!important}.input-wrap .unit{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:#a0acb5;font-size:.625rem;font-weight:700}.text-field textarea{height:auto;min-height:4.6875rem;padding:.5625rem;resize:vertical;line-height:1.5}.text-field small{color:#a0acb5;font-size:.5625rem;line-height:1.5}.field input[type=color]{width:100%;height:2.125rem;padding:.1875rem;border:1px solid #e3e8eb;border-radius:.4375rem;background:#fff}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5625rem}.dimension-card{border:1px solid #e9eef1;border-radius:.5625rem;background:#f9fafb;display:flex;align-items:center;padding:.75rem}.dimension-card>div{display:flex;flex:1;flex-direction:column;gap:.3125rem}.dimension-card>div span{font-size:.5625rem;color:#9aa6af}.dimension-card strong{font-size:1rem;letter-spacing:-.5px;color:#2e3b45}.dimension-card strong small{font-size:.625rem;color:#9faab3;font-weight:500}.dimension-cross{font-size:1rem;color:#b5bfc6;padding:0 .625rem}.hint-copy{font-size:.5625rem;color:#9ca8b1;line-height:1.55;margin:.5625rem 0 0}.checkbox-row{display:flex;align-items:center;gap:.5rem;color:#667582;font-size:.6875rem;cursor:pointer}.checkbox-row input{accent-color:#e8684f}.page-section{background:#fcfcfd}.issues{margin:1.125rem;border-radius:.5rem;background:#fff7e9;border:1px solid #f4dfbc;padding:.75rem;color:#9b6c2a;font-size:.625rem}.issues strong{font-size:.6875rem}.issues p{margin:.4375rem 0 0;line-height:1.5}.inspector-help{display:flex;gap:.5rem;color:#9aa8b1;font-size:.625rem;line-height:1.55;padding:1.3125rem}.inspector-help svg{flex:none;color:#59ad81}.empty-selection{padding:1.875rem 1rem;text-align:center;color:#a0aeb8;display:flex;align-items:center;flex-direction:column;gap:.5rem;border-bottom:1px solid #edf0f3}.empty-selection strong{color:#60707c;font-size:.75rem}.empty-selection span{font-size:.625rem}.mobile-notice{display:none}.toast{position:fixed;left:50%;bottom:1.375rem;transform:translate(-50%);z-index:20;border-radius:.5rem;background:#26343e;color:#fff;padding:.6875rem 1rem;font-size:.75rem;box-shadow:0 8px 22px #18222a32}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#25313c78;z-index:10;display:grid;place-items:center;padding:1.125rem}.export-modal{width:min(33.125rem,100%);background:#fff;border-radius:.875rem;box-shadow:0 30px 90px #1a293644;overflow:hidden}.modal-head{display:flex;justify-content:space-between;padding:1.5625rem 1.6875rem 1.1875rem}.modal-head h2{font-size:1.25rem;letter-spacing:-.6px;margin:.375rem 0 .25rem}.modal-head p{font-size:.6875rem;color:#91a0aa;margin:0}.modal-head button{border:0;background:#f3f5f6;color:#788792;border-radius:.4375rem;width:1.75rem;height:1.75rem;display:grid;place-items:center}.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0 1.625rem 1.3125rem}.format-grid button{height:5.9375rem;border:1px solid #e7ecef;border-radius:.5625rem;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4375rem;padding:.8125rem;color:#82919d;text-align:left}.format-grid button.active{border-color:#ef9a82;background:#fff5f1;color:#e5644c}.format-grid strong{color:#33424d;font-size:.75rem}.format-grid small{font-size:.5625rem;white-space:nowrap;color:#9daab3}.export-settings{border-top:1px solid #edf0f3;padding:1.1875rem 1.6875rem 1.375rem}.export-settings .section-title{margin-bottom:.9375rem}.export-settings>.field{margin-bottom:.9375rem}.compensation{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;padding:.8125rem;border-radius:.5625rem;background:#f7f9fa;gap:.625rem}.compensation>div:first-child{display:flex;flex-direction:column;gap:.25rem}.compensation strong{font-size:.625rem;color:#43515d}.compensation small{font-size:.5625rem;color:#9cabb4}.measure-input{position:relative;width:5.9375rem;flex:none}.measure-input input{padding-right:1.5625rem}.measure-input span{position:absolute;right:.5625rem;top:.625rem;color:#9da9b2;font-size:.5625rem}.comp-note{font-size:.625rem;color:#aa7132;margin:.625rem 0 0;line-height:1.4}.modal-footer{border-top:1px solid #edf0f3;padding:1.0625rem 1.6875rem;display:flex;align-items:center;justify-content:space-between}.modal-footer>div{display:flex;flex-direction:column;gap:.1875rem}.modal-footer strong{font-size:.75rem}.modal-footer span{font-size:.625rem;color:#9ca9b3}.modal-warning{padding:0 1.6875rem .9375rem;color:#b9823d;font-size:.625rem}.inspector-toggle{display:none;align-items:center;gap:.375rem;border:1px solid #e6ebee;border-radius:.4375rem;background:#fff;color:#6f7f8b;height:1.875rem;padding:0 .5625rem;font-size:.625rem;font-weight:800}.inspector-close{border:0;background:transparent;color:#96a4ad;display:none;place-items:center;width:1.75rem;height:1.75rem}.inspector-backdrop{display:none}.annotation-toggle{margin-top:.9375rem;line-height:1.5}.board-children{margin:1px 0 .375rem 1.4375rem;padding-left:.5rem;border-left:1px solid #e9edf0}.child-item{height:2.625rem;gap:.4375rem}.child-branch{width:.4375rem;height:1px;background:#d9e1e6;margin-left:-.5rem}.child-glyph{width:1.4375rem;height:1.4375rem;border-radius:.3125rem;background:#f3f6f7;color:#70818e;display:grid;place-items:center;font-size:.5625rem;font-weight:800;flex:none}.child-item .layer-name strong{font-size:.625rem}.child-item .layer-name small{font-size:.5rem}.child-hit-area{cursor:move}.board-child-controls{margin-top:1.1875rem;padding-top:1rem;border-top:1px solid #edf0f3}.board-child-controls .section-title{margin-bottom:.5rem}.child-control{display:flex;align-items:center;justify-content:space-between;min-height:2.0625rem;border:1px solid #e9eef1;border-radius:.4375rem;margin-top:.375rem;padding:0 .375rem 0 .625rem}.child-control>button:first-child{border:0;background:none;color:#52616d;text-align:left;font-size:.625rem;font-weight:700;flex:1}.child-control:hover{border-color:#f0c2b5;background:#fffaf8}.reset-child{margin-top:.875rem;border:1px solid #e5ebee;border-radius:.4375rem;background:#fff;color:#758590;padding:.4375rem .625rem;font-size:.625rem;font-weight:700}.reset-child:hover{color:#df6049;border-color:#f0c2b5}.side-tabs{padding-left:.625rem;padding-right:.625rem}.side-tabs button{gap:.3125rem}.side-tabs .tab-label{display:inline-block;min-width:3.2em;text-align:center}.layer-order{border:0;background:none;color:#a8b3ba;width:1.0625rem;height:1.5625rem;display:grid;place-items:center;padding:0}.layer-order:hover{color:#e8664d}.board-orientation{display:flex;flex-direction:column;gap:.75rem;margin-top:1.0625rem;padding-top:.9375rem;border-top:1px solid #edf0f3}.child-extra{display:flex;flex-direction:column;gap:.8125rem;margin-top:1rem}.new-modal{width:min(37.5rem,100%);background:#fff;border-radius:.875rem;box-shadow:0 30px 90px #1a293644;overflow:hidden}.new-modal-body{padding:0 1.6875rem 1.5rem;display:flex;flex-direction:column;gap:1.0625rem}.paper-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;max-height:16.25rem;overflow:auto}.paper-options button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.3125rem;height:3.625rem;border:1px solid #e7ecef;border-radius:.5rem;background:#fff;padding:.5625rem .6875rem;color:#35434d}.paper-options button.active{background:#fff5f1;border-color:#ef9a82}.paper-options strong{font-size:.6875rem}.paper-options span{font-size:.5625rem;color:#9aa6af}.new-modal .modal-footer{gap:.625rem}.new-modal .modal-footer span{font-size:.625rem;color:#98a6ae}.layout-panel .side-intro{padding-bottom:1.0625rem}.layout-section{padding:1.0625rem 1.125rem;border-top:1px solid #edf0f3;display:flex;flex-direction:column;gap:.6875rem}.layout-title{font-size:.6875rem;color:#34424e}.layout-actions{display:flex;gap:.375rem}.layout-actions button{flex:1;min-height:2rem;border:1px solid #e3e8eb;border-radius:.4375rem;background:#fff;color:#637480;display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;font-size:.625rem;font-weight:700}.layout-actions button:hover{border-color:#efad9e;color:#df6049}.layout-actions button.apply{background:#e9654b;color:#fff;border-color:#e9654b}.layout-section .two-fields{gap:.625rem}.layout-section .field select{width:100%;height:2.125rem;border:1px solid #e3e8eb;border-radius:.4375rem;padding:0 .625rem;background:#fff;color:#34424d;font-size:.6875rem}.axis-tabs{display:flex;gap:.3125rem}.axis-tabs button{flex:1;border:1px solid #e6ebee;background:#fff;border-radius:.375rem;padding:.375rem;color:#778793;font-size:.625rem}.axis-tabs button.active{background:#fff0ec;border-color:#f3b9a9;color:#df6049}.layout-empty{font-size:.625rem;color:#a0acb5}.dimension-item{display:flex;align-items:center;gap:.1875rem;border:1px solid #ebeff2;border-radius:.375rem;padding:.375rem}.dimension-item button{background:none;border:0;color:#98a7b1;padding:.1875rem}.export-dimensions{margin-top:.6875rem}.language-switch{display:flex;align-items:center;gap:.125rem;height:1.875rem;padding:0 .25rem 0 .4375rem;border:1px solid #e5ebee;border-radius:.5rem;background:#fff;color:#95a2ac;flex:none}.language-switch svg{flex:none}.language-switch button{border:0;background:transparent;color:#7a8995;font-size:.625rem;font-weight:800;padding:0 .375rem;height:1.375rem;border-radius:.375rem}.language-switch button:hover{background:#f2f5f6;color:#4a5b68}.language-switch button.active{background:#fff0ec;color:#e6644c}.ui-scale{display:flex;align-items:center;gap:.25rem;height:1.875rem;padding:0 .375rem;border:1px solid #e5ebee;border-radius:.5rem;background:#fff;color:#95a2ac;flex:none}.ui-scale select{border:0;background:transparent;color:#5d6d79;font-size:.625rem;font-weight:800;outline:0;padding:0;max-width:4.25rem}.brand{min-width:13.75rem}.brand-words strong{font-size:1.125rem;letter-spacing:-.5px}.brand-words small{font-size:.4375rem;letter-spacing:.0875rem}.compat-note{margin:.75rem 0 0;padding:.5625rem;border:1px solid #f2d6a5;border-radius:.4375rem;background:#fff9ed;color:#9a6b28;font-size:.5625rem;line-height:1.5}.layer-list{padding:0 .625rem}.layer-item{gap:.375rem;padding:0 .4375rem;position:relative}.layer-item .layer-glyph{width:1.8125rem;height:1.8125rem}.layer-caret{width:1rem;height:1.375rem;flex:none;border:0;background:none;color:#93a1ab;display:grid;place-items:center;padding:0;border-radius:.3125rem}.layer-caret:hover{background:#eef1f3;color:#e8664d}.layer-caret.empty{pointer-events:none}.layer-tray{position:absolute;right:1.9375rem;top:50%;transform:translateY(-50%);display:flex;gap:1px;padding:.125rem;border-radius:.4375rem;background:#fff;box-shadow:0 3px 10px #27384521,0 0 0 1px #eef1f4;opacity:0;pointer-events:none;transition:opacity .12s}.layer-item:hover .layer-tray,.layer-item.active .layer-tray{opacity:1;pointer-events:auto}.layer-item.active .layer-tray{background:#fffaf7}.layer-item .layer-order{width:1.25rem;height:1.25rem}.layer-item .layer-eye{padding:.1875rem;margin-left:-1px}.name-input{width:100%;height:1.4375rem;border:1px solid #f0a28e;border-radius:.3125rem;padding:0 .3125rem;font-size:.6875rem;font-weight:700;color:#2e3944;outline:0;background:#fff;box-shadow:0 0 0 3px #fbece6}.layer-list-head{display:flex;align-items:center;justify-content:space-between;padding:0 1.125rem .5625rem;color:#98a5ae;font-size:.625rem;font-weight:700}.layer-fold-all{display:inline-flex;align-items:center;gap:.1875rem;border:0;background:none;color:#7b8b97;font-size:.625rem;font-weight:700;padding:.125rem .3125rem;border-radius:.3125rem}.layer-fold-all:hover{background:#f2f5f6;color:#e8664d}.board-children{margin:1px 0 .375rem 2.0625rem;padding-left:.5625rem}.child-item{height:2.5rem;gap:.375rem}.child-branch{width:.5625rem;margin-left:-.5625rem}.child-glyph{width:1.375rem;height:1.375rem}.snap-layer{pointer-events:none}.snap-guide{fill:none;stroke-width:.4;stroke-dasharray:2.2 1.4}.snap-guide.layer{stroke:#2c8ad6}.snap-guide.page{stroke:#8b98a3;stroke-dasharray:1.1 1.7}.snap-guide.spacing{stroke:#e08b2b;stroke-dasharray:none}.snap-guide.grid{stroke:#9aa7b1}.snap-label{font-size:3.2px;font-weight:700;fill:#9c5f16;dominant-baseline:middle}.snap-label-bg{fill:#fff7ea;stroke:#f0d3a8;stroke-width:.16}.drag-readout{display:inline-flex;align-items:center;gap:.4375rem}.drag-readout strong{color:#3d4c58}.snap-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .4375rem;border-radius:1.25rem;background:#eaf4fd;color:#1f72b5;font-weight:800}.snap-tag.warn{background:#fdeee9;color:#c9522f}.snap-group button.active{background:#fff0ec;color:#e9654b}.snap-grid{height:1.625rem;border:1px solid #e6ebee;border-radius:.375rem;background:#fff;color:#63757f;font-size:.625rem;font-weight:700;padding:0 .1875rem;outline:0}.snap-grid:disabled{opacity:.45}.align-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem}.align-grid button{height:1.875rem;border:1px solid #e3e8eb;border-radius:.4375rem;background:#fff;color:#637480;display:grid;place-items:center}.align-grid button:hover{border-color:#efad9e;color:#df6049;background:#fffaf8}.dimension-hit{fill:none;stroke:transparent;stroke-width:3;pointer-events:stroke}.dimension-hit.axis-x{cursor:ns-resize}.dimension-hit.axis-y{cursor:ew-resize}.dimension-hit:hover{stroke:#4d86a521}.dimension-hit.selected{stroke:#4d86a538}.pick-outline{fill:none;stroke:#2c8ad6;stroke-width:.28;stroke-dasharray:2 1.6;opacity:.55}.pick-edge{fill:none;stroke-width:.9;stroke-linecap:round}.pick-edge.hover{stroke:#2c8ad6}.pick-edge.pending{stroke:#e9654b;stroke-dasharray:2.4 1.4}.dimension-input{position:absolute;transform:translate(-50%,-50%);width:5.5rem;height:1.5rem;border:1px solid #4d86a5;border-radius:.375rem;background:#fff;color:#1d5f80;font-size:.6875rem;font-weight:700;text-align:center;padding:0 .375rem;outline:0;box-shadow:0 4px 14px #2b42571f,0 0 0 3px #4d86a526;z-index:2}.dimension-hint{display:inline-flex;align-items:center;gap:.375rem;color:#1f72b5;font-weight:800}.tool-indicator.active{background:#eaf4fd;color:#1f72b5}.dimension-value{font-size:.625rem;color:#2b6f95;white-space:nowrap}.pick-page{stroke:#2c8ad6;stroke-width:.4;stroke-dasharray:3 2;opacity:.45}.dimension-mode,.dimension-mode .canvas-layer,.dimension-mode .child-hit-area{cursor:crosshair}.dimension-item.active{border-color:#efad9e;background:#fff7f4}.dimension-pick{flex:1;min-width:0;border:0;background:none;padding:0;text-align:left;color:#687a87;font-size:.5625rem;line-height:1.4;cursor:pointer}.dimension-pick:hover{color:#df6049}.layout-only-hint{border:1px solid #d9e6f0;background:#f2f8fd;color:#2b6f95;border-radius:1.25rem;height:1.625rem;padding:0 .6875rem;font-size:.625rem;font-weight:800;white-space:nowrap}.layout-only-hint:hover{border-color:#a9cde4;background:#e9f4fc}.dimension-inspector .selected-layer-summary{border-bottom:1px solid #edf0f3}.orientation-picker{display:flex;align-items:center;gap:.75rem}.orientation-picker .field-label{flex:none}.orientation-picker .axis-tabs{flex:1}.orientation-picker .axis-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:.3125rem}.stage{position:relative}.tool-banner{position:absolute;top:4.375rem;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:.6875rem;max-width:calc(100% - 2rem);padding:.5rem .5625rem .5rem .8125rem;border-radius:.6875rem;background:#2b6f95;color:#fff;box-shadow:0 8px 24px #1c4a6633;animation:tool-banner-in .18s ease-out;pointer-events:none}.tool-banner-icon{width:1.5625rem;height:1.5625rem;border-radius:.4375rem;background:#ffffff2b;display:grid;place-items:center;flex:none}.tool-banner-text{display:flex;flex-direction:column;gap:.125rem;line-height:1.25;min-width:0}.tool-banner-text strong{font-size:.6875rem;font-weight:800}.tool-banner-text span{font-size:.625rem;color:#d8e9f4}.tool-banner-esc{font-size:.5625rem;color:#bcd8ea;white-space:nowrap}.tool-banner button{pointer-events:auto;display:inline-flex;align-items:center;gap:.25rem;border:0;border-radius:.4375rem;background:#fff;color:#1f5f80;height:1.625rem;padding:0 .625rem;font-size:.625rem;font-weight:800;white-space:nowrap;flex:none}.tool-banner button:hover{background:#eaf4fd}@keyframes tool-banner-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.conflict-block{margin:.875rem 0 0;padding:.6875rem .75rem;border:1px solid #f0d3a8;border-radius:.5625rem;background:#fff8ec;color:#8a5a1c}.conflict-block strong{display:block;font-size:.6875rem}.conflict-block p{margin:.375rem 0 0;font-size:.625rem;line-height:1.5}.conflict-block ul{margin:.4375rem 0 0;padding-left:1rem;font-size:.625rem;line-height:1.6}.conflict-actions{display:flex;gap:.375rem;margin-top:.6875rem}.conflict-actions button{flex:1;min-height:1.75rem;border:1px solid #e6d3b4;border-radius:.4375rem;background:#fff;color:#8a5a1c;font-size:.625rem;font-weight:800}.conflict-actions button.apply{background:#e08b2b;border-color:#e08b2b;color:#fff}.conflict-actions button:hover{border-color:#d9a75c}.flip-dimension{display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;min-height:1.875rem;border:1px solid #e3e8eb;border-radius:.4375rem;background:#fff;color:#5b7d92;font-size:.625rem;font-weight:800}.flip-dimension:hover{border-color:#a9cde4;color:#2b6f95;background:#f4fafe}.layout-title.collapsible{display:flex;align-items:center;gap:.375rem;width:100%;border:0;background:none;padding:0;color:#34424e;font-size:.6875rem;font-weight:800;text-align:left}.layout-title.collapsible svg{flex:none;color:#95a2ac;transition:transform .15s}.layout-title.collapsible.open svg{transform:rotate(90deg)}.layout-title.collapsible:hover{color:#df6049}.layout-title .count-chip{margin-left:.375rem;padding:1px .375rem;border-radius:.5625rem;background:#eaf4fd;color:#2b6f95;font-size:.5625rem;font-weight:800}.section-body{display:flex;flex-direction:column;gap:.6875rem}.layout-sub-tabs{display:flex;gap:.25rem;padding:.75rem .875rem 0}.layout-sub-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;height:2rem;border:1px solid #e6ebee;border-radius:.5rem;background:#fff;color:#697b88;font-size:.6875rem;font-weight:800}.layout-sub-tabs button:hover{border-color:#efad9e;color:#df6049}.layout-sub-tabs button.active{background:#fff0ec;border-color:#f3b9a9;color:#df6049}.layout-sub-tabs .count-chip{padding:1px .375rem;border-radius:.5625rem;background:#eaf4fd;color:#2b6f95;font-size:.5625rem;font-weight:800}.layout-sub-tabs button.active .count-chip{background:#fff;color:#df6049}.panel-hint{margin:0;padding:.875rem 1.125rem;color:#97a2ab;font-size:.6562rem;line-height:1.65;border-bottom:1px solid #edf0f3}.panel-resizer{position:absolute;top:0;bottom:0;width:.4375rem;cursor:col-resize;z-index:6;touch-action:none;background:transparent}.panel-resizer.left{right:-.25rem}.panel-resizer.right{left:-.25rem}.panel-resizer:hover,.panel-resizer:focus-visible{background:#eb63493d;outline:0}.workspace.resizing{cursor:col-resize}.workspace.resizing .stage{pointer-events:none}.warn-note{margin:.625rem 0 0;padding:.5rem .625rem;border:1px solid #f2d6a5;border-radius:.4375rem;background:#fff9ed;color:#9a6b28;font-size:.5938rem;line-height:1.5}@media(max-height:760px){.topbar{height:3.625rem}.side-tabs{height:3.125rem;padding-top:.375rem;padding-bottom:.375rem}.stage-toolbar{height:3.125rem}.brand-words small{display:none}.inspector-head{height:3.25rem}.stage-bottom{height:2.375rem}.side-intro{padding-top:1.125rem}}html,body{overflow:hidden}.app-shell{height:100dvh}.workspace,.sidebar{min-width:0}.sidebar-scroll,.inspector-scroll{flex:1;overscroll-behavior:contain}.topbar{gap:clamp(.35rem,1vw,1rem);padding-inline:clamp(.75rem,1.5vw,1.5rem)}.brand{min-width:0;flex:none}.brand-words strong{white-space:nowrap}.document-name{min-width:0;flex:0 1 14rem}.document-name input{width:100%;min-width:0}.doc-avatar{flex:none}.top-spacer{min-width:0}.local-badge{display:none}.topbar>button{flex-shrink:0}.stage{container-type:inline-size}.stage-toolbar{height:auto;min-height:3.25rem;padding:.5rem .85rem;gap:.5rem;flex-wrap:wrap}.toolbar-group,.page-chip{flex-shrink:0}.page-chip{margin-left:auto}.toolbar-group.subtle button,.zoom-control button{width:2rem;height:2rem}.stage-bottom{height:auto;min-height:2.75rem;gap:.5rem;padding:.35rem .75rem}.status-left{min-width:0;flex:1;overflow:hidden;white-space:nowrap}.dimension-hint,.drag-readout{min-width:0;overflow:hidden;text-overflow:ellipsis}.zoom-control{flex:none}.zoom-control button.active{background:#fff0ec;color:#df6049}.canvas-scroll{display:block}.canvas-wrap{width:max-content;min-width:0;margin-inline:auto;padding:1.25rem 1.5rem}.paper-shadow{transition:none}.canvas-caption,.page-footnote{max-width:100%}.page-footnote{white-space:nowrap}.library-head,.library-toggle{display:none}.inspector-backdrop,.library-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f2c3755;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:7}.sidebar[inert]{visibility:hidden;pointer-events:none}.library-head{align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid #edf0f3}.library-head strong{font-size:.85rem}.modal-backdrop{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));overflow:auto}.export-modal,.new-modal{max-height:calc(100dvh - 1.5rem);overflow-y:auto;overscroll-behavior:contain}.modal-head{position:sticky;top:0;background:#fff;z-index:1}.modal-footer{gap:.75rem}.modal-head button{flex:none}.toast{max-width:calc(100vw - 2rem);bottom:max(1rem,env(safe-area-inset-bottom))}button:focus-visible{outline:2px solid #e9654b;outline-offset:2px}@media(min-width:1600px){.local-badge{display:flex}}@container (max-width: 650px){.toolbar-label,.toolbar-divider,.page-chip span,.stage-toolbar-spacer{display:none}.layout-only-hint{max-width:100%;overflow:hidden;text-overflow:ellipsis}.stage-bottom{flex-wrap:wrap}.status-left{flex-basis:100%;font-size:.65rem}.zoom-control{margin-left:auto}.page-footnote{display:none}}@container (max-width: 400px){.page-chip,.tool-indicator{display:none}.stage-toolbar>.toolbar-group:first-of-type{display:none}.stage-toolbar{gap:.3rem;padding-inline:.5rem}.canvas-wrap{padding:1rem}.canvas-caption{font-size:.6rem;gap:.5rem}.tool-banner{align-items:flex-start;flex-wrap:wrap;width:calc(100% - 1rem)}.tool-banner-text{flex:1}.tool-banner-esc{display:none}}.app-shell[data-layout=tablet] .workspace{grid-template-columns:var(--panel-left) minmax(0,1fr)}.app-shell:not([data-layout=desktop]) .right-sidebar{display:flex;position:fixed;inset:0 0 0 auto;width:min(23rem,calc(100vw - 1rem));z-index:8;box-shadow:-12px 0 30px #27384524;transform:translate(105%);padding-bottom:env(safe-area-inset-bottom)}.app-shell:not([data-layout=desktop]) .right-sidebar.open{transform:translate(0)}.app-shell:not([data-layout=desktop]) .inspector-toggle{display:inline-flex;flex-shrink:0}.app-shell:not([data-layout=desktop]) .library-toggle{display:none}.app-shell:not([data-layout=desktop]) .inspector-close{display:grid}.app-shell:not([data-layout=desktop]) .inspector-backdrop{display:block}.app-shell:not([data-layout=desktop]) .panel-resizer{display:none}.app-shell:not([data-layout=desktop]) .brand-words small,.app-shell:not([data-layout=desktop]) .top-divider{display:none}.app-shell[data-layout=mobile] .workspace{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.app-shell[data-layout=mobile] .stage{height:auto;min-height:0}.app-shell[data-layout=mobile] .left-sidebar{position:fixed;inset:0 auto 0 0;width:min(23rem,calc(100vw - 1rem));z-index:8;box-shadow:12px 0 30px #27384524;transform:translate(-105%);padding-bottom:env(safe-area-inset-bottom)}.app-shell[data-layout=mobile] .left-sidebar.open{transform:translate(0)}.app-shell[data-layout=mobile] .library-head{display:flex}.app-shell[data-layout=mobile] .library-toggle{display:inline-flex}.app-shell[data-layout=mobile] .topbar{height:auto;min-height:4rem;flex-wrap:wrap;gap:.35rem .5rem;padding-block:.55rem}.app-shell[data-layout=mobile] .document-name{order:10;flex:1 1 100%;font-size:.75rem}.app-shell[data-layout=mobile] .document-name input{height:1.7rem}.app-shell[data-layout=mobile] .brand-words strong{font-size:.95rem}.app-shell[data-layout=mobile] .brand-icon{width:1.9rem;height:1.9rem}.app-shell[data-layout=mobile] .topbar .primary-button{padding-inline:.6rem;font-size:.7rem}.app-shell[data-layout=mobile] .top-spacer{display:none}.app-shell[data-layout=mobile] .language-switch{margin-left:auto}.app-shell[data-layout=mobile] .stage-bottom{padding-bottom:max(.35rem,env(safe-area-inset-bottom))}@media(max-width:480px){.topbar .brand-words{display:none}.topbar .ui-scale{order:11}.app-shell[data-layout=mobile] .document-name{flex-basis:calc(100% - 6rem)}.language-switch svg{display:none}.topbar .icon-btn{width:1.9rem;height:2.2rem}.format-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:1rem}.paper-options{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-head,.modal-footer,.export-settings{padding:1rem}.new-modal-body{padding:0 1rem 1rem}.compensation{flex-wrap:wrap}}@media(pointer:coarse){.pattern-add{opacity:1}.icon-btn,.inspector-toggle,.layer-eye,.modal-head button,.inspector-close{min-width:2.5rem;min-height:2.5rem}.field input:not([type=color]),.field select,.field textarea{font-size:1rem;min-height:2.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.side-tabs button{min-width:0;padding-inline:.2rem}.side-tabs .tab-label{min-width:0}.tool-banner{top:4.5rem}.header-settings,.file-actions{display:flex;align-items:center;gap:.5rem;flex:none}.file-actions>button{flex:none}.app-shell[data-layout=mobile] .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.app-shell[data-layout=mobile] .brand{grid-column:1;grid-row:1}.app-shell[data-layout=mobile] .header-settings{grid-column:2;grid-row:1;gap:.35rem}.app-shell[data-layout=mobile] .document-name{grid-column:1;grid-row:2;order:0}.app-shell[data-layout=mobile] .file-actions{grid-column:2;grid-row:2;justify-content:flex-end;gap:.3rem}.app-shell[data-layout=mobile] .topbar .ui-scale{order:0}@media(max-width:480px){.app-shell[data-layout=mobile] .brand-words{display:flex}.app-shell[data-layout=mobile] .brand-words strong{font-size:.8rem}.app-shell[data-layout=mobile] .brand{gap:.35rem}.file-actions .primary-button .export-label,.file-actions .primary-button svg:last-child{display:none}.file-actions .primary-button{min-width:2.25rem}.header-settings .language-switch{padding-inline:.15rem}.header-settings .language-switch button{padding-inline:.25rem}.header-settings .ui-scale{padding-inline:.2rem}.header-settings .ui-scale svg{display:none}}.paper-shadow{margin-inline:auto}
