.nire-community[hidden], .nire-community [hidden] { display:none !important; }
.nire-community { position:absolute;z-index:5;inset:0;pointer-events:none;font:200 var(--portfolio-copy-size)/1.3 var(--portfolio-copy-family);letter-spacing:var(--portfolio-copy-tracking);color:var(--ink); }
.nire-element-editor { position:absolute;inset:var(--portfolio-header-height) 0 0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;background:var(--studio-bg);pointer-events:auto; }
.nire-element-editor button, .nire-element-editor select, .nire-element-placement button { font:inherit;color:inherit;letter-spacing:inherit; }
.nire-element-top { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px var(--edge) 22px; }
.nire-element-top button, .nire-element-tools button, .nire-element-edit-again { border:0;background:none;padding:8px 0; }
.nire-element-tools { display:flex;align-items:center;gap:30px;margin:0 var(--edge);padding:12px 0 20px;border-bottom:1px solid color-mix(in srgb,var(--ink) 23%,transparent);font-size:14px; }
.nire-element-pencil { display:flex;align-items:center;gap:8px; }
.nire-element-pencil svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2; }
.nire-element-tools .nire-element-icon { display:grid;place-items:center;min-width:36px;min-height:36px;padding:8px; }
.nire-element-icon svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round; }
.nire-element-material { display:flex;align-items:center;gap:10px; }
.nire-element-material > span { opacity:.65; }
.nire-element-material select { background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 40%,transparent);border-radius:0;padding:6px 18px 6px 0;font:inherit;max-width:145px; }
.nire-element-material option { background:var(--studio-bg);color:var(--ink); }
.nire-element-color { display:flex;align-items:center;gap:9px;cursor:pointer; }
.nire-element-color input { appearance:none;-webkit-appearance:none;width:30px;height:30px;padding:0;border:0;border-radius:50%;overflow:hidden;cursor:pointer;background:none; }
.nire-element-color input::-webkit-color-swatch-wrapper { padding:0; }
.nire-element-color input::-webkit-color-swatch { border:1px solid #8886;border-radius:50%; }
.nire-element-color input::-moz-color-swatch { border:1px solid #8886;border-radius:50%; }
.nire-element-tool-space { flex:1; }
.nire-element-panes { display:grid;grid-template-columns:1fr 1fr;min-height:0;padding:0 var(--edge); }
.nire-element-pane { min-width:0;min-height:0;position:relative;overflow:hidden; }
.nire-element-pane + .nire-element-pane { border-left:1px solid color-mix(in srgb,var(--ink) 23%,transparent); }
.nire-element-pane h3 { position:absolute;z-index:1;top:20px;left:20px;font:inherit;font-size:13px;letter-spacing:.14em;pointer-events:none; }
.nire-element-pane:first-child h3 { left:0; }
.nire-element-pane canvas { display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none; }
.nire-element-pane canvas:focus-visible { outline:1px solid color-mix(in srgb,var(--ink) 25%,transparent);outline-offset:-5px; }
#nire-element-draw { cursor:crosshair; }
#nire-element-view { cursor:default; }
#nire-element-view[data-triangles]:not([data-triangles="0"]) { cursor:grab; }
#nire-element-view[data-triangles]:not([data-triangles="0"]):active { cursor:grabbing; }
.nire-element-empty { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;text-align:center;font-size:16px;opacity:.46;pointer-events:none; }
.nire-element-orbit { position:absolute;bottom:14px;left:20px;right:20px;text-align:center;font-size:12px;opacity:.6;pointer-events:none; }
.nire-element-footer { display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 var(--edge);padding:22px 0 max(26px,env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--ink) 23%,transparent); }
.nire-element-footer p { font-size:14px;opacity:.68;max-width:420px; }
.nire-element-story { display:grid;grid-template-columns:200px minmax(0,1fr) 52px;align-items:center;gap:22px;margin:0 var(--edge);padding:14px 0;border-top:1px solid color-mix(in srgb,var(--ink) 23%,transparent); }
.nire-element-story label { display:block;margin-bottom:5px;font-size:14px; }
.nire-element-story p, .nire-element-story output { font-size:12px;opacity:.6; }
.nire-element-story textarea { display:block;width:100%;min-width:0;resize:none;border:1px solid color-mix(in srgb,var(--ink) 28%,transparent);border-radius:0;background:transparent;color:var(--ink);padding:10px 12px;font:300 14px/1.4 var(--portfolio-copy-family);letter-spacing:inherit; }
.nire-element-story textarea::placeholder { color:var(--ink);opacity:.4; }
.nire-element-story textarea:focus-visible { outline:1px solid var(--ink);outline-offset:3px; }
.nire-element-size { display:grid;grid-template-columns:1fr auto;gap:8px 16px;min-width:180px;font-size:14px; }
.nire-element-size output { opacity:.65; }
.nire-element-size input { grid-column:1/-1;width:100%;min-height:24px;margin:0;accent-color:var(--ink);cursor:pointer; }
.nire-element-primary { padding:16px 26px;border:1px solid currentColor;background:transparent;min-width:170px;font:inherit;white-space:nowrap; }
.nire-element-primary:hover:not(:disabled) { background:color-mix(in srgb,var(--ink) 6%,transparent); }
.nire-element-placement { position:absolute;inset:0;pointer-events:none; }
#nire-element-placement-surface { position:absolute;inset:var(--portfolio-header-height) 0 0;touch-action:none;pointer-events:auto;cursor:crosshair;outline:none; }
.nire-element-edit-again { position:absolute;top:calc(var(--portfolio-header-height) + 28px);left:var(--edge);pointer-events:auto; }
.nire-element-placement-actions { position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:minmax(200px,300px) minmax(180px,220px) auto;align-items:center;gap:26px;width:max-content;max-width:calc(100% - var(--edge)*2);padding:16px 20px;pointer-events:auto;background:color-mix(in srgb,var(--studio-bg) 85%,transparent);backdrop-filter:blur(15px); }
.nire-element-placement-actions p { min-width:0; }
.nire-community-fact { white-space:pre-wrap;overflow-wrap:anywhere; }
.nire-element-message { position:absolute;z-index:2;left:50%;bottom:112px;transform:translateX(-50%);padding:14px 20px;max-width:min(480px,85%);width:max-content;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);background:var(--studio-bg);text-align:center;font-size:14px;pointer-events:none; }
body:is(.nire-element-editor-open,.nire-element-placing) :is(.nire-heading,.nire-intro-content,.nire-start,.nire-tree-rotation,.nire-detail,.nire-bottom) { visibility:hidden; }
body.nire-element-editor-open :is(.nire-scene,#nire-background-toggle) { visibility:hidden; }
body.nire-element-editor-open .nire-header { text-shadow:none; }
.nire-header { z-index:8; }
.nire-element-placing #nire-background-toggle { z-index:7; }
@media(max-width:700px) {
  .nire-element-top { padding-top:20px;padding-bottom:14px;font-size:13px;gap:12px; }
  .nire-element-tools { gap:18px;font-size:12px;padding-bottom:12px;flex-wrap:wrap;row-gap:4px; }
  .nire-element-material { gap:6px; }
  .nire-element-material > span { display:none; }
  .nire-element-tool-space { display:none; }
  .nire-element-tools button[data-action="undo"] { margin-left:auto; }
  .nire-element-tools .nire-element-icon { min-width:40px;min-height:40px; }
  .nire-element-color > span { display:none; }
  .nire-element-color input { width:26px;height:26px; }
  .nire-element-panes { grid-template-columns:1fr;grid-template-rows:1fr 1fr; }
  .nire-element-pane + .nire-element-pane { border-left:0;border-top:1px solid color-mix(in srgb,var(--ink) 23%,transparent); }
  .nire-element-pane h3, .nire-element-pane + .nire-element-pane h3 { top:12px;left:0;font-size:11px; }
  .nire-element-empty { font-size:14px; }
  .nire-element-orbit { bottom:8px;font-size:11px; }
  .nire-element-footer { padding-top:14px;padding-bottom:max(18px,env(safe-area-inset-bottom));gap:14px; }
  .nire-element-footer p { max-width:140px;font-size:12px; }
  .nire-element-story { grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 var(--edge);padding:10px 0; }
  .nire-element-story > div { grid-column:1;display:flex;align-items:baseline;gap:10px; }
  .nire-element-story label { font-size:12px;margin:0; }
  .nire-element-story p { font-size:10px; }
  .nire-element-story output { grid-column:2;grid-row:1;font-size:10px; }
  .nire-element-story textarea { grid-column:1/-1;font-size:16px;padding:7px 9px; }
  .nire-element-primary { padding:13px 16px;min-width:0;font-size:13px; }
  .nire-element-placement-actions { width:calc(100% - var(--edge)*2);grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;padding:14px;bottom:max(20px,env(safe-area-inset-bottom)); }
  .nire-element-placement-actions p { grid-column:1/-1;font-size:13px; }
  .nire-element-size { min-width:0;font-size:13px;gap:4px 10px; }
  .nire-element-edit-again { top:calc(var(--portfolio-header-height) + 18px);font-size:14px; }
}
@media(max-height:570px) and (min-width:701px) {
  .nire-element-top { padding-top:10px;padding-bottom:8px; }
  .nire-element-tools { padding-top:4px;padding-bottom:8px; }
  .nire-element-footer { padding:12px 0; }
}
