.login-backdrop{color-scheme:light;--ink-0: #e7e6e4;--ink-1: #fcfcfb;--ink-2: #f1f0ee;--line: #d6d5d2;--line-strong: #c2c0bc;--text-1: #272625;--text-2: #72716e;--flag: #2a2620;--flag-hover: #1c1813;--blue: #2457d6;--blue-soft: #e9edfb;--danger: #c93434;--danger-soft: #f7e7e1;--grid-line: rgba(79, 79, 77, .05);--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--shadow-card: 0 8px 24px rgba(46, 44, 40, .08);--shadow-md: 0 16px 42px rgba(28, 35, 49, .12);min-height:var(--app-h);display:flex;padding:36px 20px;color:var(--text-1);background-color:var(--ink-0);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:36px 36px}.login-card{width:min(100%,448px);margin:auto;padding:34px;border:1px solid color-mix(in srgb,var(--line-strong) 80%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--ink-1) 96%,transparent);box-shadow:0 8px 24px #2e2c2814}.login-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 22px}.login-logo{display:block;width:72px;height:auto}.login-brand-text{display:flex;flex-direction:column;gap:3px}.login-brand-name{font-family:var(--font-display);font-size:1.45rem;font-weight:650;letter-spacing:.005em;line-height:1.1;color:var(--text-1)}.login-brand-sub{font-family:var(--font-data);font-size:var(--text-2xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.login-form{max-width:360px;margin:0 auto}.login-field{margin-bottom:15px}.login-field label{display:block;margin-bottom:7px;color:var(--text-1);font-size:var(--text-xs);font-weight:600}.login-field input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--ink-1);color:var(--text-1);font-size:var(--text-base);box-shadow:inset 0 1px 1px #11182708;transition:border-color .16s ease,box-shadow .16s ease}.login-field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2457d624;outline:none}.login-field input:disabled{opacity:.6}.login-submit{width:100%;min-height:42px;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);background:var(--flag);color:var(--ink-0);font-weight:600;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.login-submit:hover:not(:disabled){background:var(--flag-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;color:var(--text-2);background:#e8e4dc;border-color:#d6d0c4;box-shadow:none}.login-error{margin-bottom:16px;padding:11px 12px;border:1px solid #f2b8b8;border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--text-base);text-align:center}.login-request{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);text-align:center}.login-request-link{position:relative;display:inline-flex;color:var(--text-2);font-size:var(--text-sm);cursor:pointer}.login-request-link:hover{color:var(--text-1);text-decoration:underline}.login-tooltip{visibility:hidden;opacity:0;position:absolute;left:50%;bottom:calc(100% + 12px);z-index:50;width:max-content;max-width:260px;transform:translate(-50%);padding:9px 11px;border-radius:var(--radius);background:#111827;color:#fff;box-shadow:0 12px 28px #11182733;font-size:var(--text-xs);line-height:1.35;transition:opacity .16s ease,visibility .16s ease}.login-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#111827}.login-request-link:hover .login-tooltip,.login-request-link:focus-within .login-tooltip,.login-request-link:focus .login-tooltip{visibility:visible;opacity:1}.picker-page{--picker-chrome: var(--ink-0);--picker-card: var(--ink-1);--picker-card-hover: var(--ink-2);--picker-chrome-hover: var(--ink-2);min-height:var(--app-h);height:var(--app-h);display:flex;flex-direction:column}.picker-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background-color:var(--picker-chrome);flex-shrink:0}.picker-header-left{display:flex;align-items:center;gap:.75rem}.picker-title{margin:0;font-size:var(--text-lg);font-weight:600}.picker-header-right{display:flex;align-items:center;gap:1.25rem}.picker-admin-link{font-size:var(--text-base);text-decoration:none;color:var(--text-2)}.picker-admin-link:hover{color:var(--text-1)}.picker-user-menu{display:flex;align-items:center;gap:.75rem}.picker-username{font-size:var(--text-base);color:var(--text-2)}.picker-signout{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.4rem .75rem;font-size:var(--text-sm);cursor:pointer}.picker-signout:hover{background-color:var(--picker-chrome-hover)}.picker-body{flex:1;min-height:0;display:flex}.picker-list-panel{width:340px;flex-shrink:0;overflow-y:auto;padding:1.25rem;border-right:1px solid var(--line);background-color:var(--picker-chrome)}.picker-empty{color:var(--text-2)}.picker-error{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--danger)}.picker-error button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer}.picker-error button:hover{background-color:var(--ink-2)}.picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.picker-row{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-left:3px solid transparent;border-radius:var(--radius);background-color:var(--picker-card);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.picker-row-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-data);font-weight:600;font-size:var(--text-sm);letter-spacing:.03em;color:var(--blue);background-color:var(--blue-soft);border:1px solid color-mix(in srgb,var(--blue) 18%,transparent)}.picker-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.picker-row:hover,.picker-row--hover{background-color:var(--picker-card-hover);border-left-color:var(--blue);box-shadow:0 4px 14px #1c23311a}.picker-row-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.picker-row-name{font-family:var(--font-ui);font-size:var(--text-lg);font-weight:600;color:var(--text-1)}.picker-row-client{color:var(--text-2);font-size:var(--text-sm)}.picker-row-sub{display:flex;align-items:center;gap:.5rem}.picker-row-dot{flex-shrink:0;margin-left:auto;width:8px;height:8px;border-radius:50%;background-color:var(--blue);box-shadow:0 0 0 3px #2457d62e}.picker-row-noloc{flex-shrink:0;margin-left:auto;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.picker-status-chip{flex-shrink:0;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;border:1px solid currentColor}.picker-status-chip--draft{color:var(--text-2)}.picker-status-chip--live{color:var(--flag)}.picker-status-chip--archived{color:var(--text-2);opacity:.5}.picker-map-wrap{position:relative;flex:1;min-width:0}.picker-map{position:absolute;inset:0}.picker-map--placeholder{background-color:var(--ink-2);display:flex;align-items:center;justify-content:center;padding:1.5rem}.picker-map-status{max-width:24rem;text-align:center;color:var(--text-2)}.picker-mobile-switch{display:none}@media(max-width:720px){.picker-body{flex-direction:column}.picker-list-panel{width:auto;border-right:none}.picker-body[data-mobile-view=list] .picker-map-wrap,.picker-body[data-mobile-view=map] .picker-list-panel{display:none}.picker-mobile-switch{display:flex;gap:.25rem;padding:0 1.25rem .75rem}.picker-mobile-switch button{flex:1;padding:.35rem .5rem;background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:var(--text-sm);cursor:pointer}.picker-mobile-switch button.is-on{background-color:var(--ink-1);border-color:var(--line-strong);color:var(--text-1)}}.picker-filters{display:flex;flex-direction:column;gap:.5rem;padding:0 0 .75rem}.picker-search{width:100%}.picker-tabs{display:flex;flex-wrap:wrap;gap:.25rem}.picker-tab{display:inline-flex;align-items:baseline;gap:.35rem;padding:.2rem .5rem;background:none;border:1px solid transparent;border-radius:999px;color:var(--text-2);cursor:pointer;font:inherit;font-size:var(--text-xs)}.picker-tab:hover{background-color:var(--ink-2);color:var(--text-1)}.picker-tab.is-on{border-color:var(--line-strong);background-color:var(--ink-1);color:var(--text-1)}.picker-tab-count{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--text-2)}.picker-tab.is-on .picker-tab-count{color:var(--blue)}.picker-count{list-style:none;padding:0 0 .4rem;font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.picker-flag{flex-shrink:0;padding:.05rem .35rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-2);font-size:var(--text-2xs);white-space:nowrap}.picker-flag--severe{border-color:var(--danger);color:var(--danger)}.admin-layout{min-height:var(--app-h);display:flex}.admin-nav{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1rem;background-color:var(--ink-1);border-right:1px solid var(--line)}.admin-nav-eyebrow{margin:0 0 .75rem}.admin-nav-link{padding:.5rem .6rem;border-left:2px solid transparent;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-2);font-size:var(--text-base)}.admin-nav-link:hover{color:var(--text-1);background-color:var(--ink-2)}.admin-nav-link--active{border-left-color:var(--flag);color:var(--text-1)}.admin-body{flex:1;display:flex;flex-direction:column;min-width:0}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background-color:var(--ink-1)}.admin-back-link{font-size:var(--text-base);text-decoration:none;color:var(--text-2)}.admin-back-link:hover{color:var(--text-1)}.admin-user-menu{display:flex;align-items:center;gap:.75rem}.admin-username{font-size:var(--text-base);color:var(--text-2)}.admin-signout{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.4rem .75rem;font-size:var(--text-sm);cursor:pointer}.admin-signout:hover{background-color:var(--ink-2)}.admin-content{flex:1;padding:2rem 1.5rem}.pane{padding:1.25rem 1.5rem;background-color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 1rem;font-family:var(--font-data);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.pane table{width:100%;border-collapse:collapse}.pane table tr:last-child td{border-bottom:none}.pane table th:first-child,.pane table td:first-child{padding-left:0}.pane table th:last-child,.pane table td:last-child{padding-right:0}@media(max-width:760px){.admin-layout{display:block}.admin-nav{position:sticky;top:0;z-index:8;width:auto;flex-direction:row;align-items:center;gap:.35rem;padding:.75rem 1rem;overflow-x:auto}.admin-nav-eyebrow{margin:0 .6rem 0 0;flex-shrink:0}.admin-nav-link{flex-shrink:0;border-left:none;border-bottom:2px solid transparent;padding:.45rem .55rem}.admin-nav-link--active{border-left-color:transparent;border-bottom-color:var(--flag)}.admin-header{align-items:flex-start;gap:.75rem;padding:.85rem 1rem}.admin-back-link{max-width:8rem}.admin-user-menu{min-width:0;gap:.5rem}.admin-username{max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-signout{white-space:nowrap}.admin-content{padding:1.5rem 1rem 2rem}.pane{padding:1rem}}.one-time-secret{display:flex;flex-direction:column;gap:.5rem}.one-time-secret-value{font-family:var(--font-data);color:var(--blue);background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem;font-size:var(--text-base);word-break:break-all;-webkit-user-select:all;user-select:all}.one-time-secret-actions{display:flex}.one-time-secret-actions button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.4rem .75rem;font-size:var(--text-sm);cursor:pointer}.one-time-secret-actions button:hover{background-color:var(--ink-2)}.one-time-secret-warning{color:var(--text-2);font-size:var(--text-sm);margin:0}.one-time-secret-done{align-self:flex-start;background-color:var(--flag);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.6rem 1.25rem;font-weight:600;cursor:pointer}.users-page{display:flex;flex-direction:column;gap:1.5rem}.users-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.users-page-title{margin:0;font-size:var(--text-xl);font-weight:600}.users-empty{color:var(--text-2)}.users-error{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--danger)}.users-error button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer}.users-table{width:100%;border-collapse:collapse}.users-table th{text-align:left;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:400;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.users-table td{padding:.6rem .75rem;border-bottom:1px solid var(--line);font-size:var(--text-base)}.users-cell-mono{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--text-1)}.users-active-toggle{display:inline-flex;align-items:center;cursor:pointer}.users-reset-button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.35rem .7rem;font-size:var(--text-sm);cursor:pointer}.users-reset-button:hover{background-color:var(--ink-2)}.users-inline-error{color:var(--danger);font-size:var(--text-sm);margin-top:.35rem}.users-reset-confirm{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius)}.users-reset-confirm-actions{display:flex;gap:.75rem}@media(max-width:760px){.users-page-header{align-items:flex-start}.users-create-button{white-space:nowrap}.users-table{display:block}.users-table thead{display:none}.users-table tbody,.users-table tr,.users-table td{display:block}.users-table tr{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--ink-1);margin-bottom:.75rem;padding:.65rem .75rem}.users-table td{border-bottom:none;padding:.35rem 0;display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;align-items:center}.users-table td[colspan]{display:block}.users-table td:before{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.users-table td:nth-child(1):before{content:"Username"}.users-table td:nth-child(2):before{content:"Role"}.users-table td:nth-child(3):before{content:"Email"}.users-table td:nth-child(4):before{content:"Created"}.users-table td:nth-child(5):before{content:"Active"}.users-table td:nth-child(6):before{content:"Actions"}.users-table td[colspan]:before{content:none}}.template-picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.template-picker-error{color:var(--danger)}.template-card{display:flex;flex-direction:column;gap:.375rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background-color:var(--ink-2);cursor:pointer}.template-card:hover{background-color:color-mix(in srgb,var(--ink-2) 80%,var(--text-1) 5%)}.template-card--selected{border-color:var(--flag)}.template-card-name{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text-1)}.template-card-description{margin:0;font-size:var(--text-sm);color:var(--text-2)}.template-card-eyebrow{margin:.25rem 0 0}.projects-page{display:flex;flex-direction:column;gap:1.5rem}.projects-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.projects-page-title{margin:0;font-size:var(--text-xl);font-weight:600}.projects-create-button{white-space:nowrap}.projects-empty{color:var(--text-2)}.projects-error{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--danger)}.projects-error button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer}.projects-table{width:100%;border-collapse:collapse}.projects-table th{text-align:left;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:400;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.projects-table td{padding:.6rem .75rem;border-bottom:1px solid var(--line);font-size:var(--text-base)}.projects-table a{color:var(--text-1);text-decoration:none;font-weight:600}.projects-table a:hover{text-decoration:underline}.projects-cell-mono{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--text-1)}.projects-table select{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.35rem .6rem;font-size:var(--text-sm);cursor:pointer}.projects-inline-error{color:var(--danger);font-size:var(--text-sm);margin-top:.35rem}.projects-create-dialog{width:560px;max-height:90vh;overflow-y:auto}.projects-create-dialog .mono-input{font-family:var(--font-data);color:var(--blue)}.crs-quick-picks{display:flex;flex-wrap:wrap;gap:.5rem}.crs-quick-pick-button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);font-family:var(--font-data);font-size:var(--text-sm);padding:.4rem .7rem;cursor:pointer}.crs-quick-pick-button:hover{background-color:var(--ink-2)}@media(max-width:760px){.projects-page-header{align-items:flex-start}.projects-table{display:block}.projects-table thead{display:none}.projects-table tbody,.projects-table tr,.projects-table td{display:block}.projects-table tr{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--ink-1);margin-bottom:.75rem;padding:.65rem .75rem}.projects-table td{border-bottom:none;padding:.35rem 0;display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;align-items:baseline}.projects-table td:before{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.projects-table td:nth-child(1):before{content:"Name"}.projects-table td:nth-child(2):before{content:"Slug"}.projects-table td:nth-child(3):before{content:"Client"}.projects-table td:nth-child(4):before{content:"CS"}.projects-table td:nth-child(5):before{content:"Status"}.projects-table select{width:100%;max-width:11rem}}.members-table-wrap{display:flex;flex-direction:column;gap:1rem}.members-empty{color:var(--text-2);margin:0}.members-table{width:100%;border-collapse:collapse}.members-table th{text-align:left;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:400;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.members-table td{padding:.6rem .75rem;border-bottom:1px solid var(--line);font-size:var(--text-base)}.members-cell-mono{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--text-1)}.members-remove-button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--danger);padding:.3rem .6rem;cursor:pointer}.members-remove-confirm{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:var(--text-sm)}.members-remove-confirm button:not(.members-remove-yes){border:1px solid var(--line);border-radius:var(--radius-sm);padding:.3rem .6rem;cursor:pointer;background:none;color:var(--text-1)}.members-remove-yes{padding:.3rem .6rem;border:1px solid var(--danger);border-radius:var(--radius-sm);background-color:var(--danger);color:var(--ink-0);font-weight:600;cursor:pointer}.members-inline-error{color:var(--danger);font-size:var(--text-sm);margin-top:.35rem}.members-add-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.members-add-row input[type=text]{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem}.members-add-can-markup{display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--text-2)}.members-add-row button[type=submit]{background-color:var(--flag);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-weight:600;cursor:pointer}.layer-tree-empty{color:var(--text-2);margin:0}.layer-tree{display:flex;flex-direction:column;gap:1.25rem}.layer-tree-group{display:flex;flex-direction:column;gap:.5rem}.layer-tree-group-title{margin:0}.layer-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.6rem .75rem;background-color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius-sm)}.layer-row-name{background:none;border:none;border-bottom:1px solid transparent;color:var(--text-1);font-weight:600;padding:.15rem 0;flex:1 1 16ch;min-width:12ch}.layer-row-name:hover,.layer-row-name:focus{border-bottom-color:var(--line)}.layer-row-inline-error{color:var(--danger);font-size:var(--text-sm)}.layer-row-group{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.35rem .6rem;cursor:pointer}.layer-row-visible{display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--text-2);white-space:nowrap}.layer-row-reorder{display:flex;gap:.25rem}.layer-row-reorder button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.25rem .5rem;cursor:pointer}.layer-row-reorder button:disabled{opacity:.4;cursor:default}.layer-row-delete{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--danger);padding:.3rem .6rem;cursor:pointer}.layer-row-delete-confirm{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-2)}.layer-row-delete-confirm button:not(.layer-row-delete-yes){border:1px solid var(--line);border-radius:var(--radius-sm);padding:.3rem .6rem;cursor:pointer;background:none;color:var(--text-1)}.layer-row-delete-yes{padding:.3rem .6rem;border:1px solid var(--danger);border-radius:var(--radius-sm);background-color:var(--danger);color:var(--ink-0);font-weight:600;cursor:pointer}.events-empty{color:var(--text-2);margin:0}.events-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.events-feed-row{display:flex;align-items:baseline;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:var(--text-base)}.events-feed-timestamp{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--text-1);white-space:nowrap}.events-feed-type{white-space:nowrap}.events-feed-body{display:flex;gap:.5rem;color:var(--text-1)}.events-feed-username{font-weight:600}.events-feed-detail{color:var(--text-2)}.project-detail-page{display:flex;flex-direction:column;gap:2rem}.project-detail-error{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--danger)}.project-detail-error button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer}.project-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.project-detail-header-main{display:flex;flex-direction:column;gap:.35rem}.project-detail-name-input{background:none;border:none;border-bottom:1px solid transparent;color:var(--text-1);font-size:var(--text-xl);font-weight:600;padding:.15rem 0;min-width:20ch}.project-detail-name-input:hover,.project-detail-name-input:focus{border-bottom-color:var(--line)}.project-detail-slug{margin:0;font-family:var(--font-data);color:var(--text-2);font-size:var(--text-sm)}.project-detail-header-actions{display:flex;align-items:flex-end;gap:1rem}.project-detail-status{display:flex;flex-direction:column;gap:.35rem}.project-detail-status select{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem;cursor:pointer}.project-detail-inline-error{color:var(--danger);font-size:var(--text-sm)}.project-detail-open-viewer{background-color:var(--flag);color:var(--ink-0);border-radius:var(--radius-sm);padding:.6rem 1.1rem;font-weight:600;text-decoration:none;white-space:nowrap}@media(max-width:760px){.project-detail-header{flex-direction:column;gap:1rem}.project-detail-name-input{min-width:0;width:100%}.project-detail-header-actions{width:100%;align-items:stretch;justify-content:space-between}.project-detail-status{flex:1}.project-detail-status select{width:100%}.project-detail-open-viewer{display:inline-flex;align-items:center}}.project-location{display:flex;flex-direction:column;gap:.75rem}.project-location-hint{margin:0;color:var(--text-2);font-size:var(--text-sm);max-width:62ch}.project-location-fields{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.project-location-field{display:flex;flex-direction:column;gap:.3rem}.project-location-field input{width:150px;font-family:var(--font-data)}.project-location-save{padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--ink-2);color:var(--text-1);cursor:pointer}.project-location-save:disabled{opacity:.5;cursor:not-allowed}.project-location-clear{padding:.5rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:none;color:var(--text-2);cursor:pointer}.project-location-clear:hover{color:var(--text-1)}.client-tools-hint{margin:0 0 .75rem;color:var(--text-2);font-size:var(--text-sm);line-height:1.5}.client-tools-error{margin:0 0 .75rem}.client-tools-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.client-tools-row{display:flex;align-items:center;gap:1rem;padding:.6rem .1rem;border-bottom:1px solid var(--line)}.client-tools-label{display:flex;align-items:flex-start;gap:.6rem;flex:1;min-width:0;cursor:pointer}.client-tools-label input{margin-top:.15rem;accent-color:var(--blue);flex-shrink:0}.client-tools-name{display:block;font-size:var(--text-sm);color:var(--text-1)}.client-tools-desc{display:block;font-size:var(--text-xs);color:var(--text-2);margin-top:.1rem}.client-tools-state{flex-shrink:0;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.portal-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.portal-layout-card{position:relative;display:block;text-align:left;padding:.6rem .7rem;background-color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font:inherit;color:var(--text-1)}.portal-layout-card:hover:not(:disabled){border-color:var(--line-strong);background-color:var(--ink-2)}.portal-layout-card:disabled{cursor:default;opacity:.6}.portal-layout-card.is-current{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.portal-layout-name{display:block;font-size:var(--text-sm);font-weight:600}.portal-layout-hint{display:block;margin-top:.15rem;font-size:var(--text-xs);color:var(--text-2);line-height:1.45}.portal-layout-badge{display:inline-block;margin-top:.4rem;padding:.05rem .4rem;border-radius:999px;background-color:var(--blue);color:var(--ink-1);font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase}.override-list{list-style:none;margin:0 0 .75rem;padding:0;border-top:1px solid var(--line)}.override-row{display:grid;grid-template-columns:5rem 1fr auto auto;align-items:center;gap:.75rem;padding:.5rem .1rem;border-bottom:1px solid var(--line)}.override-lane{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2)}.override-label{font-size:var(--text-sm);min-width:0}.override-value{display:flex;align-items:baseline;gap:.45rem;font-size:var(--text-sm)}.override-standard{color:var(--text-2);font-size:var(--text-xs)}.override-reset{font-size:var(--text-xs);padding:.2rem .5rem}.asset-ledger-empty,.asset-ledger-summary{margin:0 0 .75rem;color:var(--text-2);font-size:var(--text-sm)}.asset-ledger-summary{font-variant-numeric:tabular-nums}.asset-ledger-problems{color:var(--danger)}.asset-ledger-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.asset-ledger-table th,.asset-ledger-table td{text-align:left;padding:.45rem .5rem .45rem 0;border-bottom:1px solid var(--line);vertical-align:top}.asset-ledger-table thead th{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);font-weight:500}.asset-name{display:block;font-weight:600}.asset-history,.asset-by,.asset-unknown{display:block;font-size:var(--text-xs);color:var(--text-2);font-weight:400}.asset-type{color:var(--text-2)}.asset-version,.asset-size,.asset-when{font-variant-numeric:tabular-nums}.asset-health{white-space:nowrap;font-size:var(--text-xs)}.asset-health--ok{color:var(--text-2)}.asset-health--bad{color:var(--danger);font-weight:600}.asset-health--pending{color:var(--text-2)}.asset-ledger-note{margin:.75rem 0 0;font-size:var(--text-xs);color:var(--text-2);line-height:1.5}.asset-history-toggle{margin-top:.15rem;padding:.1rem .35rem;font-size:var(--text-2xs);font-weight:400}.asset-history-error{display:block;margin-top:.2rem;font-size:var(--text-xs)}.asset-versions{list-style:none;margin:.35rem 0 0;padding:.35rem 0 0;border-top:1px solid var(--line);font-weight:400}.asset-version-row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0}.asset-version-no{font-variant-numeric:tabular-nums;font-size:var(--text-xs);min-width:2.5rem}.asset-version-meta{flex:1;min-width:0;font-size:var(--text-2xs);color:var(--text-2)}.asset-version-live{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.asset-version-row button{font-size:var(--text-2xs);padding:.1rem .4rem;white-space:nowrap}.project-detail-design-portal{background:none;border:1px solid var(--line-strong);color:var(--text-1);border-radius:var(--radius-sm);padding:.6rem 1.1rem;font-weight:600;text-decoration:none;white-space:nowrap}.project-detail-design-portal:hover{background-color:var(--ink-2)}.tokens-page{display:flex;flex-direction:column;gap:1.5rem}.tokens-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.tokens-page-title{margin:0;font-size:var(--text-xl);font-weight:600}.tokens-page-helper{margin:.35rem 0 0;color:var(--text-2);font-size:var(--text-sm)}.tokens-create-button{white-space:nowrap}.tokens-empty{color:var(--text-2)}.tokens-error{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;color:var(--danger)}.tokens-error button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer}.tokens-table{width:100%;border-collapse:collapse}.tokens-table th{text-align:left;font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:400;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.tokens-table td{padding:.6rem .75rem;border-bottom:1px solid var(--line);font-size:var(--text-base)}.tokens-cell-mono{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--text-1)}.tokens-revoke-button{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.3rem .6rem;font-size:var(--text-sm);line-height:1;cursor:pointer}.tokens-revoke-button:hover{background-color:var(--ink-2);color:var(--danger);border-color:var(--danger)}.tokens-inline-error{color:var(--danger);font-size:var(--text-sm);margin-top:.35rem}.tokens-scope{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:var(--text-xs);line-height:1.4;white-space:nowrap}.tokens-scope--project{color:var(--blue);background-color:color-mix(in srgb,var(--blue) 12%,transparent)}.tokens-scope--all{color:var(--text-2);background-color:color-mix(in srgb,var(--text-2) 12%,transparent)}.tokens-revoke-confirm{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius)}.tokens-revoke-confirm-actions{display:flex;gap:.75rem}@media(max-width:760px){.tokens-page-header{align-items:flex-start}.tokens-table{display:block}.tokens-table thead{display:none}.tokens-table tbody,.tokens-table tr,.tokens-table td{display:block}.tokens-table tr{border:1px solid var(--line);border-radius:var(--radius);background-color:var(--ink-1);margin-bottom:.75rem;padding:.65rem .75rem}.tokens-table td{border-bottom:none;padding:.35rem 0;display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.75rem;align-items:center}.tokens-table td[colspan]{display:block}.tokens-table td:before{font-family:var(--font-data);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.tokens-table td:nth-child(1):before{content:"Name"}.tokens-table td:nth-child(2):before{content:"Scope"}.tokens-table td:nth-child(3):before{content:"Created"}.tokens-table td:nth-child(4):before{content:"Last used"}.tokens-table td:nth-child(5):before{content:"Actions"}.tokens-table td[colspan]:before{content:none}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--app-h: 100vh;--app-w: 100vw;--app-w-86: 86vw;--app-h-40: 40vh;--app-h-44: 44vh;--app-h-46: 46vh;--app-h-50: 50vh;--app-h-60: 60vh;--app-h-68: 68vh;--ink-0: #e7e6e4;--ink-1: #fcfcfb;--ink-2: #f1f0ee;--line: #d6d5d2;--line-strong: #c2c0bc;--text-1: #272625;--text-2: #72716e;--flag: #2a2620;--flag-hover: #1c1813;--danger: #c93434;--danger-soft: #f7e7e1;--blue: #2457d6;--blue-soft: #e9edfb;--grid-line: rgba(79, 79, 77, .05);--radius: 8px;--radius-sm: 4px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .06);--shadow-card: 0 8px 24px rgba(46, 44, 40, .08);--shadow-md: 0 16px 42px rgba(28, 35, 49, .12);--glass-opacity: 85%;--glass-bg: color-mix(in srgb, var(--ink-1) var(--glass-opacity), transparent);--glass-blur: 8px;--glass-border: var(--line);--glass-shadow: var(--shadow-sm);--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-ui: "Geist Variable", "Segoe UI", -apple-system, system-ui, sans-serif;--font-data: var(--font-ui);--font-display: var(--font-ui)}:root{color-scheme:dark;--ink-0: #2e2b28;--ink-1: #38352f;--ink-2: #443f39;--line: #575147;--line-strong: #6a6357;--text-1: #efedea;--text-2: #aba69e;--flag: #e0dad1;--flag-hover: #f2ece2;--danger: #e0504a;--danger-soft: #402522;--blue: #d97a33;--blue-soft: #3a2417;--grid-line: rgba(255, 255, 255, .045);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-card: 0 8px 24px rgba(0, 0, 0, .35);--shadow-md: 0 16px 42px rgba(0, 0, 0, .5);--font-ui: "Schibsted Grotesk Variable", "Segoe UI", -apple-system, system-ui, sans-serif;--font-data: "JetBrains Mono Variable", ui-monospace, Consolas, monospace;--font-display: "Schibsted Grotesk Variable", "Segoe UI", -apple-system, system-ui, sans-serif}:root{--chrome-inset: 12px;--toolbar-top: var(--chrome-inset);--toolbar-x: var(--chrome-inset);--tools-top: auto;--tools-bottom: var(--chrome-inset);--tools-left: 50%;--tools-right: auto;--tools-transform: translateX(-50%);--tools-direction: row;--tools-radius: var(--radius);--tools-justify: center;--layers-panel-width: 320px;--layers-top: 60px;--layers-left: 0px;--layers-right: auto;--layers-radius: 0 var(--radius) var(--radius) 0;--layers-border-left: none;--layers-border-right: 1px solid var(--glass-border);--layers-toggle-left: var(--layers-panel-width);--layers-toggle-right: auto;--markup-width: 340px;--markup-left: auto;--markup-right: var(--chrome-inset);--markup-bottom: 24px;--status-left: var(--chrome-inset);--status-right: auto;--status-bottom: var(--chrome-inset)}:root[data-chrome=rail]{--rail-w: 52px;--tools-top: 0px;--tools-bottom: 0px;--tools-left: 0px;--tools-right: auto;--tools-transform: none;--tools-direction: column;--tools-radius: 0;--tools-justify: center;--layers-left: var(--rail-w);--layers-right: auto;--layers-top: 0px;--layers-radius: 0;--layers-border-left: none;--layers-border-right: 1px solid var(--line);--layers-toggle-left: calc(var(--rail-w) + var(--layers-panel-width));--layers-toggle-right: auto;--rail-top: calc(var(--chrome-inset) + 42px + var(--chrome-inset));--layers-panel-width: 260px}:root[data-chrome=rail][data-rail=collapsed]{--rail-w: 0px}:root[data-chrome=rail] .layers-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=sidebar]{--layers-left: 0px;--layers-right: auto;--layers-top: 0px;--layers-radius: 0;--layers-border-left: none;--layers-border-right: 1px solid var(--line);--layers-toggle-left: var(--layers-panel-width);--layers-toggle-right: auto;--glass-opacity: 100%;--toolbar-x: calc(var(--layers-panel-width) + var(--chrome-inset));--status-left: calc(var(--layers-panel-width) + var(--chrome-inset))}:root[data-chrome=sidebar] .layers-panel{height:var(--app-h);max-height:var(--app-h);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=inspect]{--layers-left: auto;--layers-right: 0px;--layers-top: 0px;--layers-radius: 0;--layers-border-left: 1px solid var(--line);--layers-border-right: none;--layers-toggle-left: auto;--layers-toggle-right: var(--layers-panel-width);--glass-opacity: 100%;--markup-left: var(--chrome-inset);--markup-right: auto;--status-left: var(--chrome-inset);--status-right: auto;--toolbar-x: var(--chrome-inset)}:root[data-chrome=inspect] .layers-panel{height:var(--app-h);max-height:var(--app-h);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=inspect] .viewer-toolbar{right:calc(var(--layers-panel-width) + var(--chrome-inset))}:root[data-chrome=twin]{--dock-w: 300px;--glass-opacity: 100%;--layers-panel-width: var(--dock-w);--layers-left: 0px;--layers-right: auto;--layers-top: 0px;--layers-radius: 0;--layers-border-left: none;--layers-border-right: 1px solid var(--line);--layers-toggle-left: var(--dock-w);--layers-toggle-right: auto;--markup-width: var(--dock-w);--markup-left: auto;--markup-right: 0px;--toolbar-x: calc(var(--dock-w) + var(--chrome-inset));--status-left: calc(var(--dock-w) + var(--chrome-inset))}:root[data-chrome=twin] .layers-panel,:root[data-chrome=twin] .markup-panel{top:0;bottom:0;height:var(--app-h);max-height:var(--app-h);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=twin] .markup-panel{border-right:none;border-top:none;border-bottom:none}:root[data-chrome=twin] .markup-panel-toggle{right:calc(var(--dock-w) + var(--chrome-inset));bottom:var(--chrome-inset)}:root[data-chrome=twin] .viewer-toolbar{right:calc(var(--dock-w) + var(--chrome-inset))}:root[data-chrome=cockpit]{--chrome-inset: 0px;--layers-left: 0px;--layers-right: auto;--layers-top: 0px;--layers-radius: 0 0 var(--radius) 0;--layers-border-left: none;--layers-border-right: 1px solid var(--glass-border);--layers-toggle-left: var(--layers-panel-width);--layers-toggle-right: auto;--layers-panel-width: 268px;--markup-right: 0px;--markup-bottom: 0px;--markup-width: 268px;--tools-radius: var(--radius) var(--radius) 0 0;--status-left: 0px;--status-bottom: 0px}:root[data-chrome=cockpit] .layers-panel{max-height:var(--app-h-46)}:root[data-chrome=cockpit] .markup-panel{border-radius:var(--radius) 0 0 0}:root[data-chrome=cockpit] .viewer-status-bar{border-radius:0 var(--radius) 0 0}:root[data-chrome=cockpit] .toolbar-left{border-radius:0 0 var(--radius) 0}:root[data-chrome=cockpit] .toolbar-right{border-radius:0 0 0 var(--radius)}:root[data-chrome=corridor]{--strip-h: 46px;--tools-left: 0px;--tools-right: 0px;--tools-bottom: 0px;--tools-transform: none;--tools-radius: 0;--tools-justify: center;--layers-panel-width: 252px;--layers-left: var(--chrome-inset);--layers-right: auto;--layers-top: 60px;--layers-radius: var(--radius);--layers-border-left: 1px solid var(--glass-border);--layers-border-right: 1px solid var(--glass-border);--layers-toggle-left: calc(var(--chrome-inset) + var(--layers-panel-width));--layers-toggle-right: auto;--markup-bottom: calc(var(--strip-h) + var(--chrome-inset))}:root[data-chrome=corridor] .toolbar-tools{border-left:none;border-right:none;border-bottom:none}:root[data-chrome=corridor] .layers-panel{max-height:var(--app-h-40)}:root[data-chrome=corridor] .viewer-status-bar{left:50%;right:auto;bottom:calc(var(--strip-h) + var(--chrome-inset));transform:translate(-50%)}:root[data-chrome=hud]{--chrome-inset: 8px;--radius: 14px;--glass-opacity: 62%;--glass-blur: 14px;--layers-panel-width: 244px;--layers-left: var(--chrome-inset);--layers-right: auto;--layers-top: 56px;--layers-radius: var(--radius);--layers-border-left: 1px solid var(--glass-border);--layers-border-right: 1px solid var(--glass-border);--layers-toggle-left: calc(var(--chrome-inset) + var(--layers-panel-width));--layers-toggle-right: auto;--markup-width: 260px}:root[data-chrome=hud] .layers-panel{max-height:var(--app-h-44)}:root[data-chrome=focus]{--glass-opacity: 100%;--markup-width: 460px;--markup-right: var(--chrome-inset);--markup-bottom: var(--chrome-inset)}:root[data-chrome=focus] .viewer-canvas-container{filter:brightness(.68) saturate(.82)}:root[data-chrome=focus] .layers-panel{top:50%;left:50%;right:auto;width:min(520px,var(--app-w-86));max-height:var(--app-h-68);transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=focus] .layers-panel-toggle{top:auto;bottom:var(--chrome-inset);left:var(--chrome-inset);right:auto}:root[data-chrome=theatre]{--glass-opacity: 100%;--toolbar-top: 0px;--toolbar-x: 0px;--tools-left: 0px;--tools-right: 0px;--tools-bottom: 0px;--tools-transform: none;--tools-radius: 0;--tools-justify: center;--layers-top: 58px;--layers-left: 0px;--layers-right: auto;--layers-radius: 0 var(--radius) var(--radius) 0;--layers-border-left: none;--layers-border-right: 1px solid var(--line);--layers-toggle-left: var(--layers-panel-width);--layers-toggle-right: auto}:root[data-chrome=theatre] .viewer-toolbar{pointer-events:auto;padding:9px 16px;background-color:var(--ink-1);border-bottom:1px solid var(--line)}:root[data-chrome=theatre] .toolbar-left,:root[data-chrome=theatre] .toolbar-right{background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=theatre] .toolbar-tools{padding:9px;border-left:none;border-right:none;border-bottom:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=theatre] .viewer-status-bar{inset:13px auto auto 50%;transform:translate(-50%);background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-chrome=theatre] .layers-panel{max-height:calc(var(--app-h) - 118px)}:root[data-chrome=collapsed] .toolbar-tools{max-width:44px;overflow:hidden;transition:max-width .18s cubic-bezier(.16,1,.3,1)}:root[data-chrome=collapsed] .toolbar-tools:hover,:root[data-chrome=collapsed] .toolbar-tools:focus-within{max-width:640px}:root[data-chrome=radial]{--radial-r: 78px;--tools-bottom: 108px;--tools-left: 50%;--tools-right: auto;--tools-transform: translateX(-50%)}:root[data-chrome=radial] .toolbar-tools{display:block;width:calc(var(--radial-r) * 2);height:calc(var(--radial-r) * 2);padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}:root[data-chrome=radial] .toolbar-tool-divider{display:none}:root[data-chrome=radial] .toolbar-tool-button{position:absolute;top:50%;left:50%;margin:-17px 0 0 -17px;width:34px;height:34px;pointer-events:auto;border-radius:999px;background-color:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);--radial-a: calc(var(--radial-i, 0) * var(--radial-step, 45deg));transform:rotate(var(--radial-a)) translate(var(--radial-r)) rotate(calc(-1 * var(--radial-a)))}:root[data-chrome=radial] .toolbar-tools:has(.toolbar-tool-button:nth-of-type(3):last-of-type){--radial-step: 120deg}:root[data-chrome=radial] .toolbar-tools:has(.toolbar-tool-button:nth-of-type(4):last-of-type){--radial-step: 90deg}:root[data-chrome=radial] .toolbar-tools:has(.toolbar-tool-button:nth-of-type(5):last-of-type){--radial-step: 72deg}:root[data-chrome=radial] .toolbar-tools:has(.toolbar-tool-button:nth-of-type(6):last-of-type){--radial-step: 60deg}:root[data-chrome=radial] .toolbar-tools:has(.toolbar-tool-button:nth-of-type(7):last-of-type){--radial-step: 51.43deg}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(1){--radial-i: 0}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(2){--radial-i: 1}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(3){--radial-i: 2}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(4){--radial-i: 3}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(5){--radial-i: 4}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(6){--radial-i: 5}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(7){--radial-i: 6}:root[data-chrome=radial] .toolbar-tool-button:nth-of-type(8){--radial-i: 7}:root[data-chrome=sheet]{--layers-left: 0px;--layers-right: 0px;--layers-radius: var(--radius) var(--radius) 0 0;--layers-border-left: none;--layers-border-right: none;--markup-left: 0px;--markup-right: 0px;--markup-bottom: 0px;--status-left: var(--chrome-inset);--status-right: auto;--status-bottom: calc(var(--app-h-50) + var(--chrome-inset));--tools-bottom: calc(var(--app-h-50) + var(--chrome-inset))}:root[data-chrome=sheet] .layers-panel{top:auto;bottom:0;width:auto;max-height:var(--app-h-50);border-bottom:none}:root[data-chrome=sheet] .layers-panel-toggle{top:auto;bottom:var(--app-h-50);left:var(--chrome-inset);right:auto}:root[data-chrome=sheet] .markup-panel{width:auto;max-height:var(--app-h-40);border-radius:var(--radius) var(--radius) 0 0}:root[data-chrome=field]{--tools-left: auto;--tools-right: var(--chrome-inset);--tools-bottom: 84px;--tools-transform: none;--tools-direction: column;--layers-left: 0px;--layers-right: 0px;--layers-radius: var(--radius) var(--radius) 0 0;--layers-border-left: none;--layers-border-right: none;--markup-left: var(--chrome-inset);--markup-right: auto;--markup-bottom: var(--chrome-inset);--status-left: var(--chrome-inset);--status-right: auto;--status-bottom: calc(var(--app-h-50) + var(--chrome-inset))}:root[data-chrome=field] .toolbar-tool-button{padding:.62rem}:root[data-chrome=field] .layers-panel{top:auto;bottom:0;width:auto;max-height:var(--app-h-50);border-bottom:none}:root[data-chrome=field] .layers-panel-toggle{top:auto;bottom:var(--app-h-50);left:var(--chrome-inset);right:auto}.dialog-backdrop{position:fixed;inset:0;background-color:color-mix(in srgb,var(--ink-0) 70%,transparent);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100;animation:dialog-backdrop-in .14s ease-out}.dialog{width:400px;max-width:100%;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);animation:dialog-in .16s cubic-bezier(.16,1,.3,1)}@keyframes dialog-backdrop-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.dialog-title{margin:0;font-size:var(--text-lg);font-weight:600}.dialog form{display:flex;flex-direction:column;gap:1rem}.dialog-field{display:flex;flex-direction:column;gap:.375rem}.dialog-field label{font-size:var(--text-sm);color:var(--text-2)}.dialog-field input,.dialog-field select{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .7rem;font-size:var(--text-base);transition:border-color .12s ease}.dialog-field input:focus,.dialog-field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}.dialog-field input[type=color]{padding:.25rem;height:2.25rem;cursor:pointer}.dialog-field input[type=range]{padding:0;background:none;border:none}.dialog-field-error{color:var(--danger);font-size:var(--text-sm)}.dialog-field-hint{margin:0;color:var(--text-2);font-size:var(--text-xs)}.dialog-actions{display:flex;gap:.75rem;flex-wrap:wrap}.dialog-submit{background-color:var(--flag);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.65rem 1.1rem;font-weight:600;cursor:pointer;transition:opacity .12s ease,filter .12s ease}.dialog-submit:not(:disabled):hover{filter:brightness(1.15)}.dialog-submit:disabled{opacity:.7;cursor:default}.dialog-actions button:not(.dialog-submit){background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.65rem 1.1rem;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.dialog-actions button:not(.dialog-submit):not(:disabled):hover{border-color:var(--text-2);background-color:color-mix(in srgb,var(--text-1) 5%,transparent)}.dialog-actions button:disabled{opacity:.5;cursor:default}.btn-primary{background-color:var(--flag);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.6rem 1.1rem;font-weight:600;cursor:pointer;transition:filter .12s ease}.btn-primary:not(:disabled):hover{filter:brightness(1.15)}.btn-primary:disabled{opacity:.7;cursor:default}.btn-danger{background-color:var(--danger);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-weight:600;cursor:pointer;transition:filter .12s ease}.btn-danger:not(:disabled):hover{filter:brightness(1.08)}.btn-ghost{background:none;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-1);padding:.5rem 1rem;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.btn-ghost:not(:disabled):hover{background-color:var(--ink-2);border-color:var(--line-strong)}.btn-ghost:disabled{opacity:.5;cursor:default}.control{background-color:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .7rem;color:var(--text-1);font:inherit;transition:border-color .12s ease,box-shadow .12s ease}.control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}.signout-error{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;max-width:min(24rem,calc(100vw - 3rem));display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1rem;background-color:var(--ink-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.signout-error p{margin:0;font-size:var(--text-sm);color:var(--text-2)}.signout-error p.signout-error__title{font-weight:600;color:var(--text-1)}.signout-error__actions{display:flex;gap:.5rem;margin-top:.25rem}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),var(--ink-0);background-size:36px 36px,36px 36px,auto;background-attachment:fixed;color:var(--text-1);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.5;min-height:100vh}#root{min-height:100vh}img,picture,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{font-family:var(--font-display)}.eyebrow{font-family:var(--font-display);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page-status{min-height:var(--app-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.5rem;text-align:center;color:var(--text-2)}.page-status-retry{margin-top:.4rem;background-color:var(--flag);color:var(--ink-0);border:none;border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-weight:600;cursor:pointer;transition:filter .12s ease}.page-status-retry:hover{filter:brightness(1.15)}.cesium-credit-expand-link{font-size:0}.cesium-credit-expand-link:after{content:"Source";font-size:var(--text-xs)}
