Tokenize sidebar layout spacing and shadows

This commit is contained in:
thePR0M3TH3AN committed 2025-10-13 19:31:53 -04:00
1 parent 19f9851121
commit a9fa61e50e
5 files changed
+97 -40

No files matched your search

+2 -2
View File
@@ -1,3 +1,3 @@
:root{--color-page:#fff;--color-page-alt:#f9fafb;--color-surface:#0f172a;--color-surface-alt:#111827;--color-bg:var(--color-surface);--color-card:#1e293b;--color-card-private:#3b1d74;--color-card-critical:#3f0b13;--color-panel:#1f2937;--color-panel-hover:#334155;--color-border:#374151;--color-border-subtle:#d1d5db;--color-primary:#fe0032;--color-secondary:#ff93a5;--color-logo-accent:var(--color-primary);--color-logo-wordmark:var(--color-neutral-700);--color-logo-wordmark-inverse:var(--color-white);--color-logo-background:var(--color-neutral-700);--color-logo-background-inverse:var(--color-white);--color-info:#60a5fa;--color-info-strong:#2563eb;--color-info-pressed:#1d4ed8;--color-info-glass:rgba(37,99,235,.18);--color-muted-strong:#6b7280;--color-text:#f8fafc;--color-text-strong:#0f172a;--color-text-muted:var(--color-muted);--color-muted:#94a3b8;--color-muted-alt:#9ca3af;--color-subtle-text:#e2e8f0;--color-subtle:#e5e7eb;--color-critical:#7f1d1d;--color-critical-strong:#991b1b;--color-warning:#facc15;--color-warning-strong:#d97706;--color-warning-surface:rgba(146,64,14,.24);--color-warning-glass:rgba(250,204,21,.18);--color-neutral-700:#3f3f46;--color-neutral-600:#52525b;--color-white:#fff;--color-black:#000;--color-overlay:#1a2234;--color-overlay-black:rgba(0,0,0,.9);--color-overlay-muted:rgba(15,23,42,.55);--color-overlay-strong:rgba(15,23,42,.75);--color-overlay-darker:rgba(15,23,42,.88);--color-overlay-panel:rgba(26,34,52,.82);--color-overlay-panel-soft:rgba(26,34,52,.65);--color-overlay-panel-tint:rgba(31,41,55,.5);--color-overlay-panel-glass:rgba(28,37,58,.72);--color-overlay-panel-glass-soft:rgba(31,41,55,.55);--color-modal-backdrop:rgba(8,12,24,.58);--color-modal-surface:rgba(20,28,46,.78);--color-overlay-veil:rgba(11,17,32,.96);--color-overlay-banner:rgba(51,65,85,.95);--color-sidebar-surface:rgba(17,24,39,.94);--color-sidebar-surface-alt:rgba(11,22,48,.78);--color-sidebar-border:rgba(148,163,184,.28);--color-sidebar-border-strong:rgba(148,163,184,.42);--color-sidebar-hover:rgba(56,189,248,.18);--color-sidebar-hover-strong:rgba(129,140,248,.28);--color-sidebar-glow:rgba(56,189,248,.35);--color-sidebar-accent-start:rgba(56,189,248,.9);--color-sidebar-accent-end:rgba(129,140,248,.85);--color-sidebar-text-muted:rgba(203,213,225,.75);--color-overlay-panel-gradient-start:rgba(30,41,59,.92);--color-overlay-panel-gradient-end:rgba(15,23,42,.92);--color-surface-tint-subtle:rgba(148,163,184,.08);--color-border-translucent:rgba(148,163,184,.18);--color-border-translucent-strong:rgba(148,163,184,.25);--color-border-translucent-bright:rgba(148,163,184,.32);--color-border-translucent-stronger:rgba(148,163,184,.35);--color-border-translucent-strongest:rgba(148,163,184,.4);--color-border-translucent-glow:rgba(148,163,184,.55);--color-border-translucent-medium:rgba(148,163,184,.2);--color-border-neutral-soft:rgba(229,231,235,.35);--color-border-info-soft:rgba(96,165,250,.35);--color-border-sidebar-strong:rgba(55,65,81,.9);--color-ring-private:rgba(168,85,247,.55);--color-ring-private-hover:rgba(192,132,252,.65);--color-ring-critical:rgba(239,68,68,.4);--color-ring-critical-soft:rgba(239,68,68,.35);--color-ring-critical-hover:rgba(239,68,68,.45);--color-ring-critical-strong:rgba(239,68,68,.55);--color-ring-alert:rgba(220,38,38,.6);--color-gradient-visibility-start:rgba(129,140,248,.4);--color-gradient-visibility-end:rgba(192,132,252,.32);--color-white-soft:hsla(0,0%,100%,.1);--color-white-softer:hsla(0,0%,100%,.3);--color-white-softest:hsla(0,0%,100%,.4);--color-shadow-floating:rgba(8,11,30,.55);--color-shadow-elevated:rgba(8,11,30,.45);--color-shadow-panel:rgba(15,23,42,.35);--color-shadow-notification:rgba(15,23,42,.3);--color-shadow-sidebar:rgba(0,0,0,.45);--color-divider-strong:rgba(15,23,42,.35);--color-text-frosted-strong:rgba(226,232,240,.94);--color-text-frosted:rgba(226,232,240,.9);--color-text-frosted-soft:rgba(226,232,240,.82);--scrollbar-width:0.5rem;--scrollbar-track:var(--color-white-soft);--scrollbar-thumb:var(--color-white-softer);--scrollbar-thumb-hover:var(--color-white-softest);--z-sidebar-overlay:10;--z-sidebar:20;--z-modal-root:100;--z-modal-overlay:110;--z-modal-content:120;--z-modal-player:130;--sidebar-width-expanded:16rem;--sidebar-width-collapsed:4rem;--sidebar-width:var(--sidebar-width-expanded);--sidebar-control-size:2.75rem;--sidebar-content-gap:1rem;--blog-embed-height:100rem;--color-blog-transparent:transparent;--color-blog-cyan-500:#06b6d4;--color-blog-sky-500:#0bf;--color-blog-teal-600:#0e7490;--color-blog-green-800:#14532d;--color-blog-green-700:#15803d;--color-blog-teal-700:#164e63;--color-blog-gray-900:#171717;--color-blog-coffee-900:#1c1917;--color-blog-green-500:#22c55e;--color-blog-gray-800:#2b2b2b;--color-blog-gray-700:#3b3b3b;--color-blog-teal-accent:#3e8b8a;--color-blog-gray-650:#404040;--color-blog-brown-700:#44403c;--color-blog-purple-900:#581c87;--color-blog-gray-500:#666;--color-blog-gray-450:#737373;--color-blog-gray-440:#747474;--color-blog-brown-500:#78716c;--color-Line truncated
:root{--color-page:#fff;--color-page-alt:#f9fafb;--color-surface:#0f172a;--color-surface-alt:#111827;--color-bg:var(--color-surface);--color-card:#1e293b;--color-card-private:#3b1d74;--color-card-critical:#3f0b13;--color-panel:#1f2937;--color-panel-hover:#334155;--color-border:#374151;--color-border-subtle:#d1d5db;--color-primary:#fe0032;--color-secondary:#ff93a5;--color-logo-accent:var(--color-primary);--color-logo-wordmark:var(--color-neutral-700);--color-logo-wordmark-inverse:var(--color-white);--color-logo-background:var(--color-neutral-700);--color-logo-background-inverse:var(--color-white);--color-info:#60a5fa;--color-info-strong:#2563eb;--color-info-pressed:#1d4ed8;--color-info-glass:rgba(37,99,235,.18);--color-muted-strong:#6b7280;--color-text:#f8fafc;--color-text-strong:#0f172a;--color-text-muted:var(--color-muted);--color-muted:#94a3b8;--color-muted-alt:#9ca3af;--color-subtle-text:#e2e8f0;--color-subtle:#e5e7eb;--color-critical:#7f1d1d;--color-critical-strong:#991b1b;--color-warning:#facc15;--color-warning-strong:#d97706;--color-warning-surface:rgba(146,64,14,.24);--color-warning-glass:rgba(250,204,21,.18);--color-neutral-700:#3f3f46;--color-neutral-600:#52525b;--color-white:#fff;--color-black:#000;--color-overlay:#1a2234;--color-overlay-black:rgba(0,0,0,.9);--color-overlay-muted:rgba(15,23,42,.55);--color-overlay-strong:rgba(15,23,42,.75);--color-overlay-darker:rgba(15,23,42,.88);--color-overlay-panel:rgba(26,34,52,.82);--color-overlay-panel-soft:rgba(26,34,52,.65);--color-overlay-panel-tint:rgba(31,41,55,.5);--color-overlay-panel-glass:rgba(28,37,58,.72);--color-overlay-panel-glass-soft:rgba(31,41,55,.55);--color-modal-backdrop:rgba(8,12,24,.58);--color-modal-surface:rgba(20,28,46,.78);--color-overlay-veil:rgba(11,17,32,.96);--color-overlay-banner:rgba(51,65,85,.95);--color-sidebar-surface:rgba(17,24,39,.94);--color-sidebar-surface-alt:rgba(11,22,48,.78);--color-sidebar-border:rgba(148,163,184,.28);--color-sidebar-border-strong:rgba(148,163,184,.42);--color-sidebar-hover:rgba(56,189,248,.18);--color-sidebar-hover-strong:rgba(129,140,248,.28);--color-sidebar-glow:rgba(56,189,248,.35);--color-sidebar-accent-start:rgba(56,189,248,.9);--color-sidebar-accent-end:rgba(129,140,248,.85);--color-sidebar-text-muted:rgba(203,213,225,.75);--color-overlay-panel-gradient-start:rgba(30,41,59,.92);--color-overlay-panel-gradient-end:rgba(15,23,42,.92);--color-surface-tint-subtle:rgba(148,163,184,.08);--color-border-translucent:rgba(148,163,184,.18);--color-border-translucent-strong:rgba(148,163,184,.25);--color-border-translucent-bright:rgba(148,163,184,.32);--color-border-translucent-stronger:rgba(148,163,184,.35);--color-border-translucent-strongest:rgba(148,163,184,.4);--color-border-translucent-glow:rgba(148,163,184,.55);--color-border-translucent-medium:rgba(148,163,184,.2);--color-border-neutral-soft:rgba(229,231,235,.35);--color-border-info-soft:rgba(96,165,250,.35);--color-border-sidebar-strong:rgba(55,65,81,.9);--color-ring-private:rgba(168,85,247,.55);--color-ring-private-hover:rgba(192,132,252,.65);--color-ring-critical:rgba(239,68,68,.4);--color-ring-critical-soft:rgba(239,68,68,.35);--color-ring-critical-hover:rgba(239,68,68,.45);--color-ring-critical-strong:rgba(239,68,68,.55);--color-ring-alert:rgba(220,38,38,.6);--color-gradient-visibility-start:rgba(129,140,248,.4);--color-gradient-visibility-end:rgba(192,132,252,.32);--color-white-soft:hsla(0,0%,100%,.1);--color-white-softer:hsla(0,0%,100%,.3);--color-white-softest:hsla(0,0%,100%,.4);--color-shadow-floating:rgba(8,11,30,.55);--color-shadow-elevated:rgba(8,11,30,.45);--color-shadow-panel:rgba(15,23,42,.35);--color-shadow-notification:rgba(15,23,42,.3);--color-shadow-sidebar:rgba(0,0,0,.45);--color-divider-strong:rgba(15,23,42,.35);--color-text-frosted-strong:rgba(226,232,240,.94);--color-text-frosted:rgba(226,232,240,.9);--color-text-frosted-soft:rgba(226,232,240,.82);--scrollbar-width:0.5rem;--scrollbar-track:var(--color-white-soft);--scrollbar-thumb:var(--color-white-softer);--scrollbar-thumb-hover:var(--color-white-softest);--z-sidebar-overlay:10;--z-sidebar:20;--z-modal-root:100;--z-modal-overlay:110;--z-modal-content:120;--z-modal-player:130;--sidebar-width-expanded:16rem;--sidebar-width-collapsed:4rem;--sidebar-width:var(--sidebar-width-expanded);--sidebar-control-size:2.75rem;--sidebar-content-gap:1rem;--space-sidebar-shell-inline:var(--space-lg);--space-sidebar-shell-block-start:var(--space-lg);--space-sidebar-shell-block-end:1.75rem;--space-sidebar-scroll-gap:1.75rem;--space-sidebar-panel-gap:1.35rem;--space-sidebar-panel-padding-block:1.35rem;--space-sidebar-panel-padding-inline:1.1rem;--space-sidebar-footer-gap:0.85rem;--space-sidebar-trigger-padding-block:0.78rem;--space-sidebar-popover-offset:0.85rem;--space-sidebar-popover-padding-block:0.85rem;--space-sidebar-popover-padding-inline:0.65rem;--space-sidebar-popover-gap:0.45rem;--space-sidebar-nav-padding-block:0.7rem;--space-sidebar-subnav-padding-block:0.55rem;--blog-embed-height:Line truncated
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{font-size:100%}@media (min-width:1024px){html{font-size:75%}}*,:after,:before{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{font-family:var(--font-family-sans);background-color:var(--color-page);color:var(--color-text-strong);line-height:1.5;margin:0;padding:0;overflow-x:hidden}#editNip71TagsFieldset>legend,#nip71TagsFieldset>legend{margin-left:0;padding:0}#app{background-color:var(--color-page);color:inherit}body.modal-open,html.modal-open{overflow:hidden;height:100%}body.modal-open #app{overflow:hidden}body.modal-open #sidebar,body.modal-open #sidebarOverlay{pointer-events:none;opacity:0;visibility:hidden}body.modal-open #sidebar{z-index:var(--z-sidebar-overlay)}body.modal-open #sidebarOverlay{z-index:calc(var(--z-sidebar-overlay) - 1)}.ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}ng\:form{display:block}.ng-animate-shim{visibility:hidden}.ng-anchor{position:absolute}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}#playerModal.ds-header{display:flex}.ds-header{display:flex;align-items:center;justify-content:flex-start;padding-top:var(--space-md);padding-bottom:var(--space-md)}.focus-ring{outline:2px solid transparent;outline-offset:2px}.focus-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--color-info);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--color-surface);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:Line truncated
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{font-size:100%}@media (min-width:1024px){html{font-size:75%}}*,:after,:before{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{font-family:var(--font-family-sans);background-color:var(--color-page);color:var(--color-text-strong);line-height:1.5;margin:0;padding:0;overflow-x:hidden}#editNip71TagsFieldset>legend,#nip71TagsFieldset>legend{margin-left:0;padding:0}#app{background-color:var(--color-page);color:inherit}body.modal-open,html.modal-open{overflow:hidden;height:100%}body.modal-open #app{overflow:hidden}body.modal-open #sidebar,body.modal-open #sidebarOverlay{pointer-events:none;opacity:0;visibility:hidden}body.modal-open #sidebar{z-index:var(--z-sidebar-overlay)}body.modal-open #sidebarOverlay{z-index:calc(var(--z-sidebar-overlay) - 1)}.ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}ng\:form{display:block}.ng-animate-shim{visibility:hidden}.ng-anchor{position:absolute}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}#playerModal.ds-header{display:flex}.ds-header{display:flex;align-items:center;justify-content:flex-start;padding-top:var(--space-md);padding-bottom:var(--space-md)}.focus-ring{outline:2px solid transparent;outline-offset:2px}.focus-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:var(--color-info);--tw-ring-opacity:0.7;--tw-ring-offset-width:2px;--tw-ring-offset-color:var(--color-surface);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:Line truncated
+34 -35
View File
@@ -1825,9 +1825,10 @@
display: flex;
flex-direction: column;
height: 100%;
padding: 1.5rem 1.5rem 1.75rem;
padding: var(--space-sidebar-shell-block-start) var(--space-sidebar-shell-inline)
var(--space-sidebar-shell-block-end);
width: 100%;
border-radius: 1.5rem;
border-radius: var(--radius-sidebar-shell);
border: 1px solid var(--color-sidebar-border-strong);
background:
radial-gradient(
@@ -1845,7 +1846,7 @@
color-mix(in srgb, var(--color-sidebar-surface) 92%, transparent) 0%,
color-mix(in srgb, var(--color-sidebar-surface-alt) 98%, transparent) 100%
);
box-shadow: 0 1.875rem 3.75rem -1.5rem var(--color-shadow-sidebar);
box-shadow: var(--shadow-sidebar-shell);
backdrop-filter: blur(18px) saturate(140%);
-webkit-backdrop-filter: blur(18px) saturate(140%);
overflow: visible;
@@ -1857,7 +1858,7 @@
.sidebar-scroll {
display: flex;
flex-direction: column;
gap: 1.75rem;
gap: var(--space-sidebar-scroll-gap);
width: 100%;
height: 100%;
min-height: 0;
@@ -1870,9 +1871,10 @@
width: 100%;
display: flex;
flex-direction: column;
gap: 1.35rem;
padding: 1.35rem 1.1rem;
border-radius: 1.1rem;
gap: var(--space-sidebar-panel-gap);
padding: var(--space-sidebar-panel-padding-block)
var(--space-sidebar-panel-padding-inline);
border-radius: var(--radius-sidebar-panel);
border: none;
background: transparent;
box-shadow: none;
@@ -1892,7 +1894,7 @@
.sidebar-panel__header {
display: none;
justify-content: flex-end;
margin-bottom: 1rem;
margin-bottom: var(--space-md);
}
.sidebar-collapse-toggle {
@@ -1931,7 +1933,7 @@
.sidebar-nav {
display: flex;
flex-direction: column;
gap: 0.5rem;
gap: var(--space-xs);
opacity: 1;
transition: opacity 160ms ease;
width: 100%;
@@ -1943,11 +1945,11 @@
--sidebar-nav-link-highlight-scale: 0.96;
display: flex;
align-items: center;
gap: 0.85rem;
padding: 0.7rem 1rem;
gap: var(--space-sidebar-footer-gap);
padding: var(--space-sidebar-nav-padding-block) var(--space-md);
min-height: var(--sidebar-control-size);
border-radius: 0.95rem;
font-size: 0.95rem;
border-radius: var(--radius-sidebar-nav);
font-size: var(--font-size-sidebar-nav);
font-weight: 600;
letter-spacing: 0.015em;
color: var(--color-text-frosted-strong);
@@ -2012,14 +2014,12 @@
color: var(--color-white);
border-color: var(--color-sidebar-hover-strong);
box-shadow: 0 0 0 1px var(--color-sidebar-hover-strong),
0 1.65rem 3.25rem -1.35rem var(--color-sidebar-glow);
var(--shadow-sidebar-accent);
}
.sidebar-nav-link:focus-visible {
outline: none;
box-shadow: 0 0 0 0.125rem var(--color-sidebar-glow),
0 0 0 0.25rem var(--color-sidebar-hover-strong),
0 1.65rem 3.25rem -1.35rem var(--color-sidebar-glow);
box-shadow: var(--shadow-sidebar-focus-ring), var(--shadow-sidebar-accent);
}
.sidebar-nav-link:hover::after,
@@ -2028,10 +2028,10 @@
}
.sidebar-nav-link--sub {
font-size: 0.85rem;
font-size: var(--font-size-sidebar-subnav);
font-weight: 500;
color: var(--color-sidebar-text-muted);
padding-block: 0.55rem;
padding-block: var(--space-sidebar-subnav-padding-block);
letter-spacing: 0.02em;
--sidebar-nav-link-highlight-opacity: 0.25;
--sidebar-nav-link-highlight-scale: 1;
@@ -2049,7 +2049,7 @@
.sidebar-footer {
display: flex;
flex-direction: column;
gap: 0.85rem;
gap: var(--space-sidebar-footer-gap);
margin-top: auto;
position: relative;
z-index: 2;
@@ -2060,11 +2060,11 @@
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.85rem;
gap: var(--space-sidebar-footer-gap);
width: 100%;
padding: 0.78rem 1rem;
padding: var(--space-sidebar-trigger-padding-block) var(--space-md);
min-height: var(--sidebar-control-size);
border-radius: 0.95rem;
border-radius: var(--radius-sidebar-nav);
border: 1px solid var(--color-sidebar-border);
background:
linear-gradient(
@@ -2073,7 +2073,7 @@
color-mix(in srgb, var(--color-sidebar-surface-alt) 58%, transparent) 100%
);
color: var(--color-text-frosted);
font-size: 0.9rem;
font-size: var(--font-size-sidebar-trigger);
font-weight: 600;
cursor: pointer;
box-sizing: border-box;
@@ -2083,7 +2083,7 @@
backdrop-filter: blur(18px) saturate(150%);
-webkit-backdrop-filter: blur(18px) saturate(150%);
box-shadow: inset 0 0 0 0.5px var(--color-sidebar-border),
0 1.25rem 2.5rem -1.35rem var(--color-shadow-panel);
var(--shadow-sidebar-trigger);
transition: border-color 200ms ease, color 200ms ease, box-shadow 220ms ease,
background 220ms ease;
}
@@ -2124,7 +2124,7 @@
color: var(--color-white);
border-color: var(--color-sidebar-hover-strong);
box-shadow: 0 0 0 1px var(--color-sidebar-hover-strong),
0 1.75rem 3.25rem -1.45rem var(--color-sidebar-glow);
var(--shadow-sidebar-dropup);
}
.sidebar-dropup-trigger:hover::before,
@@ -2140,9 +2140,7 @@
.sidebar-dropup-trigger:focus-visible {
outline: none;
box-shadow: 0 0 0 0.125rem var(--color-sidebar-glow),
0 0 0 0.25rem var(--color-sidebar-hover-strong),
0 1.75rem 3.25rem -1.45rem var(--color-sidebar-glow);
box-shadow: var(--shadow-sidebar-focus-ring), var(--shadow-sidebar-dropup);
}
.sidebar-dropup-trigger__glyph {
@@ -2166,7 +2164,7 @@
position: absolute;
left: 0;
right: 0;
bottom: calc(100% + 0.85rem);
bottom: calc(100% + var(--space-sidebar-popover-offset));
border-radius: 1rem;
border: 1px solid var(--color-sidebar-border-strong);
background:
@@ -2176,13 +2174,14 @@
color-mix(in srgb, var(--color-sidebar-surface-alt) 68%, transparent) 100%
);
box-shadow: inset 0 0 0 0.5px var(--color-sidebar-border),
0 2.25rem 4.5rem -1.85rem var(--color-shadow-sidebar);
padding: 0.85rem 0.65rem;
var(--shadow-sidebar-panel);
padding: var(--space-sidebar-popover-padding-block)
var(--space-sidebar-popover-padding-inline);
color: var(--color-text-frosted);
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(0.75rem);
transform: translateY(var(--space-sm));
transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease,
box-shadow 220ms ease;
backdrop-filter: blur(20px) saturate(150%);
@@ -2201,7 +2200,7 @@
.sidebar-dropup-panel__inner {
display: flex;
flex-direction: column;
gap: 0.45rem;
gap: var(--space-sidebar-popover-gap);
}
#sidebar[data-footer-state="expanded"] .sidebar-nav {
@@ -2214,7 +2213,7 @@
}
#sidebar.sidebar-open {
box-shadow: 0 1.875rem 3.75rem -1.5rem var(--color-shadow-sidebar),
box-shadow: var(--shadow-sidebar-shell),
0 0 0 1px var(--color-sidebar-border-strong);
}
+28
View File
@@ -117,6 +117,21 @@
--sidebar-width: var(--sidebar-width-expanded);
--sidebar-control-size: 2.75rem;
--sidebar-content-gap: 1rem;
--space-sidebar-shell-inline: var(--space-lg);
--space-sidebar-shell-block-start: var(--space-lg);
--space-sidebar-shell-block-end: 1.75rem;
--space-sidebar-scroll-gap: 1.75rem;
--space-sidebar-panel-gap: 1.35rem;
--space-sidebar-panel-padding-block: 1.35rem;
--space-sidebar-panel-padding-inline: 1.1rem;
--space-sidebar-footer-gap: 0.85rem;
--space-sidebar-trigger-padding-block: 0.78rem;
--space-sidebar-popover-offset: 0.85rem;
--space-sidebar-popover-padding-block: 0.85rem;
--space-sidebar-popover-padding-inline: 0.65rem;
--space-sidebar-popover-gap: 0.45rem;
--space-sidebar-nav-padding-block: 0.7rem;
--space-sidebar-subnav-padding-block: 0.55rem;
--blog-embed-height: 100rem;
/* Blog palette */
@@ -203,12 +218,22 @@
--radius-lg: 0.75rem;
--radius-xl: 1rem;
--radius-full: 9999px;
--radius-sidebar-shell: 1.5rem;
--radius-sidebar-panel: 1.1rem;
--radius-sidebar-nav: 0.95rem;
/* Shadows */
--shadow-sm: 0 0.0625rem 0.125rem 0 rgb(0 0 0 / 5%);
--shadow-md: 0 0.25rem 0.375rem -0.0625rem rgb(0 0 0 / 10%);
--shadow-lg: 0 0.625rem 0.9375rem -0.1875rem rgb(0 0 0 / 10%);
--shadow-modal: 0 2.75rem 6rem -1.25rem rgb(8 11 30 / 75%);
--shadow-sidebar-shell: 0 1.875rem 3.75rem -1.5rem var(--color-shadow-sidebar);
--shadow-sidebar-accent: 0 1.65rem 3.25rem -1.35rem var(--color-sidebar-glow);
--shadow-sidebar-trigger: 0 1.25rem 2.5rem -1.35rem var(--color-shadow-panel);
--shadow-sidebar-dropup: 0 1.75rem 3.25rem -1.45rem var(--color-sidebar-glow);
--shadow-sidebar-panel: 0 2.25rem 4.5rem -1.85rem var(--color-shadow-sidebar);
--shadow-sidebar-focus-ring: 0 0 0 0.125rem var(--color-sidebar-glow),
0 0 0 0.25rem var(--color-sidebar-hover-strong);
/* Typography */
--font-family-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
@@ -219,6 +244,9 @@
--font-size-lg: 1.125rem;
--font-size-xl: 1.5rem;
--font-size-2xl: 2rem;
--font-size-sidebar-nav: 0.95rem;
--font-size-sidebar-subnav: 0.85rem;
--font-size-sidebar-trigger: 0.9rem;
--line-height-tight: 1.1;
--line-height-snug: 1.25;
--line-height-base: 1.5;
+6
View File
@@ -219,6 +219,12 @@ Recommended container pattern:
The motion helpers defer to the global motion tokens so Task 5 can adjust timing globally without revisiting individual components. Animations respect `prefers-reduced-motion` by collapsing to opacity-only transitions.
### Sidebar shell & controls
The navigation rail pulls its rhythm from dedicated sidebar tokens in `css/tokens.css`. The shell, panels, and footer reuse shared spacing primitives (`--space-sidebar-shell-inline`, `--space-sidebar-shell-block-start`, `--space-sidebar-shell-block-end`, `--space-sidebar-panel-gap`, `--space-sidebar-panel-padding-block`, `--space-sidebar-panel-padding-inline`, `--space-sidebar-footer-gap`) alongside component-specific radii and shadows (`--radius-sidebar-shell`, `--radius-sidebar-panel`, `--radius-sidebar-nav`, `--shadow-sidebar-shell`, `--shadow-sidebar-accent`, `--shadow-sidebar-trigger`, `--shadow-sidebar-dropup`, `--shadow-sidebar-panel`, `--shadow-sidebar-focus-ring`). These values also size fallback classes like `.sidebar-nav-link`, `.sidebar-dropup-trigger`, and `.sidebar-dropup-panel` so legacy templates stay legible. 【F:css/tokens.css†L94-L138】【F:css/tailwind.source.css†L1829-L2182】
Tailwind now exposes matching utilities for layouts that opt into the design system directly: use `px-sidebar-shell-inline`, `pt-sidebar-shell-block-start`, `pb-sidebar-shell-block-end`, `gap-sidebar-panel-gap`, and `rounded-sidebar-shell`/`rounded-sidebar-nav` for structure, then `shadow-sidebar-shell`, `shadow-sidebar-accent`, or `shadow-sidebar-dropup` to match the bespoke glow states. Combine them with existing color utilities to compose new sidebar sections without reintroducing raw measurements. 【F:tailwind.config.cjs†L115-L155】
### Menus
`.menu` normalises list-based command menus with consistent padding. Pair it with `.menu__heading` for optional section labels, `.menu__separator` for dividers, and `.menu__item` for actionable rows. Each item supports hover, active (`data-state="active"`), and critical (`data-variant="critical"`) palettes plus disabled fallbacks through either `disabled` or `aria-disabled="true"`.
+27 -3
View File
@@ -140,13 +140,22 @@ module.exports = {
md: "var(--radius-md)",
lg: "var(--radius-lg)",
xl: "var(--radius-xl)",
full: "var(--radius-full)"
full: "var(--radius-full)",
"sidebar-shell": "var(--radius-sidebar-shell)",
"sidebar-panel": "var(--radius-sidebar-panel)",
"sidebar-nav": "var(--radius-sidebar-nav)"
},
boxShadow: {
sm: "var(--shadow-sm)",
md: "var(--shadow-md)",
lg: "var(--shadow-lg)",
modal: "var(--shadow-modal)"
modal: "var(--shadow-modal)",
"sidebar-shell": "var(--shadow-sidebar-shell)",
"sidebar-accent": "var(--shadow-sidebar-accent)",
"sidebar-trigger": "var(--shadow-sidebar-trigger)",
"sidebar-dropup": "var(--shadow-sidebar-dropup)",
"sidebar-panel": "var(--shadow-sidebar-panel)",
"sidebar-focus-ring": "var(--shadow-sidebar-focus-ring)"
},
spacing: {
"2xs": "var(--space-2xs)",
@@ -155,7 +164,22 @@ module.exports = {
md: "var(--space-md)",
lg: "var(--space-lg)",
xl: "var(--space-xl)",
"2xl": "var(--space-2xl)"
"2xl": "var(--space-2xl)",
"sidebar-shell-inline": "var(--space-sidebar-shell-inline)",
"sidebar-shell-block-start": "var(--space-sidebar-shell-block-start)",
"sidebar-shell-block-end": "var(--space-sidebar-shell-block-end)",
"sidebar-scroll-gap": "var(--space-sidebar-scroll-gap)",
"sidebar-panel-gap": "var(--space-sidebar-panel-gap)",
"sidebar-panel-padding-block": "var(--space-sidebar-panel-padding-block)",
"sidebar-panel-padding-inline": "var(--space-sidebar-panel-padding-inline)",
"sidebar-footer-gap": "var(--space-sidebar-footer-gap)",
"sidebar-trigger-padding-block": "var(--space-sidebar-trigger-padding-block)",
"sidebar-popover-offset": "var(--space-sidebar-popover-offset)",
"sidebar-popover-padding-block": "var(--space-sidebar-popover-padding-block)",
"sidebar-popover-padding-inline": "var(--space-sidebar-popover-padding-inline)",
"sidebar-popover-gap": "var(--space-sidebar-popover-gap)",
"sidebar-nav-padding-block": "var(--space-sidebar-nav-padding-block)",
"sidebar-subnav-padding-block": "var(--space-sidebar-subnav-padding-block)"
},
fontFamily: {
sans: ["var(--font-family-sans)"],