/* Professor SVG Studio */
.svg-studio-page{
  width:min(1840px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  color:var(--ink);
}
.svg-studio-page{
  padding:32px 30px 70px;
}
.svg-studio-page-head{
  position:relative;
  isolation:isolate;
  min-height:390px;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:34px;
  overflow:hidden;
  padding:38px;
  border:1px solid rgba(106,139,255,.42);
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(88,214,255,.17),transparent 28%),
    radial-gradient(circle at 72% 112%,rgba(255,88,174,.18),transparent 39%),
    linear-gradient(135deg,#0a1635 0%,#15245a 54%,#39226f 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(17,31,76,.2);
}
.svg-studio-page-head:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(90deg,#000,transparent 58%);
}
.svg-studio-hero-copy{
  position:relative;
  z-index:2;
  width:min(58%,840px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
}
.svg-studio-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:30px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#dff6ff;
  font-weight:750;
  text-decoration:none;
  backdrop-filter:blur(8px);
  transition:background .15s,border-color .15s,transform .15s;
}
.svg-studio-back:hover{
  border-color:rgba(255,255,255,.48);
  background:rgba(255,255,255,.15);
  transform:translateX(-2px);
}
.svg-studio-page-head .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9ee9ff;
  letter-spacing:.13em;
}
.svg-studio-page-head h1{
  margin:8px 0 15px;
  font-size:clamp(50px,5.6vw,84px);
  line-height:.9;
  letter-spacing:-.065em;
  color:#fff;
}
.svg-studio-page-head h1 span{
  color:transparent;
  background:linear-gradient(110deg,#66dcff 0%,#9d8cff 48%,#ff82c1 100%);
  background-clip:text;
  -webkit-background-clip:text;
}
.svg-studio-page-head p{
  margin:0;
  max-width:720px;
  font-size:17px;
  line-height:1.6;
  color:rgba(239,245,255,.78);
}
.svg-studio-hero-pills{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:24px;
}
.svg-studio-hero-pills span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(6,16,45,.28);
  color:rgba(242,247,255,.78);
  font-size:12px;
  font-weight:700;
  backdrop-filter:blur(7px);
}
.svg-studio-hero-pills b{color:#fff;font-size:14px}
.svg-studio-hero-pills i{color:#9ee9ff;font-size:15px}
.svg-studio-hero-visual{
  position:relative;
  z-index:1;
  width:min(42%,610px);
  min-width:390px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svg-studio-hero-art{
  position:absolute;
  inset:-24px -36px 36px -18px;
  transform:rotate(1.5deg);
}
.svg-studio-hero-art svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 22px 38px rgba(0,0,0,.24));
}
.svg-studio-art-label{
  position:absolute;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:10px;
  background:rgba(10,20,54,.66);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}
.svg-studio-art-label i{color:#72dcff;font-size:15px}
.svg-studio-art-label-a{top:23%;right:5%}
.svg-studio-art-label-b{right:19%;bottom:29%}
.svg-hero-node{
  transform-box:fill-box;
  transform-origin:center;
  animation:svg-hero-pulse 3.2s ease-in-out infinite;
}
.svg-hero-node-two{animation-delay:.4s}
.svg-hero-node-three{animation-delay:.8s}
.svg-hero-node-four{animation-delay:1.2s}
@keyframes svg-hero-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.22)}
}
.svg-studio-context{
  position:absolute;
  right:4px;
  bottom:4px;
  width:min(360px,92%);
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(7,17,47,.72);
  color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
}
.svg-studio-context>i{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:12px;
  background:linear-gradient(145deg,#56d6ff,#8175ff);
  color:#07132f;
  font-size:24px;
}
.svg-studio-context span{
  display:grid;
  gap:3px;
}
.svg-studio-context small{
  color:rgba(229,238,255,.64);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.svg-studio-context b{
  max-width:330px;
  font-size:15px;
  color:#fff;
}
.svg-studio-help{
  margin:24px 0;
  border:1.5px solid #d7b66d;
  border-radius:18px;
  background:color-mix(in srgb,#fff8df 72%,var(--panel));
  overflow:hidden;
}
.svg-studio-help summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:17px 20px;
  cursor:pointer;
  list-style:none;
}
.svg-studio-help summary::-webkit-details-marker{display:none}
.svg-studio-help summary>span{
  display:flex;
  align-items:center;
  gap:13px;
}
.svg-studio-help summary>span>i{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:11px;
  background:#fff0b8;
  color:#8a5b00;
  font-size:22px;
}
.svg-studio-help summary span span{
  display:grid;
  gap:3px;
}
.svg-studio-help summary b{font-size:16px}
.svg-studio-help summary small{color:var(--muted);font-size:13px}
.svg-studio-help[open] summary>i{transform:rotate(180deg)}
.svg-studio-help-body{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:0;
  border-top:1px solid #d7b66d;
  background:var(--panel);
}
.svg-studio-help-body section{
  padding:20px 22px;
}
.svg-studio-help-body section+section{
  border-left:1px solid var(--line);
}
.svg-studio-help-body h3{
  margin:0 0 10px;
  font-size:16px;
}
.svg-studio-help-body ol{
  margin:0;
  padding-left:20px;
  font-size:14px;
  line-height:1.55;
}
.svg-studio-help-body pre{
  margin:0 0 12px;
  padding:14px;
  max-height:225px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
  white-space:pre-wrap;
  font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.svg-studio-library-tools{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border:1.5px solid var(--line);
  border-radius:18px;
  background:var(--panel);
}
.svg-studio-search{
  flex:1;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:0 15px;
  border:1.5px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.svg-studio-search i{font-size:20px;color:var(--muted)}
.svg-studio-search input{
  width:100%;
  min-height:46px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  font-size:15px;
}
.svg-studio-file-manager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:14px 16px;
  border:1.5px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.svg-studio-file-manager.is-active{
  border-color:var(--accent);
  background:linear-gradient(110deg,var(--accent-bg),var(--panel) 48%);
  box-shadow:0 10px 26px rgba(24,95,165,.09);
}
.svg-file-manager-summary{
  min-width:230px;
  display:flex;
  align-items:center;
  gap:11px;
}
.svg-file-manager-summary>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:12px;
  background:var(--accent-bg);
  color:var(--accent);
  font-size:21px;
}
.svg-file-manager-summary div{
  display:grid;
  gap:2px;
}
.svg-file-manager-summary b{font-size:15px}
.svg-file-manager-summary small{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.svg-file-manager-actions{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.svg-file-manager-actions>label{
  display:grid;
  gap:3px;
}
.svg-file-manager-actions>label>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.svg-file-manager-actions select{
  min-width:150px;
  min-height:40px;
  padding:7px 34px 7px 10px;
  border:1.5px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
.svg-file-manager-actions .btn-ghost,
.svg-file-manager-actions .btn-danger{min-height:40px;padding:8px 11px}
.svg-file-manager-actions .icon-btn{min-height:40px;width:40px}
.svg-studio-library-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:20px;
  margin-top:20px;
}
.svg-studio-groups,
.svg-studio-assets{
  border:1.5px solid var(--line);
  border-radius:18px;
  background:var(--panel);
}
.svg-studio-groups{
  align-self:start;
  padding:12px;
  position:sticky;
  top:18px;
}
.svg-studio-groups>header,
.svg-studio-results{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 8px 14px;
}
.svg-studio-results>div:first-child{display:grid;gap:2px}
.svg-studio-groups>header span,
.svg-studio-results span{font-weight:800}
.svg-studio-groups>header small,
.svg-studio-results small{color:var(--muted)}
.svg-studio-view-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.svg-studio-view-switch button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.svg-studio-view-switch button:hover{color:var(--accent)}
.svg-studio-view-switch button.active{
  background:var(--panel);
  color:var(--accent);
  box-shadow:0 2px 8px rgba(15,23,42,.1);
}
.svg-studio-view-switch button:focus-visible{outline:3px solid rgba(24,95,165,.22);outline-offset:2px}
.svg-studio-groups>button,
.svg-studio-group-row>button:first-child{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:0;
  border-radius:11px;
  background:transparent;
  text-align:left;
  color:var(--ink);
}
.svg-studio-groups>button:hover,
.svg-studio-groups>button.active,
.svg-studio-group-row>button:first-child:hover,
.svg-studio-group-row>button:first-child.active{
  background:var(--accent-bg);
  color:var(--accent);
}
.svg-studio-groups button b{
  min-width:25px;
  padding:3px 6px;
  border-radius:999px;
  background:var(--soft);
  text-align:center;
  font-size:11px;
}
.svg-studio-group-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:4px;
}
.svg-studio-group-row .icon-btn{
  width:38px;
  min-height:38px;
  margin-top:4px;
}
.svg-studio-assets{padding:14px 16px 22px}
.svg-asset-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(240px,1fr));
  gap:16px;
}
.svg-asset-card{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1.5px solid var(--line);
  border-radius:16px;
  background:var(--panel);
}
.svg-asset-card.is-selected{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(24,95,165,.13),0 12px 30px rgba(24,95,165,.1);
}
.svg-asset-select{
  position:absolute;
  z-index:3;
  top:12px;
  left:12px;
  cursor:pointer;
}
.svg-asset-select input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.svg-asset-select>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.94);
  color:transparent;
  box-shadow:0 5px 14px rgba(15,23,42,.12);
  transition:.16s ease;
}
.svg-asset-select:hover>span{
  border-color:var(--accent);
  color:var(--accent);
}
.svg-asset-select input:focus-visible+span{
  outline:3px solid rgba(24,95,165,.24);
  outline-offset:2px;
}
.svg-asset-select input:checked+span{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
.svg-overwrite-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid #b9d6ef;
  border-radius:11px;
  background:#eef7ff;
  color:#24445f;
  font-size:12px;
  line-height:1.4;
}
.svg-overwrite-note i{margin-top:1px;color:var(--accent);font-size:17px}
.svg-overwrite-note span{display:grid;gap:2px}
.svg-asset-preview{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  padding:14px;
  border:0;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(45deg,rgba(24,95,165,.035) 25%,transparent 25%),
    linear-gradient(-45deg,rgba(24,95,165,.035) 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,rgba(24,95,165,.035) 75%),
    linear-gradient(-45deg,transparent 75%,rgba(24,95,165,.035) 75%);
  background-size:22px 22px;
  background-position:0 0,0 11px,11px -11px,-11px 0;
}
.svg-asset-preview:hover{background-color:var(--accent-bg)}
.svg-asset-preview svg{width:100%;height:100%;display:block}
.svg-asset-card-copy{
  flex:1;
  padding:15px 16px 10px;
}
.svg-asset-card-copy>span{
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.svg-asset-card-copy h3{
  margin:5px 0;
  font-size:18px;
}
.svg-asset-card-copy p{
  margin:0;
  min-height:42px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.svg-asset-card footer{
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px;
  border-top:1px solid var(--line);
}
.svg-asset-card footer .btn-ghost,
.svg-asset-card footer .btn-accent{
  flex:1;
  min-width:0;
  padding:9px 11px;
  font-size:12px;
}
.svg-asset-card footer .icon-btn{
  width:38px;
  min-height:38px;
  flex:0 0 38px;
}

/* SVG asset library browsing densities. Normal remains the rich default. */
.svg-asset-grid.view-compact{
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr));
  gap:10px;
}
.svg-asset-grid.view-compact .svg-asset-card{border-radius:13px}
.svg-asset-grid.view-compact .svg-asset-preview{padding:9px}
.svg-asset-grid.view-compact .svg-asset-select{top:8px;left:8px}
.svg-asset-grid.view-compact .svg-asset-select>span{width:28px;height:28px;border-radius:8px}
.svg-asset-grid.view-compact .svg-asset-card-copy{padding:10px 11px 8px}
.svg-asset-grid.view-compact .svg-asset-card-copy>span{font-size:9px}
.svg-asset-grid.view-compact .svg-asset-card-copy h3{
  overflow:hidden;
  margin:3px 0 0;
  font-size:14px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-asset-grid.view-compact .svg-asset-card-copy p{display:none}
.svg-asset-grid.view-compact .svg-asset-card footer{gap:5px;padding:7px}
.svg-asset-grid.view-compact .svg-asset-card footer button{
  min-height:34px;
  width:auto;
  flex:1 1 34px;
  padding:7px;
  font-size:0;
}
.svg-asset-grid.view-compact .svg-asset-card footer button i{font-size:15px}

.svg-asset-grid.view-list{grid-template-columns:1fr;gap:10px}
.svg-asset-grid.view-list .svg-asset-card{
  display:grid;
  grid-template-columns:190px minmax(220px,1fr) 220px;
  align-items:stretch;
  min-height:126px;
  border-radius:13px;
}
.svg-asset-grid.view-list .svg-asset-preview{
  height:100%;
  min-height:124px;
  aspect-ratio:auto;
  padding:10px;
  border-right:1px solid var(--line);
  border-bottom:0;
}
.svg-asset-grid.view-list .svg-asset-card-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:14px 16px;
}
.svg-asset-grid.view-list .svg-asset-card-copy h3{margin:4px 0;font-size:17px}
.svg-asset-grid.view-list .svg-asset-card-copy p{min-height:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.svg-asset-grid.view-list .svg-asset-card footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(42px,1fr));
  align-content:center;
  gap:7px;
  padding:12px;
  border-top:0;
  border-left:1px solid var(--line);
}
.svg-asset-grid.view-list .svg-asset-card footer .btn-ghost,
.svg-asset-grid.view-list .svg-asset-card footer .btn-accent,
.svg-asset-grid.view-list .svg-asset-card footer .icon-btn{
  width:auto;
  min-height:38px;
  flex:auto;
}
.svg-studio-empty{
  grid-column:1/-1;
  min-height:380px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  text-align:center;
}
.svg-studio-empty>i{font-size:54px;color:var(--accent)}
.svg-studio-empty h2,.svg-studio-empty p{margin:0}
.svg-studio-empty p{color:var(--muted)}

.svg-studio-editor{
  width:100%;
  max-width:none;
  margin:0;
  color:var(--ink);
  height:calc(100vh - var(--topbar-h, 88px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  background:var(--bg);
}
.svg-editor-topbar{
  display:grid;
  grid-template-columns:auto minmax(240px,1fr) auto auto;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.svg-editor-topbar>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.svg-editor-topbar input{
  width:min(520px,100%);
  min-height:44px;
  padding:8px 12px;
  border:1.5px solid var(--line);
  border-radius:10px;
  font-size:18px;
  font-weight:800;
}
#svgStudioSaveStatus{
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}
.svg-editor-commandbar{
  position:relative;
  z-index:12;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:9px 14px;
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
  overflow:visible;
}
.svg-editor-history,
.svg-editor-tools,
.svg-editor-mode{
  display:flex;
  align-items:center;
  gap:6px;
}
.svg-editor-tools{flex:1 1 680px;flex-wrap:wrap}
.svg-canvas-background-control{
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px 8px 4px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.svg-canvas-background-control input{
  width:34px;
  height:30px;
  padding:2px;
  border:0;
  background:transparent;
}
.svg-editor-tools button,
.svg-editor-mode button{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  white-space:nowrap;
}
.svg-editor-tools button:hover,
.svg-editor-mode button:hover,
.svg-editor-mode button.active{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--accent-bg);
}
.svg-shape-menu{position:static;z-index:80}
.svg-shape-menu summary{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text-primary);
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}
.svg-shape-menu summary::-webkit-details-marker{display:none}
.svg-shape-menu[open] summary{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.svg-shape-menu>div{
  position:absolute;
  z-index:200;
  top:calc(100% + 7px);
  right:444px;
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  gap:6px;
  width:330px;
  padding:8px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text-primary);
  box-shadow:0 18px 42px rgba(16,24,40,.2);
}
.svg-shape-menu>div button{
  justify-content:flex-start;
  border-color:var(--border);
  background:var(--surface-2);
  color:var(--text-primary);
}
.svg-shape-menu>div button:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}
.svg-element-browser-button{border-color:var(--accent);color:var(--accent)}
.svg-editor-workspace{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
}
.svg-editor-workspace>main{
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.svg-editor-visual,
.svg-editor-code{
  width:100%;
  height:100%;
}
.svg-canvas-stage{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:32px;
  overflow:auto;
  background-color:var(--svg-stage-background,#dfe5eb);
  background-image:linear-gradient(rgba(49,65,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(49,65,80,.08) 1px,transparent 1px);
  background-size:24px 24px;
}
.svg-canvas-host{
  position:relative;
  z-index:1;
  width:min(100%,1200px);
  aspect-ratio:16/9;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,24,40,.18);
}
.svg-canvas-host>svg{
  width:100%;
  height:100%;
  display:block;
  touch-action:none;
}
.svg-canvas-host .svg-studio-selected{
  stroke:#e11d48!important;
  stroke-width:5!important;
  filter:drop-shadow(0 0 5px rgba(225,29,72,.6));
  cursor:move;
}
.svg-transform-overlay{
  position:absolute;
  z-index:8;
  box-sizing:border-box;
  border:2px solid #e11d48;
  border-radius:3px;
  pointer-events:none;
  filter:drop-shadow(0 2px 4px rgba(16,24,40,.18));
}
.svg-transform-overlay[hidden]{display:none}
.svg-transform-overlay::before{
  content:"";
  position:absolute;
  left:50%;
  top:-30px;
  width:2px;
  height:28px;
  background:#e11d48;
  transform:translateX(-50%);
}
.svg-transform-handle{
  position:absolute;
  z-index:2;
  width:28px;
  height:28px;
  min-height:0;
  display:grid;
  place-items:center;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#e11d48;
  color:#fff;
  box-shadow:0 2px 9px rgba(16,24,40,.28);
  pointer-events:auto;
  touch-action:none;
  user-select:none;
}
.svg-transform-handle i{font-size:15px;pointer-events:none}
.svg-transform-rotate{
  left:50%;
  top:-43px;
  transform:translateX(-50%);
  cursor:grab;
}
.svg-transform-rotate:active{cursor:grabbing}
.svg-transform-scale{
  right:-15px;
  bottom:-15px;
  cursor:nwse-resize;
}
.svg-editor-sidebar{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border-left:1px solid var(--border);
  background:var(--surface-2);
}
.svg-editor-sidebar-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:10px;
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
}
.svg-editor-sidebar-tabs button{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--text-muted);
  font-family:inherit;
  font-size:13px;
  font-weight:750;
}
.svg-editor-sidebar-tabs button:hover,
.svg-editor-sidebar-tabs button.active{
  border-color:var(--accent-border);
  background:var(--surface-2);
  color:var(--accent-text);
  box-shadow:0 3px 12px rgba(16,24,40,.08);
}
.svg-editor-sidebar-panel{
  min-height:0;
  overflow:auto;
}
.svg-editor-sidebar-panel[hidden]{display:none}
.svg-editor-sidebar-panel>section{
  padding:16px;
  border-bottom:1px solid var(--border);
}
.svg-editor-sidebar-panel>section>header{
  margin-bottom:13px;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.svg-editor-source-panel{overflow:hidden}
.svg-editor-source-panel>.svg-editor-code{height:100%}
.svg-inspector-empty{
  min-height:130px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  color:var(--text-muted);
  text-align:center;
}
.svg-inspector-empty i{font-size:30px;color:var(--accent)}
.svg-inspector-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
  font-weight:800;
}
.svg-inspector-transform-tip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-bottom:12px;
  padding:9px 10px;
  border:1px solid var(--accent-border);
  border-radius:9px;
  background:var(--accent-bg);
  color:var(--text-muted);
  font-size:11px;
  line-height:1.45;
}
.svg-inspector-transform-tip i{
  margin-top:1px;
  color:var(--accent-text);
  font-size:16px;
}
.svg-inspector-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.svg-inspector-grid label,
.svg-inspector-text,
.svg-asset-metadata label{
  display:grid;
  gap:5px;
}
.svg-inspector-grid label span,
.svg-inspector-text span,
.svg-asset-metadata label span{
  color:var(--muted);
  font-size:12px;
  font-weight:750;
}
.svg-inspector-grid input,
.svg-inspector-grid select,
.svg-inspector-text textarea,
.svg-inspector-text select,
.svg-asset-metadata :is(input,select,textarea){
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--soft);
  color:var(--ink);
  font:inherit;
}
.svg-inspector-grid input[type=color]{padding:4px}
.svg-inspector-suffix{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
}
.svg-inspector-suffix input{
  min-width:0;
  border:0;
  border-radius:0;
}
.svg-inspector-suffix b{
  padding:0 10px;
  color:var(--text-muted);
  font-size:12px;
}
.svg-inspector-text{margin-top:10px}
.svg-inspector-text small{color:var(--muted);font-size:11px;line-height:1.4}
.svg-inspector-font{margin-top:10px}
.svg-inspector-transparency{
  display:grid;
  gap:8px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-2);
}
.svg-inspector-transparency>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--text);
  font-size:12px;
}
.svg-inspector-transparency output{color:var(--accent-text);font-weight:800}
.svg-inspector-transparency>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  gap:10px;
  align-items:center;
}
.svg-inspector-transparency input[type="range"]{
  width:100%;
  accent-color:var(--accent);
}
.svg-inspector-transparency .svg-inspector-suffix input{min-height:38px;padding:6px 8px}
.svg-inspector-transparency small{color:var(--text-muted);font-size:11px}
.svg-inspector-layer{
  display:grid;
  gap:9px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.svg-inspector-layer>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  font-weight:850;
}
.svg-inspector-layer>header small{color:var(--text-muted);font-weight:700}
.svg-inspector-layer>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.svg-inspector-layer button{
  display:grid;
  place-items:center;
  gap:3px;
  min-width:0;
  min-height:48px;
  padding:6px 3px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--soft);
  color:var(--ink);
  font-size:10px;
  font-weight:750;
}
.svg-inspector-layer button i{font-size:17px;color:var(--accent-text)}
.svg-inspector-layer button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}
.svg-inspector-layer button:disabled{opacity:.38;cursor:not-allowed}
.svg-inspector-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:12px;
}
.svg-inspector-actions button{
  min-height:38px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--soft);
}
.svg-asset-metadata{display:grid;gap:12px}
.svg-asset-versions{display:grid;gap:6px}
.svg-asset-versions button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:45px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--soft);
  text-align:left;
}
.svg-asset-versions button span{display:grid;gap:2px;font-weight:750}
.svg-asset-versions button small{color:var(--muted);font-weight:400}
.svg-editor-code{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  padding:20px;
  background:#17202a;
  color:#eef6ff;
}
.svg-editor-code[hidden]{display:none}
.svg-editor-code>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
}
.svg-editor-code>header>div{display:flex;gap:7px}
.svg-editor-code button{
  min-height:40px;
  border-color:#4b6075;
  background:#233142;
  color:#fff;
}
.svg-code-layer{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid #4b6075;
  border-radius:12px;
  background:#0e1621;
}
#svgStudioCode,
#svgStudioCodeHighlight{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:18px;
  border:0;
  overflow:auto;
  white-space:pre;
  word-break:normal;
  tab-size:2;
  font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
#svgStudioCodeHighlight{
  z-index:1;
  pointer-events:none;
  color:#d8ecff;
}
#svgStudioCode{
  z-index:2;
  resize:none;
  outline:0;
  background:transparent;
  color:transparent;
  caret-color:#fff;
  -webkit-text-fill-color:transparent;
}
#svgStudioCode::selection{background:rgba(86,180,233,.34)}
.svg-code-element{color:#7dd3fc;font-weight:750}
.svg-code-attribute{color:#f9c97c}
.svg-code-punctuation{color:#a7b8cb}
.svg-code-string{color:#8ee6b8}
.svg-code-comment{color:#8292a6;font-style:italic}
#svgStudioCodeStatus{margin:10px 0 0;color:#adbed0;font-size:13px}

.platform-form:has(.svg-element-browser){
  width:min(1360px,calc(100vw - 34px));
  height:min(840px,calc(100dvh - 34px));
}
.platform-form:has(.svg-element-browser) .platform-form-body{
  padding:14px;
  overflow:hidden;
}
.svg-element-browser{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  height:100%;
  min-height:0;
}
.svg-element-browser-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
}
.svg-element-browser-tools label{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
}
.svg-element-browser-tools input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
}
.svg-element-browser-count{
  min-width:92px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.svg-element-browser-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.svg-element-category-list{
  min-width:0;
  padding:8px;
  overflow:auto;
  border-right:1px solid var(--line);
  background:var(--soft);
}
.svg-element-category-list button{
  --element-accent:var(--accent);
  --element-soft:var(--accent-bg);
  width:100%;
  min-height:38px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  text-align:left;
}
.svg-element-category-list button+button{margin-top:3px}
.svg-element-category-list button>i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:8px;
  background:var(--element-soft);
  color:var(--element-accent);
  font-size:16px;
}
.svg-element-category-list button>span{
  overflow:hidden;
  font-size:11px;
  font-weight:760;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-element-category-list button>b{
  color:var(--muted);
  font-size:10px;
}
.svg-element-category-list button:hover,
.svg-element-category-list button.active{
  border-color:color-mix(in srgb,var(--element-accent) 32%,var(--line));
  background:var(--panel);
}
.svg-element-category-list button.active{
  box-shadow:inset 3px 0 0 var(--element-accent);
}
.svg-element-category-list button.active>b{color:var(--element-accent)}
.svg-element-results{
  min-height:0;
  padding:12px;
  overflow:auto;
  scroll-behavior:smooth;
}
.svg-element-result-group{
  --element-accent:var(--accent);
  --element-soft:var(--accent-bg);
}
.svg-element-result-group+.svg-element-result-group{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.svg-element-result-group>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.svg-element-result-group>header>span{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text);
  font-size:12px;
}
.svg-element-result-group>header i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:8px;
  background:var(--element-soft);
  color:var(--element-accent);
  font-size:16px;
}
.svg-element-result-group>header small{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.svg-element-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:8px;
}
.svg-element-card{
  position:relative;
  min-width:0;
}
.svg-element-grid [data-svg-insert-element]{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  display:grid;
  grid-template-rows:82px auto;
  gap:6px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  text-align:left;
}
.svg-element-grid [data-svg-insert-element]:hover{
  border-color:var(--accent);
  background:var(--accent-bg);
  transform:translateY(-2px);
}
.svg-element-grid .svg-element-preview{
  display:block;
  height:82px;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
}
.svg-element-grid svg{width:100%;height:100%;display:block}
.svg-element-card-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.svg-element-card-copy b{
  overflow:hidden;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-element-card-copy small{
  display:-webkit-box;
  min-height:26px;
  overflow:hidden;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.svg-element-grid [data-svg-insert-element]>i{
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--element-accent) 28%,var(--line));
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--element-accent);
  font-size:13px;
  opacity:0;
  transform:scale(.84);
  transition:.15s ease;
}
.svg-element-grid [data-svg-insert-element]:hover>i,
.svg-element-grid [data-svg-insert-element]:focus-visible>i{
  opacity:1;
  transform:scale(1);
}
.svg-element-card.is-custom>[data-svg-insert-element]{border-color:color-mix(in srgb,#6e56cf 26%,var(--line))}
.svg-element-card.is-asset>[data-svg-insert-element]{border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}
.svg-element-card-actions{
  position:absolute;
  top:11px;
  left:11px;
  z-index:2;
  display:flex;
  gap:4px;
  opacity:0;
  transition:.15s ease;
}
.svg-element-card:hover .svg-element-card-actions,
.svg-element-card:focus-within .svg-element-card-actions{opacity:1}
.svg-element-card-actions button{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:7px;
  background:rgba(255,255,255,.95);
  color:var(--text);
}
.svg-element-card-actions button:last-child{color:var(--danger,#b42318)}
.svg-shape-menu-label{
  grid-column:1/-1;
  padding:7px 8px 3px;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.svg-shape-menu>div{
  grid-template-columns:repeat(3,minmax(145px,1fr));
  width:min(520px,calc(100vw - 40px));
  max-height:min(620px,calc(100dvh - 160px));
  overflow:auto;
}
.svg-custom-element-editor{display:grid;gap:16px}
.platform-form:has(.svg-custom-element-editor){width:min(1180px,calc(100vw - 34px))}
.svg-custom-element-code{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:16px;
  min-height:360px;
}
.svg-custom-element-code>label{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}
.svg-custom-element-code textarea{
  min-height:340px;
  resize:vertical;
  font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.svg-custom-element-code>div{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:8px;
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--soft);
}
#svgCustomElementPreview{
  min-height:250px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
#svgCustomElementPreview svg{width:100%;height:100%;max-height:310px}
.svg-custom-element-code p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){
  .svg-element-browser-tools{grid-template-columns:minmax(0,1fr) auto}
  .svg-element-browser-tools .svg-element-browser-count{display:none}
  .svg-custom-element-code{grid-template-columns:1fr}
}
.svg-course-insert-preview{
  display:grid;
  grid-template-columns:260px 1fr;
  align-items:center;
  gap:20px;
  margin-bottom:20px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
}
.svg-course-insert-preview>svg{
  width:100%;
  max-height:150px;
}
.svg-course-insert-preview h3{margin:4px 0}
.svg-course-insert-preview p{margin:0;color:var(--muted)}
.ed-svg-studio-picker{
  margin:10px 0;
  padding:12px;
  border:1.5px solid var(--accent-border);
  border-radius:12px;
  background:var(--panel);
}
.ed-svg-studio-picker>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
  font-weight:800;
}
.ed-svg-studio-picker>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:8px;
  max-height:340px;
  overflow:auto;
}
.ed-svg-studio-picker [data-ed-svg-asset]{
  min-width:0;
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
  text-align:left;
}
.ed-svg-studio-picker [data-ed-svg-asset]:hover{
  border-color:var(--accent);
  background:var(--accent-bg);
}
.ed-svg-studio-picker [data-ed-svg-asset]>span{
  display:block;
  aspect-ratio:16/9;
}
.ed-svg-studio-picker svg{width:100%;height:100%}
.ed-svg-studio-picker small{color:var(--muted)}
.shell-week-svg-assets{
  padding:16px 20px;
  border-top:1px solid var(--line);
}
.shell-week-svg-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
  font-weight:800;
}
.shell-week-svg-assets>div:last-child{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:12px;
}
.shell-week-svg-assets figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.shell-week-svg-assets figure>svg{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  padding:9px;
  background:#fff;
}
.shell-week-svg-assets figcaption{
  display:grid;
  gap:3px;
  padding:10px 12px;
}
.shell-week-svg-assets figcaption span,
.shell-week-svg-assets figcaption small{color:var(--muted);font-size:12px}

@media(max-width:1280px){
  .svg-asset-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}
  .svg-studio-help-body{grid-template-columns:1fr}
  .svg-studio-help-body section+section{border-left:0;border-top:1px solid var(--line)}
  .svg-editor-workspace{grid-template-columns:minmax(0,1fr) 400px}
  .svg-shape-menu>div{right:414px}
}
@media(max-width:900px){
  .shell-week-written-sections{grid-template-columns:1fr}
  .svg-studio-page,.svg-studio-editor{width:100%}
  .svg-studio-page{padding:22px 16px 60px}
  .svg-studio-page-head{min-height:auto;align-items:flex-start;flex-direction:column;padding:30px}
  .svg-studio-hero-copy{width:100%}
  .svg-studio-hero-visual{width:100%;min-width:0;height:260px}
  .svg-studio-hero-art{inset:-24px -20px 22px}
  .svg-studio-context{right:0;bottom:0}
  .svg-studio-library-tools{flex-wrap:wrap}
  .svg-studio-search{flex-basis:100%}
  .svg-studio-file-manager{align-items:stretch;flex-direction:column}
  .svg-file-manager-actions{justify-content:flex-start}
  .svg-studio-library-layout{grid-template-columns:1fr}
  .svg-studio-groups{position:static}
  .svg-asset-grid.view-list .svg-asset-card{grid-template-columns:160px minmax(190px,1fr) 200px}
  .svg-editor-topbar{grid-template-columns:auto minmax(180px,1fr) auto}
  .svg-editor-topbar>#svgStudioSaveStatus{display:none}
  .svg-editor-workspace{grid-template-columns:1fr;overflow:auto}
  .svg-editor-workspace .svg-editor-visual{min-height:420px}
  .svg-shape-menu>div{right:14px}
  .svg-editor-sidebar{min-height:520px;border-top:1px solid var(--border);border-left:0}
  .svg-editor-commandbar{padding:8px}
  .svg-element-browser-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .svg-element-category-list{
    display:flex;
    gap:5px;
    padding:7px;
    overflow-x:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .svg-element-category-list button{
    width:auto;
    min-width:max-content;
    grid-template-columns:26px auto auto;
  }
  .svg-element-category-list button+button{margin-top:0}
  .svg-element-category-list button>i{width:26px;height:26px}
  .svg-element-category-list button.active{box-shadow:inset 0 -3px 0 var(--element-accent)}
}
@media(max-width:620px){
  .svg-studio-page-head{padding:24px;border-radius:22px}
  .svg-studio-page-head h1{font-size:52px}
  .svg-studio-page-head p{font-size:15px}
  .svg-studio-hero-visual{height:auto;min-height:88px}
  .svg-studio-hero-art{display:none}
  .svg-studio-context{position:relative;right:auto;bottom:auto;width:100%}
  .svg-studio-results{align-items:flex-start;flex-direction:column}
  .svg-studio-view-switch{width:100%}
  .svg-studio-view-switch button{flex:1}
  .svg-asset-grid{grid-template-columns:1fr}
  .svg-asset-grid.view-compact{grid-template-columns:repeat(2,minmax(135px,1fr))}
  .svg-asset-grid.view-list .svg-asset-card{grid-template-columns:112px minmax(0,1fr)}
  .svg-asset-grid.view-list .svg-asset-preview{min-height:105px}
  .svg-asset-grid.view-list .svg-asset-card-copy{padding:11px 12px}
  .svg-asset-grid.view-list .svg-asset-card-copy p{display:none}
  .svg-asset-grid.view-list .svg-asset-card footer{
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(38px,1fr));
    border-top:1px solid var(--line);
    border-left:0;
  }
  .svg-asset-grid.view-list .svg-asset-card footer button{padding:7px;font-size:0}
  .svg-asset-grid.view-list .svg-asset-card footer button i{font-size:15px}
  .svg-file-manager-actions>*{flex:1 1 calc(50% - 8px)}
  .svg-file-manager-actions>label{flex-basis:100%}
  .svg-file-manager-actions select{width:100%}
  .svg-file-manager-actions .icon-btn{flex:0 0 40px}
  .svg-editor-topbar{grid-template-columns:auto 1fr}
  .svg-editor-topbar>.btn-accent{grid-column:1/-1}
  .svg-course-insert-preview{grid-template-columns:1fr}
  .platform-form:has(.svg-element-browser) .platform-form-body{padding:8px}
  .svg-element-browser-tools{grid-template-columns:1fr}
  .svg-element-browser-count{justify-self:start}
  .svg-element-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}
  .ed-svg-studio-picker>div{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .shell-week-svg-assets>div:last-child{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .svg-hero-node{animation:none}
}
