/* Hallmark · macrostructure: Map / Diagram · theme: locked Hemu public identity · anchor hue: indigo · nav: task toolbar · footer: document status
 * pre-emit critique: P4 H5 E4 S5 R4 V4 · diagram is a real editable product; motion belongs to actions
 */
@import url('./tokens.css?v=20261006.7-local');
html body.sm-page.sm-page.sm-page {padding-top:0!important;}
.sm-workspace {grid-template-rows:minmax(0,1fr);}
.sm-panel,.sm-editor {min-height:0;}
.sm-page .sm-asset-add img {width:100%;height:88px;flex-shrink:1;}
.sm-page .sm-template img {width:100%;height:auto;flex-shrink:1;}
html:has(.sm-page),body.sm-page {overflow-x:clip;}
body.sm-page{margin:0;padding:0;background:var(--sm-paper);color:var(--sm-ink);font-family:var(--sm-font);font-size:var(--sm-text-sm);line-height:1.5;-webkit-font-smoothing:antialiased;}
.sm-page *{box-sizing:border-box;}.sm-page [hidden]{display:none!important;}.sm-page h1,.sm-page h2,.sm-page h3,.sm-page p{margin:0;}.sm-page h1,.sm-page h2{overflow-wrap:anywhere;min-width:0;font-style:normal;}
.sm-page button,.sm-page input,.sm-page select,.sm-page textarea{font:inherit;color:inherit;}.sm-page button{border:1px solid transparent;border-radius:var(--sm-radius-sm);background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--sm-s2);min-height:var(--sm-control);padding:var(--sm-s2) var(--sm-s3);cursor:pointer;white-space:nowrap;line-height:1;transition:transform var(--sm-short) var(--sm-ease),background-color var(--sm-short) var(--sm-ease);}
.sm-page button:hover{background:var(--sm-soft);}.sm-page button:active{transform:translateY(1px);}.sm-page button:disabled{opacity:.35;cursor:default;transform:none;}.sm-page :is(button,input,select,textarea,a,[tabindex]):focus-visible{outline:2px solid var(--sm-focus);outline-offset:3px;}.sm-page a{color:var(--sm-accent);}.sm-page a:active{opacity:.8;}
.sm-page img{object-fit:contain;}.sm-page button img{width:18px;height:18px;flex-shrink:0;}.sm-page .sm-icon{width:var(--sm-control);padding:0;flex-shrink:0;}.sm-page button[aria-pressed=true]{background:var(--sm-accent-soft);color:var(--sm-accent);border-color:var(--sm-line);}.sm-page button.sm-primary{background:var(--sm-accent);color:var(--sm-on-accent);padding-inline:var(--sm-s4);}.sm-page .sm-primary img{filter:brightness(0) invert(1);}.sm-page button.sm-primary:hover{opacity:.9;}
.sm-page input,.sm-page textarea,.sm-page select{border:1px solid var(--sm-line);border-radius:var(--sm-radius-sm);background:var(--sm-surface);min-height:var(--sm-control);padding:var(--sm-s2) var(--sm-s3);width:100%;min-width:0;box-shadow:none;}.sm-page input:hover,.sm-page textarea:hover,.sm-page select:hover{border-color:var(--sm-muted);}.sm-page input:focus,.sm-page textarea:focus,.sm-page select:focus{outline:2px solid var(--sm-focus);outline-offset:2px;}.sm-page input::placeholder{color:var(--sm-muted);}.sm-page input[type=color]{padding:var(--sm-s1);width:44px;height:36px;min-height:36px;cursor:pointer;}.sm-page label{color:var(--sm-muted);}.sm-page .sr-only{position:absolute;width:1px;height:1px;overflow:clip;clip-path:inset(50%);white-space:nowrap;}
.sm-skip{position:fixed;left:var(--sm-s4);top:var(--sm-s4);transform:translateY(-200%);z-index:1000;background:var(--sm-surface);padding:var(--sm-s3);}.sm-skip:focus{transform:none;}
.sm-header{height:var(--sm-header-height);display:flex;align-items:center;gap:var(--sm-s6);padding:0 var(--sm-s5);background:var(--sm-surface);border-bottom:1px solid var(--sm-line);}.sm-brand{display:flex;align-items:center;gap:var(--sm-s3);color:var(--sm-ink)!important;text-decoration:none;flex-shrink:0;font-size:20px;font-weight:700;line-height:1.2;}.sm-brand>img{width:36px;height:36px;}.sm-brand-en{display:block;font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--sm-muted);margin-top:var(--sm-s1);}.sm-heading{border-left:1px solid var(--sm-line);padding-left:var(--sm-s6);}.sm-heading h1{font-size:var(--sm-text-base);font-weight:700;}.sm-heading>span{color:var(--sm-muted);font-size:var(--sm-text-xs);}.sm-header-actions{display:flex;align-items:center;gap:var(--sm-s1);margin-left:auto;}
.sm-project-bar{height:var(--sm-project-height);display:flex;align-items:center;gap:var(--sm-s2);padding:var(--sm-s3) var(--sm-s5);}.sm-project-name{width:268px;max-width:27vw;}.sm-project-name input{border-color:transparent;background:transparent;font-weight:600;padding-inline:var(--sm-s1);}.sm-save-status{font-size:var(--sm-text-xs);color:var(--sm-muted);white-space:nowrap;}.sm-save-status::before{content:'';display:inline-block;width:6px;height:6px;background:var(--sm-positive);border-radius:50%;margin-right:var(--sm-s2);}.sm-save-status[data-error=true]{color:var(--sm-negative);}.sm-save-status[data-error=true]::before{background:var(--sm-negative);}.sm-history{display:flex;align-items:center;margin-left:var(--sm-s4);padding-left:var(--sm-s4);border-left:1px solid var(--sm-line);}.sm-project-actions{display:flex;align-items:center;gap:var(--sm-s2);margin-left:auto;}.sm-project-actions>button:not(.sm-primary){border:1px solid var(--sm-line);background:var(--sm-surface);}
.sm-workspace{display:grid;grid-template-columns:264px minmax(0,1fr) 260px;gap:var(--sm-s3);height:calc(100dvh - var(--sm-header-height) - var(--sm-project-height) - 16px);min-height:520px;padding:0 var(--sm-s4) var(--sm-s4);}.sm-panel{min-width:0;border:1px solid var(--sm-line);border-radius:var(--sm-radius-panel);background:var(--sm-surface);overflow:clip;display:flex;flex-direction:column;animation:sm-enter var(--sm-enter) var(--sm-ease) both;}.sm-inspector{animation-delay:100ms;}.sm-tabs{display:flex;align-items:center;gap:var(--sm-s1);padding:var(--sm-s3);border-bottom:1px solid var(--sm-line);flex-shrink:0;}.sm-tabs>[role=tab]{flex:1;font-weight:600;color:var(--sm-muted);}.sm-tabs>[aria-selected=true]{background:var(--sm-soft);color:var(--sm-ink);}.sm-page .sm-drawer-close{display:none;}
.sm-library-filters{padding:var(--sm-s4) var(--sm-s3) var(--sm-s2);display:grid;gap:var(--sm-s2);}.sm-search{position:relative;display:flex;align-items:center;}.sm-search>img{position:absolute;left:var(--sm-s3);width:16px;height:16px;opacity:.6;}.sm-search input{padding-left:var(--sm-s6);font-size:var(--sm-text-xs);}.sm-library-filters select{font-size:var(--sm-text-sm);}.sm-library-caption{display:flex;align-items:center;justify-content:space-between;padding:0 var(--sm-s3) var(--sm-s2);font-size:var(--sm-text-xs);color:var(--sm-muted);}.sm-page .sm-text-btn{padding:var(--sm-s1) var(--sm-s2);min-height:28px;font-size:var(--sm-text-xs);}.sm-library-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--sm-s1) var(--sm-s3) var(--sm-s4);scrollbar-width:thin;}.sm-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sm-s2);}.sm-asset{position:relative;min-width:0;}.sm-page .sm-asset-add{display:block;width:100%;padding:var(--sm-s2);text-align:left;white-space:normal;border:1px solid var(--sm-line);border-radius:var(--sm-radius);background:var(--sm-surface);}.sm-asset-add img{width:100%;height:88px;padding:var(--sm-s2);transition:transform var(--sm-switch) var(--sm-ease);}.sm-asset-add:hover img{transform:translateY(-3px);}.sm-asset-add>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--sm-text-xs);line-height:1.6;}.sm-asset-actions{position:absolute;top:var(--sm-s1);right:var(--sm-s1);display:flex;align-items:center;gap:0;opacity:0;transition:opacity var(--sm-short) var(--sm-ease);}.sm-asset:hover .sm-asset-actions,.sm-asset:focus-within .sm-asset-actions{opacity:1;}.sm-page .sm-asset-actions button{padding:0;min-height:24px;width:24px;background:var(--sm-surface);border:1px solid var(--sm-line);border-radius:4px;font-size:12px;}.sm-asset-actions img{width:12px;height:12px;}.sm-library-footer,.sm-inspector-footer{display:flex;align-items:center;gap:var(--sm-s2);padding:var(--sm-s3);border-top:1px solid var(--sm-line);font-size:var(--sm-text-xs);color:var(--sm-muted);flex-shrink:0;}.sm-library-footer>.sm-icon{margin-left:auto;width:24px;min-height:24px;}.sm-vector-dot,.sm-page-dot{width:6px;height:6px;border-radius:50%;background:var(--sm-positive);flex-shrink:0;}.sm-inspector-footer img{width:16px;height:16px;}.sm-inspector-footer small{font-size:11px;}.sm-loading,.sm-empty{padding:var(--sm-s5) var(--sm-s3);color:var(--sm-muted);text-align:center;line-height:1.8;}.sm-page .sm-load-more{width:100%;border:1px solid var(--sm-line);margin-top:var(--sm-s3);}
.sm-editor{min-width:0;display:flex;flex-direction:column;border:1px solid var(--sm-line);border-radius:var(--sm-radius-panel);overflow:clip;background:var(--sm-surface);animation:sm-enter var(--sm-enter) var(--sm-ease) 60ms both;}.sm-canvas-heading{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sm-s4);border-bottom:1px solid var(--sm-line);flex-shrink:0;}.sm-canvas-heading>div{display:flex;align-items:center;gap:var(--sm-s2);}.sm-canvas-heading strong{font-size:var(--sm-text-xs);font-weight:600;}.sm-canvas-heading span{font-size:var(--sm-text-xs);color:var(--sm-muted);font-variant-numeric:tabular-nums;}.sm-canvas-options .sm-icon{width:32px;min-height:32px;}.sm-canvas-options img{width:15px;height:15px;}
.sm-stage{position:relative;flex:1;min-height:0;background-color:var(--sm-stage);background-image:radial-gradient(var(--sm-dots) .6px,transparent .6px);background-size:16px 16px;overflow:clip;isolation:isolate;}.sm-stage>svg{display:block;width:100%;height:100%;touch-action:none;user-select:none;outline-offset:-3px!important;}.sm-stage #artboard{filter:drop-shadow(0 4px 8px var(--sm-shadow));}.sm-stage [data-node]{cursor:move;}.sm-stage[data-tool=hand]>svg{cursor:grab;}.sm-stage[data-tool=hand]:active>svg{cursor:grabbing;}.sm-stage[data-tool=pen]>svg,.sm-stage[data-tool=rect]>svg,.sm-stage[data-tool=ellipse]>svg,.sm-stage[data-tool=connector]>svg{cursor:crosshair;}.sm-stage[data-tool=text]>svg{cursor:text;}.sm-tools{position:absolute;top:var(--sm-s4);left:var(--sm-s3);z-index:3;display:flex;flex-direction:column;align-items:center;padding:var(--sm-s1);border:1px solid var(--sm-line);border-radius:var(--sm-radius);background:var(--sm-surface);box-shadow:0 4px 16px var(--sm-shadow);}.sm-tools i{height:1px;width:24px;background:var(--sm-line);margin:var(--sm-s1) 0;}.sm-tools .sm-icon{width:36px;min-height:36px;}.sm-context{position:absolute;left:50%;top:var(--sm-s3);transform:translateX(-50%);display:flex;align-items:center;padding:var(--sm-s1);background:var(--sm-surface);box-shadow:0 4px 16px var(--sm-shadow);border:1px solid var(--sm-line);border-radius:var(--sm-radius);z-index:2;}.sm-context button{width:32px;min-height:32px;padding:0;}.sm-context img{width:15px!important;height:15px!important;}.sm-zoom{position:absolute;bottom:var(--sm-s4);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:var(--sm-s1);background:var(--sm-surface);border:1px solid var(--sm-line);border-radius:var(--sm-radius);padding:var(--sm-s1);box-shadow:0 4px 16px var(--sm-shadow);}.sm-zoom button{width:32px;min-height:32px;padding:0;font-variant-numeric:tabular-nums;}.sm-zoom #zoomLabel{width:64px;font-size:var(--sm-text-xs);}.sm-zoom i{height:20px;width:1px;background:var(--sm-line);}.sm-statusbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sm-s3);padding:var(--sm-s2) var(--sm-s3);min-height:32px;color:var(--sm-muted);font-size:11px;flex-shrink:0;}.sm-statusbar span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sm-statusbar span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;}
.sm-inspector-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--sm-s4);scrollbar-width:thin;}.sm-property-section{border-bottom:1px solid var(--sm-line);padding-bottom:var(--sm-s4);margin-bottom:var(--sm-s4);}.sm-property-section:last-child{border:0;}.sm-property-section h2,.sm-property-section h3{font-size:var(--sm-text-sm);font-weight:600;margin-bottom:var(--sm-s3);}.sm-property-section>p{color:var(--sm-muted);font-size:var(--sm-text-xs);line-height:1.7;}.sm-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sm-s3) var(--sm-s2);}.sm-field{display:grid;gap:var(--sm-s1);font-size:var(--sm-text-xs);}.sm-field input{min-height:34px;height:34px;font-variant-numeric:tabular-nums;}.sm-field-full{grid-column:1/-1;}.sm-color-row{display:flex;align-items:center;gap:var(--sm-s2);margin-top:var(--sm-s2);}.sm-color-row>label{flex:1;}.sm-color-row>span{font:11px var(--sm-font-code);color:var(--sm-muted);}.sm-property-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sm-s1);margin-top:var(--sm-s3);}.sm-property-buttons button{border:1px solid var(--sm-line);min-height:32px;font-size:12px;}.sm-source-link{display:block;font-size:12px;margin-top:var(--sm-s2);}.sm-page .sm-source-btn{width:100%;justify-content:flex-start;padding:var(--sm-s2) 0;font-size:12px;color:var(--sm-accent);}.sm-section-name{display:flex;align-items:center;gap:var(--sm-s2);font-size:var(--sm-text-sm);margin-bottom:var(--sm-s4);}.sm-section-name>img{width:44px;height:44px;border-radius:var(--sm-radius-sm);background:var(--sm-soft);padding:var(--sm-s1);}.sm-section-name>div{min-width:0;}.sm-section-name strong{display:block;overflow-wrap:anywhere;}.sm-section-name small{font-size:11px;color:var(--sm-muted);}.sm-layer-row{display:flex;align-items:center;gap:var(--sm-s1);border:1px solid transparent;border-radius:var(--sm-radius-sm);margin-bottom:var(--sm-s1);padding:var(--sm-s1);}.sm-layer-row[data-selected=true]{border-color:var(--sm-line);background:var(--sm-soft);}.sm-page .sm-layer-select{padding:var(--sm-s1);min-height:32px;flex:1;min-width:0;justify-content:flex-start;font-size:var(--sm-text-xs);overflow:hidden;}.sm-layer-select>span{overflow:hidden;text-overflow:ellipsis;}.sm-layer-select img{width:24px;height:24px;}.sm-page .sm-layer-row>.sm-icon{width:24px;min-height:28px;}.sm-layer-row>.sm-icon img{width:12px;height:12px;}.sm-template{margin-bottom:var(--sm-s3);}.sm-page .sm-template>button{width:100%;display:block;text-align:left;padding:var(--sm-s3);background:var(--sm-surface);border:1px solid var(--sm-line);border-radius:var(--sm-radius);white-space:normal;}.sm-template img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-bottom:1px solid var(--sm-line);padding-bottom:var(--sm-s2);margin-bottom:var(--sm-s2);}.sm-template strong{font-size:var(--sm-text-sm);display:block;line-height:1.4;}.sm-template small{font-size:var(--sm-text-xs);color:var(--sm-muted);line-height:1.6;display:block;margin-top:var(--sm-s1);}
.sm-dialog{width:min(820px,calc(100vw - 32px));max-height:88dvh;border:1px solid var(--sm-line);border-radius:var(--sm-radius-dialog);background:var(--sm-surface);color:var(--sm-ink);padding:0;box-shadow:0 24px 90px var(--sm-shadow);}.sm-dialog::backdrop{background:var(--sm-backdrop);backdrop-filter:blur(5px);}.sm-dialog[open]::backdrop{animation:sm-fade 300ms var(--sm-ease);}.sm-dialog[data-closing]::backdrop{animation:sm-backdrop-out var(--sm-exit) var(--sm-ease-in) both;}.sm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sm-s4) var(--sm-s5);border-bottom:1px solid var(--sm-line);position:sticky;top:0;background:var(--sm-surface);z-index:1;}.sm-dialog-header h2{font-size:20px;}.sm-dialog #dialogBody{padding:var(--sm-s5);}.sm-dialog p{color:var(--sm-muted);line-height:1.8;margin-bottom:var(--sm-s4);}.sm-dialog h3{font-size:var(--sm-text-base);margin-bottom:var(--sm-s3);}.sm-dialog a{overflow-wrap:anywhere;}.sm-dialog .sm-ref-row{padding:var(--sm-s4) 0;border-top:1px solid var(--sm-line);}.sm-ref-row small{display:block;color:var(--sm-muted);margin-top:var(--sm-s2);}.sm-ref-row>a{display:block;font-weight:600;}.sm-ref-row>strong{display:block;font-weight:600;}.sm-asset-detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--sm-s5);}.sm-asset-detail>img{width:100%;height:240px;background:var(--sm-paper);padding:var(--sm-s5);border-radius:var(--sm-radius);}.sm-asset-detail dl{font-size:var(--sm-text-sm);margin:0;}.sm-asset-detail dt{color:var(--sm-muted);margin-top:var(--sm-s3);}.sm-asset-detail dd{margin:var(--sm-s1) 0 0;overflow-wrap:anywhere;}.sm-detail-note{font-size:var(--sm-text-sm);margin-top:var(--sm-s5);}.sm-export-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sm-s4);}.sm-export-actions{display:flex;align-items:center;gap:var(--sm-s2);margin-top:var(--sm-s5);}.sm-export-preview{max-width:100%;height:240px;display:block;margin:0 auto var(--sm-s5);border:1px solid var(--sm-line);}.sm-kbd-table{width:100%;border-collapse:collapse;font-size:var(--sm-text-sm);}.sm-kbd-table td{padding:var(--sm-s2);border-bottom:1px solid var(--sm-line);}.sm-kbd-table kbd{font:var(--sm-text-xs) var(--sm-font-code);border:1px solid var(--sm-line);border-radius:4px;padding:var(--sm-s1) var(--sm-s2);}.sm-project-row{display:flex;align-items:center;gap:var(--sm-s3);padding-block:var(--sm-s3);border-bottom:1px solid var(--sm-line);}.sm-project-row>div{flex:1;min-width:0;}.sm-project-row strong{display:block;overflow-wrap:anywhere;}.sm-project-row small{color:var(--sm-muted);}.sm-project-row button{border:1px solid var(--sm-line);}.sm-dialog .sm-error{color:var(--sm-negative);}.sm-toast{position:fixed;bottom:var(--sm-s5);left:50%;transform:translateX(-50%);z-index:30;max-width:min(520px,calc(100vw - 32px));padding:var(--sm-s3) var(--sm-s5);background:var(--sm-ink);color:var(--sm-surface);border-radius:var(--sm-radius);box-shadow:0 12px 36px var(--sm-shadow);}.sm-mobile-switch{display:none;}
@keyframes sm-enter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes sm-card-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sm-fade{from{opacity:0}to{opacity:1}}@keyframes sm-dialog-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:1280px){.sm-workspace{grid-template-columns:228px minmax(0,1fr) 232px;gap:var(--sm-s2);padding-inline:var(--sm-s3);}.sm-heading{padding-left:var(--sm-s5);}.sm-header{gap:var(--sm-s5);}.sm-asset-add img{height:76px;}.sm-project-name{width:220px;}.sm-project-actions{gap:var(--sm-s1);}}
@media(max-width:1050px){.sm-workspace{grid-template-columns:220px minmax(0,1fr);}.sm-inspector{position:fixed;top:var(--sm-header-height);right:var(--sm-s3);bottom:var(--sm-s3);width:280px;z-index:15;display:none;box-shadow:0 16px 50px var(--sm-shadow);}.sm-inspector[data-open=true]{display:flex;}.sm-mobile-switch{display:flex;align-items:center;justify-content:flex-end;padding:0 var(--sm-s3) var(--sm-s2);gap:var(--sm-s2);height:40px;}.sm-mobile-switch button{min-height:32px;border:1px solid var(--sm-line);background:var(--sm-surface);font-size:12px;}.sm-mobile-switch button:first-child{display:none;}.sm-workspace{height:calc(100dvh - 192px);}.sm-page .sm-inspector .sm-drawer-close{display:inline-flex;width:28px;min-height:28px;}.sm-header-actions button:first-child{font-size:12px;}.sm-heading>span{display:none;}.sm-save-status{max-width:120px;overflow:hidden;text-overflow:ellipsis;}.sm-history{margin-left:var(--sm-s1);padding-left:var(--sm-s1);}}
@media(max-width:720px){body.sm-page{--sm-header-height:60px;--sm-project-height:104px;}.sm-header{padding-inline:var(--sm-s3);gap:var(--sm-s3);}.sm-brand{font-size:16px;gap:var(--sm-s2);}.sm-brand>img{width:28px;height:28px;}.sm-brand-en{font-size:8px;}.sm-heading{padding-left:var(--sm-s3);}.sm-heading h1{font-size:var(--sm-text-sm);}.sm-header-actions{gap:0;}.sm-header-actions>button:first-child{display:none;}.sm-header-actions .sm-icon{width:32px;min-height:40px;}.sm-project-bar{flex-wrap:wrap;padding:var(--sm-s2) var(--sm-s3);gap:var(--sm-s1);}.sm-project-name{flex:1;max-width:none;width:auto;}.sm-project-name input{font-size:13px;}.sm-save-status{display:none;}.sm-history{border:0;margin-left:auto;}.sm-project-actions{width:100%;justify-content:flex-end;gap:var(--sm-s2);}.sm-project-actions button{min-height:36px;flex:1;}.sm-project-actions .sm-primary{flex:1.2;}.sm-mobile-switch{justify-content:space-between;padding-bottom:var(--sm-s2);height:44px;}.sm-mobile-switch button:first-child{display:flex;}.sm-workspace{grid-template-columns:minmax(0,1fr);padding-inline:var(--sm-s2);height:calc(100dvh - 208px);min-height:430px;}.sm-library{position:fixed;top:var(--sm-header-height);left:var(--sm-s2);bottom:var(--sm-s2);width:min(340px,calc(100vw - 16px));z-index:15;box-shadow:0 16px 50px var(--sm-shadow);display:none;}.sm-library[data-open=true]{display:flex;}.sm-page .sm-library .sm-drawer-close{display:inline-flex;width:28px;min-height:28px;}.sm-inspector{width:min(300px,calc(100vw - 16px));right:var(--sm-s2);}.sm-tools{top:var(--sm-s2);left:var(--sm-s2);}.sm-tools .sm-icon{width:36px;min-height:44px;}.sm-context{top:var(--sm-s2);left:auto;right:var(--sm-s2);transform:none;flex-direction:column;}.sm-context button{width:36px;min-height:44px;}.sm-canvas-heading{padding-inline:var(--sm-s3);}.sm-canvas-heading .sm-canvas-options .sm-icon{width:36px;min-height:44px;}.sm-zoom{bottom:var(--sm-s3);}.sm-zoom button{min-height:40px;}.sm-asset-add img{height:112px;}.sm-asset-actions{opacity:1;}.sm-page .sm-asset-actions button{min-height:36px;width:36px;}.sm-asset-detail{grid-template-columns:minmax(0,1fr);}.sm-asset-detail>img{height:190px;}.sm-dialog #dialogBody{padding:var(--sm-s4);}.sm-dialog-header{padding:var(--sm-s3) var(--sm-s4);}.sm-dialog-header h2{font-size:18px;}.sm-export-options{grid-template-columns:minmax(0,1fr);}.sm-statusbar{font-size:10px;}.sm-template img{max-height:200px;}}
@media(prefers-reduced-motion:reduce){.sm-page *, .sm-page *::before,.sm-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
.sm-page[data-reduced=true] *, .sm-page[data-reduced=true] *::before,.sm-page[data-reduced=true] *::after{animation:none!important;transition:none!important;}

/* Touch controls stay reachable and the open drawer owns pointer input. */
.sm-page .sm-drawer-backdrop{position:fixed;inset:var(--sm-header-height) 0 0;z-index:14;width:100%;height:calc(100dvh - var(--sm-header-height));border:0;border-radius:0;background:var(--sm-backdrop);backdrop-filter:blur(2px);padding:0;}
.sm-page .sm-drawer-backdrop:hover{background:var(--sm-backdrop);}
@media(max-width:1050px){.sm-mobile-switch{height:52px;}.sm-mobile-switch button{min-height:44px;}.sm-workspace{height:calc(100dvh - 204px);}.sm-page .sm-inspector .sm-drawer-close{width:44px;min-height:44px;}}
@media(max-width:720px){body.sm-page{--sm-control:44px;--sm-project-height:112px;}.sm-page button{min-height:44px;}.sm-page .sm-icon{width:44px;min-height:44px;}.sm-header-actions .sm-icon{width:44px;}.sm-project-actions button{min-height:44px;}.sm-mobile-switch{height:52px;}.sm-workspace{height:calc(100dvh - 224px);}.sm-page .sm-asset-actions button{width:44px;min-height:44px;}.sm-page .sm-library .sm-drawer-close{width:44px;min-height:44px;}.sm-zoom button{min-height:44px;}.sm-page .sm-field input,.sm-page input[type=color]{min-height:44px;height:44px;}.sm-page .sm-layer-row>.sm-icon{min-height:44px;width:44px;}.sm-page .sm-library-footer>.sm-icon{min-height:44px;width:44px;}}

.sm-page :is(input,textarea,select):disabled{opacity:.55;cursor:not-allowed;background:var(--sm-soft);}.sm-page button:disabled{cursor:not-allowed;}.sm-dialog .sm-error{min-height:1lh;}.sm-page .sm-asset-add:hover{background:var(--sm-surface);}

/* Form focus does not change geometry; desktop and touch fields share the 44 px control height. */
.sm-page :is(input,select,textarea){outline:2px solid transparent;outline-offset:1px;}.sm-page :is(input,select,textarea):focus-visible{outline:2px solid var(--sm-focus);outline-offset:1px;}.sm-page .sm-field input{height:var(--sm-control);min-height:var(--sm-control);}
@media(max-width:720px){.sm-page .sm-project-actions button{padding-inline:var(--sm-s2);}}

/* Action-driven motion: stable hit areas, sliding tab indicator and interruptible sheets. */
.sm-page button{transition:transform var(--sm-short) var(--sm-ease),background-color var(--sm-short) var(--sm-ease),opacity var(--sm-short) var(--sm-ease);}
.sm-page button:active{transform:translateY(1px) scale(.98);transition-duration:var(--sm-press);}
.sm-page button:disabled{transform:none;}
.sm-tabs{position:relative;isolation:isolate;}
.sm-tabs::before{content:'';position:absolute;left:0;top:var(--sm-s3);height:var(--sm-control);width:1px;border-radius:var(--sm-radius-sm);background:var(--sm-soft);transform-origin:left center;transform:translateX(var(--sm-tab-x,12px)) scaleX(var(--sm-tab-w,0));transition:transform var(--sm-switch) var(--sm-ease);pointer-events:none;z-index:-1;}
.sm-tabs>[role=tab][aria-selected=true]{background:transparent;}
.sm-page .sm-asset,.sm-page .sm-context,.sm-page .sm-toast{animation:none;}
.sm-asset-add:focus-visible img,.sm-asset-add:hover img{transform:translateY(-4px) scale(1.035);}
.sm-template>button img{transition:transform var(--sm-switch) var(--sm-ease);}
.sm-template>button:hover img,.sm-template>button:focus-visible img{transform:translateY(-3px);}
.sm-tools button img{transition:transform var(--sm-short) var(--sm-ease);}
.sm-tools button[aria-pressed=true] img{transform:scale(1.1);}
.sm-dialog[data-closing]{pointer-events:none;}
@keyframes sm-backdrop-out{to{opacity:0}}
@media(max-width:1050px){.sm-inspector{animation:none;}.sm-inspector[data-closing=true]{display:flex;pointer-events:none;}}
@media(max-width:720px){.sm-library{animation:none;}.sm-library[data-closing=true]{display:flex;pointer-events:none;}}

/* Research navigation: stable controls and previews load only near the viewport. */
.sm-template-filters{padding:var(--sm-s4) var(--sm-s3) var(--sm-s2);display:grid;gap:var(--sm-s2);}
.sm-template-filters select,.sm-template-filters input{font-size:var(--sm-text-xs);}
.sm-domain-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;}
.sm-page .sm-domain-chips button{padding:4px 2px;min-height:44px;min-width:0;font-size:11px;white-space:normal;border:1px solid var(--sm-line);background:var(--sm-surface);}
.sm-page .sm-domain-chips button[aria-pressed=true]{background:var(--sm-accent-soft);border-color:var(--sm-accent);color:var(--sm-accent);}
.sm-page .sm-domain-chips button:hover{transform:translateY(-2px);}
.sm-page .sm-domain-chips button:active{transform:translateY(0) scale(.97);}
.sm-template{border:1px solid var(--sm-line);border-radius:var(--sm-radius);overflow:clip;background:var(--sm-surface);}
.sm-page .sm-template>button[data-template]{border:0;border-radius:0;padding:var(--sm-s3);}
.sm-template-kind{display:block;width:max-content;max-width:100%;font-size:10px;line-height:1.7;color:var(--sm-accent);padding:2px 6px;margin:0 0 6px;background:var(--sm-accent-soft);border-radius:3px;}
.sm-page .sm-template>button.sm-template-source{display:flex;align-items:center;justify-content:flex-start;border:0;border-top:1px solid var(--sm-line);border-radius:0;font-size:11px;min-height:44px;padding:8px 10px;color:var(--sm-muted);}
.sm-template-source img{width:14px!important;height:14px!important;aspect-ratio:1;padding:0;margin:0;border:0;}
.sm-template img[data-template-preview]:not([src]){background:var(--sm-soft);opacity:.6;}
.sm-template img[data-template-preview][data-error=true]{font-size:12px;}
.sm-template>button[data-template]:hover img{transform:translateY(-3px) scale(1.025);}
.sm-relation-list{display:grid;gap:0;margin-bottom:20px;}
.sm-relation-list>div{padding:12px 0;border-bottom:1px solid var(--sm-line);}
.sm-relation-list strong{font-size:13px;line-height:1.6;display:block;}
.sm-relation-list small{font-size:12px;line-height:1.7;color:var(--sm-muted);display:block;}
@media(max-width:720px){.sm-domain-chips button{font-size:12px;}.sm-template-kind{font-size:11px;}.sm-page .sm-template>button.sm-template-source{font-size:12px;}}
/* Touch attribution controls occupy their own row so they cannot cover plant organs. */
@media(max-width:720px){
 .sm-page .sm-asset-add img{height:112px;}
 .sm-page .sm-asset-add{border-bottom-left-radius:0;border-bottom-right-radius:0;}
 .sm-asset-actions{position:static;justify-content:flex-end;gap:4px;opacity:1;padding:2px 4px;border:1px solid var(--sm-line);border-top:0;border-radius:0 0 var(--sm-radius) var(--sm-radius);background:var(--sm-surface);}
 .sm-page .sm-asset-actions button{border-color:transparent;background:transparent;}
 .sm-page .sm-asset-actions button:hover{background:var(--sm-soft);}
}
/* Research atlas and audit use the existing studio palette and type hierarchy. */
.sm-library-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 12px 6px;}
.sm-page .sm-library-links button{font-size:11px;min-height:44px;padding:6px;gap:5px;}
.sm-library-links img{width:14px;height:14px;}
.sm-template-domain{display:block;margin:3px 0;font-size:10px;color:var(--sm-muted);}
.sm-dialog[data-view=atlas]{width:min(1260px,calc(100vw - 28px));max-width:1260px;}
.sm-atlas-intro{margin-bottom:var(--sm-s4);}
.sm-atlas-intro p{max-width:75ch;}
.sm-atlas-filters{display:grid;grid-template-columns:1fr minmax(180px,.45fr);gap:var(--sm-s3);margin:var(--sm-s4) 0 var(--sm-s2);}
.sm-atlas-filters input{min-width:0;width:100%;}
.sm-atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sm-s5);}
.sm-atlas-card{overflow:clip;border:1px solid var(--sm-line);border-radius:var(--sm-radius);background:var(--sm-surface);transition:border-color var(--sm-switch) var(--sm-ease),box-shadow var(--sm-switch) var(--sm-ease);}
.sm-atlas-card:hover,.sm-atlas-card:focus-within{border-color:var(--sm-accent);box-shadow:0 10px 30px var(--sm-shadow);}
.sm-page .sm-atlas-card>button{display:block;width:100%;border:0;padding:var(--sm-s3);text-align:left;border-radius:0;transform:none;}
.sm-atlas-card>button img{display:block;aspect-ratio:1.6;width:100%;margin:0 0 var(--sm-s3);border:1px solid var(--sm-line);border-radius:3px;transition:transform 540ms var(--sm-ease);}
.sm-atlas-card:hover>button img{transform:scale(1.012);}
.sm-atlas-card strong{display:block;font-size:16px;line-height:1.55;}
.sm-atlas-card>div{display:flex;justify-content:space-between;gap:var(--sm-s2);border-top:1px solid var(--sm-line);padding:var(--sm-s3);}
.sm-page .sm-atlas-card>div button{font-size:12px;min-height:44px;}
.sm-coverage-list{display:grid;grid-template-columns:1fr;gap:var(--sm-s3);margin:var(--sm-s4) 0;}
.sm-coverage-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--sm-s4);padding:var(--sm-s4) 0;border-bottom:1px solid var(--sm-line);}
.sm-coverage-list h3{margin-top:0;}.sm-coverage-list span{font-size:12px;color:var(--sm-accent);}.sm-coverage-list p{margin:8px 0 0;color:var(--sm-muted);}
.sm-page .sm-coverage-list button{min-height:44px;font-size:12px;}
.sm-relation-label{pointer-events:auto;cursor:move;}
@media(max-width:720px){.sm-atlas-grid,.sm-atlas-filters{grid-template-columns:minmax(0,1fr);}.sm-atlas-card>div{flex-wrap:wrap;}.sm-coverage-list article{grid-template-columns:minmax(0,1fr);gap:8px;}.sm-coverage-list button{justify-self:start;}.sm-page .sm-library-links button{font-size:12px;}}
.sm-page .sm-atlas-card>button img{height:auto;max-height:none;width:100%;object-fit:contain;}
/* Named icon controls stay readable above clipped panels and modal dialogs. */
.sm-page .sm-tooltip{position:fixed;inset:auto;margin:0;z-index:50;width:max-content;height:auto;max-width:min(260px,calc(100vw - 16px));padding:8px 12px;border:1px solid var(--sm-muted);border-radius:var(--sm-radius-sm);background:var(--sm-ink);color:var(--sm-surface);box-shadow:0 6px 24px var(--sm-shadow);font:var(--sm-text-xs)/1.55 var(--sm-font);text-align:left;overflow-wrap:anywhere;pointer-events:auto;}
.sm-tooltip[hidden]{display:none!important;}.sm-tooltip strong{display:block;font-weight:600;}.sm-tooltip span{display:block;margin-top:2px;font-size:11px;}.sm-tooltip span[hidden]{display:none;}
