:root{--ink: #1c1f26;--ink-soft: #5c6270;--line: #d9dce3;--line-soft: #eceef2;--paper: #ffffff;--shell: #f4f5f8;--accent: #1f4f8b;--edit-fg: #0d6b3a;--edit-bg: #e4f4ea;--read-fg: #1f4f8b;--read-bg: #e6eefa;--hidden-fg: #5c6270;--hidden-bg: #e8e9ed;--mixed-fg: #7a4a12;--mixed-bg: #fbeedd;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--shell);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{margin:0;font-weight:600}.muted{color:var(--ink-soft);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chip{background:#fdf1d6;border:1px solid #e8d29a;border-radius:3px;padding:1px 6px;font-size:12px;color:#6b4e10}.control{display:flex;align-items:center;gap:6px;font-size:13px}.control>span{color:var(--ink-soft)}.control-check{gap:5px}select,input[type=text],input[type=date],input[type=number],textarea{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:5px 7px}select:disabled,input:disabled{opacity:.55}.btn{font:inherit;font-size:13px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:6px 11px;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{color:#fff}.btn-quiet{color:var(--ink-soft)}.btn-small{font-size:12px;padding:4px 9px}.btn-icon{font-size:11px;padding:3px 6px;line-height:1.2}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.confirm{margin:0 26px 14px;border-radius:6px;background:#fffaf0;border:1px solid #e8d29a;padding:12px 16px}.confirm p{margin:0 0 6px}.confirm-actions{display:flex;gap:8px;margin-top:10px}.viewas-banner{margin:0 0 4px;padding:10px 26px;background:#e6eefa;border-bottom:1px solid #c3d4ee;font-size:13px;color:#1a3c66}.print-head{display:none}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.shell.is-collapsed{grid-template-columns:60px minmax(0,1fr)}.shell.is-collapsed .nav-label,.shell.is-collapsed .brand-text{display:none}.shell.is-collapsed .brand{justify-content:center;position:relative}.shell.is-collapsed .collapse-toggle{position:absolute;top:34px;left:50%;transform:translate(-50%)}.shell.is-collapsed .nav-link{justify-content:center;padding:9px 0}.shell.is-collapsed .sidebar{padding:18px 8px;align-items:center}.shell.is-collapsed .sidebar-foot{width:100%}.shell.is-collapsed .reset-btn{width:100%;padding:6px 0}.rail-only{display:none}.shell.is-collapsed .rail-only{display:inline}.sidebar{background:#1c2333;color:#ced3de;display:flex;flex-direction:column;gap:20px;padding:18px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;font-size:14px;min-height:30px}.brand-text{min-width:0}.collapse-toggle{margin-left:auto;background:none;border:1px solid transparent;border-radius:5px;color:#8f97a8;padding:3px;cursor:pointer;display:grid;place-items:center}.collapse-toggle:hover{color:#fff;background:#29314492}.brand strong{display:block;color:#fff}.brand-sub{font-size:11.5px;color:#8f97a8}.brand-mark{width:30px;height:30px;border-radius:6px;background:#3d6fb4;color:#fff;display:grid;place-items:center;font-weight:700}.nav-group+.nav-group{margin-top:16px}.nav-group-label{margin:0 0 5px 10px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#6f7787}.nav{list-style:none;margin:0;padding:0;display:grid;gap:2px}.nav-link{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:5px;color:#ced3de;text-decoration:none;font-size:13.5px}.nav-icon{display:grid;place-items:center;flex-shrink:0}.nav-link:hover{background:#29314492;color:#fff}.nav-link.is-active{background:#3d6fb4;color:#fff;font-weight:500}.sidebar-foot{margin-top:auto;display:grid;gap:8px}.sidebar-foot .muted{color:#8f97a8}.tiny{font-size:11.5px}.content{min-width:0}.page{padding:22px 26px 60px;max-width:1180px}.page-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-head h1{font-size:22px}.page-head p{margin:6px 0 0;max-width:68ch}.head-actions{display:flex;gap:8px;flex-shrink:0}.crumbs{margin:0 0 6px;font-size:12.5px}.crumbs a{color:var(--ink-soft)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:16px 18px;margin-bottom:16px}.panel-head{display:flex;gap:14px;align-items:baseline;justify-content:space-between;margin-bottom:10px}.panel-head h2{font-size:15px}.panel-head p{margin:0}.form-panel{border-color:var(--accent)}.form-panel h2{font-size:15px;margin-bottom:12px}.spaced{margin:10px 0}.cards{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cards-wide{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.card{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:inherit;height:100%}.card:hover{border-color:var(--accent);background:#f7f9fd}.card-code{font:11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:var(--accent)}.listing{width:100%;border-collapse:collapse;font-size:13.5px}.listing th,.listing td{text-align:left;padding:7px 10px 7px 0;vertical-align:top}.listing thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:1px solid var(--line)}.listing tbody tr{border-bottom:1px solid var(--line-soft)}.listing tbody th{font-weight:500}.listing input,.listing select{max-width:15rem}.listing input[type=text],.listing td>input:not([type]){width:100%;max-width:22rem}.listing input[type=radio],.listing input[type=checkbox]{width:auto}.kind{display:inline-block;margin-left:6px;font-size:11px;border-radius:3px;padding:1px 6px;border:1px solid var(--line);color:var(--ink-soft)}.kind-standard{background:#eef4ec;border-color:#cbe0c6;color:#35633a}.category-block{margin-bottom:18px}.category-title{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);padding-bottom:5px;margin-bottom:8px}.form-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.form-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line-soft);border-radius:5px}.form-order{font:12px/1 ui-monospace,monospace;color:var(--ink-soft);text-align:center}.form-main{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.form-actions{display:flex;gap:4px}.picker{list-style:none;margin:0;padding:0;display:grid;gap:4px}.picker-row{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:1px solid var(--line-soft);border-radius:5px;padding:9px 12px;cursor:pointer}.picker-row:hover{border-color:var(--accent);background:#f7f9fd}.picker-row.is-picked{border-color:var(--accent);background:#eef4fd}.picker-row input{width:auto;margin-top:3px}.picker-body{display:grid;gap:3px;min-width:0}.category-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.category-head .category-title{flex:1}.inline-form{display:flex;gap:6px;align-items:center;margin-bottom:10px}.group-head{display:flex;gap:10px;align-items:center;margin-bottom:6px}.group-name{font-weight:600;font-size:14px;max-width:16rem}.group-actions{margin-left:auto;display:flex;gap:6px}.issues{margin:0 26px 14px;padding:11px 14px;border:1px solid #e8c9c4;background:#fdf4f3;border-radius:6px;font-size:13px}.issues ul{margin:6px 0 0;padding-left:18px}.issue-error{color:#8c2f22}.issue-warning{color:#7a5210}.issue-pill{display:inline-block;margin-top:3px;font-size:11px;border-radius:3px;padding:1px 6px;background:#fdf4f3;border:1px solid #e8c9c4;color:#8c2f22}.studio{display:flex;flex-direction:column;min-height:100vh;background:var(--shell)}.studio-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--line)}.studio-bar-left{flex:1 1 16rem}.studio-bar-right{flex:0 1 auto;justify-content:flex-end;flex-wrap:wrap}.studio-bar-left,.studio-bar-right{display:flex;align-items:center;gap:8px;min-width:0}.studio-back{display:flex;align-items:center;gap:4px;padding:5px 8px 5px 5px;border-radius:5px;font-size:12.5px;color:var(--ink-soft);text-decoration:none;white-space:nowrap}.studio-back:hover{background:var(--shell);color:var(--ink)}.studio-toggle{display:grid;place-items:center;width:30px;height:30px;font:inherit;background:none;color:var(--ink-soft);border:1px solid transparent;border-radius:6px;cursor:pointer}.studio-toggle:hover{background:var(--shell);color:var(--ink)}.studio-toggle.is-on{background:#e8f0fb;color:var(--accent);border-color:#c3d4ee}.studio-title{flex:1 1 auto;font-size:15px;font-weight:600;border:1px solid transparent;background:none;padding:4px 7px;border-radius:5px;min-width:6rem;max-width:22rem}.studio-title:hover{border-color:var(--line)}.studio-bar .control{gap:5px}.control-label{font-size:12px;color:var(--ink-soft);white-space:nowrap}.studio-bar select{font-size:12.5px;padding:4px 6px;max-width:11rem}.more{position:relative}.more-menu{position:absolute;right:0;top:calc(100% + 6px);width:20rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #1c233324;padding:10px 12px;display:grid;gap:8px;z-index:30}.more-menu hr{border:none;border-top:1px solid var(--line-soft);margin:2px 0}.more-menu select{max-width:none;width:100%}.more-item{font:inherit;font-size:13px;text-align:left;background:none;border:none;border-radius:5px;padding:6px 8px;cursor:pointer;color:inherit}button.more-item:hover:not(:disabled){background:var(--shell)}button.more-item:disabled{opacity:.5;cursor:default}label.more-item{display:flex;align-items:center;gap:7px}label.more-item input{width:auto}.stub-badge{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 6px;background:#f1eefa;border:1px solid #d6cdee;color:#55429b}.stub-banner{margin:0;padding:9px 20px;background:#f7f5fd;border-bottom:1px solid #d6cdee;font-size:13px;color:#443579}.studio-body{flex:1;display:flex;align-items:stretch;min-height:0}.drawer{position:relative;flex:0 0 auto;background:var(--paper);overflow:auto;max-height:100vh;position:sticky;top:0}.drawer-left{width:250px;border-right:1px solid var(--line);padding:12px}.drawer-right{width:430px;border-left:1px solid var(--line)}.drawer-close{position:absolute;top:10px;right:12px;z-index:2;font:inherit;font-size:12px;background:none;border:1px solid transparent;border-radius:5px;color:var(--ink-soft);padding:3px 6px;cursor:pointer}.drawer-close:hover{background:var(--shell);color:var(--ink)}.studio-canvas{flex:1;min-width:0;padding:28px 24px 96px;display:flex;justify-content:center}@media(max-width:1100px){.studio-body{flex-direction:column}.drawer{position:static;width:auto;max-height:none;border:none;border-bottom:1px solid var(--line)}}.structure{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.structure-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.structure-head h2{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.structure-tree,.structure-fields{list-style:none;margin:0;padding:0}.structure-fields{margin:2px 0 10px 10px;border-left:1px solid var(--line-soft);padding-left:6px}.structure-row{display:flex;align-items:center;gap:2px;border-radius:4px;padding:1px 2px}.structure-row:hover{background:var(--shell)}.structure-row.is-selected{background:#e8f0fb}.structure-section{margin-top:6px}.structure-name{flex:1;min-width:0;text-align:left;font:inherit;font-size:12.5px;color:inherit;background:none;border:none;padding:4px 5px;cursor:pointer;line-height:1.35}.structure-section .structure-name{font-weight:600}.structure-type{display:block;font-size:10.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.structure-actions{display:flex;gap:1px;opacity:0}.structure-row:hover .structure-actions,.structure-row:focus-within .structure-actions{opacity:1}.structure-add select{width:100%;font-size:12px;margin-top:4px}.settings{display:grid;gap:11px}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-group{border:1px solid var(--line-soft);border-radius:5px;padding:10px 12px 12px;margin:4px 0 0}.settings-group legend{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:0 4px}.settings textarea,.settings input,.settings select{width:100%}.settings input[type=checkbox]{width:auto}.settings .control-check{display:flex;align-items:center;gap:7px;font-size:13.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.options{width:100%;border-collapse:collapse;font-size:12.5px;margin-bottom:6px}.options th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);padding-bottom:3px}.options td{padding:1px 3px 1px 0}.options input{width:100%}.column-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:2px}.column-list li{display:flex;align-items:center;gap:2px}.column-name{flex:1;text-align:left;font:inherit;font-size:12.5px;color:inherit;background:none;border:1px solid var(--line-soft);border-radius:4px;padding:5px 8px;cursor:pointer}.column-name:hover{border-color:var(--accent)}.column-actions{display:flex;gap:1px}.inspector-head{padding:12px 16px 0;border-bottom:1px solid var(--line-soft)}.inspector-what{margin:0 0 8px;font-size:12px;font-weight:600}.tabs{display:flex;gap:4px}.tab{font:inherit;font-size:12.5px;background:none;border:1px solid transparent;border-bottom:none;border-radius:5px 5px 0 0;padding:6px 12px;margin-bottom:-1px;cursor:pointer;color:var(--ink-soft)}.tab.is-active{background:var(--paper);border-color:var(--line-soft);color:var(--ink);font-weight:600}.tab:disabled{opacity:.45;cursor:default}.canvas{width:100%;max-width:65rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #1c23330d,0 8px 28px #1c23330f;padding:40px 48px 52px;font-size:15px}@media(max-width:640px){.canvas{padding:24px 20px 32px}}.canvas-head{margin-bottom:26px}.canvas-head h1{font-size:24px;letter-spacing:-.01em}.canvas-head p{margin:8px 0 0;color:var(--ink-soft);font-size:14px;max-width:62ch}.canvas-section{margin-top:30px}.canvas-section-head{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line-soft);padding-bottom:6px}.canvas-section-head h2{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.section-title-input{flex:1;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.section-remove{opacity:0}.canvas-section-head:hover .section-remove,.canvas-section-head:focus-within .section-remove{opacity:1}.canvas-section-head.is-selected{border-color:var(--accent)}.section-note{margin:8px 0 0;color:var(--ink-soft);font-size:12.5px;font-style:italic}.field-slot{position:relative}.field{position:relative;padding:12px 14px;margin:0 -14px;border:1px solid transparent;border-radius:7px}.field.is-selected{border-color:var(--accent);background:#f7faff}.field-inert{cursor:pointer}.field-inert input:not(.inline-edit),.field-inert select,.field-inert textarea:not(.inline-edit){pointer-events:none;background:#fafbfd;color:var(--ink-soft)}.field-label{display:flex;align-items:baseline;gap:2px;margin-bottom:5px}.field-label label,.field-label-text,.field-label-input{font-weight:500;font-size:14.5px}.field-label abbr{color:#b3261e;text-decoration:none}.field-flag{margin-left:8px;font-size:11px;font-weight:400;color:var(--ink-soft);border:1px solid var(--line);border-radius:3px;padding:0 5px;white-space:nowrap}input.inline-edit,textarea.inline-edit{font:inherit;color:inherit;background:none;border:1px solid transparent;border-radius:4px;padding:2px 5px;margin-left:-5px;width:100%;resize:none;overflow:hidden}input.inline-edit:hover,textarea.inline-edit:hover{border-color:var(--line)}input.inline-edit:focus,textarea.inline-edit:focus{border-color:var(--accent);background:var(--paper);outline:none}.inline-edit::placeholder{color:#a8aebb;font-style:italic}input.inline-edit.is-auto-width{width:auto;min-width:5ch;max-width:100%}input.field-static-title{font-weight:600;font-size:15px}textarea.field-static-body,textarea.field-help,.field-static-body,.field-help{font-size:12.5px;color:var(--ink-soft);line-height:1.5}.field input[type=text],.field input[type=date],.field textarea:not(.inline-edit),.field select{width:100%;max-width:42rem}.field-numeric{display:inline-flex;align-items:center;gap:4px}.field-numeric input{width:11rem}.field-readonly{display:block;padding:5px 0;font-variant-numeric:tabular-nums;border-bottom:1px dotted var(--line);max-width:42rem}.field-help{margin:5px 0 0;max-width:62ch}.field-static{background:var(--line-soft);border-radius:7px}.field-static p{margin:5px 0 0;font-size:13px;color:var(--ink-soft);max-width:62ch}.field-ghost{color:var(--ink-soft);border:1px dashed var(--line);border-radius:7px;padding:10px 14px;background:repeating-linear-gradient(45deg,#fafbfc,#fafbfc 6px,#f2f3f6 6px 12px);font-size:13px}.field-file{display:inline-flex;align-items:center;gap:7px;border:1px dashed var(--line);border-radius:6px;padding:10px 14px;color:var(--ink-soft);font-size:13px}.field-choices{display:grid;gap:5px;padding-top:2px}.field-choice{display:flex;align-items:center;gap:7px;font-size:14px}.field-choice input{width:auto}.field-table-wrap{margin-top:4px}.field-table{border-collapse:collapse;width:100%;font-size:13px}.field-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:3px 6px 3px 0}.field-table td{padding:2px 6px 2px 0;border-bottom:1px solid var(--line-soft)}.field-table input{width:100%;max-width:none}.quick-actions{position:absolute;top:-13px;right:-6px;z-index:5;display:flex;gap:1px;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px;box-shadow:0 2px 8px #1c23331a}.insert{position:relative;height:14px;margin:0 -14px;display:flex;align-items:center;justify-content:center}.insert:before{content:"";position:absolute;left:14px;right:14px;height:1px;background:var(--accent);opacity:0;transition:opacity .1s}.insert:hover:before,.insert.is-open:before,.insert:focus-within:before{opacity:.35}.insert-trigger{position:relative;z-index:2;width:20px;height:20px;display:grid;place-items:center;font:inherit;font-size:14px;line-height:1;color:var(--paper);background:var(--accent);border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .1s}.insert:hover .insert-trigger,.insert.is-open .insert-trigger,.insert-trigger:focus-visible{opacity:1}.insert.is-always{height:auto;margin:6px -14px 0}.insert-empty{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;font:inherit;font-size:13px;color:var(--accent);background:none;border:1px dashed var(--line);border-radius:7px;padding:14px;cursor:pointer}.insert-empty:hover{border-color:var(--accent);background:#f7faff}.insert-empty.is-standalone{margin-top:10px}.palette{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:40;width:min(30rem,88vw);background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 36px #1c233329;padding:12px}.palette-head{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.palette-item{display:grid;gap:1px;text-align:left;font:inherit;font-size:12.5px;color:inherit;background:none;border:1px solid var(--line-soft);border-radius:6px;padding:7px 9px;cursor:pointer}.palette-item:hover{border-color:var(--accent);background:#f7faff}.palette-item .muted{font-size:11px}.palette-section{margin-top:8px;width:100%;font:inherit;font-size:12.5px;color:var(--accent);background:none;border:1px dashed var(--line);border-radius:6px;padding:7px;cursor:pointer}.palette-section:hover{border-color:var(--accent);background:#f7faff}.inspector{background:var(--paper);border:1px solid var(--line);border-radius:7px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}.inspector-empty{padding:22px;color:var(--ink-soft)}.inspector-block{padding:16px 18px;border-bottom:1px solid var(--line-soft)}.inspector-block:last-child{border-bottom:none}.inspector-block h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:10px}.stack{display:block;margin-bottom:12px}.stack>span{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:3px}.stack input{width:100%}.meta{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0 0 10px;font-size:13px}.meta dt{color:var(--ink-soft)}.meta dd{margin:0}code{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--line-soft);border-radius:3px;padding:1px 4px}.grid{border-collapse:collapse;width:100%}.grid-caption{caption-side:top;text-align:left;font-size:12.5px;color:var(--ink-soft);margin-bottom:8px}.grid th{font-size:11.5px;font-weight:600;text-align:left;color:var(--ink-soft);padding:4px 6px}.grid thead th{text-align:center}.grid tbody th{white-space:nowrap}.grid-rowkind{display:block;font-weight:400;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.grid td{padding:2px}.cell{width:100%;display:flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:11.5px;border:1px solid transparent;border-radius:4px;padding:7px 4px;cursor:pointer}.cell-glyph{font-size:13px;line-height:1}.cell-assumed{font-weight:700;border:1px solid currentColor;border-radius:50%;width:13px;height:13px;line-height:11px;text-align:center;font-size:10px}.cell.is-focused{border-color:var(--ink)}.cell-edit{background:var(--edit-bg);color:var(--edit-fg)}.cell-read{background:var(--read-bg);color:var(--read-fg)}.cell-hidden{background:var(--hidden-bg);color:var(--hidden-fg)}.cell-mixed{background:var(--mixed-bg);color:var(--mixed-fg)}.cell-empty{background:transparent;color:var(--ink-soft);cursor:default;border:1px dashed var(--line)}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:3px;padding:1px 7px;font-size:12px;font-weight:600}.badge-edit{background:var(--edit-bg);color:var(--edit-fg)}.badge-read{background:var(--read-bg);color:var(--read-fg)}.badge-hidden{background:var(--hidden-bg);color:var(--hidden-fg)}.badge-mixed{background:var(--mixed-bg);color:var(--mixed-fg)}.why{margin-top:12px;padding:12px 14px;background:var(--shell);border:1px solid var(--line-soft);border-radius:5px;font-size:13px}.why p{margin:0 0 7px}.why p:last-child{margin-bottom:0}.why-empty{color:var(--ink-soft)}.why-head{display:flex;align-items:center;gap:8px;font-weight:500}.why q{font-style:italic}.why-assumed{background:var(--mixed-bg);color:var(--mixed-fg);padding:7px 9px;border-radius:4px}.why-beaten ul,.why-breakdown{margin:4px 0 0;padding-left:18px;font-size:12.5px}.why-beaten li,.why-breakdown li{margin-bottom:2px}.why-breakdown li{display:flex;gap:8px;justify-content:space-between}@media print{body{background:#fff}.sidebar,.editor-head,.structure,.inspector,.confirm,.viewas-banner,.grid-caption,.issues,.page-head{display:none!important}.shell{display:block}.print-head{display:block;border-bottom:1px solid #000;padding-bottom:6px;margin-bottom:14px;font-size:11pt}.workbench,.workbench.is-runtime{display:block;padding:0}.editor{padding:0}.canvas{border:none;border-radius:0;padding:0}.canvas-section{break-inside:auto;margin-top:18pt}.canvas-section-title{break-after:avoid}.field{break-inside:avoid;margin:0;padding:5pt 0;border:none;background:none!important}.field-ghost,.field-help,.section-note,.field-flag{display:none}.field input,.field textarea,.field select{border:none;border-bottom:1px solid #888;border-radius:0;padding-left:0}.field input[type=text],.field input[type=date],.field textarea,.field select,.field-readonly{max-width:none;width:100%}.field-numeric input{width:14rem}.field-inert input,.field-inert select,.field-inert textarea{background:none;color:inherit}@page{margin:18mm 16mm}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.workspace{display:flex;flex-direction:column;min-height:100vh;background:var(--shell)}.workspace-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;padding:9px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.workspace-bar-left{display:flex;align-items:center;gap:12px;min-width:0}.workspace-identity{display:grid;min-width:0}.workspace-identity strong{font-size:14px}.persona{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 12px;border:1px dashed #c8b6e8;background:#f8f5fd;border-radius:999px}.persona-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#55429b}.persona select{font-size:12.5px;padding:3px 6px;border-color:#d6cdee}.workspace-tracker{background:var(--paper);border-bottom:1px solid var(--line);padding:12px 20px}.tracker{display:flex;flex-wrap:wrap;gap:6px 4px;list-style:none;margin:0;padding:0}.tracker-step{display:flex;align-items:center;gap:8px;flex:1 1 10rem;min-width:0}.tracker-step+.tracker-step:before{content:"";flex:0 0 14px;height:1px;background:var(--line)}.tracker-dot{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft)}.tracker-body{display:grid;min-width:0}.tracker-phase{font-size:12.5px;color:var(--ink-soft)}.tracker-status{font-size:13.5px;font-weight:600}.tracker-step.is-done .tracker-dot{background:var(--edit-bg);color:var(--edit-fg);border-color:#bcdcc6}.tracker-step.is-done .tracker-phase{color:var(--ink)}.tracker-step.is-current .tracker-dot{background:var(--accent);color:#fff;border-color:var(--accent)}.tracker-step.is-current .tracker-phase{color:var(--accent);font-weight:600}.tracker-ended{display:flex;align-items:center;gap:12px}.tracker-endcap{border-radius:999px;padding:4px 14px;background:var(--hidden-bg);color:var(--ink);font-weight:600;font-size:13px;border:1px solid var(--line)}.workspace-body{flex:1;display:grid;grid-template-columns:250px minmax(0,1fr) 330px;align-items:start;min-height:0}@media(max-width:1240px){.workspace-body{grid-template-columns:minmax(0,1fr)}}.workspace-nav{position:sticky;top:0;padding:16px 12px;border-right:1px solid var(--line);background:var(--paper);max-height:100vh;overflow:auto}.workspace-nav-group+.workspace-nav-group{margin-top:14px}.workspace-nav-group h2{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:0 0 4px 8px}.workspace-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:1px}.workspace-nav-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;color:inherit;background:none;border:1px solid transparent;border-radius:5px;padding:7px 9px;cursor:pointer}.workspace-nav-item:hover{background:var(--shell)}.workspace-nav-item.is-active{background:#e8f0fb;border-color:#c3d4ee;font-weight:500}.workspace-nav-title{min-width:0}.marker{flex-shrink:0;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font-size:9px;border:1px solid var(--line)}.marker-untouched{background:none}.marker-started{background:var(--read-bg);color:var(--read-fg);border-color:#c3d4ee;font-size:7px}.marker-complete{background:var(--edit-bg);color:var(--edit-fg);border-color:#bcdcc6;font-weight:700}.workspace-main{padding:20px 24px 80px;display:grid;justify-items:center;gap:12px}.workspace-formbar{width:100%;max-width:65rem;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.workspace-formbar-actions{display:flex;align-items:center;gap:10px}.workspace-note{width:100%;max-width:65rem;margin:0;padding:9px 12px;border:1px solid #e8d29a;background:#fffaf0;border-radius:6px;font-size:13px;color:#6b4e10}.workspace-side{position:sticky;top:0;padding:16px 16px 40px;border-left:1px solid var(--line);background:var(--paper);max-height:100vh;overflow:auto;display:grid;gap:18px;align-content:start}.side-block h2{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:8px;display:flex;align-items:center;gap:7px}.side-admin{border:1px dashed #c8b6e8;background:#f8f5fd;border-radius:7px;padding:12px}.admin-tag{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:1px 5px;background:#ece5fa;color:#55429b;border:1px solid #d6cdee}.transitions{list-style:none;margin:0;padding:0;display:grid;gap:10px}.transition-btn{width:100%}.transition-why{margin:4px 0 0;font-size:12px;color:var(--ink-soft);line-height:1.45}.linkish{font:inherit;background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}.history{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:12.5px}.history li{display:grid;gap:2px;border-left:2px solid var(--line);padding-left:9px}.history li strong{display:flex;align-items:center;gap:6px}.history-note{color:var(--ink-soft);font-style:italic}.card-static{cursor:default}.card-static:hover{border-color:var(--line);background:none}.card-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.row-actions{display:flex;gap:4px;align-items:center}.selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:3px 12px}.selector-grid .control-check{display:flex;align-items:center;gap:7px;font-size:13px}.selector-grid input{width:auto}.save-rules{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:3px;font-size:12.5px}.save-rules li{display:flex;align-items:center;gap:8px;justify-content:space-between;border:1px solid var(--line-soft);border-radius:5px;padding:6px 8px}.save-rule-add{display:grid;gap:5px}.save-rule-add .control{justify-content:space-between}.structure-form{margin-bottom:8px;border-bottom:1px solid var(--line-soft);padding-bottom:6px}.structure-form .structure-name{font-weight:600}.grid-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}.grid-expander{display:inline-flex;align-items:center;gap:5px;border:0;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;padding:2px 4px;border-radius:5px}.grid-expander:hover{background:var(--shell)}.grid-chevron{flex:0 0 auto;opacity:.6}.grid-phase.is-open{border-bottom:2px solid var(--line);background:var(--shell)}.grid-status{font-weight:500;font-size:11px;max-width:92px;white-space:normal;vertical-align:bottom}.grid-grouprow th{padding-left:0}.grid-rolerow th{padding-left:22px;font-weight:500}.grid-rolename{font-size:12.5px}.grid-rolerow .cell{opacity:.96}.cell-exact{outline-offset:1px}.cell-exact.is-focused{outline:2px solid var(--ink)}.drawer-rules{width:460px;overflow-y:auto}.rules-panel{padding:4px 4px 24px}.rules-head{font-size:13px;color:var(--muted);margin:0 0 12px}.rules-clean{font-size:12.5px;color:var(--muted);margin:0 0 12px}.rules-issues{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}.issue{font-size:12.5px;padding:6px 8px;border-radius:6px;border:1px solid var(--line)}.issue-error{border-color:var(--hidden-fg)}.issue-severity{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.04em;margin-right:6px}.issue-error .issue-severity{color:var(--hidden-fg)}.issue-warning .issue-severity{color:var(--muted)}.rules-section{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 8px}.rules-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rules-row{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.rules-row.is-current{border-left:3px solid var(--ink)}.rules-main{display:flex;gap:8px;align-items:flex-start;min-width:0}.rules-text{min-width:0}.rules-sentence{margin:0 0 2px;font-size:13px}.rules-cond{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:999px;border:1px dashed var(--line);color:var(--muted)}.rules-origin{font-size:11px;margin:2px 0 0}.rules-origin code{font-size:10.5px}.rules-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex:0 0 auto}.rules-panel .muted{margin:0;font-size:12px}.issue-pill-scheme{cursor:pointer;border:0;font:inherit}.auth-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.auth-splash-brand{font-size:22px;font-weight:700;letter-spacing:-.02em}
