@thenamespace/ens-components 2.0.0-alpha → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/styles.js +3 -3
- package/package.json +2 -2
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["fonts.css","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/_containers.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_container.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/_grid.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_grid.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_utilities.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/utilities/_api.scss","tokens.css","utils.css","Button.css","Input.css","Textarea.css","Text.css","Icon.css","ChainIcon.css","Tooltip.css","Card.css","ShurikenSpinner.css","Tag.css","Dropdown.css","Alert.css","Modal.css","ProfileHeader.css","Accordion.css","ConnectAndSetChain.css","ProgressBar.css","DurationPicker.css","PricingDisplay.css","SelectRecordsForm.css","ImageRecords.css","ImageUploadModal.css","ENSNamesRegistrarComponent.css","RegistrationSummary.css","RegistrationProcess.css","Timer.css","SuccessScreen.css","EnsRecordsForm.css","EnsUpdateRecordsForm.css","RecordUpdateSummary.css","RecordUpdateProgress.css","SubnameMintForm.css","OffchainSubnameForm.css","global.css"],"names":[],"mappings":"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","file":"index.css","sourcesContent":["/* Design system typefaces: DM Sans (body) + DM Mono (names, numbers, fees, dates).\n Shared by both style entry points (styles/index.css and src/styles.ts) so the\n extracted CSS bundle and the JS-injected bundle stay identical. */\n@import url(\"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=DM+Mono:wght@400;500&display=swap\");\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n","/* =========================================================================\n Design tokens — @thenamespace/ens-components\n -------------------------------------------------------------------------\n Ported from the design system token set (tokens/*.css).\n The design's VALUES are law; the NAMES are namespaced.\n\n RULE: this library must never ship an unprefixed custom property.\n Every token below is `--ns-*`. The design's generic names\n (--bg, --surface, --text, --border, --radius, --space-*) would collide\n with host pages, which define their own. Do not add unprefixed names here\n or anywhere else in the library.\n\n The system is square (radius 0) and shadowless: elevation is a hairline,\n never a shadow.\n ========================================================================= */\n\n:root {\n /* ---- fonts (replaces Satoshi) ---------------------------------------- */\n --ns-font-family: \"DM Sans\", system-ui, sans-serif;\n --ns-font-mono: \"DM Mono\", ui-monospace, monospace;\n\n /* ---- ground ---------------------------------------------------------- */\n --ns-canvas: #e9e4dc;\n --ns-bg: #fbfaf9;\n --ns-surface: #ffffff;\n --ns-surface-2: #fcfbfa;\n --ns-surface-3: #f5f3ef;\n --ns-surface-4: #f2efea;\n\n /* ---- ink ------------------------------------------------------------- */\n --ns-text: #1b1d1e;\n --ns-text-2: #4a4741;\n --ns-text-3: #6b665e;\n --ns-text-muted: #8a857c;\n --ns-text-faint: #9a958d;\n --ns-text-faintest: #b9b4ab;\n\n /* ---- lines ----------------------------------------------------------- */\n --ns-border: #f0ede8;\n --ns-border-strong: #dfdad2;\n --ns-border-frame: #dad4cb;\n --ns-rule: #f5f3ef;\n\n /* ---- blue — the one accent ------------------------------------------- */\n --ns-blue-100: #e6f1fa;\n --ns-blue-300: #6eb6e8;\n --ns-blue-500: #2e8fd0;\n --ns-blue-600: #0f6fa8;\n --ns-blue-700: #0a5480;\n --ns-name-ink: #12324a;\n\n /* ---- amber — expiry / grace / warning / validation errors ------------ */\n --ns-amber-100: #fdf9ec;\n --ns-amber-200: #fbf2de;\n --ns-amber-300: #f6edd6;\n --ns-amber-400: #e7c77a;\n --ns-amber-500: #d98b1b;\n --ns-amber-600: #b4620b;\n --ns-amber-700: #8a4a05;\n\n /* ---- pink — legacy / upgrade ----------------------------------------- */\n --ns-pink-100: #fdeef6;\n --ns-pink-300: #f0a6cb;\n --ns-pink-600: #c22b7a;\n --ns-pink-700: #8c1152;\n\n /* ---- status ---------------------------------------------------------- */\n --ns-ok: #5e8a6c;\n --ns-dot-ok: #7fa98b;\n --ns-dot-soon: var(--ns-amber-500);\n --ns-dot-bad: #c2410c;\n\n /* ---- semantic -------------------------------------------------------- */\n --ns-text-link: var(--ns-blue-600);\n --ns-text-link-hover: var(--ns-blue-700);\n --ns-focus-ring: var(--ns-blue-500);\n --ns-selection: #d6eaf8;\n\n /* ---- spacing --------------------------------------------------------- */\n --ns-space-1: 2px;\n --ns-space-2: 4px;\n --ns-space-3: 6px;\n --ns-space-4: 8px;\n --ns-space-5: 10px;\n --ns-space-6: 12px;\n --ns-space-7: 14px;\n --ns-space-8: 16px;\n --ns-space-9: 18px;\n --ns-space-10: 20px;\n --ns-space-12: 22px;\n --ns-space-14: 26px;\n --ns-space-16: 32px;\n --ns-space-20: 48px;\n --ns-space-24: 56px;\n\n /* ---- control heights ------------------------------------------------- */\n --ns-control-sm: 30px;\n --ns-control-md: 34px;\n --ns-control: 38px;\n --ns-control-lg: 40px;\n --ns-control-xl: 44px;\n\n /* ---- layout / avatar sizes (design extras, prefixed & harmless) ------- */\n --ns-page-max: 1160px;\n --ns-screen-width: 1280px;\n --ns-avatar-sm: 26px;\n --ns-avatar-row: 34px;\n --ns-avatar-lg: 120px;\n\n /* ---- type scale ------------------------------------------------------ */\n --ns-size-name-xl: 40px;\n --ns-size-name-lg: 34px;\n --ns-size-h2: 24px;\n --ns-size-h3: 18px;\n --ns-size-h4: 16px;\n --ns-size-body: 14px;\n --ns-size-body-sm: 13.5px;\n --ns-size-meta: 13px;\n --ns-size-mono-row: 14.5px;\n --ns-size-label: 11.5px;\n --ns-size-micro: 11px;\n\n --ns-weight-regular: 400;\n --ns-weight-medium: 500;\n --ns-weight-bold: 700;\n\n --ns-leading-tight: 1.2;\n --ns-leading-body: 1.55;\n --ns-leading-prose: 1.6;\n\n --ns-track-name: -0.03em;\n --ns-track-heading: -0.02em;\n --ns-track-label: 0.07em;\n --ns-track-caps: 0.1em;\n\n /* ---- borders — the system is square; there is no radius scale -------- */\n --ns-radius: 0;\n --ns-hairline: 1px solid var(--ns-border);\n --ns-hairline-strong: 1px solid var(--ns-border-strong);\n --ns-rule-line: 1px solid var(--ns-rule);\n /* no shadow tokens: elevation is a hairline, never a shadow */\n}\n","/* Text alignment */\n.ns-text-center {\n text-align: center;\n}\n\n.ns-text-left {\n text-align: left;\n}\n\n.ns-text-right {\n text-align: right;\n}\n\n.ns-me-1 {\n margin-right: 5px;\n}\n\n.ns-ms-1 {\n margin-left: 5px;\n}\n\n.ns-mt-1 {\n margin-top: 5px;\n}\n\n.ns-mb-1 {\n margin-bottom: 5px;\n}\n\n.ns-me-2 {\n margin-right: 10px;\n}\n\n.ns-ms-2 {\n margin-left: 10px;\n}\n\n.ns-mt-2 {\n margin-top: 10px;\n}\n\n.ns-mb-2 {\n margin-bottom: 10px;\n}\n\n.ns-me-3 {\n margin-right: 15px;\n}\n\n.ns-ms-3 {\n margin-left: 15px;\n}\n\n.ns-mt-3 {\n margin-top: 15px;\n}\n\n.ns-mb-3 {\n margin-bottom: 15px;\n}\n\n.ns-wd-100 {\n width: 100%;\n}\n\n/* Card container - reusable container with white bg, hairline border, padding */\n.ns-card-container {\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n box-shadow: none;\n padding: var(--ns-space-10);\n}\n\n/* ---- Design-system typography utilities ---------------------------------\n Composable classes for feature CSS. No component API changes.\n ------------------------------------------------------------------------ */\n\n/* Mono — names, addresses, hashes, amounts, dates */\n.ns-mono {\n font-family: var(--ns-font-mono);\n}\n\n/* Uppercase micro-label — the label above a field, a group, a stat.\n Uppercase belongs to micro-labels only, never to buttons. */\n.ns-field-label {\n display: block;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* Name row — an ENS name rendered inline, in mono ink */\n.ns-name-row {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-mono-row);\n font-weight: var(--ns-weight-regular);\n letter-spacing: 0;\n color: var(--ns-name-ink);\n}\n\n/* Status dot — 7x7 square, never a circle */\n.ns-dot {\n display: inline-block;\n width: 7px;\n height: 7px;\n flex: none;\n border-radius: 0;\n background: var(--ns-text-faintest);\n}\n\n.ns-dot--ok {\n background: var(--ns-dot-ok);\n}\n\n.ns-dot--soon {\n background: var(--ns-dot-soon);\n}\n\n.ns-dot--bad {\n background: var(--ns-dot-bad);\n}\n/* ---- name availability status line ------------------------------------\n A 7px status dot plus a micro label, centred under a name field. Shared by\n the registration, subname-mint and offchain-subname inputs so all three\n states (available / taken / reserved / too-short) read identically\n (design flows lines 203-207). */\n.ns-name-status {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-5);\n min-height: 18px;\n margin-top: var(--ns-space-4);\n}\n\n.ns-name-status__text {\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n","/* =========================================================================\n Button — the design's `.btn` family, square and hairline.\n -------------------------------------------------------------------------\n Heights, not paddings. No radius, no shadow, no transform on :active.\n Labels are NOT uppercased: the design types its caps into the label text.\n Uppercase belongs to micro-labels (`.ns-field-label`) only.\n\n Variant map (props frozen):\n solid -> .btn-primary\n outline -> .btn-outline\n ghost -> .btn-ghost\n destructive -> .btn-pink shape, toned with --ns-dot-bad\n ========================================================================= */\n\n.ns-btn {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-text);\n --ns-btn-border: var(--ns-border-strong);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-4);\n\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-tight);\n letter-spacing: 0.02em;\n\n background-color: var(--ns-btn-bg);\n color: var(--ns-btn-fg);\n border: 1px solid var(--ns-btn-border);\n border-radius: 0;\n\n cursor: pointer;\n transition:\n background-color 120ms ease,\n color 120ms ease,\n border-color 120ms ease,\n opacity 120ms ease;\n}\n\n.ns-btn:hover:not(:disabled) {\n border-color: var(--ns-text-faint);\n}\n\n.ns-btn:active:not(:disabled) {\n background-color: var(--ns-surface-3);\n}\n\n.ns-btn:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n.ns-btn:disabled {\n opacity: 0.45;\n cursor: default;\n}\n\n/* ---- sizes: heights from the control scale ----------------------------- */\n.ns-btn--sm {\n height: var(--ns-control-sm);\n padding: 0 var(--ns-space-6);\n font-size: var(--ns-size-meta);\n}\n.ns-btn--md {\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n font-size: var(--ns-size-body-sm);\n}\n.ns-btn--lg {\n height: var(--ns-control-xl);\n padding: 0 var(--ns-space-12);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-bold);\n}\n\n/* Touch targets never drop below 40px on touch devices (plan §5.4). */\n@media (pointer: coarse) {\n .ns-btn--sm {\n height: var(--ns-control-lg);\n }\n}\n\n/* ---- variants ---------------------------------------------------------- */\n.ns-btn--solid {\n --ns-btn-bg: var(--ns-blue-600);\n --ns-btn-fg: var(--ns-color-primary-contrast);\n --ns-btn-border: var(--ns-blue-600);\n}\n.ns-btn--solid:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-blue-700);\n --ns-btn-border: var(--ns-blue-700);\n}\n.ns-btn--solid:active:not(:disabled) {\n background-color: var(--ns-blue-700);\n}\n\n.ns-btn--outline {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-blue-600);\n --ns-btn-border: var(--ns-blue-500);\n}\n.ns-btn--outline:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-blue-100);\n --ns-btn-fg: var(--ns-blue-700);\n --ns-btn-border: var(--ns-blue-500);\n}\n\n.ns-btn--ghost {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-text-3);\n --ns-btn-border: transparent;\n}\n.ns-btn--ghost:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-surface-3);\n --ns-btn-fg: var(--ns-text);\n --ns-btn-border: transparent;\n}\n\n/* The design has no destructive tone; keep it minimal-square in the\n hard-failure red (--ns-dot-bad), shaped like .btn-pink. */\n.ns-btn--destructive {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-dot-bad);\n --ns-btn-border: var(--ns-dot-bad);\n}\n.ns-btn--destructive:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-alert-error-bg);\n --ns-btn-fg: var(--ns-alert-error-text);\n --ns-btn-border: var(--ns-alert-error-border);\n}\n\n/* ---- loading ----------------------------------------------------------- */\n.ns-btn--loading .ns-btn__label {\n opacity: 0.85;\n}\n\n/* Square spinner: 2px currentColor ring with one side dropped\n (design script lines 571-577 — no radius, motion only). */\n.ns-btn__spinner {\n width: 1em;\n height: 1em;\n flex: none;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 0;\n animation: ui-spin 700ms linear infinite;\n}\n\n/* ---- prefix ------------------------------------------------------------ */\n.ns-btn__prefix {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.ns-btn__prefix svg {\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n}\n\n.ns-btn__prefix + .ns-btn__label {\n margin-left: var(--ns-space-2);\n}\n\n/* Icon-only button: keep it square. */\n.ns-btn:has(.ns-btn__prefix):not(:has(.ns-btn__label)) {\n padding-left: var(--ns-space-4);\n padding-right: var(--ns-space-4);\n}\n\n.ns-btn--sm .ns-btn__prefix svg {\n width: 0.875em;\n height: 0.875em;\n}\n\n.ns-btn--lg .ns-btn__prefix svg {\n width: 1.125em;\n height: 1.125em;\n}\n\n/* =========================================================================\n .ns-icon-btn — the design's `.icon-btn` as a utility class.\n No component: applied by markup that already renders square icon buttons\n (record remove ✕, modal close, +/- steppers, avatar/header \"+\").\n 40px, not 38px: touch targets stay >= 40px (plan §5.4).\n ========================================================================= */\n.ns-icon-btn {\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n flex: none;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n color: var(--ns-text-3);\n cursor: pointer;\n transition:\n border-color 120ms ease,\n color 120ms ease,\n background-color 120ms ease;\n}\n\n.ns-icon-btn:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n color: var(--ns-text);\n}\n\n.ns-icon-btn:active:not(:disabled) {\n background: var(--ns-surface-3);\n}\n\n.ns-icon-btn:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n.ns-icon-btn:disabled {\n opacity: 0.45;\n cursor: default;\n}\n\n.ns-icon-btn svg {\n display: block;\n}\n\n@keyframes ui-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n","/* =========================================================================\n Input — the design's `.input`: square, hairline, no focus ring shadow.\n Validation is amber (the design has no red field state).\n ========================================================================= */\n\n.ns-input__wrapper {\n position: relative;\n display: block;\n width: 100%;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ns-input {\n width: 100%;\n height: var(--ns-control-lg);\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n color: var(--ns-text);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n transition: border-color 150ms ease;\n outline: none;\n padding: 0 var(--ns-space-6);\n box-sizing: border-box;\n}\n\n.ns-input:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n}\n\n/* Focus is a border, never a ring. */\n.ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-input:disabled {\n background: var(--ns-surface-3);\n color: var(--ns-text-faint);\n cursor: not-allowed;\n}\n\n/* Validation — amber, per the design (flows lines 603-620). */\n.ns-input--error,\n.ns-input--error:hover,\n.ns-input--error:focus {\n border-color: var(--ns-amber-600);\n}\n\n/* ---- sizes: heights from the control scale ----------------------------- */\n.ns-input--sm {\n height: var(--ns-control-sm);\n font-size: var(--ns-size-meta);\n}\n\n.ns-input--md {\n height: var(--ns-control);\n font-size: var(--ns-size-body);\n}\n\n/* lg is the hero name-input height (flows line 198) */\n.ns-input--lg {\n height: 48px;\n font-size: var(--ns-size-h4);\n}\n\n/* Touch targets never drop below 40px on touch devices (plan §5.4). */\n@media (pointer: coarse) {\n .ns-input--sm,\n .ns-input--md {\n height: var(--ns-control-lg);\n }\n}\n\n/* ---- prefix / suffix: plain text, no boxes ----------------------------- */\n.ns-input__prefix,\n.ns-input__suffix {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n border-radius: 0;\n color: var(--ns-text-faint);\n font-size: var(--ns-size-meta);\n pointer-events: none;\n z-index: 1;\n}\n\n/* Affix insets follow the design's search field: the icon sits 14px in, and\n the text clears it by a further gap so the two never crowd each other\n (design `_ds_bundle.css`: `.search-icon { left: var(--space-7) }`,\n `.search .input { padding-left: 38px }`). */\n.ns-input__prefix {\n left: var(--ns-space-7);\n}\n\n.ns-input__suffix {\n right: var(--ns-space-7);\n}\n\n/* 14px inset + ~18px icon + 6px breathing room */\n.ns-input__wrapper:has(.ns-input__prefix) .ns-input {\n padding-left: calc(var(--ns-space-7) + 18px + var(--ns-space-3));\n}\n\n.ns-input__wrapper:has(.ns-input__suffix) .ns-input {\n padding-right: calc(var(--ns-space-7) + 18px + var(--ns-space-3));\n}\n\n/* ---- placeholder ------------------------------------------------------- */\n.ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n\n/* Number input spinner removal */\n.ns-input[type=\"number\"]::-webkit-outer-spin-button,\n.ns-input[type=\"number\"]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n","/* =========================================================================\n Textarea — `.input` treatment, multiline: square, hairline, amber errors.\n ========================================================================= */\n\n.ns-textarea__wrapper {\n position: relative;\n display: block;\n width: 100%;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ns-textarea {\n width: 100%;\n min-height: var(--ns-control);\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n color: var(--ns-text);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n line-height: var(--ns-leading-body);\n transition: border-color 150ms ease;\n outline: none;\n padding: var(--ns-space-5) var(--ns-space-6);\n box-sizing: border-box;\n resize: vertical;\n}\n\n.ns-textarea:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n}\n\n/* Focus is a border, never a ring. */\n.ns-textarea:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-textarea:disabled {\n background: var(--ns-surface-3);\n color: var(--ns-text-faint);\n cursor: not-allowed;\n}\n\n/* Validation — amber, per the design. */\n.ns-textarea--error,\n.ns-textarea--error:hover,\n.ns-textarea--error:focus {\n border-color: var(--ns-amber-600);\n}\n\n/* ---- sizes ------------------------------------------------------------- */\n.ns-textarea--sm {\n min-height: var(--ns-control-lg);\n font-size: var(--ns-size-meta);\n}\n\n.ns-textarea--md {\n min-height: 60px;\n font-size: var(--ns-size-body);\n}\n\n.ns-textarea--lg {\n min-height: 90px;\n font-size: var(--ns-size-h4);\n}\n\n/* ---- prefix / suffix: plain text, no boxes ----------------------------- */\n.ns-textarea__prefix,\n.ns-textarea__suffix {\n position: absolute;\n display: flex;\n align-items: flex-start;\n background: transparent;\n border: none;\n border-radius: 0;\n color: var(--ns-text-faint);\n font-size: var(--ns-size-meta);\n pointer-events: none;\n z-index: 1;\n}\n\n.ns-textarea__prefix {\n left: var(--ns-space-5);\n top: var(--ns-space-5);\n}\n\n.ns-textarea__suffix {\n right: var(--ns-space-5);\n top: var(--ns-space-5);\n}\n\n.ns-textarea__wrapper:has(.ns-textarea__prefix) .ns-textarea {\n padding-left: var(--ns-space-16);\n}\n\n.ns-textarea__wrapper:has(.ns-textarea__suffix) .ns-textarea {\n padding-right: var(--ns-space-16);\n}\n\n/* ---- placeholder ------------------------------------------------------- */\n.ns-textarea::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n","/* =========================================================================\n Text — the design's type scale. Sizes come from the token scale, never\n from rem guesses. Props are frozen; the `.ns-text--mono` / `.ns-text--label`\n utilities exist for feature CSS to compose onto existing markup.\n ========================================================================= */\n\n.ns-text {\n font-family: var(--ns-font-family);\n line-height: var(--ns-leading-body);\n padding: 0;\n}\n\n/* ---- size variants ----------------------------------------------------- */\n.ns-text--xs {\n font-size: var(--ns-size-micro);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--sm {\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--md {\n font-size: var(--ns-size-body);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--lg {\n font-size: var(--ns-size-h4);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-heading);\n}\n\n.ns-text--xl {\n font-size: var(--ns-size-h3);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-heading);\n}\n\n/* ---- weight variants --------------------------------------------------- */\n.ns-text--light {\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-text--regular {\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-text--medium {\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-text--bold {\n font-weight: var(--ns-weight-bold);\n}\n\n/* ---- colour variants --------------------------------------------------- */\n/* `primary` is the primary INK, not the accent (it was #1f1f1f before the\n refresh; --ns-color-primary is now the blue accent, which would turn every\n default <Text> blue). */\n.ns-text--primary {\n color: var(--ns-text);\n}\n\n.ns-text--white {\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-text--grey {\n color: var(--ns-text-3);\n}\n\n/* Field-level validation is amber; the red of --ns-dot-bad is reserved for\n hard failures surfaced through Alert. */\n.ns-text--danger {\n color: var(--ns-amber-700);\n}\n\n/* ---- composable utilities (no prop changes) ---------------------------- */\n.ns-text--mono {\n font-family: var(--ns-font-mono);\n}\n\n.ns-text--label {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n line-height: var(--ns-leading-tight);\n color: var(--ns-text-faint);\n}\n",".ns-icon {\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n}\n",".ns-chain-icon {\n display: inline-block;\n vertical-align: middle;\n}\n\n.ns-chain-icon svg {\n display: block;\n}\n","/* =========================================================================\n Tooltip — minimal square ink chip. No radius, no shadow, no scale.\n The arrow is positional, not decorative, so it stays (recoloured).\n ========================================================================= */\n\n.ns-tooltip-trigger {\n display: inline-block;\n position: relative;\n width: 100%;\n}\n\n.ns-tooltip {\n position: fixed;\n z-index: 9999;\n pointer-events: none;\n animation: tooltip-fade-in 0.15s ease-out;\n max-width: 90vw;\n word-wrap: break-word;\n}\n\n.ns-tooltip__content {\n background: var(--ns-text);\n color: var(--ns-surface);\n padding: var(--ns-space-3) var(--ns-space-5);\n border: none;\n border-radius: 0;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-body);\n max-width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n.ns-tooltip__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border: 6px solid transparent;\n}\n\n/* Arrow positioning for different tooltip positions */\n.ns-tooltip--top .ns-tooltip__arrow {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--bottom .ns-tooltip__arrow {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n.ns-tooltip--left .ns-tooltip__arrow {\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-left-color: var(--ns-text);\n border-right: none;\n}\n\n.ns-tooltip--right .ns-tooltip__arrow {\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-right-color: var(--ns-text);\n border-left: none;\n}\n\n.ns-tooltip--top-start .ns-tooltip__arrow {\n top: 100%;\n left: var(--ns-space-8);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--top-end .ns-tooltip__arrow {\n top: 100%;\n right: var(--ns-space-8);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--bottom-start .ns-tooltip__arrow {\n bottom: 100%;\n left: var(--ns-space-8);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n.ns-tooltip--bottom-end .ns-tooltip__arrow {\n bottom: 100%;\n right: var(--ns-space-8);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n/* Opacity-only fade: no scale, no travel. */\n@keyframes tooltip-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* ---- light variant — a surface held by a hairline ---------------------- */\n.ns-tooltip--light .ns-tooltip__content {\n background: var(--ns-surface);\n color: var(--ns-text);\n border: 1px solid var(--ns-border-strong);\n}\n\n.ns-tooltip--light.ns-tooltip--top .ns-tooltip__arrow {\n border-top-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--bottom .ns-tooltip__arrow {\n border-bottom-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--light.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--light.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-surface);\n}\n\n/* ---- tone variants ----------------------------------------------------- */\n.ns-tooltip--success .ns-tooltip__content {\n background: var(--ns-ok);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--success.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-ok);\n}\n\n.ns-tooltip--error .ns-tooltip__content {\n background: var(--ns-dot-bad);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--error.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--warning .ns-tooltip__content {\n background: var(--ns-amber-600);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--warning.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--info .ns-tooltip__content {\n background: var(--ns-blue-600);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--info.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-blue-600);\n}\n\n/* ---- dark theme (legacy, unrefreshed) ---------------------------------- */\n[data-theme=\"dark\"] .ns-tooltip__content {\n background: var(--ns-color-fg);\n color: var(--ns-color-bg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--top .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--top-start .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--bottom .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--bottom-start .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-color-fg);\n}\n\n/* ---- responsive -------------------------------------------------------- */\n@media (max-width: 480px) {\n .ns-tooltip__content {\n font-size: var(--ns-size-micro);\n padding: var(--ns-space-2) var(--ns-space-4);\n max-width: 250px;\n }\n\n .ns-tooltip__arrow {\n border-width: 5px;\n }\n}\n","/* =========================================================================\n Card — the design's `.card`: a surface held by a hairline.\n Elevation is a hairline, never a shadow.\n ========================================================================= */\n\n.card {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n padding: var(--ns-space-12);\n overflow: hidden;\n}\n\n.ns-card {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n}\n",".shuriken-spinner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.shuriken-spinner__image {\n animation: shuriken-spin 0.8s linear infinite;\n}\n\n@keyframes shuriken-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n","/* =========================================================================\n Tag — the design's `.tag`: status, never decoration.\n Uppercase micro-label type, square, no radius, no shadow.\n ========================================================================= */\n\n.ns-tag {\n display: inline-flex;\n align-items: center;\n gap: var(--ns-space-3);\n\n padding: var(--ns-space-2) var(--ns-space-5);\n\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n white-space: nowrap;\n\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0;\n color: var(--ns-text-3);\n}\n\n.ns-tag--outline {\n color: var(--ns-text-3);\n border-color: var(--ns-border);\n}\n\n.ns-tag--blue {\n color: var(--ns-blue-600);\n background: var(--ns-blue-100);\n}\n\n.ns-tag--amber {\n color: var(--ns-amber-600);\n background: var(--ns-amber-200);\n}\n\n.ns-tag--pink {\n color: var(--ns-pink-600);\n background: var(--ns-pink-100);\n}\n","/* =========================================================================\n Dropdown — a flat menu. Square, hairline, shadowless.\n The menu fuses with its trigger: a -1px offset collapses the two hairlines\n into one shared line (design lines 52–55).\n ========================================================================= */\n\n.ns-dropdown {\n position: relative;\n display: inline-block;\n}\n\n.ns-dropdown__trigger {\n cursor: pointer;\n user-select: none;\n}\n\n.ns-dropdown__trigger:focus-visible {\n outline: 2px solid var(--ns-focus-ring);\n outline-offset: 2px;\n}\n\n.ns-dropdown__menu {\n position: absolute;\n z-index: 1000;\n\n width: max-content;\n /* never wider than the viewport — menus stay usable inside ~330px modals */\n max-width: calc(100vw - 20px);\n\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n /* opacity-only fade: no scale, no translate — and nothing that would\n clobber the translateX(-50%) of the centre alignment */\n animation: ns-dropdown-fade-in 150ms ease;\n box-sizing: border-box;\n}\n\n/* Alignment */\n.ns-dropdown--align-start {\n left: 0;\n right: auto;\n}\n.ns-dropdown--align-center {\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n}\n.ns-dropdown--align-end {\n right: 0;\n left: auto;\n}\n\n/* Placement variants — the -1px fuses the menu's hairline with the trigger's */\n.ns-dropdown--bottom {\n top: 100%;\n margin-top: -1px;\n}\n\n.ns-dropdown--top {\n bottom: 100%;\n margin-bottom: -1px;\n}\n\n.ns-dropdown--left {\n right: 100%;\n margin-right: -1px;\n}\n\n.ns-dropdown--right {\n left: 100%;\n margin-left: -1px;\n}\n\n/* Item styling is owned by the feature CSS that renders the menu contents\n (e.g. ImageRecords) so that arbitrary children — Button atoms included —\n are not clobbered here. */\n\n@keyframes ns-dropdown-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","/* =========================================================================\n Alert — the design's `.banner`\n -------------------------------------------------------------------------\n Square, hairline, shadowless. The signature is the 3px accent rail on the\n left edge; the other three sides are the tone's hairline.\n Tone values arrive from the `--ns-alert-*` aliases (styles/global.css).\n ========================================================================= */\n\n.ns-alert {\n display: flex;\n align-items: flex-start;\n padding: var(--ns-space-6) var(--ns-space-8);\n border-radius: 0;\n border: 1px solid transparent;\n /* the accent rail — variants recolour it via border-left-color */\n border-left-width: 3px;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n line-height: var(--ns-leading-body);\n margin: var(--ns-space-4) 0;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ns-alert-content {\n display: flex;\n align-items: flex-start;\n width: 100%;\n gap: var(--ns-space-6);\n}\n\n.ns-alert-content-vertical {\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--ns-space-8);\n}\n\n.ns-alert-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-top: var(--ns-space-1);\n}\n\n.ns-alert-icon-vertical {\n margin-top: 0;\n}\n\n.ns-alert-message {\n flex: 1;\n min-width: 0;\n}\n\n.ns-alert-title {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n letter-spacing: var(--ns-track-heading);\n line-height: var(--ns-leading-tight);\n margin-bottom: var(--ns-space-2);\n}\n\n.ns-alert-description {\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n opacity: 0.9;\n}\n\n.ns-alert-close {\n background: none;\n border: none;\n border-radius: 0;\n cursor: pointer;\n padding: var(--ns-space-2);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-top: var(--ns-space-1);\n color: inherit;\n transition: background-color 0.15s ease;\n}\n\n/* ---- Error — reserved for hard transaction failures --------------------- */\n.ns-alert-error {\n background-color: var(--ns-alert-error-bg);\n border-color: var(--ns-alert-error-border);\n border-left-color: var(--ns-alert-error-icon);\n color: var(--ns-alert-error-text);\n}\n\n.ns-alert-error .ns-alert-icon {\n color: var(--ns-alert-error-icon);\n}\n\n.ns-alert-error .ns-alert-title,\n.ns-alert-error .ns-alert-close {\n color: var(--ns-alert-error-text);\n}\n\n.ns-alert-error .ns-alert-close:hover {\n background-color: var(--ns-alert-error-close-hover);\n}\n\n/* ---- Warning — also the tone for field validation ----------------------- */\n.ns-alert-warning {\n background-color: var(--ns-alert-warning-bg);\n border-color: var(--ns-alert-warning-border);\n border-left-color: var(--ns-alert-warning-icon);\n color: var(--ns-alert-warning-text);\n}\n\n.ns-alert-warning .ns-alert-icon {\n color: var(--ns-alert-warning-icon);\n}\n\n.ns-alert-warning .ns-alert-title,\n.ns-alert-warning .ns-alert-close {\n color: var(--ns-alert-warning-text);\n}\n\n.ns-alert-warning .ns-alert-close:hover {\n background-color: var(--ns-alert-warning-close-hover);\n}\n\n/* ---- Info -------------------------------------------------------------- */\n.ns-alert-info {\n background-color: var(--ns-alert-info-bg);\n border-color: var(--ns-alert-info-border);\n border-left-color: var(--ns-alert-info-icon);\n color: var(--ns-alert-info-text);\n}\n\n.ns-alert-info .ns-alert-icon {\n color: var(--ns-alert-info-icon);\n}\n\n.ns-alert-info .ns-alert-title,\n.ns-alert-info .ns-alert-close {\n color: var(--ns-alert-info-text);\n}\n\n.ns-alert-info .ns-alert-close:hover {\n background-color: var(--ns-alert-info-close-hover);\n}\n\n/* ---- Success ----------------------------------------------------------- */\n.ns-alert-success {\n background-color: var(--ns-alert-success-bg);\n border-color: var(--ns-alert-success-border);\n border-left-color: var(--ns-alert-success-icon);\n color: var(--ns-alert-success-text);\n}\n\n.ns-alert-success .ns-alert-icon {\n color: var(--ns-alert-success-icon);\n}\n\n.ns-alert-success .ns-alert-title,\n.ns-alert-success .ns-alert-close {\n color: var(--ns-alert-success-text);\n}\n\n.ns-alert-success .ns-alert-close:hover {\n background-color: var(--ns-alert-success-close-hover);\n}\n\n/* ---- Narrow containers (production renders these in ~330px modals) ----- */\n@media (max-width: 640px) {\n .ns-alert {\n padding: var(--ns-space-5) var(--ns-space-6);\n font-size: var(--ns-size-meta);\n }\n\n .ns-alert-content {\n gap: var(--ns-space-5);\n }\n\n .ns-alert-icon {\n margin-top: 0;\n }\n}\n","/* =========================================================================\n Modal — overlay panel. Square, hairline, shadowless.\n Elevation used to come from `--ns-shadow`; it now comes from the\n `--ns-border-strong` hairline, which is what separates the panel from the\n page. The backdrop stays dim so the panel reads as lifted.\n ========================================================================= */\n\n.ns-modal-overlay {\n position: fixed;\n inset: 0;\n /* Fallback for engines without color-mix(); this is the design's literal\n backdrop value (ink at 45%). */\n background: rgba(27, 29, 30, 0.45);\n background: var(\n --ns-modal-overlay,\n color-mix(in srgb, var(--ns-text) 45%, transparent)\n );\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n padding: 0px;\n}\n\n.ns-modal-overlay--drawer {\n align-items: flex-end;\n justify-content: center;\n padding: 0;\n}\n\n.ns-modal {\n background: var(--ns-surface);\n /* the hairline IS the elevation — never a shadow */\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n width: 100%;\n max-height: 85vh;\n overflow: hidden;\n}\n\n.ns-modal--sm {\n max-width: 420px;\n}\n.ns-modal--md {\n max-width: 640px;\n}\n.ns-modal--lg {\n max-width: 920px;\n}\n\n.ns-modal--drawer {\n width: min(720px, 100%);\n max-width: 100%;\n max-height: min(90vh, 760px);\n border-radius: 0;\n /* the drawer's boundary against the page is its top hairline */\n border-top: 1px solid var(--ns-border-strong);\n border-left: none;\n border-right: none;\n border-bottom: none;\n padding-bottom: env(safe-area-inset-bottom, 0);\n}\n\n.ns-modal__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-6);\n padding: var(--ns-space-10) var(--ns-space-12);\n border-bottom: 1px solid var(--ns-rule);\n}\n\n.ns-modal__title {\n margin-right: var(--ns-space-6);\n min-width: 0;\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text);\n}\n\n/* 26px square icon button (design line 134) — square, hairline, flat */\n.ns-modal__close {\n appearance: none;\n flex: none;\n width: 26px;\n height: 26px;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n color: var(--ns-text-3);\n font-size: var(--ns-size-h4);\n line-height: 1;\n cursor: pointer;\n transition: color 0.15s ease, border-color 0.15s ease;\n}\n.ns-modal__close:hover {\n color: var(--ns-text);\n border-color: var(--ns-text-faint);\n}\n\n.ns-modal__body {\n padding: var(--ns-space-10) var(--ns-space-12);\n overflow: auto;\n}\n\n.ns-modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-wrap: wrap;\n gap: var(--ns-space-4);\n padding: var(--ns-space-7) var(--ns-space-12);\n border-top: 1px solid var(--ns-rule);\n}\n\n@media (max-width: 600px) {\n .ns-modal--drawer {\n width: 100%;\n max-height: min(92vh, 760px);\n /* square corners on the drawer too — the system has no radius */\n border-radius: 0;\n }\n\n .ns-modal__header,\n .ns-modal__body,\n .ns-modal__footer {\n padding-left: var(--ns-space-6);\n padding-right: var(--ns-space-6);\n }\n\n .ns-modal__body {\n padding-top: var(--ns-space-6);\n padding-bottom: var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ProfileHeader — square profile card (design lines 47–70).\n Square avatar sat on a flat band, separated by an outline in the band's\n own colour rather than a ring or a shadow.\n ========================================================================= */\n\n.ns-profile-header {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n width: 100%;\n}\n\n/* ---- banner ------------------------------------------------------------ */\n.ns-profile-header__banner {\n width: 100%;\n height: clamp(96px, 30vw, 140px);\n background: var(--ns-surface-4);\n border-bottom: 1px solid var(--ns-border);\n overflow: hidden;\n}\n\n.ns-profile-header__banner img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ---- avatar — square, outlined in the banner colour -------------------- */\n.ns-profile-header__avatar {\n position: relative;\n margin-top: -50px;\n}\n\n.ns-avatar-img {\n display: block;\n width: 100px;\n height: 100px;\n border-radius: 0;\n border: none;\n outline: 5px solid var(--ns-surface-4);\n background: var(--ns-surface);\n object-fit: cover;\n}\n\n.ns-profile-header__chain {\n position: absolute;\n bottom: 0;\n right: 0;\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n padding: var(--ns-space-2);\n}\n\n.ns-profile-header__chain img {\n display: block;\n width: 20px;\n height: 20px;\n}\n\n/* ---- info -------------------------------------------------------------- */\n.ns-profile-header__info {\n padding: var(--ns-space-6) var(--ns-space-8) var(--ns-space-8);\n width: 100%;\n min-width: 0;\n}\n\n.ns-profile-header__username {\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n margin-bottom: var(--ns-space-2);\n}\n\n.ns-profile-header__name {\n font-size: var(--ns-size-h3);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-heading);\n line-height: var(--ns-leading-tight);\n color: var(--ns-text);\n margin: 0;\n overflow-wrap: anywhere;\n}\n\n/* tag-outline look: a square hairline chip with a micro-label inside */\n.ns-profile-header__primary {\n display: inline-flex;\n align-items: center;\n margin-top: var(--ns-space-3);\n padding: var(--ns-space-2) var(--ns-space-5);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n background: transparent;\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n color: var(--ns-text-3);\n}\n\n.ns-profile-header__bio {\n margin: var(--ns-space-4) 0 0;\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n color: var(--ns-text-3);\n}\n\n.ns-profile-header__stats {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--ns-space-3);\n margin-top: var(--ns-space-5);\n font-size: var(--ns-size-meta);\n color: var(--ns-text-2);\n}\n\n.ns-profile-header__follow {\n margin-left: var(--ns-space-4);\n height: var(--ns-control-sm);\n padding: 0 var(--ns-space-6);\n border: 1px solid var(--ns-blue-600);\n border-radius: 0;\n background: var(--ns-blue-600);\n color: var(--ns-surface);\n cursor: pointer;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n letter-spacing: 0.02em;\n}\n\n.ns-profile-header__follow:hover {\n background: var(--ns-blue-700);\n border-color: var(--ns-blue-700);\n}\n\n@media (max-width: 390px) {\n .ns-profile-header__avatar {\n margin-top: -42px;\n }\n\n .ns-avatar-img {\n width: 84px;\n height: 84px;\n }\n\n .ns-profile-header__info {\n padding: var(--ns-space-5) var(--ns-space-6) var(--ns-space-6);\n }\n}\n","/* =========================================================================\n Accordion — a hairline group. Square, shadowless.\n The height animation is functional and is kept.\n ========================================================================= */\n\n.ns-accordion {\n background-color: var(--ns-surface);\n border-radius: 0;\n overflow: hidden;\n}\n\n.ns-accordion__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-6);\n padding: var(--ns-space-6) var(--ns-space-8);\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease;\n}\n\n.ns-accordion--not-togglable .ns-accordion__header {\n cursor: default;\n}\n\n.ns-accordion__header:hover:not(.ns-accordion--disabled .ns-accordion__header):not(.ns-accordion--not-togglable .ns-accordion__header) {\n background-color: var(--ns-surface-2);\n}\n\n.ns-accordion__title {\n flex: 1;\n min-width: 0;\n}\n\n.ns-accordion__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--ns-text-3);\n transition: transform 0.3s ease;\n}\n\n.ns-accordion__body {\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* The rule between header and body lives on the inner element so it is\n clipped away (along with the body) when the accordion is collapsed. */\n.ns-accordion__body-inner {\n padding: var(--ns-space-10) var(--ns-space-8);\n border-top: 1px solid var(--ns-rule);\n}\n\n/* Disabled state */\n.ns-accordion--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.ns-accordion--disabled .ns-accordion__header {\n cursor: not-allowed;\n}\n\n@media (max-width: 600px) {\n .ns-accordion__header {\n padding: var(--ns-space-5) var(--ns-space-6);\n }\n\n .ns-accordion__body-inner {\n padding: var(--ns-space-8) var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ConnectAndSetChain — a flat prompt panel: square, hairline, shadowless.\n ========================================================================= */\n\n.ns-connect-and-set-chain {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-8);\n padding: var(--ns-space-8);\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ns-connect-and-set-chain-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ns-space-6);\n text-align: center;\n min-width: 0;\n}\n\n.ns-connect-and-set-chain-icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ns-text-3);\n}\n\n.ns-connect-and-set-chain-message {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-2);\n color: var(--ns-text-3);\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n overflow-wrap: anywhere;\n}\n\n.ns-connect-and-set-chain-message > :first-child {\n color: var(--ns-text);\n}\n\n.ns-connect-and-set-chain-button {\n width: 100%;\n}\n\n@media (max-width: 390px) {\n .ns-connect-and-set-chain {\n padding: var(--ns-space-6);\n gap: var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ProgressBar — the design's `.meter`: a 5px amber rule, nothing else.\n The rotating star is retired (DOM kept, hidden) and the black rounded\n track is gone.\n ========================================================================= */\n\n.ens-names-register-progress-container {\n margin-top: var(--ns-space-10);\n width: 100%;\n display: block;\n height: auto;\n}\n\n.ens-names-register-progress-bar {\n width: 100%;\n height: 5px;\n background-color: var(--ns-amber-300);\n border-radius: 0;\n padding: 0;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.ens-names-register-progress-fill {\n height: 100%;\n background-color: var(--ns-amber-600);\n border-radius: 0;\n /* functional: the fill animates with the registration steps */\n transition: width 0.1s linear;\n box-sizing: border-box;\n}\n\n/* Retired ornament — kept in the DOM, out of the design. */\n.ens-names-register-progress-star-wrapper,\n.ens-names-register-progress-star {\n display: none;\n}\n","/* =========================================================================\n DurationPicker — the bordered stepper (design lines 210–221).\n One hairline box; the internal divisions are hairlines too, never gaps.\n Durations and dates are numbers, so they are set in DM Mono.\n Behaviour, props and markup are unchanged.\n ========================================================================= */\n\n.ns-duration-picker {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n align-items: stretch;\n width: 100%;\n}\n\n/* ---- years mode: − N year(s) + ----------------------------------------- */\n.ns-duration-picker__control {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: var(--ns-control-lg);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n padding: 0;\n gap: 0;\n overflow: hidden;\n}\n\n/* Two classes so this reliably outranks the Button atom's variant rules. */\n.ns-duration-picker__control .ns-duration-picker__btn {\n height: 100%;\n width: var(--ns-control-lg);\n min-width: var(--ns-control-lg);\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n border-radius: 0;\n background-color: var(--ns-surface);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-regular);\n letter-spacing: 0;\n text-transform: none;\n color: var(--ns-blue-600);\n}\n\n.ns-duration-picker__control .ns-duration-picker__btn:hover:not(:disabled) {\n background-color: var(--ns-blue-100);\n color: var(--ns-blue-700);\n}\n\n.ns-duration-picker__control .ns-duration-picker__btn:disabled {\n color: var(--ns-text-faintest);\n background-color: var(--ns-surface);\n}\n\n/* The plus button is no longer a filled pill — both steppers are equals. */\n.ns-duration-picker__control .ns-duration-picker__btn--plus {\n background-color: var(--ns-surface);\n color: var(--ns-blue-600);\n}\n\n.ns-duration-picker__label {\n flex: 1;\n min-width: 0;\n display: grid;\n place-items: center;\n text-align: center;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n line-height: normal;\n color: var(--ns-name-ink);\n /* the internal hairlines live on the label, per the design */\n border-left: 1px solid var(--ns-border);\n border-right: 1px solid var(--ns-border);\n}\n\n/* ---- calendar mode ----------------------------------------------------- */\n.ns-duration-picker__calendar {\n position: relative;\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n width: 100%;\n height: var(--ns-control-lg);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n padding: 0;\n overflow: hidden;\n cursor: pointer;\n}\n\n.ns-duration-picker__date-display {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n padding: 0 var(--ns-space-8);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n color: var(--ns-name-ink);\n pointer-events: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Native date input positioned over the control (invisible, triggers browser picker) */\n.ns-duration-picker__date-input {\n position: absolute;\n left: 0;\n top: 0;\n width: calc(100% - var(--ns-control-lg));\n height: 100%;\n opacity: 0;\n cursor: pointer;\n border: none;\n background: transparent;\n z-index: 1;\n}\n\n.ns-duration-picker__calendar-btn {\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n height: 100%;\n width: var(--ns-control-lg);\n min-width: var(--ns-control-lg);\n border-radius: 0;\n display: grid;\n place-items: center;\n flex: none;\n cursor: pointer;\n border: none;\n padding: 0;\n z-index: 2;\n position: relative;\n}\n\n.ns-duration-picker__calendar-btn:hover {\n background-color: var(--ns-blue-700);\n}\n\n/* ---- footer: \"N year registration · Pick by date\" ---------------------- */\n.ns-duration-picker__footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-2);\n flex-wrap: wrap;\n width: 100%;\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* A micro-label affordance, not a button label — uppercase is correct here\n (design line 219). */\n.ns-duration-picker__toggle {\n color: var(--ns-blue-600);\n background: none;\n border: none;\n border-radius: 0;\n padding: 0;\n cursor: pointer;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-micro);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-caps);\n text-transform: uppercase;\n line-height: var(--ns-leading-tight);\n white-space: nowrap;\n}\n\n.ns-duration-picker__toggle:hover {\n color: var(--ns-blue-700);\n}\n","/* =========================================================================\n PricingDisplay — the fee rows (design lines 223–233).\n Labels are DM Sans in muted ink; every amount is DM Mono. That split is\n the whole look of the block: words in the sans face, numbers in the mono.\n Square, hairline, shadowless.\n ========================================================================= */\n\n.ens-registration-pricing {\n border-radius: 0;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n padding: var(--ns-space-10);\n}\n\n/* ---- fee rows ---------------------------------------------------------- */\n.ens-registration-pricing .pricing-row {\n gap: var(--ns-space-6);\n /* let a long label/value pair wrap rather than overflow at ~330px */\n flex-wrap: wrap;\n}\n\n.ens-registration-pricing .pricing-label {\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n min-width: 0;\n}\n\n.ens-registration-pricing .pricing-value {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-text-2);\n text-align: right;\n margin-left: auto;\n}\n\n/* ---- total ------------------------------------------------------------- */\n.ens-registration-pricing .total-fee {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n gap: var(--ns-space-6);\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n.ens-registration-pricing .pricing-total-label {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n}\n\n.ens-registration-pricing .pricing-total-values {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-1);\n margin-left: auto;\n min-width: 0;\n}\n\n.ens-registration-pricing .pricing-total-value {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n line-height: var(--ns-leading-tight);\n}\n\n.ens-registration-pricing .pricing-total-usd {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n@media (max-width: 600px) {\n .ens-registration-pricing {\n padding: var(--ns-space-8);\n }\n}\n","/* =========================================================================\n Records / profile editor — the design's records editor\n (Namespace Flows.dc.html lines 45-127, script navBtn() 507-531, tile() 533-544).\n\n Square, hairline, shadowless. Record rows are table rows: a hairline\n between them, --ns-surface-2 on hover, generous padding. Uppercase is\n reserved for micro-labels (the .field-label pattern), never for buttons.\n\n Mobile is driven by CONTAINER queries: this form renders inside ~330px\n modals on desktop viewports, where @media never fires. The @media blocks\n are kept as a fallback only.\n ========================================================================= */\n\n.ns-select-records-form {\n container-type: inline-size;\n width: 100%;\n max-width: 600px;\n min-height: 400px;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n}\n\n/* ---- shells ------------------------------------------------------------ */\n\n.ns-select-records-form .ns-records-wrapper {\n padding: var(--ns-space-5) var(--ns-space-10);\n max-height: 200px;\n overflow-y: auto;\n}\n\n.ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-12) var(--ns-space-14);\n}\n\n/* The bootstrap `row` becomes the design's two-column editor grid\n (132px nav + fluid body, flows line 73). The cols stay in the DOM and\n become plain grid children. */\n.ns-records-content-wrapper .ns-records-content {\n display: grid;\n grid-template-columns: 132px minmax(0, 1fr);\n gap: var(--ns-space-10);\n align-items: start;\n margin: 0;\n padding: 0;\n height: 100%;\n background: transparent;\n border-radius: 0;\n}\n\n.ns-records-content-wrapper .ns-records-content > [class*=\"col-\"] {\n padding-left: 0;\n padding-right: 0;\n /* bootstrap's `.row > *` adds `margin-top: var(--bs-gutter-y)` (8px at g-2)\n to every child, which stacks on top of the grid row-gap; vertical spacing\n here comes from row-gap alone */\n padding-top: 0;\n margin-top: 0;\n max-width: none;\n flex: none;\n width: auto;\n}\n\n/* the search row spans both columns */\n.ns-records-content-wrapper .ns-records-content > *:first-child {\n grid-column: 1 / -1;\n}\n\n/* search field: 40px, hairline-strong (flows line 140) */\n.ns-records-content-wrapper .ns-records-content > *:first-child .ns-input {\n border-color: var(--ns-border-strong);\n}\n\n/* The search sits tight to the panel edge above and the nav below: the grid's\n column gutter (20px) is too generous vertically, and the search row carries\n its own bootstrap margins on top of it. Collapse both. */\n.ns-records-content-wrapper .ns-records-content {\n column-gap: var(--ns-space-10);\n row-gap: var(--ns-space-6);\n}\n\n.ns-records-content-wrapper .ns-records-content > *:first-child {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.ns-select-records-form .ns-records-content-wrapper {\n padding-top: var(--ns-space-8);\n}\n\n/* ---- nav column (flows lines 74-84, script navBtn 507-531) ------------- */\n\n.ns-records-content .ns-records-sidebar {\n display: flex;\n flex-direction: column;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item {\n display: flex;\n align-items: center;\n gap: var(--ns-space-3);\n width: 100%;\n padding: var(--ns-space-7) var(--ns-space-8);\n text-align: left;\n background: transparent;\n color: var(--ns-text-2);\n border: none;\n border-bottom: 1px solid var(--ns-rule);\n border-radius: 0;\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n color 0.15s linear;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-bottom: none;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item .ns-text {\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:hover {\n background-color: var(--ns-surface-2);\n border-radius: 0;\n}\n\n/* active = solid blue, white ink */\n.ns-records-content .ns-records-sidebar .sidebar-item.active,\n.ns-records-content .ns-records-sidebar .sidebar-item.active:hover {\n background-color: var(--ns-blue-600);\n border-radius: 0;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item.active .ns-text {\n color: var(--ns-surface);\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item.active .ns-icon {\n stroke: var(--ns-surface);\n}\n\n/* nav icons sit quiet next to the label and take the row's ink */\n.ns-records-content .ns-records-sidebar .sidebar-item .ns-icon {\n flex: none;\n stroke: var(--ns-text-faint);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:hover .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n/* ---- empty state: search matched nothing (flows lines 117-120) --------- */\n\n.ns-records-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ns-space-8);\n padding: var(--ns-space-16) 0;\n}\n\n.ns-records-empty__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n letter-spacing: 0.02em;\n color: var(--ns-blue-600);\n background: transparent;\n border: 1px solid var(--ns-blue-500);\n border-radius: 0;\n cursor: pointer;\n}\n\n.ns-records-empty__clear:hover {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n}\n\n/* ---- scrolling record body (flows line 82) ----------------------------- */\n\n.ns-records-content .ns-records-inner {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-14);\n max-height: 320px;\n overflow-y: auto;\n padding-right: var(--ns-space-3);\n}\n\n.ns-records-content .ns-records-inner > .ns-mb-2 {\n margin-bottom: 0;\n}\n\n/* ---- legacy tab strip (kept for consumers) ----------------------------- */\n\n.ns-select-records-form .ns-select-records-content {\n background-color: var(--ns-surface);\n border-radius: 0;\n}\n\n.ns-select-records-nav {\n display: flex;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n}\n\n.ns-select-records-nav .nav-cont {\n flex: 1;\n padding: var(--ns-space-5) var(--ns-space-8);\n background-color: transparent;\n color: var(--ns-text-3);\n border-radius: 0;\n cursor: pointer;\n opacity: 1;\n transition: background-color 0.15s linear;\n}\n\n.ns-select-records-nav .nav-cont:hover {\n background-color: var(--ns-surface-2);\n opacity: 1;\n}\n\n.ns-select-records-nav .nav-cont.active {\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n opacity: 1;\n}\n\n/* ---- footer actions (flows lines 124-127) ------------------------------ */\n\n.ns-select-records-form .ns-select-records-actions {\n border-top: 1px solid var(--ns-rule);\n}\n\n.ns-select-records-form .ns-record-actions {\n padding: 0 var(--ns-space-10) var(--ns-space-10);\n}\n\n.ns-select-records-form .not-found-badge {\n border: 1px solid var(--ns-border);\n border-radius: 0;\n}\n\n.ns-select-records-form .record-count-badge {\n min-width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ns-space-1);\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* =========================================================================\n Record groups (TextRecords / AddressRecords / ContenthashRecord all render\n `.ns-text-records`; the three components share one visual contract).\n ========================================================================= */\n\n/* group title (flows lines 86-88) */\n.ns-text-records > .ns-text--bold {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n border-bottom: 1px solid var(--ns-rule);\n padding-bottom: var(--ns-space-4);\n}\n\n/* ---- record row = the design's table row -------------------------------\n The row wrappers are the only unclassed children of `.ns-text-records`\n (one per record, in all three record components), which makes them\n addressable without a markup change. Their inline 10px spacer is\n neutralised so consecutive rows share one hairline. */\n.ns-text-records > div:not([class]) {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-3);\n padding: var(--ns-space-6) var(--ns-space-4);\n margin-bottom: 0 !important;\n border-bottom: 1px solid var(--ns-rule);\n transition: background-color 0.15s linear;\n}\n\n.ns-text-records > div:not([class]):hover {\n background-color: var(--ns-surface-2);\n}\n\n/* field label above each input (flows line 92) — uppercase micro-label */\n.ns-text-records > div:not([class]) > .ns-text--xs.ns-text--medium.ns-text--grey {\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n}\n\n/* the field + remove-button line (flows lines 94-101) */\n.ns-text-records > div:not([class]) > .d-flex.align-items-center,\n.ns-text-records > div:not([class]) .d-flex.align-items-center {\n gap: var(--ns-space-5);\n}\n\n/* record VALUES that are addresses / content hashes render in mono ink.\n Both AddressRecords and ContenthashRecord put a `.ns-chain-icon` in the\n field prefix; text records use a lucide `.ns-icon`, so this separates the\n two without a markup change (script lines 610-613). */\n.ns-text-records .ns-input__wrapper:has(.ns-chain-icon) .ns-input {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-name-ink);\n}\n\n/* validation copy sits under the field in amber (flows lines 603-620) */\n.ns-text-records > div:not([class]) > .ns-text--xs.ns-text--danger {\n font-size: var(--ns-size-micro);\n color: var(--ns-amber-700);\n}\n\n/* ---- remove button = 40px square icon button (flows lines 98-100) ------ */\n\n.ns-text-records .ns-close-icon,\n.ns-select-records-form .ns-close-icon {\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n flex: none;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n color: var(--ns-text-faint);\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear,\n color 0.15s linear;\n}\n\n.ns-text-records .ns-close-icon.ns-ms-1 {\n margin-left: 0;\n}\n\n.ns-text-records .ns-close-icon:hover,\n.ns-select-records-form .ns-close-icon:hover {\n transform: none;\n padding: 0;\n border-radius: 0;\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n color: var(--ns-text-2);\n}\n\n/* ---- suggestion tiles (flows lines 106-113, tile() 533-544) ------------\n The bootstrap row/col layout is overridden with a 3-column grid on the\n container; the cols stay in the DOM as plain grid children. */\n\n.ns-text-records .row {\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: var(--ns-space-5);\n margin: 0;\n padding-top: var(--ns-space-8);\n}\n\n.ns-text-records .row > [class*=\"col-\"] {\n display: block;\n width: auto;\n max-width: none;\n flex: none;\n padding: 0;\n}\n\n.ns-text-records .ns-text-suggestion {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-2);\n width: 100%;\n height: 100%;\n padding: var(--ns-space-7) var(--ns-space-5);\n text-align: center;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n outline: none;\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear;\n}\n\n.ns-text-records .ns-text-suggestion:hover {\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n}\n\n.ns-text-records .ns-text-suggestion .ns-text {\n font-size: var(--ns-size-micro);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-2);\n}\n\n.ns-text-records .ns-text-suggestion .ns-text.ns-mt-1 {\n margin-top: var(--ns-space-2);\n}\n\n/* =========================================================================\n Narrow layouts — container queries first (plan §5).\n ========================================================================= */\n\n@container (max-width: 480px) {\n .ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-8);\n }\n\n /* one column; the nav becomes a horizontally scrollable row */\n .ns-records-content-wrapper .ns-records-content {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .ns-records-content .ns-records-sidebar {\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item {\n flex: none;\n white-space: nowrap;\n border-bottom: none;\n border-right: 1px solid var(--ns-rule);\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-right: none;\n }\n}\n\n@container (max-width: 390px) {\n .ns-text-records .row {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .ns-text-records > div:not([class]) {\n padding: var(--ns-space-5) var(--ns-space-2);\n }\n}\n\n/* Fallback for browsers without container queries (actual phones). */\n@media screen and (max-width: 600px) {\n .ns-select-records-form {\n width: 100%;\n }\n\n .ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-8);\n }\n\n .ns-records-content-wrapper .ns-records-content {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .ns-records-content .ns-records-sidebar {\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item {\n flex: none;\n white-space: nowrap;\n border-bottom: none;\n border-right: 1px solid var(--ns-rule);\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-right: none;\n }\n}\n\n@media screen and (max-width: 390px) {\n .ns-text-records .row {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ns-select-records-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Header band + avatar (Namespace Flows.dc.html lines 47-70).\n 140px --ns-surface-4 band with a bottom hairline and a mono \"HEADER\"\n watermark; a 110px SQUARE avatar outlined in the band colour. No radii,\n no shadows, no gradients — the design has none.\n ========================================================================= */\n\n.ns-image-records {\n position: relative;\n z-index: 15;\n margin-bottom: 28px;\n}\n\n.ns-image-records .ns-cover-record-cont {\n height: 140px;\n width: 100%;\n position: relative;\n display: flex;\n justify-content: end;\n background-color: var(--ns-surface-4);\n background-size: cover;\n background-position: center;\n border-radius: 0;\n border-bottom: 1px solid var(--ns-border);\n overflow: visible;\n}\n\n/* the design has no gradient scrims; the DOM stays, the paint goes */\n.ns-top-grad,\n.ns-bot-grad {\n display: none;\n background: none;\n}\n\n/* ---- avatar: square, outlined in the band colour (flows lines 60-69) --- */\n\n.ns-image-records .ns-avatar-record-cont {\n width: 110px;\n height: 110px;\n position: absolute;\n left: 50%;\n bottom: -20px;\n transform: translateX(-50%);\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--ns-surface);\n background-size: cover;\n background-position: center;\n border-radius: 0;\n outline: 5px solid var(--ns-surface-4);\n}\n\n.ns-image-records .ns-avatar-record-cont--set {\n border: none;\n}\n\n/* inner add-avatar target: 56px square icon button */\n.ns-image-records .ns-avatar-record-placeholder {\n width: 56px;\n height: 56px;\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n color: var(--ns-text-2);\n cursor: pointer;\n transition: border-color 0.15s linear;\n}\n\n.ns-image-records .ns-avatar-record-placeholder:hover {\n border-color: var(--ns-text-faintest);\n}\n\n.ns-image-records .ns-avatar-record-placeholder .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n/* ---- add-header button: 40px square icon button (flows lines 49-51) ---- */\n\n.ns-header-record-placeholder {\n position: absolute;\n right: var(--ns-space-4);\n top: var(--ns-space-4);\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n color: var(--ns-text-2);\n cursor: pointer;\n transition: border-color 0.15s linear;\n}\n\n.ns-header-record-placeholder:hover {\n border-color: var(--ns-text-faintest);\n}\n\n/* the trigger asks for a white icon for the old dark chip; on the flat\n surface it takes the design's ink instead */\n.ns-header-record-placeholder .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n.ns-avatar-action-anchor {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 6;\n}\n\n.ns-header-action-anchor {\n position: absolute;\n right: var(--ns-space-6);\n top: var(--ns-space-5);\n z-index: 6;\n}\n\n/* ---- generic square image action button -------------------------------- */\n\n.ns-image-action-plus {\n width: var(--ns-control-md);\n height: var(--ns-control-md);\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n color: var(--ns-text-2);\n transition: border-color 0.15s linear;\n}\n\nbutton.ns-image-action-plus {\n padding: 0;\n cursor: pointer;\n}\n\n.ns-image-action-plus:hover {\n transform: none;\n background: var(--ns-surface-2);\n border-color: var(--ns-text-faintest);\n}\n\n.ns-image-action-plus--set {\n background: var(--ns-surface-3);\n}\n\n.ns-image-action-plus--disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.ns-image-action-plus:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n/* ---- the flat action menu (flows lines 52-55) -------------------------- */\n\n.ns-image-actions-menu {\n min-width: 150px;\n max-width: min(260px, calc(100vw - 20px));\n padding: 0;\n display: flex;\n flex-direction: column;\n background: var(--ns-surface);\n}\n\n.ns-image-actions-menu-item {\n width: 100%;\n border: none;\n border-radius: 0;\n background: transparent;\n text-align: left;\n padding: var(--ns-space-6) var(--ns-space-8);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n color: var(--ns-text-2);\n cursor: pointer;\n transition: background-color 0.15s linear;\n}\n\n.ns-image-actions-menu-item + .ns-image-actions-menu-item {\n border-top: 1px solid var(--ns-rule);\n}\n\n.ns-image-actions-menu-item:hover {\n background: var(--ns-surface-3);\n color: var(--ns-text);\n}\n\n.ns-image-actions-menu-item:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: -1px;\n}\n\n/* ---- narrow layouts ---------------------------------------------------- */\n\n@container (max-width: 390px) {\n .ns-image-records .ns-avatar-record-cont {\n width: 84px;\n height: 84px;\n }\n\n .ns-image-records .ns-avatar-record-placeholder {\n width: 44px;\n height: 44px;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .ns-image-records {\n margin-bottom: 22px;\n }\n\n .ns-header-action-anchor {\n right: var(--ns-space-5);\n top: var(--ns-space-4);\n }\n\n .ns-image-actions-menu {\n min-width: 164px;\n max-width: min(280px, calc(100vw - 14px));\n }\n\n .ns-image-actions-menu-item {\n white-space: normal;\n }\n}\n","/* =========================================================================\n Image upload modal. No artboard covers this screen, so it follows the\n system rules (plan §8.6): hairline elevation, radius 0, tokens only,\n no gradients.\n ========================================================================= */\n\n.ns-image-upload-modal-wrapper {\n max-width: min(460px, calc(100vw - 20px));\n}\n\n.ns-image-upload-modal-wrapper .ns-modal__body {\n padding: var(--ns-space-6) var(--ns-space-6) var(--ns-space-4);\n}\n\n.ns-image-upload-modal-wrapper .ns-modal__footer {\n justify-content: flex-end;\n border-top: 1px solid var(--ns-rule);\n padding: var(--ns-space-5) var(--ns-space-6) var(--ns-space-6);\n}\n\n.ns-image-upload-modal {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-5);\n}\n\n.ns-image-upload-modal__heading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-bottom: var(--ns-space-1);\n}\n\n.ns-image-upload-modal__content {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n}\n\n.ns-image-upload-modal__crop-area {\n position: relative;\n height: clamp(180px, 34vh, 250px);\n overflow: hidden;\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n background: var(--ns-surface-3);\n}\n\n.ns-image-upload-modal__crop-area--locked {\n pointer-events: none;\n}\n\n.ns-image-upload-modal__empty-state {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n gap: var(--ns-space-3);\n padding: var(--ns-space-6);\n color: var(--ns-text-3);\n}\n\n.ns-image-upload-modal__gif-preview {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n}\n\n.ns-image-upload-modal__controls {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n padding: var(--ns-space-1) 0 0;\n}\n\n.ns-image-upload-modal__file-input {\n display: none;\n}\n\n.ns-image-upload-modal__zoom {\n margin-top: 0;\n}\n\n.ns-image-upload-modal__zoom input[type=\"range\"] {\n width: 100%;\n margin-top: var(--ns-space-1);\n accent-color: var(--ns-blue-600);\n}\n\n.ns-image-upload-modal__status {\n display: flex;\n align-items: center;\n gap: var(--ns-space-4);\n margin-top: var(--ns-space-1);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n.ns-image-upload-modal__progress {\n margin-top: var(--ns-space-1);\n}\n\n.ns-image-upload-modal__footer {\n width: 100%;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--ns-space-5);\n}\n\n.ns-image-upload-modal__footer-btn {\n width: 100%;\n justify-content: center;\n min-height: var(--ns-control-xl);\n}\n\n.ns-image-upload-modal__review-note {\n padding: var(--ns-space-4) var(--ns-space-5);\n background: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n}\n\n@media (max-width: 600px) {\n .ns-image-upload-modal-wrapper {\n max-width: calc(100vw - 12px);\n }\n\n .ns-image-upload-modal-wrapper .ns-modal__body {\n padding: var(--ns-space-5) var(--ns-space-5) var(--ns-space-3);\n }\n\n .ns-image-upload-modal-wrapper .ns-modal__footer {\n padding: var(--ns-space-4) var(--ns-space-5) var(--ns-space-5);\n }\n\n .ns-image-upload-modal__crop-area {\n height: clamp(160px, 30vh, 220px);\n }\n\n .ns-image-upload-modal__footer {\n gap: var(--ns-space-4);\n }\n}\n\n@media (max-height: 780px) {\n .ns-image-upload-modal__crop-area {\n height: clamp(140px, 26vh, 190px);\n }\n}\n","/* Registration flow shell — HTML line 185:\n width: 100%; max-width: 500px; surface ground, strong hairline, square.\n\n `container-type: inline-size` is the responsiveness anchor for the whole\n flow: the production webapp renders this shell inside ~330px modals on\n desktop viewports, where `@media` never fires. Every narrow layout in this\n directory is written as `@container`. */\n.ens-registration-form-container {\n container-type: inline-size;\n background-color: var(--ns-surface);\n width: 100%;\n max-width: 500px;\n height: fit-content;\n border-radius: 0;\n border: 1px solid var(--ns-border-strong);\n}\n\n.ens-registration-form-container.no-border {\n border: none !important;\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ens-registration-form-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* Registration summary — Namespace Flows.dc.html lines 186–250.\n Square, hairline, shadowless. Names / amounts / dates are mono. */\n\n.ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-14);\n}\n\n/* Banner illustration (line 189) — the brand survives, constrained.\n `bannerWidth` stays a prop (inline width); CSS only keeps it fluid. */\n.ens-registration-summary img[alt=\"Banner\"] {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n/* ---- Name input (lines 197–202) --------------------------------------\n 48px row, strong hairline, mono name ink. The `.eth` suffix is plain\n mono text — the old grey suffix box is gone. */\n.ens-name-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n padding-left: 44px;\n padding-right: 62px;\n}\n\n.ens-name-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ens-name-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ens-name-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ens-name-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ens-name-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n background: none;\n border: none;\n border-radius: 0;\n}\n\n.ens-name-input .ns-input__suffix .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* ---- Fee rows (lines 223–233) ----------------------------------------\n In this screen the rows sit directly on the card — no inner box. */\n.ens-registration-form-container .ens-registration-pricing {\n border: none;\n border-radius: 0;\n background-color: transparent;\n padding: 0;\n}\n\n.ens-registration-pricing .total-fee {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n}\n\n/* ---- Profile CTA (lines 235–244) -------------------------------------\n Flat hairline row on surface-3 — replaces the dashed box. */\n.ens-registration-form-container .ens-profile-selector {\n border: 1px solid var(--ns-border);\n border-radius: 0;\n padding: var(--ns-space-8) var(--ns-space-10);\n background-color: var(--ns-surface-3);\n}\n\n.ens-registration-form-container .ens-profile-selector > .d-flex {\n gap: var(--ns-space-8);\n}\n\n.ens-profile-selector .shuriken-cont {\n width: var(--ns-avatar-row);\n height: var(--ns-avatar-row);\n flex: none;\n border-radius: 0;\n background-color: transparent;\n}\n\n.ens-profile-selector .shuriken {\n width: var(--ns-avatar-row);\n height: auto;\n transition: transform 0.3s ease-in-out;\n cursor: pointer;\n}\n\n/* the brand wink — cheap, motion only */\n.ens-profile-selector .shuriken:hover {\n transform: rotate(150deg);\n}\n\n/* 30px solid blue chevron block (line 242) */\n.ens-profile-selector .profile-cta-arrow {\n width: 30px;\n height: 30px;\n flex: none;\n display: grid;\n place-items: center;\n border-radius: 0;\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n}\n\n/* ---- Narrow containers (plan §5) — the webapp's ~330px modals -------- */\n@container (max-width: 480px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-8);\n }\n\n .ens-registration-summary img[alt=\"Banner\"] {\n max-width: min(200px, 60%);\n }\n\n .ens-name-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-8);\n }\n}\n","/* Registration progress — Namespace Flows.dc.html lines 254–278.\n Step rows are bordered hairline blocks; the active one sits on surface-3\n with a strong hairline. Marks are 24px squares, never circles. */\n\n.ens-registration-progress {\n padding: var(--ns-space-14);\n position: relative;\n}\n\n.ens-registration-progress img {\n max-width: 100%;\n height: auto;\n}\n\n/* Close control — square icon button, not a circle */\n.ens-registration-close-btn {\n position: absolute;\n top: var(--ns-space-10);\n left: var(--ns-space-10);\n width: var(--ns-control-md);\n height: var(--ns-control-md);\n border-radius: 0;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n color: var(--ns-text-3);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0;\n transition: border-color 0.15s ease, background-color 0.15s ease;\n z-index: 10;\n}\n\n.ens-registration-close-btn:hover {\n background-color: var(--ns-surface-3);\n border-color: var(--ns-border-strong);\n}\n\n.ens-registration-close-btn .ns-icon {\n stroke: var(--ns-text-3);\n}\n\n/* ---- Step rows (lines 262–271) --------------------------------------- */\n.ens-registration-progress .ns-accordion {\n border: 1px solid var(--ns-border);\n border-radius: 0;\n background-color: var(--ns-surface);\n}\n\n.ens-registration-progress .ns-accordion--open {\n border-color: var(--ns-border-strong);\n background-color: var(--ns-surface-3);\n}\n\n.ens-registration-progress .ns-accordion__header {\n padding: var(--ns-space-6) var(--ns-space-10);\n}\n\n/* ---- Step mark: 24px square (design lines 263–270) -------------------- */\n.ens-registration-progress .ns-process-badge {\n width: 24px;\n height: 24px;\n flex: none;\n background-color: var(--ns-blue-600);\n border: 1px solid var(--ns-blue-600);\n border-radius: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ens-registration-progress .ns-process-badge .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n line-height: 1;\n}\n\n/* pending */\n.ens-registration-progress .ns-process-badge--inactive {\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n}\n\n.ens-registration-progress .ns-process-badge--inactive .ns-text--primary {\n color: var(--ns-text-faint);\n}\n\n/* done */\n.ens-registration-progress .ns-process-badge--completed {\n width: 24px;\n height: 24px;\n border: 1px solid var(--ns-blue-100) !important;\n background-color: var(--ns-blue-100);\n}\n\n.ens-registration-progress .ns-process-badge--completed .ns-icon {\n stroke: var(--ns-blue-700);\n}\n\n/* ---- Narrow containers (plan §5) ------------------------------------- */\n@container (max-width: 480px) {\n .ens-registration-progress {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-progress {\n padding: var(--ns-space-8);\n }\n\n .ens-registration-close-btn {\n top: var(--ns-space-4);\n left: var(--ns-space-4);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-progress {\n padding: var(--ns-space-8);\n }\n}\n","/* Commitment timer — plan §4.3. The ring stays (behaviour frozen) but becomes\n a supporting element: blue stroke on a surface-3 track, square caps, and a\n mono countdown in name ink. Fluid via container units so it survives the\n webapp's ~330px modals. */\n\n.ens-names-register-timer-container {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: var(--ns-space-14);\n margin-bottom: var(--ns-space-4);\n}\n\n.ens-names-register-timer-circle {\n position: relative;\n width: min(200px, 60cqw);\n height: min(200px, 60cqw);\n max-width: 200px;\n max-height: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ens-names-register-timer-svg {\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n/* track — overrides the inline presentation attribute */\n.ens-names-register-timer-svg circle {\n stroke: var(--ns-surface-3);\n}\n\n.ens-names-register-timer-progress {\n stroke: var(--ns-blue-600);\n stroke-linecap: butt;\n transition: stroke-dashoffset 0.5s linear;\n}\n\n.ens-names-register-timer-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n color: var(--ns-name-ink);\n}\n\n/* the countdown is a number — it reads in mono */\n.ens-names-register-timer-text .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h2);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-name-ink);\n line-height: 1;\n}\n\n@container (max-width: 390px) {\n .ens-names-register-timer-text .ns-text {\n font-size: var(--ns-size-h3);\n }\n}\n","/* Registration success — Namespace Flows.dc.html lines 280–303.\n The ninja illustration is retired in favour of the typographic ink band;\n the receipt below it is mono throughout. */\n\n.ens-registration-success-container {\n container-type: inline-size;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.ens-registration-success-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ens-registration-success-card {\n border-radius: 0;\n width: 100%;\n max-width: 480px;\n text-align: left;\n position: relative;\n padding: 0;\n}\n\n/* ---- Ink band (lines 282–284) ---------------------------------------- */\n.ens-registration-success-band {\n height: 96px;\n display: grid;\n place-items: center;\n background-color: var(--ns-name-ink);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n letter-spacing: var(--ns-track-caps);\n color: var(--ns-blue-300);\n}\n\n.ens-registration-success-body {\n padding: var(--ns-space-14);\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-12);\n}\n\n/* ---- Identity row (lines 286–289) ------------------------------------ */\n.ens-registration-success-title-section {\n display: flex;\n align-items: center;\n gap: var(--ns-space-8);\n margin-bottom: 0;\n}\n\n.ens-registration-success-name {\n display: block;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n line-height: var(--ns-leading-tight);\n overflow-wrap: anywhere;\n}\n\n.ens-registration-success-message {\n display: block;\n color: var(--ns-text-3);\n}\n\n/* ---- Receipt rows (lines 290–296) ------------------------------------ */\n.ens-registration-success-summary {\n background: transparent;\n border: none;\n border-radius: 0;\n padding: 0;\n margin-bottom: 0;\n text-align: left;\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-6);\n}\n\n.ens-registration-success-summary-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--ns-space-6);\n margin-bottom: 0;\n}\n\n/* values are numbers — mono, always */\n.ens-registration-success-summary-row > *:last-child,\n.ens-registration-success-summary-row > *:last-child .ns-text {\n font-family: var(--ns-font-mono);\n}\n\n.ens-registration-success-total {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.ens-registration-success-total .ns-text {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-medium);\n}\n\n.ens-registration-success-expiry {\n border-top: none;\n padding-top: 0;\n margin-top: 0;\n}\n\n.ens-registration-success-total-amount {\n display: flex;\n align-items: center;\n gap: var(--ns-space-3);\n}\n\n.ens-registration-success-eth-logo {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n line-height: 1;\n}\n\n/* ---- Actions (lines 297–300) ----------------------------------------- */\n.ens-registration-success-actions {\n display: flex;\n gap: var(--ns-space-4);\n width: 100%;\n}\n\n.ens-registration-success-register-another-btn,\n.ens-registration-success-view-name-btn {\n flex: 1;\n min-width: 0;\n}\n\n/* ---- Narrow containers (plan §5) ------------------------------------- */\n@container (max-width: 480px) {\n .ens-registration-success-body {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-success-body {\n padding: var(--ns-space-8);\n gap: var(--ns-space-10);\n }\n\n .ens-registration-success-band {\n height: 72px;\n }\n\n .ens-registration-success-actions {\n flex-direction: column;\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-success-body {\n padding: var(--ns-space-8);\n }\n}\n","/* =========================================================================\n Set-records shell — the flow shell of Namespace Flows.dc.html line 45:\n width 100%, max-width 500px, --ns-surface on a hairline-strong frame.\n `container-type` makes the narrow layouts fire inside ~330px modals on\n desktop viewports, where @media never would (plan §5).\n ========================================================================= */\n\n.ens-records-form-container {\n container-type: inline-size;\n width: 100%;\n max-width: 500px;\n height: fit-content;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n}\n\n/* The component spells the modifier `no-boder`; both spellings are honoured\n so the `noBorder` prop works without a markup change. */\n.ens-records-form-container.no-border,\n.ens-records-form-container.no-boder,\n.ens-records-form-container .no-border {\n border: none;\n}\n\n/* The records editor nests inside this frame — one hairline, not two. */\n.ens-records-form-container .ns-select-records-form {\n max-width: none;\n border: none;\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ens-records-form-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Update-records footer actions (Namespace Flows.dc.html lines 124-127):\n two buttons, `flex: 1`, above a rule. Stacking behaviour is unchanged.\n ========================================================================= */\n\n.ens-update-records-form-actions {\n display: flex;\n gap: var(--ns-space-4);\n}\n\n.ens-update-records-form-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n@container (max-width: 390px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n","/* =========================================================================\n Record update summary (plan §4.6).\n Surface + hairline-strong frame, square badges in the tag-outline look:\n the record key is an uppercase micro-label, the value is mono.\n ========================================================================= */\n\n.record-update-summary {\n container-type: inline-size;\n max-width: 600px;\n margin: 0 auto;\n padding: var(--ns-space-8);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n}\n\n.record-update-summary .text-center {\n text-align: center;\n}\n\n/* the brand illustration survives, constrained (plan §8.5) */\n.record-update-summary img {\n max-width: min(200px, 60%);\n height: auto;\n}\n\n/* ---- accordions -------------------------------------------------------- */\n\n.record-summary-accordion {\n margin-bottom: var(--ns-space-6);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n}\n\n.record-summary-accordion .ns-accordion__body-inner {\n padding-top: 0;\n}\n\n.record-summary-section {\n margin-bottom: var(--ns-space-8);\n}\n\n.record-summary-section:last-child {\n margin-bottom: 0;\n}\n\n/* the \"Added (n)\" / \"Modified (n)\" section headings are micro-labels */\n.record-summary-section > .ns-text--sm.ns-text--medium.ns-text--grey {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n}\n\n.record-summary-badges-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ns-space-4);\n margin-top: var(--ns-space-4);\n}\n\n/* ---- badges ------------------------------------------------------------ */\n\n.record-summary-expandable-badge {\n flex: 0 0 auto;\n min-width: 0;\n position: relative;\n}\n\n.record-summary-expandable-badge--expanded {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n}\n\n.record-summary-badge-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-4);\n padding: var(--ns-space-4) var(--ns-space-6);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n color: var(--ns-text-3);\n cursor: pointer;\n white-space: nowrap;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear;\n}\n\n/* the record key reads as an uppercase micro-label */\n.record-summary-badge-header .ns-text--xs {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-2);\n}\n\n.record-summary-expandable-badge--expanded .record-summary-badge-header {\n border-radius: 0;\n border-bottom-color: var(--ns-rule);\n}\n\n.record-summary-badge-header:hover {\n opacity: 1;\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n}\n\n.record-summary-badge-content {\n padding: 0 var(--ns-space-6);\n background-color: var(--ns-surface-2);\n border: 1px solid var(--ns-border);\n border-top: none;\n border-radius: 0;\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n width: 100%;\n box-sizing: border-box;\n}\n\n/* record VALUES are mono — addresses, hashes, content hashes */\n.record-summary-badge-content .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-name-ink);\n word-break: break-all;\n}\n\n.record-summary-expandable-badge:not(.record-summary-expandable-badge--expanded)\n .record-summary-badge-content {\n max-width: 0;\n min-width: 0;\n padding-left: 0;\n padding-right: 0;\n border: none;\n}\n\n.record-summary-badge-content > div {\n padding: var(--ns-space-4) 0;\n white-space: normal;\n word-break: break-word;\n}\n\n.record-summary-simple-badge {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n.record-summary-simple-badge .record-summary-badge-header {\n cursor: default;\n}\n\n/* the count chip next to an accordion title */\n.record-summary-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: var(--ns-space-2);\n padding: 0 var(--ns-space-3);\n min-width: 20px;\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n text-align: center;\n}\n\n.record-summary-badge .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* ---- actions (flows lines 124-127) ------------------------------------- */\n\n.record-update-summary-actions {\n display: flex;\n gap: var(--ns-space-4);\n padding-top: var(--ns-space-4);\n border-top: 1px solid var(--ns-rule);\n margin-top: var(--ns-space-8);\n}\n\n.record-update-summary-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n/* ---- narrow layouts ---------------------------------------------------- */\n\n@container (max-width: 480px) {\n .record-update-summary {\n padding: var(--ns-space-6);\n }\n\n .record-summary-simple-badge,\n .record-summary-expandable-badge {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n }\n}\n\n@container (max-width: 390px) {\n .record-update-summary-actions {\n flex-direction: column;\n }\n\n .record-update-summary-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .record-summary-simple-badge,\n .record-summary-expandable-badge {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n }\n\n .record-update-summary-actions {\n flex-direction: column;\n }\n\n .record-update-summary-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.record-update-summary:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Records update progress / success / failure.\n Success reuses the ink band of the registration success screen\n (Namespace Flows.dc.html lines 282-284) rather than an illustration —\n 96px --ns-name-ink, centred mono caps in --ns-blue-300 (plan §4.6).\n ========================================================================= */\n\n.record-update-screen-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.record-update-screen-card {\n width: 100%;\n max-width: 480px;\n padding: 0 0 var(--ns-space-14);\n text-align: center;\n position: relative;\n background: var(--ns-surface);\n border-radius: 0;\n}\n\n.record-update-screen-title-section {\n padding: 0 var(--ns-space-14);\n margin-bottom: var(--ns-space-14);\n}\n\n.record-update-screen-actions {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-6);\n width: 100%;\n padding: 0 var(--ns-space-14);\n}\n\n.record-update-screen-view-name-btn,\n.record-update-screen-close-btn,\n.record-update-screen-retry-btn {\n width: 100%;\n}\n\n/* ---- success: the ink band replaces the illustration ------------------- */\n\n.record-update-success-illustration {\n height: 96px;\n margin-bottom: var(--ns-space-14);\n display: flex;\n justify-content: center;\n align-items: center;\n background: var(--ns-name-ink);\n}\n\n.record-update-success-illustration img {\n display: none;\n}\n\n.record-update-success-illustration::after {\n content: \"RECORDS UPDATED\";\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n letter-spacing: var(--ns-track-caps);\n color: var(--ns-blue-300);\n}\n\n/* ---- failure ----------------------------------------------------------- */\n\n.record-update-failed-icon {\n margin: var(--ns-space-14) 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--ns-dot-bad);\n}\n\n/* the markup hands the icon a literal red; the palette's tone wins */\n.record-update-failed-icon .ns-icon {\n stroke: var(--ns-dot-bad);\n}\n\n/* ---- narrow layouts (container first — these render inside modals) ----- */\n\n@container (max-width: 480px) {\n .record-update-screen-title-section,\n .record-update-screen-actions {\n padding: 0 var(--ns-space-8);\n }\n\n .record-update-screen-card {\n padding-bottom: var(--ns-space-8);\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .record-update-screen-title-section,\n .record-update-screen-actions {\n padding: 0 var(--ns-space-8);\n }\n}\n","/* Subname mint — Namespace Flows.dc.html lines 307–367.\n Same shell, input, receipt and profile-CTA language as the registration\n flow (§4.2/§4.5). Square, hairline, shadowless; names and amounts in mono. */\n\n.ns-subname-mint-form {\n container-type: inline-size;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n width: 100%;\n max-width: 500px;\n}\n\n/* A query container is a containing block for `position: fixed` descendants,\n which would shrink the in-tree Modal overlay (image upload) to this card.\n Drop containment while a modal is open in the subtree. */\n.ns-subname-mint-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ns-subname-mint-form img {\n max-width: 100%;\n height: auto;\n}\n\n/* ---- Name input (lines 318–329) --------------------------------------\n 48px row, strong hairline, mono name ink. The parent-name suffix is plain\n mono text — no grey suffix box — and ellipsizes when it runs long. */\n.ns-subname-mint-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n padding-left: 44px;\n padding-right: 46%;\n}\n\n.ns-subname-mint-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-subname-mint-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ns-subname-mint-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ns-subname-mint-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ns-subname-mint-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n max-width: 42%;\n background: none;\n border: none;\n border-radius: 0;\n}\n\n.ns-subname-mint-input .ns-input__suffix .ns-text {\n display: block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* ---- Actions --------------------------------------------------------- */\n.ens-update-records-form-actions {\n display: flex;\n gap: var(--ns-space-4);\n}\n\n.ens-update-records-form-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n.ens-update-records-form-actions .ns-mint-action-tooltip {\n flex: 1;\n max-width: 50%;\n}\n\n.ens-update-records-form-actions .ns-mint-action-tooltip button {\n width: 100%;\n max-width: 100%;\n}\n\n/* ---- Records CTA (lines 350–359) ------------------------------------- */\n.ens-profile-selector {\n border: 1px solid var(--ns-border);\n border-radius: 0;\n padding: var(--ns-space-8) var(--ns-space-10);\n background-color: var(--ns-surface-3);\n}\n\n.ens-profile-selector > .d-flex {\n gap: var(--ns-space-8);\n}\n\n.ens-profile-selector .shuriken-cont {\n width: var(--ns-avatar-row);\n height: var(--ns-avatar-row);\n flex: none;\n border-radius: 0;\n background-color: transparent;\n}\n\n.ens-profile-selector .shuriken {\n width: var(--ns-avatar-row);\n height: auto;\n transition: transform 0.3s ease-in-out;\n cursor: pointer;\n}\n\n.ens-profile-selector .shuriken:hover {\n transform: rotate(150deg);\n}\n\n/* 30px solid blue chevron block (line 357) */\n.ens-profile-selector .profile-cta-arrow {\n width: 30px;\n height: 30px;\n flex: none;\n display: grid;\n place-items: center;\n border-radius: 0;\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n}\n\n/* ---- Narrow containers (plan §5) — the webapp's ~330px modals -------- */\n@container (max-width: 390px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button,\n .ens-update-records-form-actions .ns-mint-action-tooltip {\n max-width: 100%;\n width: 100%;\n }\n\n .ns-subname-mint-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n\n .ens-update-records-form-actions .ns-mint-action-tooltip {\n max-width: 100%;\n width: 100%;\n }\n}\n","/* Offchain subname form — no artboard of its own; it follows the mint-form\n spec (§4.5): same shell, same 48px mono name input, same plain-text suffix.\n Square, hairline, shadowless. */\n\n.ns-offchain-subname-form {\n container-type: inline-size;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n width: 100%;\n max-width: 500px;\n}\n\n/* A query container is a containing block for `position: fixed` descendants,\n which would shrink the in-tree Modal overlay to this card. Drop containment\n while a modal is open in the subtree. */\n.ns-offchain-subname-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ns-offchain-subname-form img {\n max-width: 100%;\n height: auto;\n}\n\n.ns-offchain-subname-input .ns-input,\n.ns-offchain-owner-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n font-family: var(--ns-font-mono);\n color: var(--ns-name-ink);\n}\n\n.ns-offchain-subname-input .ns-input:focus,\n.ns-offchain-owner-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-offchain-subname-input .ns-input::placeholder,\n.ns-offchain-owner-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ns-offchain-subname-input .ns-input {\n font-size: var(--ns-size-h4);\n padding-left: 44px;\n padding-right: 46%;\n}\n\n/* the owner address is a hash — mono at meta size so it fits */\n.ns-offchain-owner-input .ns-input {\n font-size: var(--ns-size-meta);\n}\n\n.ns-offchain-subname-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ns-offchain-subname-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ns-offchain-subname-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n max-width: 42%;\n background: none;\n border: none;\n border-radius: 0;\n}\n\n.ns-offchain-subname-input .ns-input__suffix .ns-text {\n display: block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n@container (max-width: 390px) {\n .ns-offchain-subname-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n","/* =========================================================================\n Global styles + legacy variable rewire\n -------------------------------------------------------------------------\n The library's component CSS consumes the legacy `--ns-color-*` / `--ns-radius-*`\n / `--ns-alert-*` variables. Rather than rewrite every component file, those\n names are redefined here as ALIASES of the design tokens in `./tokens.css`\n (which must be imported BEFORE this file).\n\n Radius is 0 and shadow is none at the source, so the whole library becomes\n square and shadowless in one move.\n\n RULE: no unprefixed custom property may be declared or consumed here.\n Host pages define their own `--bg`/`--text`/`--border`/`--radius`.\n ========================================================================= */\n\n:root {\n /* --ns-font-family / --ns-font-mono live in ./tokens.css */\n\n /* kill every rounding and every shadow at the source */\n --ns-radius-sm: 0;\n --ns-radius-md: 0;\n --ns-radius-lg: 0;\n --ns-shadow: none;\n\n --ns-color-bg: var(--ns-surface);\n --ns-color-bg-accent: var(--ns-surface-3);\n --ns-color-bg-accent-hover: var(--ns-surface-4);\n --ns-color-bg-darker: var(--ns-surface-4);\n --ns-color-fg: var(--ns-text);\n --ns-color-muted: var(--ns-text-3);\n --ns-color-primary: var(--ns-blue-600);\n --ns-color-primary-contrast: #ffffff;\n --ns-color-border: var(--ns-border-strong);\n\n /* Error Colors — hard failures keep a red, built from --ns-dot-bad.\n The design has no error surface; these two tints are derived. */\n --ns-alert-error-bg: #fbede6;\n --ns-alert-error-border: #ebc5b2;\n --ns-alert-error-text: var(--ns-dot-bad);\n --ns-alert-error-icon: var(--ns-dot-bad);\n --ns-alert-error-close-hover: rgba(194, 65, 12, 0.1);\n\n /* Warning Colors — the design's amber banner tone */\n --ns-alert-warning-bg: var(--ns-amber-100);\n --ns-alert-warning-border: var(--ns-amber-400);\n --ns-alert-warning-text: var(--ns-amber-700);\n --ns-alert-warning-icon: var(--ns-amber-600);\n --ns-alert-warning-close-hover: rgba(138, 74, 5, 0.1);\n\n /* Info Colors — the one blue accent */\n --ns-alert-info-bg: var(--ns-blue-100);\n --ns-alert-info-border: var(--ns-blue-300);\n --ns-alert-info-text: var(--ns-blue-700);\n --ns-alert-info-icon: var(--ns-blue-600);\n --ns-alert-info-close-hover: rgba(10, 84, 128, 0.1);\n\n /* Success Colors — derived tints of --ns-ok */\n --ns-alert-success-bg: #eff4f0;\n --ns-alert-success-border: #c9dace;\n --ns-alert-success-text: var(--ns-ok);\n --ns-alert-success-icon: var(--ns-dot-ok);\n --ns-alert-success-close-hover: rgba(94, 138, 108, 0.1);\n}\n\n/* Dark theme: the design ships light-only. These legacy values are left\n untouched so the ThemeProvider API keeps working. Marked \"legacy,\n unrefreshed\" in the release notes — do not invent a dark palette. */\n[data-theme=\"dark\"] {\n --ns-color-bg: #0b0f19;\n --ns-color-fg: #e5e7eb;\n --ns-color-muted: #9ca3af;\n --ns-color-primary: #1f1f1f;\n --ns-color-primary-contrast: #0b0f19;\n --ns-color-border: #1f2937;\n --ns-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);\n\n /* Error Colors - Dark Theme */\n --ns-alert-error-bg: #2d1b1b;\n --ns-alert-error-border: #7f1d1d;\n --ns-alert-error-text: #fca5a5;\n --ns-alert-error-icon: #fca5a5;\n --ns-alert-error-close-hover: rgba(252, 165, 165, 0.1);\n\n /* Warning Colors - Dark Theme */\n --ns-alert-warning-bg: #2d1b0b;\n --ns-alert-warning-border: #7c2d12;\n --ns-alert-warning-text: #fed7aa;\n --ns-alert-warning-icon: #fed7aa;\n --ns-alert-warning-close-hover: rgba(254, 215, 170, 0.1);\n\n /* Info Colors - Dark Theme */\n --ns-alert-info-bg: #1e1b2e;\n --ns-alert-info-border: #1e3a8a;\n --ns-alert-info-text: #93c5fd;\n --ns-alert-info-icon: #93c5fd;\n --ns-alert-info-close-hover: rgba(147, 197, 253, 0.1);\n\n /* Success Colors - Dark Theme */\n --ns-alert-success-bg: #1b2d1b;\n --ns-alert-success-border: #166534;\n --ns-alert-success-text: #86efac;\n --ns-alert-success-icon: #86efac;\n --ns-alert-success-close-hover: rgba(134, 239, 172, 0.1);\n}\n\n/* NOTE: the `html { background-color: #f5f4f5 !important }` rule was removed.\n A component library must not force the host page's background. Consumers\n that want the design ground can set `background: var(--ns-bg)` themselves. */\n\n.ns-reset {\n font-family: var(--ns-font-family);\n color: var(--ns-color-fg);\n}\n\n/* Thin, square scrollbars (design `.scroll-thin`) */\n.ns-styled-scrollbar::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n background-color: var(--ns-surface-3);\n}\n\n.ns-styled-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--ns-text-faintest);\n border-radius: 0;\n}\n\n/* =========================================================================\n Demo shell (storybook / landing chrome). Not part of the redesigned flows,\n but it ships in the bundle, so it must not leak rounded or shadowed styles.\n ========================================================================= */\n\n/* Body Layout */\n.ns-body {\n display: flex;\n flex: 1;\n background: var(--ns-bg);\n min-height: calc(100vh - 60px);\n}\n\n/* Main */\n.ns-main {\n flex: 1;\n padding: 1px 20px;\n}\n\n/* Page */\n.ns-page {\n display: grid;\n grid-template-columns: 400px 1fr;\n gap: 24px;\n}\n\n/* Left Profile */\n.ns-left {\n margin-top: 20px;\n align-self: start;\n}\n\n/* Right ENS Section */\n.ns-right {\n flex: 1;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: 0;\n box-shadow: none;\n padding: 20px;\n margin: 16px;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.ns-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 12px;\n margin-bottom: 16px;\n border-bottom: 1px solid var(--ns-rule);\n}\n\n.ns-tabs {\n display: flex;\n gap: 16px;\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-actions-buttons {\n display: flex;\n gap: 12px;\n padding: 0px 18px;\n width: fit-content;\n}\n\n.ns-tabs span {\n cursor: pointer;\n display: flex;\n gap: 6px;\n padding: 6px 10px;\n border-radius: 0;\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n transition: background 0.15s ease, color 0.15s ease;\n}\n\n.ns-tabs span.active {\n background: var(--ns-blue-600);\n color: var(--ns-color-primary-contrast);\n border-radius: 0;\n padding: 6px 10px;\n}\n\n.ns-tabs span:hover {\n background: var(--ns-surface-3);\n color: var(--ns-text);\n}\n\n.ns-tabs span.active:hover {\n background: var(--ns-blue-700);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tabs .count {\n background: var(--ns-surface-3);\n color: var(--ns-text-3);\n padding: 2px 6px;\n border-radius: 0;\n font-size: var(--ns-size-micro);\n font-family: var(--ns-font-mono);\n margin-left: 6px;\n}\n\n.ns-search button {\n border: 1px solid var(--ns-border-strong);\n background: var(--ns-surface);\n border-radius: 0;\n padding: 6px 10px;\n cursor: pointer;\n font-size: var(--ns-size-body);\n color: var(--ns-text-2);\n box-shadow: none;\n transition: background 0.15s ease;\n}\n\n.ns-search button:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-right-column {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-width: 0; /* allow children to shrink properly */\n gap: 16px;\n}\n\n/* ENS Grid */\n.ns-ens-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));\n gap: 16px;\n}\n\n.ns-sidebar {\n width: 60px;\n background-color: var(--ns-surface);\n border-right: 1px solid var(--ns-border);\n padding: 12px 8px;\n border-radius: 0;\n box-shadow: none;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n\n /* Full height minus navbar */\n height: 70vh;\n position: sticky;\n top: 0px;\n\n overflow-y: auto;\n scrollbar-width: thin;\n}\n\n.ns-sidebar::-webkit-scrollbar {\n width: 6px;\n background-color: var(--ns-surface-3);\n}\n.ns-sidebar::-webkit-scrollbar-thumb {\n background: var(--ns-text-faintest);\n border-radius: 0;\n}\n\n.ns-menu {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 20px;\n}\n\n.ns-menu span {\n cursor: pointer;\n color: var(--ns-text-3);\n font-size: 22px;\n padding: 10px;\n border-radius: 0;\n transition: background 0.15s ease, color 0.15s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ns-menu span:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-menu .active {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n font-weight: var(--ns-weight-medium);\n box-shadow: none;\n}\n\n/* Navbar Styles */\n\n.ns-navbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--ns-surface);\n padding: 12px 20px;\n border-bottom: 1px solid var(--ns-border);\n box-shadow: none;\n position: sticky;\n top: 0;\n z-index: 50;\n width: calc(100% - 100px);\n border-radius: 0;\n margin-left: 20px;\n}\n\n.ns-navbar-left {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 30%;\n}\n\n.ns-logo {\n font-weight: var(--ns-weight-bold);\n font-size: 20px;\n background: var(--ns-name-ink);\n color: var(--ns-surface);\n border-radius: 0;\n padding: 8px 14px;\n box-shadow: none;\n}\n\n.ns-searchbar {\n border: 1px solid var(--ns-border-strong);\n border-radius: 0;\n padding: 6px 12px;\n font-size: var(--ns-size-body);\n width: 220px;\n background: var(--ns-surface);\n color: var(--ns-text);\n transition: border-color 0.15s ease;\n}\n\n.ns-searchbar:focus {\n border-color: var(--ns-focus-ring);\n box-shadow: none;\n outline: none;\n}\n\n.ns-navbar-right {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.ns-network {\n font-weight: var(--ns-weight-medium);\n background: var(--ns-surface-3);\n padding: 6px 12px;\n border-radius: 0;\n transition: background 0.15s ease, color 0.15s ease;\n cursor: pointer;\n}\n\n.ns-network:hover {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n box-shadow: none;\n}\n\n.ns-profile {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: var(--ns-weight-medium);\n padding: 6px 10px;\n border-radius: 0;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.ns-profile:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-navbar-profile-avatar {\n width: 32px;\n height: 32px;\n border-radius: 0;\n object-fit: cover;\n box-shadow: none;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["fonts.css","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/_containers.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_container.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/_grid.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_grid.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/mixins/_utilities.scss","../../../../node_modules/.pnpm/bootstrap@5.3.8_@popperjs+core@2.11.8/node_modules/bootstrap/scss/utilities/_api.scss","tokens.css","utils.css","Button.css","Input.css","Textarea.css","Text.css","Icon.css","ChainIcon.css","Tooltip.css","Card.css","ShurikenSpinner.css","Tag.css","Dropdown.css","Alert.css","Modal.css","ProfileHeader.css","Accordion.css","ConnectAndSetChain.css","ProgressBar.css","DurationPicker.css","PricingDisplay.css","SelectRecordsForm.css","ImageRecords.css","ImageUploadModal.css","ENSNamesRegistrarComponent.css","RegistrationSummary.css","RegistrationProcess.css","Timer.css","SuccessScreen.css","EnsRecordsForm.css","EnsUpdateRecordsForm.css","RecordUpdateSummary.css","RecordUpdateProgress.css","SubnameMintForm.css","OffchainSubnameForm.css","global.css"],"names":[],"mappings":"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","file":"index.css","sourcesContent":["/* Design system typefaces: DM Sans (body) + DM Mono (names, numbers, fees, dates).\n Shared by both style entry points (styles/index.css and src/styles.ts) so the\n extracted CSS bundle and the JS-injected bundle stay identical. */\n@import url(\"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&family=DM+Mono:wght@400;500&display=swap\");\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-container-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n @each $name, $value in $grid-breakpoints {\n --#{$prefix}breakpoint-#{$name}: #{$value};\n }\n}\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0;\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // Use custom CSS variable name if present, otherwise default to `class`\n $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (e.g. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$prefix}#{$css-variable-name}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $variable in $is-local-vars {\n --#{$prefix}#{$local-var}: #{$variable};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n","/* =========================================================================\n Design tokens — @thenamespace/ens-components\n -------------------------------------------------------------------------\n Ported from the design system token set (tokens/*.css).\n The design's VALUES are law; the NAMES are namespaced.\n\n RULE: this library must never ship an unprefixed custom property.\n Every token below is `--ns-*`. The design's generic names\n (--bg, --surface, --text, --border, --radius, --space-*) would collide\n with host pages, which define their own. Do not add unprefixed names here\n or anywhere else in the library.\n\n The system is shadowless: elevation is a hairline, never a shadow.\n ========================================================================= */\n\n:root {\n /* ---- fonts (replaces Satoshi) ---------------------------------------- */\n --ns-font-family: \"DM Sans\", system-ui, sans-serif;\n --ns-font-mono: \"DM Mono\", ui-monospace, monospace;\n\n /* ---- ground ---------------------------------------------------------- */\n --ns-canvas: #e9e4dc;\n --ns-bg: #fbfaf9;\n --ns-surface: #ffffff;\n --ns-surface-2: #fcfbfa;\n --ns-surface-3: #f5f3ef;\n --ns-surface-4: #f2efea;\n\n /* ---- ink ------------------------------------------------------------- */\n --ns-text: #1b1d1e;\n --ns-text-2: #4a4741;\n --ns-text-3: #6b665e;\n --ns-text-muted: #8a857c;\n --ns-text-faint: #9a958d;\n --ns-text-faintest: #b9b4ab;\n\n /* ---- lines ----------------------------------------------------------- */\n --ns-border: #f0ede8;\n --ns-border-strong: #dfdad2;\n --ns-border-frame: #dad4cb;\n --ns-rule: #f5f3ef;\n\n /* ---- accent — one ink, whole ramp derives from it --------------------\n The ramp went from blue to near-black; the --ns-blue-* names are kept\n so consumers referencing them keep working. Links stay blue: that is\n --ns-link, not the accent. */\n --ns-ink: #212121;\n --ns-blue-100: color-mix(in srgb, var(--ns-ink) 6%, white);\n --ns-blue-300: color-mix(in srgb, var(--ns-ink) 30%, white);\n --ns-blue-500: color-mix(in srgb, var(--ns-ink) 56%, white);\n --ns-blue-600: var(--ns-ink);\n --ns-blue-700: color-mix(in srgb, var(--ns-ink) 80%, black);\n --ns-name-ink: var(--ns-ink);\n\n /* ---- amber — expiry / grace / warning / validation errors ------------ */\n --ns-amber-100: #fdf9ec;\n --ns-amber-200: #fbf2de;\n --ns-amber-300: #f6edd6;\n --ns-amber-400: #e7c77a;\n --ns-amber-500: #d98b1b;\n --ns-amber-600: #b4620b;\n --ns-amber-700: #8a4a05;\n\n /* ---- pink — legacy / upgrade ----------------------------------------- */\n --ns-pink-100: #fdeef6;\n --ns-pink-300: #f0a6cb;\n --ns-pink-600: #c22b7a;\n --ns-pink-700: #8c1152;\n\n /* ---- green — success / activated ------------------------------------- */\n --ns-green-100: #e7f4ec;\n --ns-green-300: #b6ddc4;\n --ns-green-600: #3f9d6f;\n --ns-green-700: #2f7c56;\n --ns-green-on-dark: #86efac;\n --ns-green-on-dark-bg: rgba(34, 197, 94, 0.16);\n --ns-green-on-dark-border: rgba(34, 197, 94, 0.3);\n\n /* ---- status ---------------------------------------------------------- */\n --ns-ok: #5e8a6c;\n --ns-dot-ok: #7fa98b;\n --ns-dot-soon: var(--ns-amber-500);\n --ns-dot-bad: #c2410c;\n\n /* ---- semantic -------------------------------------------------------- */\n --ns-link: #0080bc;\n --ns-link-hover: color-mix(in srgb, var(--ns-link) 74%, black);\n --ns-text-link: var(--ns-link);\n --ns-text-link-hover: var(--ns-link-hover);\n --ns-focus-ring: color-mix(in srgb, var(--ns-text) 42%, white);\n --ns-selection: color-mix(in srgb, var(--ns-text) 10%, white);\n\n /* ---- spacing --------------------------------------------------------- */\n --ns-space-1: 2px;\n --ns-space-2: 4px;\n --ns-space-3: 6px;\n --ns-space-4: 8px;\n --ns-space-5: 10px;\n --ns-space-6: 12px;\n --ns-space-7: 14px;\n --ns-space-8: 16px;\n --ns-space-9: 18px;\n --ns-space-10: 20px;\n --ns-space-12: 22px;\n --ns-space-14: 26px;\n --ns-space-16: 32px;\n --ns-space-20: 48px;\n --ns-space-24: 56px;\n\n /* ---- control heights ------------------------------------------------- */\n --ns-control-sm: 30px;\n --ns-control-md: 34px;\n --ns-control: 38px;\n --ns-control-lg: 40px;\n --ns-control-xl: 44px;\n\n /* ---- layout / avatar sizes (design extras, prefixed & harmless) ------- */\n --ns-page-max: 1160px;\n --ns-screen-width: 1280px;\n --ns-avatar-sm: 26px;\n --ns-avatar-row: 34px;\n --ns-avatar-lg: 120px;\n\n /* ---- type scale ------------------------------------------------------ */\n --ns-size-name-xl: 40px;\n --ns-size-name-lg: 34px;\n --ns-size-h2: 24px;\n --ns-size-h3: 18px;\n --ns-size-h4: 16px;\n --ns-size-body: 14px;\n --ns-size-body-sm: 13.5px;\n --ns-size-meta: 13px;\n --ns-size-mono-row: 14.5px;\n --ns-size-label: 11.5px;\n --ns-size-micro: 11px;\n\n --ns-weight-regular: 400;\n --ns-weight-medium: 500;\n --ns-weight-semibold: 600;\n --ns-weight-bold: 700;\n\n --ns-leading-tight: 1.2;\n --ns-leading-body: 1.55;\n --ns-leading-prose: 1.6;\n\n --ns-track-name: -0.03em;\n --ns-track-heading: -0.02em;\n --ns-track-label: 0.07em;\n --ns-track-caps: 0.1em;\n\n /* ---- borders — rounded surfaces, still shadowless -------------------- */\n --ns-radius: 10px;\n --ns-hairline: 1px solid var(--ns-border);\n --ns-hairline-strong: 1px solid var(--ns-border-strong);\n --ns-rule-line: 1px solid var(--ns-rule);\n /* no shadow tokens: elevation is a hairline, never a shadow */\n}\n","/* Text alignment */\n.ns-text-center {\n text-align: center;\n}\n\n.ns-text-left {\n text-align: left;\n}\n\n.ns-text-right {\n text-align: right;\n}\n\n.ns-me-1 {\n margin-right: 5px;\n}\n\n.ns-ms-1 {\n margin-left: 5px;\n}\n\n.ns-mt-1 {\n margin-top: 5px;\n}\n\n.ns-mb-1 {\n margin-bottom: 5px;\n}\n\n.ns-me-2 {\n margin-right: 10px;\n}\n\n.ns-ms-2 {\n margin-left: 10px;\n}\n\n.ns-mt-2 {\n margin-top: 10px;\n}\n\n.ns-mb-2 {\n margin-bottom: 10px;\n}\n\n.ns-me-3 {\n margin-right: 15px;\n}\n\n.ns-ms-3 {\n margin-left: 15px;\n}\n\n.ns-mt-3 {\n margin-top: 15px;\n}\n\n.ns-mb-3 {\n margin-bottom: 15px;\n}\n\n.ns-wd-100 {\n width: 100%;\n}\n\n/* Card container - reusable container with white bg, hairline border, padding */\n.ns-card-container {\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n box-shadow: none;\n padding: var(--ns-space-10);\n}\n\n/* ---- Design-system typography utilities ---------------------------------\n Composable classes for feature CSS. No component API changes.\n ------------------------------------------------------------------------ */\n\n/* Mono — names, addresses, hashes, amounts, dates */\n.ns-mono {\n font-family: var(--ns-font-mono);\n}\n\n/* Uppercase micro-label — the label above a field, a group, a stat.\n Uppercase belongs to micro-labels only, never to buttons. */\n.ns-field-label {\n display: block;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* Name row — an ENS name rendered inline, in mono ink */\n.ns-name-row {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-mono-row);\n font-weight: var(--ns-weight-regular);\n letter-spacing: 0;\n color: var(--ns-name-ink);\n}\n\n/* Status dot — 7x7 square, never a circle */\n.ns-dot {\n display: inline-block;\n width: 7px;\n height: 7px;\n flex: none;\n border-radius: 0;\n background: var(--ns-text-faintest);\n}\n\n.ns-dot--ok {\n background: var(--ns-dot-ok);\n}\n\n.ns-dot--soon {\n background: var(--ns-dot-soon);\n}\n\n.ns-dot--bad {\n background: var(--ns-dot-bad);\n}\n/* ---- name availability status line ------------------------------------\n A 7px status dot plus a micro label, centred under a name field. Shared by\n the registration, subname-mint and offchain-subname inputs so all three\n states (available / taken / reserved / too-short) read identically\n (design flows lines 203-207). */\n.ns-name-status {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-5);\n min-height: 18px;\n margin-top: var(--ns-space-4);\n}\n\n.ns-name-status__text {\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n","/* =========================================================================\n Button — the design's `.btn` family, square and hairline.\n -------------------------------------------------------------------------\n Heights, not paddings. No radius, no shadow, no transform on :active.\n Labels are NOT uppercased: the design types its caps into the label text.\n Uppercase belongs to micro-labels (`.ns-field-label`) only.\n\n Variant map (props frozen):\n solid -> .btn-primary\n outline -> .btn-outline\n ghost -> .btn-ghost\n destructive -> .btn-pink shape, toned with --ns-dot-bad\n ========================================================================= */\n\n.ns-btn {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-text);\n --ns-btn-border: var(--ns-border-strong);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-4);\n\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-tight);\n letter-spacing: 0.02em;\n\n background-color: var(--ns-btn-bg);\n color: var(--ns-btn-fg);\n border: 1px solid var(--ns-btn-border);\n border-radius: var(--ns-radius);\n\n cursor: pointer;\n transition:\n background-color 120ms ease,\n color 120ms ease,\n border-color 120ms ease,\n opacity 120ms ease;\n}\n\n.ns-btn:hover:not(:disabled) {\n border-color: var(--ns-text-faint);\n}\n\n.ns-btn:active:not(:disabled) {\n background-color: var(--ns-surface-3);\n}\n\n.ns-btn:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n.ns-btn:disabled {\n opacity: 0.45;\n cursor: default;\n}\n\n/* ---- sizes: heights from the control scale ----------------------------- */\n.ns-btn--sm {\n height: var(--ns-control-sm);\n padding: 0 var(--ns-space-6);\n font-size: var(--ns-size-meta);\n}\n.ns-btn--md {\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n font-size: var(--ns-size-body-sm);\n}\n.ns-btn--lg {\n height: var(--ns-control-xl);\n padding: 0 var(--ns-space-12);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-bold);\n}\n\n/* Touch targets never drop below 40px on touch devices (plan §5.4). */\n@media (pointer: coarse) {\n .ns-btn--sm {\n height: var(--ns-control-lg);\n }\n}\n\n/* ---- variants ---------------------------------------------------------- */\n.ns-btn--solid {\n --ns-btn-bg: var(--ns-blue-600);\n --ns-btn-fg: var(--ns-color-primary-contrast);\n --ns-btn-border: var(--ns-blue-600);\n}\n.ns-btn--solid:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-blue-700);\n --ns-btn-border: var(--ns-blue-700);\n}\n.ns-btn--solid:active:not(:disabled) {\n background-color: var(--ns-blue-700);\n}\n\n.ns-btn--outline {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-blue-600);\n --ns-btn-border: var(--ns-blue-500);\n}\n.ns-btn--outline:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-blue-100);\n --ns-btn-fg: var(--ns-blue-700);\n --ns-btn-border: var(--ns-blue-500);\n}\n\n.ns-btn--ghost {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-text-3);\n --ns-btn-border: transparent;\n}\n.ns-btn--ghost:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-surface-3);\n --ns-btn-fg: var(--ns-text);\n --ns-btn-border: transparent;\n}\n\n/* The design has no destructive tone; keep it minimal-square in the\n hard-failure red (--ns-dot-bad), shaped like .btn-pink. */\n.ns-btn--destructive {\n --ns-btn-bg: transparent;\n --ns-btn-fg: var(--ns-dot-bad);\n --ns-btn-border: var(--ns-dot-bad);\n}\n.ns-btn--destructive:hover:not(:disabled) {\n --ns-btn-bg: var(--ns-alert-error-bg);\n --ns-btn-fg: var(--ns-alert-error-text);\n --ns-btn-border: var(--ns-alert-error-border);\n}\n\n/* ---- loading ----------------------------------------------------------- */\n.ns-btn--loading .ns-btn__label {\n opacity: 0.85;\n}\n\n/* Square spinner: 2px currentColor ring with one side dropped\n (design script lines 571-577 — no radius, motion only). */\n.ns-btn__spinner {\n width: 1em;\n height: 1em;\n flex: none;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: var(--ns-radius);\n animation: ui-spin 700ms linear infinite;\n}\n\n/* ---- prefix ------------------------------------------------------------ */\n.ns-btn__prefix {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.ns-btn__prefix svg {\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n}\n\n.ns-btn__prefix + .ns-btn__label {\n margin-left: var(--ns-space-2);\n}\n\n/* Icon-only button: keep it square. */\n.ns-btn:has(.ns-btn__prefix):not(:has(.ns-btn__label)) {\n padding-left: var(--ns-space-4);\n padding-right: var(--ns-space-4);\n}\n\n.ns-btn--sm .ns-btn__prefix svg {\n width: 0.875em;\n height: 0.875em;\n}\n\n.ns-btn--lg .ns-btn__prefix svg {\n width: 1.125em;\n height: 1.125em;\n}\n\n/* =========================================================================\n .ns-icon-btn — the design's `.icon-btn` as a utility class.\n No component: applied by markup that already renders square icon buttons\n (record remove ✕, modal close, +/- steppers, avatar/header \"+\").\n 40px, not 38px: touch targets stay >= 40px (plan §5.4).\n ========================================================================= */\n.ns-icon-btn {\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n flex: none;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n color: var(--ns-text-3);\n cursor: pointer;\n transition:\n border-color 120ms ease,\n color 120ms ease,\n background-color 120ms ease;\n}\n\n.ns-icon-btn:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n color: var(--ns-text);\n}\n\n.ns-icon-btn:active:not(:disabled) {\n background: var(--ns-surface-3);\n}\n\n.ns-icon-btn:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n.ns-icon-btn:disabled {\n opacity: 0.45;\n cursor: default;\n}\n\n.ns-icon-btn svg {\n display: block;\n}\n\n@keyframes ui-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n","/* =========================================================================\n Input — the design's `.input`: square, hairline, no focus ring shadow.\n Validation is amber (the design has no red field state).\n ========================================================================= */\n\n.ns-input__wrapper {\n position: relative;\n display: block;\n width: 100%;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ns-input {\n width: 100%;\n height: var(--ns-control-lg);\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n color: var(--ns-text);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n transition: border-color 150ms ease;\n outline: none;\n padding: 0 var(--ns-space-6);\n box-sizing: border-box;\n}\n\n.ns-input:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n}\n\n/* Focus is a border, never a ring. */\n.ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-input:disabled {\n background: var(--ns-surface-3);\n color: var(--ns-text-faint);\n cursor: not-allowed;\n}\n\n/* Validation — amber, per the design (flows lines 603-620). */\n.ns-input--error,\n.ns-input--error:hover,\n.ns-input--error:focus {\n border-color: var(--ns-amber-600);\n}\n\n/* ---- sizes: heights from the control scale ----------------------------- */\n.ns-input--sm {\n height: var(--ns-control-sm);\n font-size: var(--ns-size-meta);\n}\n\n.ns-input--md {\n height: var(--ns-control);\n font-size: var(--ns-size-body);\n}\n\n/* lg is the hero name-input height (flows line 198) */\n.ns-input--lg {\n height: 48px;\n font-size: var(--ns-size-h4);\n}\n\n/* Touch targets never drop below 40px on touch devices (plan §5.4). */\n@media (pointer: coarse) {\n .ns-input--sm,\n .ns-input--md {\n height: var(--ns-control-lg);\n }\n}\n\n/* ---- prefix / suffix: plain text, no boxes ----------------------------- */\n.ns-input__prefix,\n.ns-input__suffix {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n border-radius: var(--ns-radius);\n color: var(--ns-text-faint);\n font-size: var(--ns-size-meta);\n pointer-events: none;\n z-index: 1;\n}\n\n/* Affix insets follow the design's search field: the icon sits 14px in, and\n the text clears it by a further gap so the two never crowd each other\n (design `_ds_bundle.css`: `.search-icon { left: var(--space-7) }`,\n `.search .input { padding-left: 38px }`). */\n.ns-input__prefix {\n left: var(--ns-space-7);\n}\n\n.ns-input__suffix {\n right: var(--ns-space-7);\n}\n\n/* 14px inset + ~18px icon + 6px breathing room */\n.ns-input__wrapper:has(.ns-input__prefix) .ns-input {\n padding-left: calc(var(--ns-space-7) + 18px + var(--ns-space-3));\n}\n\n.ns-input__wrapper:has(.ns-input__suffix) .ns-input {\n padding-right: calc(var(--ns-space-7) + 18px + var(--ns-space-3));\n}\n\n/* ---- placeholder ------------------------------------------------------- */\n.ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n\n/* Number input spinner removal */\n.ns-input[type=\"number\"]::-webkit-outer-spin-button,\n.ns-input[type=\"number\"]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n","/* =========================================================================\n Textarea — `.input` treatment, multiline: square, hairline, amber errors.\n ========================================================================= */\n\n.ns-textarea__wrapper {\n position: relative;\n display: block;\n width: 100%;\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ns-textarea {\n width: 100%;\n min-height: var(--ns-control);\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n color: var(--ns-text);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n line-height: var(--ns-leading-body);\n transition: border-color 150ms ease;\n outline: none;\n padding: var(--ns-space-5) var(--ns-space-6);\n box-sizing: border-box;\n resize: vertical;\n}\n\n.ns-textarea:hover:not(:disabled) {\n border-color: var(--ns-border-strong);\n}\n\n/* Focus is a border, never a ring. */\n.ns-textarea:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-textarea:disabled {\n background: var(--ns-surface-3);\n color: var(--ns-text-faint);\n cursor: not-allowed;\n}\n\n/* Validation — amber, per the design. */\n.ns-textarea--error,\n.ns-textarea--error:hover,\n.ns-textarea--error:focus {\n border-color: var(--ns-amber-600);\n}\n\n/* ---- sizes ------------------------------------------------------------- */\n.ns-textarea--sm {\n min-height: var(--ns-control-lg);\n font-size: var(--ns-size-meta);\n}\n\n.ns-textarea--md {\n min-height: 60px;\n font-size: var(--ns-size-body);\n}\n\n.ns-textarea--lg {\n min-height: 90px;\n font-size: var(--ns-size-h4);\n}\n\n/* ---- prefix / suffix: plain text, no boxes ----------------------------- */\n.ns-textarea__prefix,\n.ns-textarea__suffix {\n position: absolute;\n display: flex;\n align-items: flex-start;\n background: transparent;\n border: none;\n border-radius: var(--ns-radius);\n color: var(--ns-text-faint);\n font-size: var(--ns-size-meta);\n pointer-events: none;\n z-index: 1;\n}\n\n.ns-textarea__prefix {\n left: var(--ns-space-5);\n top: var(--ns-space-5);\n}\n\n.ns-textarea__suffix {\n right: var(--ns-space-5);\n top: var(--ns-space-5);\n}\n\n.ns-textarea__wrapper:has(.ns-textarea__prefix) .ns-textarea {\n padding-left: var(--ns-space-16);\n}\n\n.ns-textarea__wrapper:has(.ns-textarea__suffix) .ns-textarea {\n padding-right: var(--ns-space-16);\n}\n\n/* ---- placeholder ------------------------------------------------------- */\n.ns-textarea::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n","/* =========================================================================\n Text — the design's type scale. Sizes come from the token scale, never\n from rem guesses. Props are frozen; the `.ns-text--mono` / `.ns-text--label`\n utilities exist for feature CSS to compose onto existing markup.\n ========================================================================= */\n\n.ns-text {\n font-family: var(--ns-font-family);\n line-height: var(--ns-leading-body);\n padding: 0;\n}\n\n/* ---- size variants ----------------------------------------------------- */\n.ns-text--xs {\n font-size: var(--ns-size-micro);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--sm {\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--md {\n font-size: var(--ns-size-body);\n line-height: var(--ns-leading-body);\n}\n\n.ns-text--lg {\n font-size: var(--ns-size-h4);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-heading);\n}\n\n.ns-text--xl {\n font-size: var(--ns-size-h3);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-heading);\n}\n\n/* ---- weight variants --------------------------------------------------- */\n.ns-text--light {\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-text--regular {\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-text--medium {\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-text--bold {\n font-weight: var(--ns-weight-bold);\n}\n\n/* ---- colour variants --------------------------------------------------- */\n/* `primary` is the primary INK, not the accent (it was #1f1f1f before the\n refresh; --ns-color-primary is now the blue accent, which would turn every\n default <Text> blue). */\n.ns-text--primary {\n color: var(--ns-text);\n}\n\n.ns-text--white {\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-text--grey {\n color: var(--ns-text-3);\n}\n\n/* Field-level validation is amber; the red of --ns-dot-bad is reserved for\n hard failures surfaced through Alert. */\n.ns-text--danger {\n color: var(--ns-amber-700);\n}\n\n/* ---- composable utilities (no prop changes) ---------------------------- */\n.ns-text--mono {\n font-family: var(--ns-font-mono);\n}\n\n.ns-text--label {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n line-height: var(--ns-leading-tight);\n color: var(--ns-text-faint);\n}\n",".ns-icon {\n display: inline-block;\n vertical-align: middle;\n flex-shrink: 0;\n}\n",".ns-chain-icon {\n display: inline-block;\n vertical-align: middle;\n}\n\n.ns-chain-icon svg {\n display: block;\n}\n","/* =========================================================================\n Tooltip — minimal square ink chip. No radius, no shadow, no scale.\n The arrow is positional, not decorative, so it stays (recoloured).\n ========================================================================= */\n\n.ns-tooltip-trigger {\n display: inline-block;\n position: relative;\n width: 100%;\n}\n\n.ns-tooltip {\n position: fixed;\n z-index: 9999;\n pointer-events: none;\n animation: tooltip-fade-in 0.15s ease-out;\n max-width: 90vw;\n word-wrap: break-word;\n}\n\n.ns-tooltip__content {\n background: var(--ns-text);\n color: var(--ns-surface);\n padding: var(--ns-space-3) var(--ns-space-5);\n border: none;\n border-radius: var(--ns-radius);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-body);\n max-width: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n.ns-tooltip__arrow {\n position: absolute;\n width: 0;\n height: 0;\n border: 6px solid transparent;\n}\n\n/* Arrow positioning for different tooltip positions */\n.ns-tooltip--top .ns-tooltip__arrow {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--bottom .ns-tooltip__arrow {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n.ns-tooltip--left .ns-tooltip__arrow {\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-left-color: var(--ns-text);\n border-right: none;\n}\n\n.ns-tooltip--right .ns-tooltip__arrow {\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n border-right-color: var(--ns-text);\n border-left: none;\n}\n\n.ns-tooltip--top-start .ns-tooltip__arrow {\n top: 100%;\n left: var(--ns-space-8);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--top-end .ns-tooltip__arrow {\n top: 100%;\n right: var(--ns-space-8);\n border-top-color: var(--ns-text);\n border-bottom: none;\n}\n\n.ns-tooltip--bottom-start .ns-tooltip__arrow {\n bottom: 100%;\n left: var(--ns-space-8);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n.ns-tooltip--bottom-end .ns-tooltip__arrow {\n bottom: 100%;\n right: var(--ns-space-8);\n border-bottom-color: var(--ns-text);\n border-top: none;\n}\n\n/* Opacity-only fade: no scale, no travel. */\n@keyframes tooltip-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n/* ---- light variant — a surface held by a hairline ---------------------- */\n.ns-tooltip--light .ns-tooltip__content {\n background: var(--ns-surface);\n color: var(--ns-text);\n border: 1px solid var(--ns-border-strong);\n}\n\n.ns-tooltip--light.ns-tooltip--top .ns-tooltip__arrow {\n border-top-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--bottom .ns-tooltip__arrow {\n border-bottom-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--light.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-surface);\n}\n\n.ns-tooltip--light.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--light.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-surface);\n}\n\n/* ---- tone variants ----------------------------------------------------- */\n.ns-tooltip--success .ns-tooltip__content {\n background: var(--ns-ok);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--success.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--success.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-ok);\n}\n\n.ns-tooltip--success.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-ok);\n}\n\n.ns-tooltip--error .ns-tooltip__content {\n background: var(--ns-dot-bad);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--error.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--error.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--error.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-dot-bad);\n}\n\n.ns-tooltip--warning .ns-tooltip__content {\n background: var(--ns-amber-600);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--warning.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--warning.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--warning.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-amber-600);\n}\n\n.ns-tooltip--info .ns-tooltip__content {\n background: var(--ns-blue-600);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tooltip--info.ns-tooltip--top .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--top-start .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--bottom .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--bottom-start .ns-tooltip__arrow,\n.ns-tooltip--info.ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-blue-600);\n}\n\n.ns-tooltip--info.ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-blue-600);\n}\n\n/* ---- dark theme (legacy, unrefreshed) ---------------------------------- */\n[data-theme=\"dark\"] .ns-tooltip__content {\n background: var(--ns-color-fg);\n color: var(--ns-color-bg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--top .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--top-start .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--top-end .ns-tooltip__arrow {\n border-top-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--bottom .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--bottom-start .ns-tooltip__arrow,\n[data-theme=\"dark\"] .ns-tooltip--bottom-end .ns-tooltip__arrow {\n border-bottom-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--left .ns-tooltip__arrow {\n border-left-color: var(--ns-color-fg);\n}\n\n[data-theme=\"dark\"] .ns-tooltip--right .ns-tooltip__arrow {\n border-right-color: var(--ns-color-fg);\n}\n\n/* ---- responsive -------------------------------------------------------- */\n@media (max-width: 480px) {\n .ns-tooltip__content {\n font-size: var(--ns-size-micro);\n padding: var(--ns-space-2) var(--ns-space-4);\n max-width: 250px;\n }\n\n .ns-tooltip__arrow {\n border-width: 5px;\n }\n}\n","/* =========================================================================\n Card — the design's `.card`: a surface held by a hairline.\n Elevation is a hairline, never a shadow.\n ========================================================================= */\n\n.card {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n padding: var(--ns-space-12);\n overflow: hidden;\n}\n\n.ns-card {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n}\n",".shuriken-spinner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.shuriken-spinner__image {\n animation: shuriken-spin 0.8s linear infinite;\n}\n\n@keyframes shuriken-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n","/* =========================================================================\n Tag — the design's `.tag`: status, never decoration.\n Uppercase micro-label type, square, no radius, no shadow.\n ========================================================================= */\n\n.ns-tag {\n display: inline-flex;\n align-items: center;\n gap: var(--ns-space-3);\n\n padding: var(--ns-space-2) var(--ns-space-5);\n\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n line-height: var(--ns-leading-tight);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n white-space: nowrap;\n\n background: transparent;\n border: 1px solid transparent;\n border-radius: var(--ns-radius);\n color: var(--ns-text-3);\n}\n\n.ns-tag--outline {\n color: var(--ns-text-3);\n border-color: var(--ns-border);\n}\n\n.ns-tag--blue {\n color: var(--ns-blue-600);\n background: var(--ns-blue-100);\n}\n\n.ns-tag--amber {\n color: var(--ns-amber-600);\n background: var(--ns-amber-200);\n}\n\n.ns-tag--pink {\n color: var(--ns-pink-600);\n background: var(--ns-pink-100);\n}\n","/* =========================================================================\n Dropdown — a flat menu. Square, hairline, shadowless.\n The menu fuses with its trigger: a -1px offset collapses the two hairlines\n into one shared line (design lines 52–55).\n ========================================================================= */\n\n.ns-dropdown {\n position: relative;\n display: inline-block;\n}\n\n.ns-dropdown__trigger {\n cursor: pointer;\n user-select: none;\n}\n\n.ns-dropdown__trigger:focus-visible {\n outline: 2px solid var(--ns-focus-ring);\n outline-offset: 2px;\n}\n\n.ns-dropdown__menu {\n position: absolute;\n z-index: 1000;\n\n width: max-content;\n /* never wider than the viewport — menus stay usable inside ~330px modals */\n max-width: calc(100vw - 20px);\n\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n /* Clip content to the panel's radius. Menus supply their own square-cornered\n background (e.g. .ns-image-actions-menu), which otherwise paints over the\n rounded corners and makes the border look broken. */\n overflow: hidden;\n /* opacity-only fade: no scale, no translate — and nothing that would\n clobber the translateX(-50%) of the centre alignment */\n animation: ns-dropdown-fade-in 150ms ease;\n box-sizing: border-box;\n}\n\n/* Alignment */\n.ns-dropdown--align-start {\n left: 0;\n right: auto;\n}\n.ns-dropdown--align-center {\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n}\n.ns-dropdown--align-end {\n right: 0;\n left: auto;\n}\n\n/* Placement variants — the -1px fuses the menu's hairline with the trigger's */\n.ns-dropdown--bottom {\n top: 100%;\n margin-top: -1px;\n}\n\n.ns-dropdown--top {\n bottom: 100%;\n margin-bottom: -1px;\n}\n\n.ns-dropdown--left {\n right: 100%;\n margin-right: -1px;\n}\n\n.ns-dropdown--right {\n left: 100%;\n margin-left: -1px;\n}\n\n/* Item styling is owned by the feature CSS that renders the menu contents\n (e.g. ImageRecords) so that arbitrary children — Button atoms included —\n are not clobbered here. */\n\n@keyframes ns-dropdown-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n","/* =========================================================================\n Alert — the design's `.banner`\n -------------------------------------------------------------------------\n Square, hairline, shadowless. The signature is the 3px accent rail on the\n left edge; the other three sides are the tone's hairline.\n Tone values arrive from the `--ns-alert-*` aliases (styles/global.css).\n ========================================================================= */\n\n.ns-alert {\n display: flex;\n align-items: flex-start;\n padding: var(--ns-space-6) var(--ns-space-8);\n border-radius: var(--ns-radius);\n border: 1px solid transparent;\n /* the accent rail — variants recolour it via border-left-color */\n border-left-width: 3px;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body);\n line-height: var(--ns-leading-body);\n margin: var(--ns-space-4) 0;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ns-alert-content {\n display: flex;\n align-items: flex-start;\n width: 100%;\n gap: var(--ns-space-6);\n}\n\n.ns-alert-content-vertical {\n flex-direction: column;\n align-items: center;\n text-align: center;\n gap: var(--ns-space-8);\n}\n\n.ns-alert-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-top: var(--ns-space-1);\n}\n\n.ns-alert-icon-vertical {\n margin-top: 0;\n}\n\n.ns-alert-message {\n flex: 1;\n min-width: 0;\n}\n\n.ns-alert-title {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n letter-spacing: var(--ns-track-heading);\n line-height: var(--ns-leading-tight);\n margin-bottom: var(--ns-space-2);\n}\n\n.ns-alert-description {\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n opacity: 0.9;\n}\n\n.ns-alert-close {\n background: none;\n border: none;\n border-radius: var(--ns-radius);\n cursor: pointer;\n padding: var(--ns-space-2);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-top: var(--ns-space-1);\n color: inherit;\n transition: background-color 0.15s ease;\n}\n\n/* ---- Error — reserved for hard transaction failures --------------------- */\n.ns-alert-error {\n background-color: var(--ns-alert-error-bg);\n border-color: var(--ns-alert-error-border);\n border-left-color: var(--ns-alert-error-icon);\n color: var(--ns-alert-error-text);\n}\n\n.ns-alert-error .ns-alert-icon {\n color: var(--ns-alert-error-icon);\n}\n\n.ns-alert-error .ns-alert-title,\n.ns-alert-error .ns-alert-close {\n color: var(--ns-alert-error-text);\n}\n\n.ns-alert-error .ns-alert-close:hover {\n background-color: var(--ns-alert-error-close-hover);\n}\n\n/* ---- Warning — also the tone for field validation ----------------------- */\n.ns-alert-warning {\n background-color: var(--ns-alert-warning-bg);\n border-color: var(--ns-alert-warning-border);\n border-left-color: var(--ns-alert-warning-icon);\n color: var(--ns-alert-warning-text);\n}\n\n.ns-alert-warning .ns-alert-icon {\n color: var(--ns-alert-warning-icon);\n}\n\n.ns-alert-warning .ns-alert-title,\n.ns-alert-warning .ns-alert-close {\n color: var(--ns-alert-warning-text);\n}\n\n.ns-alert-warning .ns-alert-close:hover {\n background-color: var(--ns-alert-warning-close-hover);\n}\n\n/* ---- Info -------------------------------------------------------------- */\n.ns-alert-info {\n background-color: var(--ns-alert-info-bg);\n border-color: var(--ns-alert-info-border);\n border-left-color: var(--ns-alert-info-icon);\n color: var(--ns-alert-info-text);\n}\n\n.ns-alert-info .ns-alert-icon {\n color: var(--ns-alert-info-icon);\n}\n\n.ns-alert-info .ns-alert-title,\n.ns-alert-info .ns-alert-close {\n color: var(--ns-alert-info-text);\n}\n\n.ns-alert-info .ns-alert-close:hover {\n background-color: var(--ns-alert-info-close-hover);\n}\n\n/* ---- Success ----------------------------------------------------------- */\n.ns-alert-success {\n background-color: var(--ns-alert-success-bg);\n border-color: var(--ns-alert-success-border);\n border-left-color: var(--ns-alert-success-icon);\n color: var(--ns-alert-success-text);\n}\n\n.ns-alert-success .ns-alert-icon {\n color: var(--ns-alert-success-icon);\n}\n\n.ns-alert-success .ns-alert-title,\n.ns-alert-success .ns-alert-close {\n color: var(--ns-alert-success-text);\n}\n\n.ns-alert-success .ns-alert-close:hover {\n background-color: var(--ns-alert-success-close-hover);\n}\n\n/* ---- Narrow containers (production renders these in ~330px modals) ----- */\n@media (max-width: 640px) {\n .ns-alert {\n padding: var(--ns-space-5) var(--ns-space-6);\n font-size: var(--ns-size-meta);\n }\n\n .ns-alert-content {\n gap: var(--ns-space-5);\n }\n\n .ns-alert-icon {\n margin-top: 0;\n }\n}\n","/* =========================================================================\n Modal — overlay panel. Square, hairline, shadowless.\n Elevation used to come from `--ns-shadow`; it now comes from the\n `--ns-border-strong` hairline, which is what separates the panel from the\n page. The backdrop stays dim so the panel reads as lifted.\n ========================================================================= */\n\n.ns-modal-overlay {\n position: fixed;\n inset: 0;\n /* Fallback for engines without color-mix(); this is the design's literal\n backdrop value (ink at 45%). */\n background: rgba(27, 29, 30, 0.45);\n background: var(\n --ns-modal-overlay,\n color-mix(in srgb, var(--ns-text) 45%, transparent)\n );\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n padding: 0px;\n}\n\n.ns-modal-overlay--drawer {\n align-items: flex-end;\n justify-content: center;\n padding: 0;\n}\n\n.ns-modal {\n background: var(--ns-surface);\n /* the hairline IS the elevation — never a shadow */\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n width: 100%;\n max-height: 85vh;\n overflow: hidden;\n}\n\n.ns-modal--sm {\n max-width: 420px;\n}\n.ns-modal--md {\n max-width: 640px;\n}\n.ns-modal--lg {\n max-width: 920px;\n}\n\n.ns-modal--drawer {\n width: min(720px, 100%);\n max-width: 100%;\n max-height: min(90vh, 760px);\n border-radius: var(--ns-radius);\n /* the drawer's boundary against the page is its top hairline */\n border-top: 1px solid var(--ns-border-strong);\n border-left: none;\n border-right: none;\n border-bottom: none;\n padding-bottom: env(safe-area-inset-bottom, 0);\n}\n\n.ns-modal__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-6);\n padding: var(--ns-space-10) var(--ns-space-12);\n border-bottom: 1px solid var(--ns-rule);\n}\n\n.ns-modal__title {\n margin-right: var(--ns-space-6);\n min-width: 0;\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text);\n}\n\n/* 26px square icon button (design line 134) — square, hairline, flat */\n.ns-modal__close {\n appearance: none;\n flex: none;\n width: 26px;\n height: 26px;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n color: var(--ns-text-3);\n font-size: var(--ns-size-h4);\n line-height: 1;\n cursor: pointer;\n transition: color 0.15s ease, border-color 0.15s ease;\n}\n.ns-modal__close:hover {\n color: var(--ns-text);\n border-color: var(--ns-text-faint);\n}\n\n.ns-modal__body {\n padding: var(--ns-space-10) var(--ns-space-12);\n overflow: auto;\n}\n\n.ns-modal__footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-wrap: wrap;\n gap: var(--ns-space-4);\n padding: var(--ns-space-7) var(--ns-space-12);\n border-top: 1px solid var(--ns-rule);\n}\n\n@media (max-width: 600px) {\n .ns-modal--drawer {\n width: 100%;\n max-height: min(92vh, 760px);\n /* square corners on the drawer too — the system has no radius */\n border-radius: var(--ns-radius);\n }\n\n .ns-modal__header,\n .ns-modal__body,\n .ns-modal__footer {\n padding-left: var(--ns-space-6);\n padding-right: var(--ns-space-6);\n }\n\n .ns-modal__body {\n padding-top: var(--ns-space-6);\n padding-bottom: var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ProfileHeader — square profile card (design lines 47–70).\n Square avatar sat on a flat band, separated by an outline in the band's\n own colour rather than a ring or a shadow.\n ========================================================================= */\n\n.ns-profile-header {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n width: 100%;\n}\n\n/* ---- banner ------------------------------------------------------------ */\n.ns-profile-header__banner {\n width: 100%;\n height: clamp(96px, 30vw, 140px);\n background: var(--ns-surface-4);\n border-bottom: 1px solid var(--ns-border);\n overflow: hidden;\n}\n\n.ns-profile-header__banner img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ---- avatar — square, outlined in the banner colour -------------------- */\n.ns-profile-header__avatar {\n position: relative;\n margin-top: -50px;\n}\n\n.ns-avatar-img {\n display: block;\n width: 100px;\n height: 100px;\n border-radius: var(--ns-radius);\n border: none;\n outline: 5px solid var(--ns-surface-4);\n background: var(--ns-surface);\n object-fit: cover;\n}\n\n.ns-profile-header__chain {\n position: absolute;\n bottom: 0;\n right: 0;\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n padding: var(--ns-space-2);\n}\n\n.ns-profile-header__chain img {\n display: block;\n width: 20px;\n height: 20px;\n}\n\n/* ---- info -------------------------------------------------------------- */\n.ns-profile-header__info {\n padding: var(--ns-space-6) var(--ns-space-8) var(--ns-space-8);\n width: 100%;\n min-width: 0;\n}\n\n.ns-profile-header__username {\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n margin-bottom: var(--ns-space-2);\n}\n\n.ns-profile-header__name {\n font-size: var(--ns-size-h3);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-heading);\n line-height: var(--ns-leading-tight);\n color: var(--ns-text);\n margin: 0;\n overflow-wrap: anywhere;\n}\n\n/* tag-outline look: a square hairline chip with a micro-label inside */\n.ns-profile-header__primary {\n display: inline-flex;\n align-items: center;\n margin-top: var(--ns-space-3);\n padding: var(--ns-space-2) var(--ns-space-5);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n background: transparent;\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n text-transform: uppercase;\n color: var(--ns-text-3);\n}\n\n.ns-profile-header__bio {\n margin: var(--ns-space-4) 0 0;\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n color: var(--ns-text-3);\n}\n\n.ns-profile-header__stats {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--ns-space-3);\n margin-top: var(--ns-space-5);\n font-size: var(--ns-size-meta);\n color: var(--ns-text-2);\n}\n\n.ns-profile-header__follow {\n margin-left: var(--ns-space-4);\n height: var(--ns-control-sm);\n padding: 0 var(--ns-space-6);\n border: 1px solid var(--ns-blue-600);\n border-radius: var(--ns-radius);\n background: var(--ns-blue-600);\n color: var(--ns-surface);\n cursor: pointer;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n letter-spacing: 0.02em;\n}\n\n.ns-profile-header__follow:hover {\n background: var(--ns-blue-700);\n border-color: var(--ns-blue-700);\n}\n\n@media (max-width: 390px) {\n .ns-profile-header__avatar {\n margin-top: -42px;\n }\n\n .ns-avatar-img {\n width: 84px;\n height: 84px;\n }\n\n .ns-profile-header__info {\n padding: var(--ns-space-5) var(--ns-space-6) var(--ns-space-6);\n }\n}\n","/* =========================================================================\n Accordion — a hairline group. Square, shadowless.\n The height animation is functional and is kept.\n ========================================================================= */\n\n.ns-accordion {\n background-color: var(--ns-surface);\n border-radius: var(--ns-radius);\n overflow: hidden;\n}\n\n.ns-accordion__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-6);\n padding: var(--ns-space-6) var(--ns-space-8);\n cursor: pointer;\n user-select: none;\n transition: background-color 0.15s ease;\n}\n\n.ns-accordion--not-togglable .ns-accordion__header {\n cursor: default;\n}\n\n.ns-accordion__header:hover:not(.ns-accordion--disabled .ns-accordion__header):not(.ns-accordion--not-togglable .ns-accordion__header) {\n background-color: var(--ns-surface-2);\n}\n\n.ns-accordion__title {\n flex: 1;\n min-width: 0;\n}\n\n.ns-accordion__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--ns-text-3);\n transition: transform 0.3s ease;\n}\n\n.ns-accordion__body {\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* The rule between header and body lives on the inner element so it is\n clipped away (along with the body) when the accordion is collapsed. */\n.ns-accordion__body-inner {\n padding: var(--ns-space-10) var(--ns-space-8);\n border-top: 1px solid var(--ns-rule);\n}\n\n/* Disabled state */\n.ns-accordion--disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n.ns-accordion--disabled .ns-accordion__header {\n cursor: not-allowed;\n}\n\n@media (max-width: 600px) {\n .ns-accordion__header {\n padding: var(--ns-space-5) var(--ns-space-6);\n }\n\n .ns-accordion__body-inner {\n padding: var(--ns-space-8) var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ConnectAndSetChain — a flat prompt panel: square, hairline, shadowless.\n ========================================================================= */\n\n.ns-connect-and-set-chain {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-8);\n padding: var(--ns-space-8);\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n width: 100%;\n box-sizing: border-box;\n}\n\n.ns-connect-and-set-chain-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ns-space-6);\n text-align: center;\n min-width: 0;\n}\n\n.ns-connect-and-set-chain-icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--ns-text-3);\n}\n\n.ns-connect-and-set-chain-message {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-2);\n color: var(--ns-text-3);\n font-size: var(--ns-size-meta);\n line-height: var(--ns-leading-body);\n overflow-wrap: anywhere;\n}\n\n.ns-connect-and-set-chain-message > :first-child {\n color: var(--ns-text);\n}\n\n.ns-connect-and-set-chain-button {\n width: 100%;\n}\n\n@media (max-width: 390px) {\n .ns-connect-and-set-chain {\n padding: var(--ns-space-6);\n gap: var(--ns-space-6);\n }\n}\n","/* =========================================================================\n ProgressBar — the design's `.meter`: a 5px amber rule, nothing else.\n The rotating star is retired (DOM kept, hidden) and the black rounded\n track is gone.\n ========================================================================= */\n\n.ens-names-register-progress-container {\n margin-top: var(--ns-space-10);\n width: 100%;\n display: block;\n height: auto;\n}\n\n.ens-names-register-progress-bar {\n width: 100%;\n height: 5px;\n background-color: var(--ns-amber-300);\n border-radius: 0;\n padding: 0;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n.ens-names-register-progress-fill {\n height: 100%;\n background-color: var(--ns-amber-600);\n border-radius: var(--ns-radius);\n /* functional: the fill animates with the registration steps */\n transition: width 0.1s linear;\n box-sizing: border-box;\n}\n\n/* Retired ornament — kept in the DOM, out of the design. */\n.ens-names-register-progress-star-wrapper,\n.ens-names-register-progress-star {\n display: none;\n}\n","/* =========================================================================\n DurationPicker — the bordered stepper (design lines 210–221).\n One hairline box; the internal divisions are hairlines too, never gaps.\n Durations and dates are numbers, so they are set in DM Mono.\n Behaviour, props and markup are unchanged.\n ========================================================================= */\n\n.ns-duration-picker {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n align-items: stretch;\n width: 100%;\n}\n\n/* ---- years mode: − N year(s) + ----------------------------------------- */\n.ns-duration-picker__control {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: var(--ns-control-lg);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n padding: 0;\n gap: 0;\n overflow: hidden;\n}\n\n/* Two classes so this reliably outranks the Button atom's variant rules. */\n.ns-duration-picker__control .ns-duration-picker__btn {\n height: 100%;\n width: var(--ns-control-lg);\n min-width: var(--ns-control-lg);\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n border-radius: var(--ns-radius);\n background-color: var(--ns-surface);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-regular);\n letter-spacing: 0;\n text-transform: none;\n color: var(--ns-blue-600);\n}\n\n.ns-duration-picker__control .ns-duration-picker__btn:hover:not(:disabled) {\n background-color: var(--ns-blue-100);\n color: var(--ns-blue-700);\n}\n\n.ns-duration-picker__control .ns-duration-picker__btn:disabled {\n color: var(--ns-text-faintest);\n background-color: var(--ns-surface);\n}\n\n/* The plus button is no longer a filled pill — both steppers are equals. */\n.ns-duration-picker__control .ns-duration-picker__btn--plus {\n background-color: var(--ns-surface);\n color: var(--ns-blue-600);\n}\n\n.ns-duration-picker__label {\n flex: 1;\n min-width: 0;\n display: grid;\n place-items: center;\n text-align: center;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n line-height: normal;\n color: var(--ns-name-ink);\n /* the internal hairlines live on the label, per the design */\n border-left: 1px solid var(--ns-border);\n border-right: 1px solid var(--ns-border);\n}\n\n/* ---- calendar mode ----------------------------------------------------- */\n.ns-duration-picker__calendar {\n position: relative;\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n width: 100%;\n height: var(--ns-control-lg);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n padding: 0;\n overflow: hidden;\n cursor: pointer;\n}\n\n.ns-duration-picker__date-display {\n display: flex;\n align-items: center;\n flex: 1;\n min-width: 0;\n padding: 0 var(--ns-space-8);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-regular);\n color: var(--ns-name-ink);\n pointer-events: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Native date input positioned over the control (invisible, triggers browser picker) */\n.ns-duration-picker__date-input {\n position: absolute;\n left: 0;\n top: 0;\n width: calc(100% - var(--ns-control-lg));\n height: 100%;\n opacity: 0;\n cursor: pointer;\n border: none;\n background: transparent;\n z-index: 1;\n}\n\n.ns-duration-picker__calendar-btn {\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n height: 100%;\n width: var(--ns-control-lg);\n min-width: var(--ns-control-lg);\n border-radius: var(--ns-radius);\n display: grid;\n place-items: center;\n flex: none;\n cursor: pointer;\n border: none;\n padding: 0;\n z-index: 2;\n position: relative;\n}\n\n.ns-duration-picker__calendar-btn:hover {\n background-color: var(--ns-blue-700);\n}\n\n/* ---- footer: \"N year registration · Pick by date\" ---------------------- */\n.ns-duration-picker__footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-2);\n flex-wrap: wrap;\n width: 100%;\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* A micro-label affordance, not a button label — uppercase is correct here\n (design line 219). */\n.ns-duration-picker__toggle {\n color: var(--ns-blue-600);\n background: none;\n border: none;\n border-radius: var(--ns-radius);\n padding: 0;\n cursor: pointer;\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-micro);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-caps);\n text-transform: uppercase;\n line-height: var(--ns-leading-tight);\n white-space: nowrap;\n}\n\n.ns-duration-picker__toggle:hover {\n color: var(--ns-blue-700);\n}\n","/* =========================================================================\n PricingDisplay — the fee rows (design lines 223–233).\n Labels are DM Sans in muted ink; every amount is DM Mono. That split is\n the whole look of the block: words in the sans face, numbers in the mono.\n Square, hairline, shadowless.\n ========================================================================= */\n\n.ens-registration-pricing {\n border-radius: var(--ns-radius);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n padding: var(--ns-space-10);\n}\n\n/* ---- fee rows ---------------------------------------------------------- */\n.ens-registration-pricing .pricing-row {\n gap: var(--ns-space-6);\n /* let a long label/value pair wrap rather than overflow at ~330px */\n flex-wrap: wrap;\n}\n\n.ens-registration-pricing .pricing-label {\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n min-width: 0;\n}\n\n.ens-registration-pricing .pricing-value {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-text-2);\n text-align: right;\n margin-left: auto;\n}\n\n/* ---- total ------------------------------------------------------------- */\n.ens-registration-pricing .total-fee {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n gap: var(--ns-space-6);\n flex-wrap: wrap;\n align-items: flex-start;\n}\n\n.ens-registration-pricing .pricing-total-label {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n}\n\n.ens-registration-pricing .pricing-total-values {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-1);\n margin-left: auto;\n min-width: 0;\n}\n\n.ens-registration-pricing .pricing-total-value {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n line-height: var(--ns-leading-tight);\n}\n\n.ens-registration-pricing .pricing-total-usd {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n@media (max-width: 600px) {\n .ens-registration-pricing {\n padding: var(--ns-space-8);\n }\n}\n","/* =========================================================================\n Records / profile editor — the design's records editor\n (Namespace Flows.dc.html lines 45-127, script navBtn() 507-531, tile() 533-544).\n\n Square, hairline, shadowless. Record rows are table rows: a hairline\n between them, --ns-surface-2 on hover, generous padding. Uppercase is\n reserved for micro-labels (the .field-label pattern), never for buttons.\n\n Mobile is driven by CONTAINER queries: this form renders inside ~330px\n modals on desktop viewports, where @media never fires. The @media blocks\n are kept as a fallback only.\n ========================================================================= */\n\n.ns-select-records-form {\n container-type: inline-size;\n width: 100%;\n max-width: 600px;\n min-height: 400px;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n}\n\n/* ---- shells ------------------------------------------------------------ */\n\n.ns-select-records-form .ns-records-wrapper {\n padding: var(--ns-space-5) var(--ns-space-10);\n max-height: 200px;\n overflow-y: auto;\n}\n\n.ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-12) var(--ns-space-8);\n}\n\n/* The bootstrap `row` becomes the design's two-column editor grid\n (132px nav + fluid body, flows line 73). The cols stay in the DOM and\n become plain grid children. */\n.ns-records-content-wrapper .ns-records-content {\n display: grid;\n grid-template-columns: 132px minmax(0, 1fr);\n gap: var(--ns-space-10);\n align-items: start;\n margin: 0;\n padding: 0;\n height: 100%;\n background: transparent;\n border-radius: var(--ns-radius);\n}\n\n.ns-records-content-wrapper .ns-records-content > [class*=\"col-\"] {\n padding-left: 0;\n padding-right: 0;\n /* bootstrap's `.row > *` adds `margin-top: var(--bs-gutter-y)` (8px at g-2)\n to every child, which stacks on top of the grid row-gap; vertical spacing\n here comes from row-gap alone */\n padding-top: 0;\n margin-top: 0;\n max-width: none;\n flex: none;\n width: auto;\n}\n\n/* the search row spans both columns */\n.ns-records-content-wrapper .ns-records-content > *:first-child {\n grid-column: 1 / -1;\n}\n\n/* search field: 40px, hairline-strong (flows line 140) */\n.ns-records-content-wrapper .ns-records-content > *:first-child .ns-input {\n border-color: var(--ns-border-strong);\n}\n\n/* The search sits tight to the panel edge above and the nav below: the grid's\n column gutter (20px) is too generous vertically, and the search row carries\n its own bootstrap margins on top of it. Collapse both. */\n.ns-records-content-wrapper .ns-records-content {\n column-gap: var(--ns-space-6);\n row-gap: var(--ns-space-6);\n}\n\n.ns-records-content-wrapper .ns-records-content > *:first-child {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.ns-select-records-form .ns-records-content-wrapper {\n padding-top: var(--ns-space-8);\n}\n\n/* ---- nav column (flows lines 74-84, script navBtn 507-531) ------------- */\n\n.ns-records-content .ns-records-sidebar {\n display: flex;\n flex-direction: column;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item {\n display: flex;\n align-items: center;\n gap: var(--ns-space-3);\n width: 100%;\n padding: var(--ns-space-7) var(--ns-space-8);\n text-align: left;\n background: transparent;\n color: var(--ns-text-2);\n border: none;\n border-bottom: 1px solid var(--ns-rule);\n border-radius: var(--ns-radius);\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n color 0.15s linear;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-bottom: none;\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item .ns-text {\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:hover {\n background-color: var(--ns-surface-2);\n border-radius: var(--ns-radius);\n}\n\n/* active = solid blue, white ink */\n.ns-records-content .ns-records-sidebar .sidebar-item.active,\n.ns-records-content .ns-records-sidebar .sidebar-item.active:hover {\n background-color: var(--ns-blue-600);\n border-radius: var(--ns-radius);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item.active .ns-text {\n color: var(--ns-surface);\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item.active .ns-icon {\n stroke: var(--ns-surface);\n}\n\n/* nav icons sit quiet next to the label and take the row's ink */\n.ns-records-content .ns-records-sidebar .sidebar-item .ns-icon {\n flex: none;\n stroke: var(--ns-text-faint);\n}\n\n.ns-records-content .ns-records-sidebar .sidebar-item:hover .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n/* ---- empty state: search matched nothing (flows lines 117-120) --------- */\n\n.ns-records-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ns-space-8);\n padding: var(--ns-space-16) 0;\n}\n\n.ns-records-empty__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--ns-control);\n padding: 0 var(--ns-space-8);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-body-sm);\n font-weight: var(--ns-weight-medium);\n letter-spacing: 0.02em;\n color: var(--ns-blue-600);\n background: transparent;\n border: 1px solid var(--ns-blue-500);\n border-radius: var(--ns-radius);\n cursor: pointer;\n}\n\n.ns-records-empty__clear:hover {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n}\n\n/* ---- scrolling record body (flows line 82) ----------------------------- */\n\n.ns-records-content .ns-records-inner {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-10);\n max-height: 320px;\n overflow-y: auto;\n padding-right: var(--ns-space-3);\n}\n\n.ns-records-content .ns-records-inner > .ns-mb-2 {\n margin-bottom: 0;\n}\n\n/* ---- legacy tab strip (kept for consumers) ----------------------------- */\n\n.ns-select-records-form .ns-select-records-content {\n background-color: var(--ns-surface);\n border-radius: var(--ns-radius);\n}\n\n.ns-select-records-nav {\n display: flex;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n}\n\n.ns-select-records-nav .nav-cont {\n flex: 1;\n padding: var(--ns-space-5) var(--ns-space-8);\n background-color: transparent;\n color: var(--ns-text-3);\n border-radius: var(--ns-radius);\n cursor: pointer;\n opacity: 1;\n transition: background-color 0.15s linear;\n}\n\n.ns-select-records-nav .nav-cont:hover {\n background-color: var(--ns-surface-2);\n opacity: 1;\n}\n\n.ns-select-records-nav .nav-cont.active {\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n opacity: 1;\n}\n\n/* ---- footer actions (flows lines 124-127) ------------------------------ */\n\n.ns-select-records-form .ns-select-records-actions {\n border-top: 1px solid var(--ns-rule);\n}\n\n.ns-select-records-form .ns-record-actions {\n padding: 0 var(--ns-space-10) var(--ns-space-10);\n}\n\n.ns-select-records-form .not-found-badge {\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n}\n\n.ns-select-records-form .record-count-badge {\n min-width: 18px;\n height: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ns-space-1);\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* =========================================================================\n Record groups (TextRecords / AddressRecords / ContenthashRecord all render\n `.ns-text-records`; the three components share one visual contract).\n ========================================================================= */\n\n/* group title. No rule underneath — the heading carries the section on its\n own. The markup's `.ns-mb-2` (10px) is overridden here so the gap matches\n the tile gutter (8px) and there is one source for it. */\n.ns-text-records > .ns-text--bold {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-bold);\n color: var(--ns-text);\n margin-bottom: var(--ns-space-4);\n}\n\n/* ---- record row = the design's table row -------------------------------\n The row wrappers are the only unclassed children of `.ns-text-records`\n (one per record, in all three record components), which makes them\n addressable without a markup change. Their inline 10px spacer is\n neutralised so consecutive rows share one hairline. */\n.ns-text-records > div:not([class]) {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-3);\n padding: var(--ns-space-6) var(--ns-space-4);\n margin-bottom: 0 !important;\n border-bottom: 1px solid var(--ns-rule);\n transition: background-color 0.15s linear;\n}\n\n.ns-text-records > div:not([class]):hover {\n background-color: var(--ns-surface-2);\n}\n\n/* field label above each input (flows line 92) — uppercase micro-label */\n.ns-text-records > div:not([class]) > .ns-text--xs.ns-text--medium.ns-text--grey {\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n}\n\n/* the field + remove-button line (flows lines 94-101) */\n.ns-text-records > div:not([class]) > .d-flex.align-items-center,\n.ns-text-records > div:not([class]) .d-flex.align-items-center {\n gap: var(--ns-space-5);\n}\n\n/* record VALUES that are addresses / content hashes render in mono ink.\n Both AddressRecords and ContenthashRecord put a `.ns-chain-icon` in the\n field prefix; text records use a lucide `.ns-icon`, so this separates the\n two without a markup change (script lines 610-613). */\n.ns-text-records .ns-input__wrapper:has(.ns-chain-icon) .ns-input {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-name-ink);\n}\n\n/* validation copy sits under the field in amber (flows lines 603-620) */\n.ns-text-records > div:not([class]) > .ns-text--xs.ns-text--danger {\n font-size: var(--ns-size-micro);\n color: var(--ns-amber-700);\n}\n\n/* ---- remove button = 40px square icon button (flows lines 98-100) ------ */\n\n.ns-text-records .ns-close-icon,\n.ns-select-records-form .ns-close-icon {\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n flex: none;\n display: grid;\n place-items: center;\n padding: 0;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n color: var(--ns-text-faint);\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear,\n color 0.15s linear;\n}\n\n.ns-text-records .ns-close-icon.ns-ms-1 {\n margin-left: 0;\n}\n\n.ns-text-records .ns-close-icon:hover,\n.ns-select-records-form .ns-close-icon:hover {\n transform: none;\n padding: 0;\n border-radius: var(--ns-radius);\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n color: var(--ns-text-2);\n}\n\n/* ---- suggestion tiles (flows lines 106-113, tile() 533-544) ------------\n The bootstrap row/col layout is overridden with a 3-column grid on the\n container; the cols stay in the DOM as plain grid children. */\n\n.ns-text-records .row {\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--ns-space-4);\n margin: 0;\n /* the heading below owns the gap above the tiles */\n padding-top: 0;\n}\n\n.ns-text-records .row > [class*=\"col-\"] {\n display: block;\n width: auto;\n max-width: none;\n flex: none;\n padding: 0;\n /* bootstrap's `.row > *` adds `margin-top: var(--bs-gutter-y)` (8px at g-2),\n which stacked on the grid row-gap and made the vertical gutter between\n tile rows twice the horizontal one. Both come from `gap` now. */\n margin-top: 0;\n}\n\n.ns-text-records .ns-text-suggestion {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--ns-space-3);\n width: 100%;\n height: 100%;\n /* optically centred, not box-centred: the icon has ~1.75px of padding\n inside its own 16px box and the label's ink stops at the baseline, so\n equal padding reads top-heavy. */\n padding: var(--ns-space-5) var(--ns-space-4) var(--ns-space-6);\n text-align: center;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n outline: none;\n cursor: pointer;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear;\n}\n\n.ns-text-records .ns-text-suggestion:hover {\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n}\n\n/* The body leading (1.55) leaves ~4.5px of half-leading under a single-line\n label, so an optically centred tile reads bottom-heavy even though the boxes\n are symmetric. Tighten the line box to the glyphs. */\n.ns-text-records .ns-text-suggestion .ns-text {\n font-size: calc(var(--ns-size-micro) - 1px);\n font-weight: var(--ns-weight-medium);\n line-height: 1.2;\n color: var(--ns-text-2);\n}\n\n/* spacing inside a tile comes from the flex `gap` alone; this utility margin\n used to stack on top of it and double the icon-to-label distance */\n.ns-text-records .ns-text-suggestion .ns-text.ns-mt-1 {\n margin-top: 0;\n}\n\n/* =========================================================================\n Narrow layouts — container queries first (plan §5).\n ========================================================================= */\n\n@container (max-width: 480px) {\n .ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-8);\n }\n\n /* one column; the nav becomes a horizontally scrollable row */\n .ns-records-content-wrapper .ns-records-content {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .ns-records-content .ns-records-sidebar {\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item {\n flex: none;\n white-space: nowrap;\n border-bottom: none;\n border-right: 1px solid var(--ns-rule);\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-right: none;\n }\n}\n\n@container (max-width: 480px) {\n .ns-text-records .row {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@container (max-width: 390px) {\n .ns-text-records .row {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .ns-text-records > div:not([class]) {\n padding: var(--ns-space-5) var(--ns-space-2);\n }\n}\n\n/* Fallback for browsers without container queries (actual phones). */\n@media screen and (max-width: 600px) {\n .ns-select-records-form {\n width: 100%;\n }\n\n .ns-select-records-form .ns-records-content-wrapper {\n padding: var(--ns-space-8);\n }\n\n .ns-records-content-wrapper .ns-records-content {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .ns-records-content .ns-records-sidebar {\n flex-direction: row;\n overflow-x: auto;\n scrollbar-width: thin;\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item {\n flex: none;\n white-space: nowrap;\n border-bottom: none;\n border-right: 1px solid var(--ns-rule);\n }\n\n .ns-records-content .ns-records-sidebar .sidebar-item:last-child {\n border-right: none;\n }\n}\n\n@media screen and (max-width: 480px) {\n .ns-text-records .row {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@media screen and (max-width: 390px) {\n .ns-text-records .row {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ns-select-records-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Header band + avatar (Namespace Flows.dc.html lines 47-70).\n 140px --ns-surface-4 band with a bottom hairline and a mono \"HEADER\"\n watermark; a 110px SQUARE avatar outlined in the band colour. No radii,\n no shadows, no gradients — the design has none.\n ========================================================================= */\n\n.ns-image-records {\n position: relative;\n z-index: 15;\n margin-bottom: 28px;\n}\n\n.ns-image-records .ns-cover-record-cont {\n height: 140px;\n width: 100%;\n position: relative;\n display: flex;\n justify-content: end;\n background-color: var(--ns-surface-4);\n background-size: cover;\n background-position: center;\n border-radius: var(--ns-radius);\n border-bottom: 1px solid var(--ns-border);\n overflow: visible;\n}\n\n/* the design has no gradient scrims; the DOM stays, the paint goes */\n.ns-top-grad,\n.ns-bot-grad {\n display: none;\n background: none;\n}\n\n/* ---- avatar: square, outlined in the band colour (flows lines 60-69) --- */\n\n.ns-image-records .ns-avatar-record-cont {\n width: 110px;\n height: 110px;\n position: absolute;\n left: 50%;\n bottom: -20px;\n transform: translateX(-50%);\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--ns-surface);\n background-size: cover;\n background-position: center;\n border-radius: var(--ns-radius);\n outline: 5px solid var(--ns-surface-4);\n}\n\n.ns-image-records .ns-avatar-record-cont--set {\n border: none;\n}\n\n/* inner add-avatar target: 56px square icon button */\n.ns-image-records .ns-avatar-record-placeholder {\n width: 56px;\n height: 56px;\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n color: var(--ns-text-2);\n cursor: pointer;\n transition: border-color 0.15s linear;\n}\n\n.ns-image-records .ns-avatar-record-placeholder:hover {\n border-color: var(--ns-text-faintest);\n}\n\n.ns-image-records .ns-avatar-record-placeholder .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n/* ---- add-header button: 40px square icon button (flows lines 49-51) ---- */\n\n.ns-header-record-placeholder {\n position: absolute;\n right: var(--ns-space-4);\n top: var(--ns-space-4);\n width: var(--ns-control-lg);\n height: var(--ns-control-lg);\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n color: var(--ns-text-2);\n cursor: pointer;\n transition: border-color 0.15s linear;\n}\n\n.ns-header-record-placeholder:hover {\n border-color: var(--ns-text-faintest);\n}\n\n/* the trigger asks for a white icon for the old dark chip; on the flat\n surface it takes the design's ink instead */\n.ns-header-record-placeholder .ns-icon {\n stroke: var(--ns-text-2);\n}\n\n.ns-avatar-action-anchor {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 6;\n}\n\n.ns-header-action-anchor {\n position: absolute;\n right: var(--ns-space-6);\n top: var(--ns-space-5);\n z-index: 6;\n}\n\n/* ---- generic square image action button -------------------------------- */\n\n.ns-image-action-plus {\n width: var(--ns-control-md);\n height: var(--ns-control-md);\n display: grid;\n place-items: center;\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n color: var(--ns-text-2);\n transition: border-color 0.15s linear;\n}\n\nbutton.ns-image-action-plus {\n padding: 0;\n cursor: pointer;\n}\n\n.ns-image-action-plus:hover {\n transform: none;\n background: var(--ns-surface-2);\n border-color: var(--ns-text-faintest);\n}\n\n.ns-image-action-plus--set {\n background: var(--ns-surface-3);\n}\n\n.ns-image-action-plus--disabled {\n opacity: 0.45;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.ns-image-action-plus:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: 1px;\n}\n\n/* ---- the flat action menu (flows lines 52-55) -------------------------- */\n\n.ns-image-actions-menu {\n min-width: 150px;\n max-width: min(260px, calc(100vw - 20px));\n padding: 0;\n display: flex;\n flex-direction: column;\n background: var(--ns-surface);\n}\n\n.ns-image-actions-menu-item {\n width: 100%;\n border: none;\n border-radius: var(--ns-radius);\n background: transparent;\n text-align: left;\n padding: var(--ns-space-6) var(--ns-space-8);\n font-family: var(--ns-font-family);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-regular);\n color: var(--ns-text-2);\n cursor: pointer;\n transition: background-color 0.15s linear;\n}\n\n.ns-image-actions-menu-item + .ns-image-actions-menu-item {\n border-top: 1px solid var(--ns-rule);\n}\n\n.ns-image-actions-menu-item:hover {\n background: var(--ns-surface-3);\n color: var(--ns-text);\n}\n\n.ns-image-actions-menu-item:focus-visible {\n outline: 1px solid var(--ns-focus-ring);\n outline-offset: -1px;\n}\n\n/* ---- narrow layouts ---------------------------------------------------- */\n\n@container (max-width: 390px) {\n .ns-image-records .ns-avatar-record-cont {\n width: 84px;\n height: 84px;\n }\n\n .ns-image-records .ns-avatar-record-placeholder {\n width: 44px;\n height: 44px;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .ns-image-records {\n margin-bottom: 22px;\n }\n\n .ns-header-action-anchor {\n right: var(--ns-space-5);\n top: var(--ns-space-4);\n }\n\n .ns-image-actions-menu {\n min-width: 164px;\n max-width: min(280px, calc(100vw - 14px));\n }\n\n .ns-image-actions-menu-item {\n white-space: normal;\n }\n}\n\n/* ---- hit target ---------------------------------------------------------\n The Dropdown's trigger wraps only the icon, so despite the whole square\n showing `cursor: pointer`, a click landed only if it hit the 22/28px glyph.\n Stretch the trigger chain to fill the button; as a side effect the menu now\n drops from the button's edge instead of the icon's. */\n\n.ns-header-record-placeholder > .ns-dropdown,\n.ns-image-records .ns-avatar-record-placeholder > .ns-dropdown {\n width: 100%;\n height: 100%;\n}\n\n.ns-header-record-placeholder .ns-dropdown__trigger,\n.ns-header-record-placeholder .ns-dropdown__trigger > *,\n.ns-image-records .ns-avatar-record-placeholder .ns-dropdown__trigger,\n.ns-image-records .ns-avatar-record-placeholder .ns-dropdown__trigger > * {\n width: 100%;\n height: 100%;\n display: grid;\n place-items: center;\n}\n","/* =========================================================================\n Image upload modal. No artboard covers this screen, so it follows the\n system rules (plan §8.6): hairline elevation, radius 0, tokens only,\n no gradients.\n ========================================================================= */\n\n.ns-image-upload-modal-wrapper {\n max-width: min(460px, calc(100vw - 20px));\n}\n\n.ns-image-upload-modal-wrapper .ns-modal__body {\n padding: var(--ns-space-6) var(--ns-space-6) var(--ns-space-4);\n}\n\n.ns-image-upload-modal-wrapper .ns-modal__footer {\n justify-content: flex-end;\n border-top: 1px solid var(--ns-rule);\n padding: var(--ns-space-5) var(--ns-space-6) var(--ns-space-6);\n}\n\n.ns-image-upload-modal {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-5);\n}\n\n.ns-image-upload-modal__heading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-bottom: var(--ns-space-1);\n}\n\n.ns-image-upload-modal__content {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n}\n\n.ns-image-upload-modal__crop-area {\n position: relative;\n height: clamp(180px, 34vh, 250px);\n overflow: hidden;\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n background: var(--ns-surface-3);\n}\n\n.ns-image-upload-modal__crop-area--locked {\n pointer-events: none;\n}\n\n.ns-image-upload-modal__empty-state {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n gap: var(--ns-space-3);\n padding: var(--ns-space-6);\n color: var(--ns-text-3);\n}\n\n.ns-image-upload-modal__gif-preview {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n}\n\n.ns-image-upload-modal__controls {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-4);\n padding: var(--ns-space-1) 0 0;\n}\n\n.ns-image-upload-modal__file-input {\n display: none;\n}\n\n.ns-image-upload-modal__zoom {\n margin-top: 0;\n}\n\n.ns-image-upload-modal__zoom input[type=\"range\"] {\n width: 100%;\n margin-top: var(--ns-space-1);\n accent-color: var(--ns-blue-600);\n}\n\n.ns-image-upload-modal__status {\n display: flex;\n align-items: center;\n gap: var(--ns-space-4);\n margin-top: var(--ns-space-1);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n.ns-image-upload-modal__progress {\n margin-top: var(--ns-space-1);\n}\n\n.ns-image-upload-modal__footer {\n width: 100%;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--ns-space-5);\n}\n\n.ns-image-upload-modal__footer-btn {\n width: 100%;\n justify-content: center;\n min-height: var(--ns-control-xl);\n}\n\n.ns-image-upload-modal__review-note {\n padding: var(--ns-space-4) var(--ns-space-5);\n background: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n}\n\n@media (max-width: 600px) {\n .ns-image-upload-modal-wrapper {\n max-width: calc(100vw - 12px);\n }\n\n .ns-image-upload-modal-wrapper .ns-modal__body {\n padding: var(--ns-space-5) var(--ns-space-5) var(--ns-space-3);\n }\n\n .ns-image-upload-modal-wrapper .ns-modal__footer {\n padding: var(--ns-space-4) var(--ns-space-5) var(--ns-space-5);\n }\n\n .ns-image-upload-modal__crop-area {\n height: clamp(160px, 30vh, 220px);\n }\n\n .ns-image-upload-modal__footer {\n gap: var(--ns-space-4);\n }\n}\n\n@media (max-height: 780px) {\n .ns-image-upload-modal__crop-area {\n height: clamp(140px, 26vh, 190px);\n }\n}\n","/* Registration flow shell — HTML line 185:\n width: 100%; max-width: 500px; surface ground, strong hairline, square.\n\n `container-type: inline-size` is the responsiveness anchor for the whole\n flow: the production webapp renders this shell inside ~330px modals on\n desktop viewports, where `@media` never fires. Every narrow layout in this\n directory is written as `@container`. */\n.ens-registration-form-container {\n container-type: inline-size;\n background-color: var(--ns-surface);\n width: 100%;\n max-width: 500px;\n height: fit-content;\n border-radius: var(--ns-radius);\n border: 1px solid var(--ns-border-strong);\n}\n\n.ens-registration-form-container.no-border {\n border: none !important;\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ens-registration-form-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* Registration summary — Namespace Flows.dc.html lines 186–250.\n Square, hairline, shadowless. Names / amounts / dates are mono. */\n\n.ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-14);\n}\n\n/* Banner illustration (line 189) — the brand survives, constrained.\n `bannerWidth` stays a prop (inline width); CSS only keeps it fluid. */\n.ens-registration-summary img[alt=\"Banner\"] {\n max-width: 100%;\n height: auto;\n display: block;\n}\n\n/* ---- Name input (lines 197–202) --------------------------------------\n 48px row, strong hairline, mono name ink. The `.eth` suffix is plain\n mono text — the old grey suffix box is gone. */\n.ens-name-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n padding-left: 44px;\n padding-right: 62px;\n}\n\n.ens-name-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ens-name-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ens-name-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ens-name-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ens-name-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n background: none;\n border: none;\n border-radius: var(--ns-radius);\n}\n\n.ens-name-input .ns-input__suffix .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* ---- Fee rows (lines 223–233) ----------------------------------------\n In this screen the rows sit directly on the card — no inner box. */\n.ens-registration-form-container .ens-registration-pricing {\n border: none;\n border-radius: var(--ns-radius);\n background-color: transparent;\n padding: 0;\n}\n\n.ens-registration-pricing .total-fee {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n}\n\n/* ---- Profile CTA (lines 235–244) -------------------------------------\n Flat hairline row on surface-3 — replaces the dashed box. */\n.ens-registration-form-container .ens-profile-selector {\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n padding: var(--ns-space-8) var(--ns-space-10);\n background-color: var(--ns-surface-3);\n}\n\n.ens-registration-form-container .ens-profile-selector > .d-flex {\n gap: var(--ns-space-8);\n}\n\n.ens-profile-selector .shuriken-cont {\n width: var(--ns-avatar-row);\n height: var(--ns-avatar-row);\n flex: none;\n border-radius: var(--ns-radius);\n background-color: transparent;\n}\n\n.ens-profile-selector .shuriken {\n width: var(--ns-avatar-row);\n height: auto;\n transition: transform 0.3s ease-in-out;\n cursor: pointer;\n}\n\n/* the brand wink — cheap, motion only */\n.ens-profile-selector .shuriken:hover {\n transform: rotate(150deg);\n}\n\n/* 30px solid blue chevron block (line 242) */\n.ens-profile-selector .profile-cta-arrow {\n width: 30px;\n height: 30px;\n flex: none;\n display: grid;\n place-items: center;\n border-radius: var(--ns-radius);\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n}\n\n/* ---- Narrow containers (plan §5) — the webapp's ~330px modals -------- */\n@container (max-width: 480px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-8);\n }\n\n .ens-registration-summary img[alt=\"Banner\"] {\n max-width: min(200px, 60%);\n }\n\n .ens-name-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-form-container .ens-registration-summary {\n padding: var(--ns-space-8);\n }\n}\n","/* Registration progress — Namespace Flows.dc.html lines 254–278.\n Step rows are bordered hairline blocks; the active one sits on surface-3\n with a strong hairline. Marks are 24px squares, never circles. */\n\n.ens-registration-progress {\n padding: var(--ns-space-14);\n position: relative;\n}\n\n.ens-registration-progress img {\n max-width: 100%;\n height: auto;\n}\n\n/* Close control — square icon button, not a circle */\n.ens-registration-close-btn {\n position: absolute;\n top: var(--ns-space-10);\n left: var(--ns-space-10);\n width: var(--ns-control-md);\n height: var(--ns-control-md);\n border-radius: var(--ns-radius);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n color: var(--ns-text-3);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0;\n transition: border-color 0.15s ease, background-color 0.15s ease;\n z-index: 10;\n}\n\n.ens-registration-close-btn:hover {\n background-color: var(--ns-surface-3);\n border-color: var(--ns-border-strong);\n}\n\n.ens-registration-close-btn .ns-icon {\n stroke: var(--ns-text-3);\n}\n\n/* ---- Step rows (lines 262–271) --------------------------------------- */\n.ens-registration-progress .ns-accordion {\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n background-color: var(--ns-surface);\n}\n\n.ens-registration-progress .ns-accordion--open {\n border-color: var(--ns-border-strong);\n background-color: var(--ns-surface-3);\n}\n\n.ens-registration-progress .ns-accordion__header {\n padding: var(--ns-space-6) var(--ns-space-10);\n}\n\n/* ---- Step mark: 24px square (design lines 263–270) -------------------- */\n.ens-registration-progress .ns-process-badge {\n width: 24px;\n height: 24px;\n flex: none;\n background-color: var(--ns-blue-600);\n border: 1px solid var(--ns-blue-600);\n border-radius: var(--ns-radius);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ens-registration-progress .ns-process-badge .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n line-height: 1;\n}\n\n/* pending */\n.ens-registration-progress .ns-process-badge--inactive {\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n}\n\n.ens-registration-progress .ns-process-badge--inactive .ns-text--primary {\n color: var(--ns-text-faint);\n}\n\n/* done */\n.ens-registration-progress .ns-process-badge--completed {\n width: 24px;\n height: 24px;\n border: 1px solid var(--ns-blue-100) !important;\n background-color: var(--ns-blue-100);\n}\n\n.ens-registration-progress .ns-process-badge--completed .ns-icon {\n stroke: var(--ns-blue-700);\n}\n\n/* ---- Narrow containers (plan §5) ------------------------------------- */\n@container (max-width: 480px) {\n .ens-registration-progress {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-progress {\n padding: var(--ns-space-8);\n }\n\n .ens-registration-close-btn {\n top: var(--ns-space-4);\n left: var(--ns-space-4);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-progress {\n padding: var(--ns-space-8);\n }\n}\n","/* Commitment timer — plan §4.3. The ring stays (behaviour frozen) but becomes\n a supporting element: blue stroke on a surface-3 track, square caps, and a\n mono countdown in name ink. Fluid via container units so it survives the\n webapp's ~330px modals. */\n\n.ens-names-register-timer-container {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: var(--ns-space-14);\n margin-bottom: var(--ns-space-4);\n}\n\n.ens-names-register-timer-circle {\n position: relative;\n width: min(200px, 60cqw);\n height: min(200px, 60cqw);\n max-width: 200px;\n max-height: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ens-names-register-timer-svg {\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n/* track — overrides the inline presentation attribute */\n.ens-names-register-timer-svg circle {\n stroke: var(--ns-surface-3);\n}\n\n.ens-names-register-timer-progress {\n stroke: var(--ns-blue-600);\n stroke-linecap: butt;\n transition: stroke-dashoffset 0.5s linear;\n}\n\n.ens-names-register-timer-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n color: var(--ns-name-ink);\n}\n\n/* the countdown is a number — it reads in mono */\n.ens-names-register-timer-text .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h2);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-name-ink);\n line-height: 1;\n}\n\n@container (max-width: 390px) {\n .ens-names-register-timer-text .ns-text {\n font-size: var(--ns-size-h3);\n }\n}\n","/* Registration success — Namespace Flows.dc.html lines 280–303.\n The ninja illustration is retired in favour of the typographic ink band;\n the receipt below it is mono throughout. */\n\n.ens-registration-success-container {\n container-type: inline-size;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.ens-registration-success-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ens-registration-success-card {\n border-radius: var(--ns-radius);\n width: 100%;\n max-width: 480px;\n text-align: left;\n position: relative;\n padding: 0;\n}\n\n/* ---- Ink band (lines 282–284) ---------------------------------------- */\n.ens-registration-success-band {\n height: 96px;\n display: grid;\n place-items: center;\n background-color: var(--ns-name-ink);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n letter-spacing: var(--ns-track-caps);\n color: var(--ns-blue-300);\n}\n\n.ens-registration-success-body {\n padding: var(--ns-space-14);\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-12);\n}\n\n/* ---- Identity row (lines 286–289) ------------------------------------ */\n.ens-registration-success-title-section {\n display: flex;\n align-items: center;\n gap: var(--ns-space-8);\n margin-bottom: 0;\n}\n\n.ens-registration-success-name {\n display: block;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n line-height: var(--ns-leading-tight);\n overflow-wrap: anywhere;\n}\n\n.ens-registration-success-message {\n display: block;\n color: var(--ns-text-3);\n}\n\n/* ---- Receipt rows (lines 290–296) ------------------------------------ */\n.ens-registration-success-summary {\n background: transparent;\n border: none;\n border-radius: var(--ns-radius);\n padding: 0;\n margin-bottom: 0;\n text-align: left;\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-6);\n}\n\n.ens-registration-success-summary-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--ns-space-6);\n margin-bottom: 0;\n}\n\n/* values are numbers — mono, always */\n.ens-registration-success-summary-row > *:last-child,\n.ens-registration-success-summary-row > *:last-child .ns-text {\n font-family: var(--ns-font-mono);\n}\n\n.ens-registration-success-total {\n border-top: 1px solid var(--ns-rule);\n padding-top: var(--ns-space-6);\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.ens-registration-success-total .ns-text {\n font-size: var(--ns-size-body);\n font-weight: var(--ns-weight-medium);\n}\n\n.ens-registration-success-expiry {\n border-top: none;\n padding-top: 0;\n margin-top: 0;\n}\n\n.ens-registration-success-total-amount {\n display: flex;\n align-items: center;\n gap: var(--ns-space-3);\n}\n\n.ens-registration-success-eth-logo {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n line-height: 1;\n}\n\n/* ---- Actions (lines 297–300) ----------------------------------------- */\n.ens-registration-success-actions {\n display: flex;\n gap: var(--ns-space-4);\n width: 100%;\n}\n\n.ens-registration-success-register-another-btn,\n.ens-registration-success-view-name-btn {\n flex: 1;\n min-width: 0;\n}\n\n/* ---- Narrow containers (plan §5) ------------------------------------- */\n@container (max-width: 480px) {\n .ens-registration-success-body {\n padding: var(--ns-space-10);\n }\n}\n\n@container (max-width: 390px) {\n .ens-registration-success-body {\n padding: var(--ns-space-8);\n gap: var(--ns-space-10);\n }\n\n .ens-registration-success-band {\n height: 72px;\n }\n\n .ens-registration-success-actions {\n flex-direction: column;\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-registration-success-body {\n padding: var(--ns-space-8);\n }\n}\n","/* =========================================================================\n Set-records shell — the flow shell of Namespace Flows.dc.html line 45:\n width 100%, max-width 500px, --ns-surface on a hairline-strong frame.\n `container-type` makes the narrow layouts fire inside ~330px modals on\n desktop viewports, where @media never would (plan §5).\n ========================================================================= */\n\n.ens-records-form-container {\n container-type: inline-size;\n width: 100%;\n max-width: 500px;\n height: fit-content;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n}\n\n/* The component spells the modifier `no-boder`; both spellings are honoured\n so the `noBorder` prop works without a markup change. */\n.ens-records-form-container.no-border,\n.ens-records-form-container.no-boder,\n.ens-records-form-container .no-border {\n border: none;\n}\n\n/* The records editor nests inside this frame — one hairline, not two. */\n.ens-records-form-container .ns-select-records-form {\n max-width: none;\n border: none;\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.ens-records-form-container:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Update-records footer actions (Namespace Flows.dc.html lines 124-127):\n two buttons, `flex: 1`, above a rule. Stacking behaviour is unchanged.\n ========================================================================= */\n\n.ens-update-records-form-actions {\n display: flex;\n gap: var(--ns-space-4);\n}\n\n.ens-update-records-form-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n@container (max-width: 390px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n","/* =========================================================================\n Record update summary (plan §4.6).\n Surface + hairline-strong frame, square badges in the tag-outline look:\n the record key is an uppercase micro-label, the value is mono.\n ========================================================================= */\n\n.record-update-summary {\n container-type: inline-size;\n max-width: 600px;\n margin: 0 auto;\n padding: var(--ns-space-8);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n}\n\n.record-update-summary .text-center {\n text-align: center;\n}\n\n/* the brand illustration survives, constrained (plan §8.5) */\n.record-update-summary img {\n max-width: min(200px, 60%);\n height: auto;\n}\n\n/* ---- accordions -------------------------------------------------------- */\n\n.record-summary-accordion {\n margin-bottom: var(--ns-space-6);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n}\n\n.record-summary-accordion .ns-accordion__body-inner {\n padding-top: 0;\n}\n\n.record-summary-section {\n margin-bottom: var(--ns-space-8);\n}\n\n.record-summary-section:last-child {\n margin-bottom: 0;\n}\n\n/* the \"Added (n)\" / \"Modified (n)\" section headings are micro-labels */\n.record-summary-section > .ns-text--sm.ns-text--medium.ns-text--grey {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-faint);\n}\n\n.record-summary-badges-container {\n display: flex;\n flex-wrap: wrap;\n gap: var(--ns-space-4);\n margin-top: var(--ns-space-4);\n}\n\n/* ---- badges ------------------------------------------------------------ */\n\n.record-summary-expandable-badge {\n flex: 0 0 auto;\n min-width: 0;\n position: relative;\n}\n\n.record-summary-expandable-badge--expanded {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n}\n\n.record-summary-badge-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ns-space-4);\n padding: var(--ns-space-4) var(--ns-space-6);\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n color: var(--ns-text-3);\n cursor: pointer;\n white-space: nowrap;\n transition:\n background-color 0.15s linear,\n border-color 0.15s linear;\n}\n\n/* the record key reads as an uppercase micro-label */\n.record-summary-badge-header .ns-text--xs {\n font-size: var(--ns-size-label);\n font-weight: var(--ns-weight-medium);\n letter-spacing: var(--ns-track-label);\n line-height: var(--ns-leading-tight);\n text-transform: uppercase;\n color: var(--ns-text-2);\n}\n\n.record-summary-expandable-badge--expanded .record-summary-badge-header {\n border-radius: var(--ns-radius);\n border-bottom-color: var(--ns-rule);\n}\n\n.record-summary-badge-header:hover {\n opacity: 1;\n background-color: var(--ns-surface-2);\n border-color: var(--ns-border-strong);\n}\n\n.record-summary-badge-content {\n padding: 0 var(--ns-space-6);\n background-color: var(--ns-surface-2);\n border: 1px solid var(--ns-border);\n border-top: none;\n border-radius: var(--ns-radius);\n overflow: hidden;\n transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n width: 100%;\n box-sizing: border-box;\n}\n\n/* record VALUES are mono — addresses, hashes, content hashes */\n.record-summary-badge-content .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n color: var(--ns-name-ink);\n word-break: break-all;\n}\n\n.record-summary-expandable-badge:not(.record-summary-expandable-badge--expanded)\n .record-summary-badge-content {\n max-width: 0;\n min-width: 0;\n padding-left: 0;\n padding-right: 0;\n border: none;\n}\n\n.record-summary-badge-content > div {\n padding: var(--ns-space-4) 0;\n white-space: normal;\n word-break: break-word;\n}\n\n.record-summary-simple-badge {\n flex: 0 0 auto;\n min-width: 0;\n}\n\n.record-summary-simple-badge .record-summary-badge-header {\n cursor: default;\n}\n\n/* the count chip next to an accordion title */\n.record-summary-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: var(--ns-space-2);\n padding: 0 var(--ns-space-3);\n min-width: 20px;\n background-color: var(--ns-surface-3);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n text-align: center;\n}\n\n.record-summary-badge .ns-text {\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n color: var(--ns-text-3);\n}\n\n/* ---- actions (flows lines 124-127) ------------------------------------- */\n\n.record-update-summary-actions {\n display: flex;\n gap: var(--ns-space-4);\n padding-top: var(--ns-space-4);\n border-top: 1px solid var(--ns-rule);\n margin-top: var(--ns-space-8);\n}\n\n.record-update-summary-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n/* ---- narrow layouts ---------------------------------------------------- */\n\n@container (max-width: 480px) {\n .record-update-summary {\n padding: var(--ns-space-6);\n }\n\n .record-summary-simple-badge,\n .record-summary-expandable-badge {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n }\n}\n\n@container (max-width: 390px) {\n .record-update-summary-actions {\n flex-direction: column;\n }\n\n .record-update-summary-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .record-summary-simple-badge,\n .record-summary-expandable-badge {\n flex-basis: 100%;\n width: 100%;\n min-width: 100%;\n }\n\n .record-update-summary-actions {\n flex-direction: column;\n }\n\n .record-update-summary-actions button {\n max-width: 100%;\n width: 100%;\n }\n}\n\n/* A query container establishes layout containment, which makes it the\n containing block for `position: fixed` descendants — that would shrink the\n Modal overlay (rendered in-tree, not portalled) down to this card. While a\n modal is open in the subtree, drop containment so the overlay covers the\n viewport again; the layout underneath is behind the backdrop anyway. */\n.record-update-summary:has(.ns-modal-overlay) {\n container-type: normal;\n}\n","/* =========================================================================\n Records update progress / success / failure.\n Success reuses the ink band of the registration success screen\n (Namespace Flows.dc.html lines 282-284) rather than an illustration —\n 96px --ns-name-ink, centred mono caps in --ns-blue-300 (plan §4.6).\n ========================================================================= */\n\n.record-update-screen-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.record-update-screen-card {\n width: 100%;\n max-width: 480px;\n padding: 0 0 var(--ns-space-14);\n text-align: center;\n position: relative;\n background: var(--ns-surface);\n border-radius: var(--ns-radius);\n}\n\n.record-update-screen-title-section {\n padding: 0 var(--ns-space-14);\n margin-bottom: var(--ns-space-14);\n}\n\n.record-update-screen-actions {\n display: flex;\n flex-direction: column;\n gap: var(--ns-space-6);\n width: 100%;\n padding: 0 var(--ns-space-14);\n}\n\n.record-update-screen-view-name-btn,\n.record-update-screen-close-btn,\n.record-update-screen-retry-btn {\n width: 100%;\n}\n\n/* ---- success: the ink band replaces the illustration ------------------- */\n\n.record-update-success-illustration {\n height: 96px;\n margin-bottom: var(--ns-space-14);\n display: flex;\n justify-content: center;\n align-items: center;\n background: var(--ns-name-ink);\n}\n\n.record-update-success-illustration img {\n display: none;\n}\n\n.record-update-success-illustration::after {\n content: \"RECORDS UPDATED\";\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-micro);\n letter-spacing: var(--ns-track-caps);\n color: var(--ns-blue-300);\n}\n\n/* ---- failure ----------------------------------------------------------- */\n\n.record-update-failed-icon {\n margin: var(--ns-space-14) 0;\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--ns-dot-bad);\n}\n\n/* the markup hands the icon a literal red; the palette's tone wins */\n.record-update-failed-icon .ns-icon {\n stroke: var(--ns-dot-bad);\n}\n\n/* ---- narrow layouts (container first — these render inside modals) ----- */\n\n@container (max-width: 480px) {\n .record-update-screen-title-section,\n .record-update-screen-actions {\n padding: 0 var(--ns-space-8);\n }\n\n .record-update-screen-card {\n padding-bottom: var(--ns-space-8);\n }\n}\n\n/* Fallback for browsers without container queries. */\n@media screen and (max-width: 600px) {\n .record-update-screen-title-section,\n .record-update-screen-actions {\n padding: 0 var(--ns-space-8);\n }\n}\n","/* Subname mint — Namespace Flows.dc.html lines 307–367.\n Same shell, input, receipt and profile-CTA language as the registration\n flow (§4.2/§4.5). Square, hairline, shadowless; names and amounts in mono. */\n\n.ns-subname-mint-form {\n container-type: inline-size;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n width: 100%;\n max-width: 500px;\n}\n\n/* A query container is a containing block for `position: fixed` descendants,\n which would shrink the in-tree Modal overlay (image upload) to this card.\n Drop containment while a modal is open in the subtree. */\n.ns-subname-mint-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ns-subname-mint-form img {\n max-width: 100%;\n height: auto;\n}\n\n/* ---- Name input (lines 318–329) --------------------------------------\n 48px row, strong hairline, mono name ink. The parent-name suffix is plain\n mono text — no grey suffix box — and ellipsizes when it runs long. */\n.ns-subname-mint-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-h4);\n color: var(--ns-name-ink);\n padding-left: 44px;\n padding-right: 46%;\n}\n\n.ns-subname-mint-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-subname-mint-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ns-subname-mint-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ns-subname-mint-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ns-subname-mint-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n max-width: 42%;\n background: none;\n border: none;\n border-radius: var(--ns-radius);\n}\n\n.ns-subname-mint-input .ns-input__suffix .ns-text {\n display: block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n/* ---- Actions --------------------------------------------------------- */\n.ens-update-records-form-actions {\n display: flex;\n gap: var(--ns-space-4);\n}\n\n.ens-update-records-form-actions button {\n flex: 1;\n max-width: 50%;\n}\n\n.ens-update-records-form-actions .ns-mint-action-tooltip {\n flex: 1;\n max-width: 50%;\n}\n\n.ens-update-records-form-actions .ns-mint-action-tooltip button {\n width: 100%;\n max-width: 100%;\n}\n\n/* ---- Records CTA (lines 350–359) ------------------------------------- */\n.ens-profile-selector {\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n padding: var(--ns-space-8) var(--ns-space-10);\n background-color: var(--ns-surface-3);\n}\n\n.ens-profile-selector > .d-flex {\n gap: var(--ns-space-8);\n}\n\n.ens-profile-selector .shuriken-cont {\n width: var(--ns-avatar-row);\n height: var(--ns-avatar-row);\n flex: none;\n border-radius: var(--ns-radius);\n background-color: transparent;\n}\n\n.ens-profile-selector .shuriken {\n width: var(--ns-avatar-row);\n height: auto;\n transition: transform 0.3s ease-in-out;\n cursor: pointer;\n}\n\n.ens-profile-selector .shuriken:hover {\n transform: rotate(150deg);\n}\n\n/* 30px solid blue chevron block (line 357) */\n.ens-profile-selector .profile-cta-arrow {\n width: 30px;\n height: 30px;\n flex: none;\n display: grid;\n place-items: center;\n border-radius: var(--ns-radius);\n background-color: var(--ns-blue-600);\n color: var(--ns-surface);\n}\n\n/* ---- Narrow containers (plan §5) — the webapp's ~330px modals -------- */\n@container (max-width: 390px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button,\n .ens-update-records-form-actions .ns-mint-action-tooltip {\n max-width: 100%;\n width: 100%;\n }\n\n .ns-subname-mint-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n\n/* Fallback for browsers without container queries */\n@media screen and (max-width: 600px) {\n .ens-update-records-form-actions {\n flex-direction: column;\n }\n\n .ens-update-records-form-actions button {\n max-width: 100%;\n width: 100%;\n }\n\n .ens-update-records-form-actions .ns-mint-action-tooltip {\n max-width: 100%;\n width: 100%;\n }\n}\n","/* Offchain subname form — no artboard of its own; it follows the mint-form\n spec (§4.5): same shell, same 48px mono name input, same plain-text suffix.\n Square, hairline, shadowless. */\n\n.ns-offchain-subname-form {\n container-type: inline-size;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n width: 100%;\n max-width: 500px;\n}\n\n/* A query container is a containing block for `position: fixed` descendants,\n which would shrink the in-tree Modal overlay to this card. Drop containment\n while a modal is open in the subtree. */\n.ns-offchain-subname-form:has(.ns-modal-overlay) {\n container-type: normal;\n}\n\n.ns-offchain-subname-form img {\n max-width: 100%;\n height: auto;\n}\n\n.ns-offchain-subname-input .ns-input,\n.ns-offchain-owner-input .ns-input {\n background: var(--ns-surface);\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n font-family: var(--ns-font-mono);\n color: var(--ns-name-ink);\n}\n\n.ns-offchain-subname-input .ns-input:focus,\n.ns-offchain-owner-input .ns-input:focus {\n border-color: var(--ns-focus-ring);\n}\n\n.ns-offchain-subname-input .ns-input::placeholder,\n.ns-offchain-owner-input .ns-input::placeholder {\n color: var(--ns-text-faint);\n opacity: 1;\n font-family: var(--ns-font-mono);\n}\n\n.ns-offchain-subname-input .ns-input {\n font-size: var(--ns-size-h4);\n padding-left: 44px;\n padding-right: 46%;\n}\n\n/* the owner address is a hash — mono at meta size so it fits */\n.ns-offchain-owner-input .ns-input {\n font-size: var(--ns-size-meta);\n}\n\n.ns-offchain-subname-input .ns-input__prefix {\n left: var(--ns-space-8);\n}\n\n.ns-offchain-subname-input .ns-input__prefix .ns-icon {\n stroke: var(--ns-text-faint);\n}\n\n.ns-offchain-subname-input .ns-input__suffix {\n right: var(--ns-space-8);\n padding: 0;\n height: auto;\n max-width: 42%;\n background: none;\n border: none;\n border-radius: var(--ns-radius);\n}\n\n.ns-offchain-subname-input .ns-input__suffix .ns-text {\n display: block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--ns-font-mono);\n font-size: var(--ns-size-meta);\n font-weight: var(--ns-weight-medium);\n color: var(--ns-text-faint);\n line-height: var(--ns-leading-tight);\n}\n\n@container (max-width: 390px) {\n .ns-offchain-subname-input .ns-input {\n font-size: var(--ns-size-body);\n }\n}\n","/* =========================================================================\n Global styles + legacy variable rewire\n -------------------------------------------------------------------------\n The library's component CSS consumes the legacy `--ns-color-*` / `--ns-radius-*`\n / `--ns-alert-*` variables. Rather than rewrite every component file, those\n names are redefined here as ALIASES of the design tokens in `./tokens.css`\n (which must be imported BEFORE this file).\n\n Radius is 0 and shadow is none at the source, so the whole library becomes\n square and shadowless in one move.\n\n RULE: no unprefixed custom property may be declared or consumed here.\n Host pages define their own `--bg`/`--text`/`--border`/`--radius`.\n ========================================================================= */\n\n:root {\n /* --ns-font-family / --ns-font-mono live in ./tokens.css */\n\n /* kill every rounding and every shadow at the source */\n --ns-radius-sm: 0;\n --ns-radius-md: 0;\n --ns-radius-lg: 0;\n --ns-shadow: none;\n\n --ns-color-bg: var(--ns-surface);\n --ns-color-bg-accent: var(--ns-surface-3);\n --ns-color-bg-accent-hover: var(--ns-surface-4);\n --ns-color-bg-darker: var(--ns-surface-4);\n --ns-color-fg: var(--ns-text);\n --ns-color-muted: var(--ns-text-3);\n --ns-color-primary: var(--ns-blue-600);\n --ns-color-primary-contrast: #ffffff;\n --ns-color-border: var(--ns-border-strong);\n\n /* Error Colors — hard failures keep a red, built from --ns-dot-bad.\n The design has no error surface; these two tints are derived. */\n --ns-alert-error-bg: #fbede6;\n --ns-alert-error-border: #ebc5b2;\n --ns-alert-error-text: var(--ns-dot-bad);\n --ns-alert-error-icon: var(--ns-dot-bad);\n --ns-alert-error-close-hover: rgba(194, 65, 12, 0.1);\n\n /* Warning Colors — the design's amber banner tone */\n --ns-alert-warning-bg: var(--ns-amber-100);\n --ns-alert-warning-border: var(--ns-amber-400);\n --ns-alert-warning-text: var(--ns-amber-700);\n --ns-alert-warning-icon: var(--ns-amber-600);\n --ns-alert-warning-close-hover: rgba(138, 74, 5, 0.1);\n\n /* Info Colors — the one blue accent */\n --ns-alert-info-bg: var(--ns-blue-100);\n --ns-alert-info-border: var(--ns-blue-300);\n --ns-alert-info-text: var(--ns-blue-700);\n --ns-alert-info-icon: var(--ns-blue-600);\n --ns-alert-info-close-hover: rgba(10, 84, 128, 0.1);\n\n /* Success Colors — derived tints of --ns-ok */\n --ns-alert-success-bg: #eff4f0;\n --ns-alert-success-border: #c9dace;\n --ns-alert-success-text: var(--ns-ok);\n --ns-alert-success-icon: var(--ns-dot-ok);\n --ns-alert-success-close-hover: rgba(94, 138, 108, 0.1);\n}\n\n/* Dark theme: the design ships light-only. These legacy values are left\n untouched so the ThemeProvider API keeps working. Marked \"legacy,\n unrefreshed\" in the release notes — do not invent a dark palette. */\n[data-theme=\"dark\"] {\n --ns-color-bg: #0b0f19;\n --ns-color-fg: #e5e7eb;\n --ns-color-muted: #9ca3af;\n --ns-color-primary: #1f1f1f;\n --ns-color-primary-contrast: #0b0f19;\n --ns-color-border: #1f2937;\n --ns-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);\n\n /* Error Colors - Dark Theme */\n --ns-alert-error-bg: #2d1b1b;\n --ns-alert-error-border: #7f1d1d;\n --ns-alert-error-text: #fca5a5;\n --ns-alert-error-icon: #fca5a5;\n --ns-alert-error-close-hover: rgba(252, 165, 165, 0.1);\n\n /* Warning Colors - Dark Theme */\n --ns-alert-warning-bg: #2d1b0b;\n --ns-alert-warning-border: #7c2d12;\n --ns-alert-warning-text: #fed7aa;\n --ns-alert-warning-icon: #fed7aa;\n --ns-alert-warning-close-hover: rgba(254, 215, 170, 0.1);\n\n /* Info Colors - Dark Theme */\n --ns-alert-info-bg: #1e1b2e;\n --ns-alert-info-border: #1e3a8a;\n --ns-alert-info-text: #93c5fd;\n --ns-alert-info-icon: #93c5fd;\n --ns-alert-info-close-hover: rgba(147, 197, 253, 0.1);\n\n /* Success Colors - Dark Theme */\n --ns-alert-success-bg: #1b2d1b;\n --ns-alert-success-border: #166534;\n --ns-alert-success-text: #86efac;\n --ns-alert-success-icon: #86efac;\n --ns-alert-success-close-hover: rgba(134, 239, 172, 0.1);\n}\n\n/* NOTE: the `html { background-color: #f5f4f5 !important }` rule was removed.\n A component library must not force the host page's background. Consumers\n that want the design ground can set `background: var(--ns-bg)` themselves. */\n\n.ns-reset {\n font-family: var(--ns-font-family);\n color: var(--ns-color-fg);\n}\n\n/* Thin, square scrollbars (design `.scroll-thin`) */\n.ns-styled-scrollbar::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px;\n background-color: var(--ns-surface-3);\n}\n\n.ns-styled-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--ns-text-faintest);\n border-radius: 0;\n}\n\n/* =========================================================================\n Demo shell (storybook / landing chrome). Not part of the redesigned flows,\n but it ships in the bundle, so it must not leak rounded or shadowed styles.\n ========================================================================= */\n\n/* Body Layout */\n.ns-body {\n display: flex;\n flex: 1;\n background: var(--ns-bg);\n min-height: calc(100vh - 60px);\n}\n\n/* Main */\n.ns-main {\n flex: 1;\n padding: 1px 20px;\n}\n\n/* Page */\n.ns-page {\n display: grid;\n grid-template-columns: 400px 1fr;\n gap: 24px;\n}\n\n/* Left Profile */\n.ns-left {\n margin-top: 20px;\n align-self: start;\n}\n\n/* Right ENS Section */\n.ns-right {\n flex: 1;\n background-color: var(--ns-surface);\n border: 1px solid var(--ns-border);\n border-radius: var(--ns-radius);\n box-shadow: none;\n padding: 20px;\n margin: 16px;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.ns-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-bottom: 12px;\n margin-bottom: 16px;\n border-bottom: 1px solid var(--ns-rule);\n}\n\n.ns-tabs {\n display: flex;\n gap: 16px;\n font-weight: var(--ns-weight-medium);\n}\n\n.ns-actions-buttons {\n display: flex;\n gap: 12px;\n padding: 0px 18px;\n width: fit-content;\n}\n\n.ns-tabs span {\n cursor: pointer;\n display: flex;\n gap: 6px;\n padding: 6px 10px;\n border-radius: var(--ns-radius);\n font-size: var(--ns-size-meta);\n color: var(--ns-text-3);\n transition: background 0.15s ease, color 0.15s ease;\n}\n\n.ns-tabs span.active {\n background: var(--ns-blue-600);\n color: var(--ns-color-primary-contrast);\n border-radius: var(--ns-radius);\n padding: 6px 10px;\n}\n\n.ns-tabs span:hover {\n background: var(--ns-surface-3);\n color: var(--ns-text);\n}\n\n.ns-tabs span.active:hover {\n background: var(--ns-blue-700);\n color: var(--ns-color-primary-contrast);\n}\n\n.ns-tabs .count {\n background: var(--ns-surface-3);\n color: var(--ns-text-3);\n padding: 2px 6px;\n border-radius: var(--ns-radius);\n font-size: var(--ns-size-micro);\n font-family: var(--ns-font-mono);\n margin-left: 6px;\n}\n\n.ns-search button {\n border: 1px solid var(--ns-border-strong);\n background: var(--ns-surface);\n border-radius: var(--ns-radius);\n padding: 6px 10px;\n cursor: pointer;\n font-size: var(--ns-size-body);\n color: var(--ns-text-2);\n box-shadow: none;\n transition: background 0.15s ease;\n}\n\n.ns-search button:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-right-column {\n flex: 1;\n display: flex;\n flex-direction: column;\n min-width: 0; /* allow children to shrink properly */\n gap: 16px;\n}\n\n/* ENS Grid */\n.ns-ens-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));\n gap: 16px;\n}\n\n.ns-sidebar {\n width: 60px;\n background-color: var(--ns-surface);\n border-right: 1px solid var(--ns-border);\n padding: 12px 8px;\n border-radius: var(--ns-radius);\n box-shadow: none;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n\n /* Full height minus navbar */\n height: 70vh;\n position: sticky;\n top: 0px;\n\n overflow-y: auto;\n scrollbar-width: thin;\n}\n\n.ns-sidebar::-webkit-scrollbar {\n width: 6px;\n background-color: var(--ns-surface-3);\n}\n.ns-sidebar::-webkit-scrollbar-thumb {\n background: var(--ns-text-faintest);\n border-radius: 0;\n}\n\n.ns-menu {\n display: flex;\n flex-direction: column;\n gap: 16px;\n margin-top: 20px;\n}\n\n.ns-menu span {\n cursor: pointer;\n color: var(--ns-text-3);\n font-size: 22px;\n padding: 10px;\n border-radius: var(--ns-radius);\n transition: background 0.15s ease, color 0.15s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ns-menu span:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-menu .active {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n font-weight: var(--ns-weight-medium);\n box-shadow: none;\n}\n\n/* Navbar Styles */\n\n.ns-navbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--ns-surface);\n padding: 12px 20px;\n border-bottom: 1px solid var(--ns-border);\n box-shadow: none;\n position: sticky;\n top: 0;\n z-index: 50;\n width: calc(100% - 100px);\n border-radius: var(--ns-radius);\n margin-left: 20px;\n}\n\n.ns-navbar-left {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 30%;\n}\n\n.ns-logo {\n font-weight: var(--ns-weight-bold);\n font-size: 20px;\n background: var(--ns-name-ink);\n color: var(--ns-surface);\n border-radius: var(--ns-radius);\n padding: 8px 14px;\n box-shadow: none;\n}\n\n.ns-searchbar {\n border: 1px solid var(--ns-border-strong);\n border-radius: var(--ns-radius);\n padding: 6px 12px;\n font-size: var(--ns-size-body);\n width: 220px;\n background: var(--ns-surface);\n color: var(--ns-text);\n transition: border-color 0.15s ease;\n}\n\n.ns-searchbar:focus {\n border-color: var(--ns-focus-ring);\n box-shadow: none;\n outline: none;\n}\n\n.ns-navbar-right {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.ns-network {\n font-weight: var(--ns-weight-medium);\n background: var(--ns-surface-3);\n padding: 6px 12px;\n border-radius: var(--ns-radius);\n transition: background 0.15s ease, color 0.15s ease;\n cursor: pointer;\n}\n\n.ns-network:hover {\n background: var(--ns-blue-100);\n color: var(--ns-blue-700);\n box-shadow: none;\n}\n\n.ns-profile {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: var(--ns-weight-medium);\n padding: 6px 10px;\n border-radius: var(--ns-radius);\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.ns-profile:hover {\n background: var(--ns-surface-3);\n box-shadow: none;\n}\n\n.ns-navbar-profile-avatar {\n width: 32px;\n height: 32px;\n border-radius: var(--ns-radius);\n object-fit: cover;\n box-shadow: none;\n}\n"]}
|