UNPKG

@bakung-ui/minimax.css

Version:

A modern alternative to CSS reset library, with variables

726 lines (572 loc) 16.2 kB
:root{ --font-style:normal; --font-variant:normal; --font-weight:300; --font-stretch:normal; --font-size:16px; --line-height:1.5; --font-family:Lato, "Helvetica Neue", sans-serif; --letter-spacing:0.06em; --accent-color:oklch(0.59 0.11 281.84); --font-color:oklch(0 0 0); --font-color:oklch(0.23 0.04 280.81); --font-color-alt-1:oklch(0.44 0.02 284.16); --font-color-alt-1:oklch(0.34 0.02 283.59); --font-color-alt-2:oklch(0.6 0.02 285.26); --font-color-alt-2:oklch(0.49 0.02 283.94); --background-color:oklch(0.98 0 0); --background-color-text-alt-1:oklch(0.36 0.02 285.26); --background-color-text:oklch(0.95 0.01 285.37); --background-color-clickable:oklch(0.96 0.01 285.53); --transparent-color:oklch(from var(--accent-color) l c h / .15); --href--color:oklch(0.56 0.22 276.32); --href--visited-color:oklch(0.42 0.13 279.17); --shadow-float:0 3px 10px 0 var(--transparent-color); --shadow-clickable:0 2px 2px 0 var(--transparent-color); --focus-outline:0.25rem solid var(--transparent-color); --focus--box-shadow:0 0 0 0.25rem var(--transparent-color); --border-color-control:oklch(0.75 0.02 285.18); --boundary--border-width:1px; --boundary--border-style:solid; --boundary--border-color:oklch(0.82 0.02 285.18); --h--font-family:Montserrat, sans-serif; --h--font-weight:500; --h--line-height:1; --h--letter-spacing:-0.016em; --h--color:var(--font-color-alt-1); --small-header--font-weight:500; --backdrop--background:oklch(0.34 0.03 284.04 / 0.9); --dialog--border-color:var(--boundary--border-color); --blockquote--border-width:0 0 0 4px; --blockquote--border-color:var(--boundary--border-color); --blockquote__footer--color:var(--font-color-alt-2); --blockquote__footer--margin:1rem 0 0; --pre--color:var(--font-color-alt-1); --pre--background:var(--background-color-text); --cks--font-family:"Sometype Mono", monospace, monospace; --cks--font-size:1.125rem; --cks--font-weight:400; --code--color:var(--font-color); --code--background:oklch(from var(--background-color-text) .9 c h / .4); --kbd--color:#fff; --kbd--background:var(--background-color-text-alt-1); --kbd--border-radius:3px; --kbd_-kbd--border-style:solid; --kbd_-kbd--border-color:var(--boundary--border-color); --kbd_-kbd--border-width:1px 2px 3px 1px; --kbd_-kbd--padding:0 0.5rem 0.25rem .25rem; --kbd__kbd--font-weight:400; --kbd__kbd--color:var(--font-color); --controls--color:var(--font-color); --controls--border-width:1px; --controls--border-style:solid; --controls--border-color:var(--border-color-control); --controls--border-radius:0.125em; --controls--min-height:1.75rem; --controls--padding:0.125em 0.25em 0.25em; --input--background:#fff; --btn--font-weight:400; --btn--font-size:var(--font-size); --btn--line-height:1.5; --btn--padding:.2lh .75lh .25lh; --moz-input--padding:0.125em 0.25em 0.25em; --moz-input--select-padding:0.125em 0.25em 0.25em; --moz-btn-padding:.2lh .75lh .25lh; --elements-block-level-space:1rem; } @layer base{ *,:after,:before{ box-sizing:border-box; margin:0; padding:0; } :focus-visible{ outline:var(--focus-outline); outline-offset:0; } :where([type=range]):focus-visible{ outline:none; } html{ font:var(--font, var(--font-style) var(--font-variant) var(--font-weight) var(--font-stretch) var(--font-size) / var(--line-height) var(--font-family)); -moz-text-size-adjust:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; &:has(dialog[open],dialog[popover]:popover-open){ overflow:hidden; } } body{ accent-color:var(--accent-color); background:var(--background-color); color:var(--font-color); letter-spacing:var(--letter-spacing); min-height:100vh; } main{ display:block; } h1,h2,h3,h4,h5,h6{ color:var(--h--color); font:var(--h--font-weight) 4rem / var(--h--line-height) var(--h--font-family); letter-spacing:var(--h--letter-spacing); margin:2.5rem 0 1.25rem; } h1{ font-size:clamp(2.799rem, calc(2.799rem + .125vw), 3.799rem); } h2{ font-size:clamp(2.332rem, calc(2.332rem + .125vw), 3.332rem); } h3{ font-size:clamp(1.944rem, calc(1.944rem + .125vw), 2.944rem); } h3,h4{ line-height:1.125; } h4{ font-size:clamp(1.62rem, calc(1.62rem + .125vw), 2.62rem); } h5{ font-size:clamp(1.35rem, calc(1.35rem + .125vw), 2.35rem); } h5,h6{ letter-spacing:normal; line-height:clamp(1em, 1.5em - .75vw, 1.5em); } h6{ font-size:clamp(1.125rem, calc(1.125rem + .125vw), 2.125rem); } blockquote{ --data-quoter-marker:attr(data-quoter-marker, "\2014 \00A0"); border-color:var(--blockquote--border-color); border-style:var(--blockquote--border-style, solid); border-width:var(--blockquote--border-width); margin:0 0 0 1rem; padding:1rem; :where(&) footer{ color:var(--blockquote__footer--color); margin:var(--blockquote__footer--margin); } :where(&) footer:before{ content:var(--data-quoter-marker); } } ol,ul{ padding:0 0 0 1.25em; } fieldset{ border:0 var(--boundary--border-style) var(--boundary--border-color); border-width:var(--boundary--border-width); padding:.5rem; :where(&)>label{ margin:0 1rem 0 0; } } legend{ color:inherit; display:table; padding:0; white-space:normal; } details{ display:block; } summary{ cursor:pointer; display:list-item; } dt{ color:var(--font-color-alt-1); font-weight:var(--small-header--font-weight, bold); } pre{ background:var(--pre--background); border:var(--pre--border, var(--boundary--border-width) var(--boundary--border-style) var(--boundary--border-color)); color:var(--pre--color); overflow:auto; padding:1rem; } hr{ border:var(--boundary--border-width) var(--boundary--border-style) var(--boundary--border-color); border-width:0 0 1px; box-sizing:content-box; color:inherit; margin:.5rem 0; overflow:visible; } a{ display:inline-block; } [href]{ color:var(--href--color); &:focus,&:hover{ filter:brightness(105%); } &:visited{ color:var(--href--visited-color); } } abbr[title]{ border-bottom:none; -webkit-text-decoration:underline dotted; text-decoration:underline dotted; } audio,video{ display:inline-block; } audio:not([controls]){ display:none; } b,strong{ font-weight:700; } code,kbd,samp{ font:normal var(--cks--font-weight) var(--cks--font-size) var(--cks--font-family); font-optical-sizing:auto; } code{ background:var(--code--background); color:var(--code--color); } kbd{ background:var(--kbd--background); border-radius:var(--kbd--border-radius); color:var(--kbd--color); &:has(kbd){ background-color:unset; border:0 var(--kbd_-kbd--border-style) var(--kbd_-kbd--border-color); border-width:var(--kbd_-kbd--border-width); padding:var(--kbd_-kbd--padding); } kbd{ background-color:unset; color:var(--kbd__kbd--color); font-weight:var(--kbd__kbd--font-weight); } } small{ font-size:80%; } sub,sup{ font-size:75%; line-height:0; position:relative; vertical-align:baseline; } sub{ bottom:-.25em; } sup{ top:-.5em; } img{ border:none; display:inline-block; max-height:90vh; max-width:90vw; } figure{ :where(&) img{ line-height:1; margin:auto auto .5rem; } } figcaption{ font-size:.875em; } svg:not(:root){ overflow:hidden; } table{ border-color:inherit; text-indent:0; } th{ color:var(--font-color-alt-1); font-weight:var(--small-header--font-weight, bold); } td{ padding:.5em; } [popover],dialog,template{ display:none; } [popover],dialog{ background:var(--background-color); border:unset; box-shadow:var(--shadow-float); color:inherit; inset:50% auto auto 50%; opacity:0; overflow:visible; padding:1rem; pointer-events:none; position:fixed; text-align:initial; transform:translate(-50%, -50%) scale(.85); transition:opacity .35s ease-in-out,transform .35s ease-in-out,overlay allow-discrete .35s,display allow-discrete .35s; z-index:1000; } dialog{ background:var(--dialog--background, var(--background-color)); border:0 var(--dialog--border-style, solid) var(--dialog--border-color); border-radius:var(--dialog--border-radius, .125em); border-width:var(--dialog--border-width, 1px); color:var(--dialog--color, var(--font-color)); height:var(--dialog--height, auto); max-height:calc(100vh - 4rem); max-width:clamp(280px, 100vw - 4rem, 1160px); min-height:5rem; min-width:clamp(280px, 100vw - 4rem, 400px); width:var(--dialog--width, auto); } [popover]{ height:var(--popover--height, auto); max-height:calc(100vh - 2rem); max-width:clamp(4rem, 100vw - 2rem, 1200px); width:var(--popover--width, auto); } [popover]:popover-open,dialog[open]{ display:block; opacity:1; pointer-events:auto; transform:translate(-50%, -50%) scale(1); @starting-style{ opacity:0; transform:translate(-50%, -50%) scale(.85); } } [popover]::backdrop,dialog::backdrop{ backdrop-filter:blur(1px); background:var(--backdrop--background); } progress{ display:inline-block; vertical-align:baseline; } button,input,optgroup,option,select,textarea{ color:var(--controls--color); font:var(--font-weight) var(--font-size)/var(--line-height) var(--font-family); } button,input,optgroup,select,textarea{ border:0 var(--controls--border-style) var(--controls--border-color); border-width:var(--controls--border-width); margin:0; min-height:var(--controls--min-height); padding:var(--controls--padding); } button,input,select{ text-transform:none; } .btn,[type=button],[type=reset],[type=submit],button{ -webkit-appearance:button; -moz-appearance:button; appearance:button; background-color:var(--btn--background, var(--background-color-clickable, revert)); border:0 var(--btn--border-style, solid) var(--btn--border-color, var(--border-color-control)); border-radius:var(--btn--border-radius, .25em); border-width:var(--btn--border-width, 1px); box-shadow:var(--btn--shadow, var(--shadow-clickable)); color:var(--btn--color, var(--font-color)); cursor:pointer; font:var(--btn--font, normal var(--btn--font-weight) var(--btn--font-size) / var(--btn--line-height) var(--font-family)); min-height:var(--controls--min-height); overflow:visible; padding:var(--btn--padding); position:relative; text-align:center; text-decoration:none; -webkit-user-select:none; -moz-user-select:none; user-select:none; vertical-align:middle; :where(&:hover,&:focus):not(:disabled){ filter:brightness(103%); } :where(&:active):not(:disabled){ box-shadow:none; filter:brightness(105%); transform:translateY(1px); } &:disabled{ color:revert; } &:focus-visible{ box-shadow:none; } } [type=color],input,select,textarea{ background:var(--input--background); border-radius:var(--controls--border-radius); } select{ min-width:1.7em; } optgroup{ border:none; color:var(--font-color-alt-2); padding:.125em; } option{ margin:0 0 0 .5em; padding:.25em .25em .125em; &:checked{ background-color:var(--background-color-text); color:var(--accent-color); } } textarea{ overflow:auto; vertical-align:top; } input{ overflow:visible; } [type=checkbox],[type=color],[type=file],[type=radio],[type=range]{ cursor:pointer; } [type=color]{ background:inherit; min-height:2rem; padding:.25em; } [type=date],[type=datetime-local],[type=month],[type=time],[type=week]{ padding:.125em .25em; } [type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{ height:auto; } [type=search]{ -webkit-appearance:textfield; appearance:textfield; } [type=search]::-webkit-search-decoration{ -webkit-appearance:none; } [type=file]{ padding:0 .125em 0 0; } ::file-selector-button{ -webkit-appearance:button; background-color:var(--btn--background, var(--background-color-clickable, revert)); border:0 var(--btn--border-style, solid) var(--btn--border-color, var(--border-color-control)); border-width:var(--btn--border-width, 1px); color:var(--btn--color, var(--font-color)); cursor:pointer; font:var(--btn--font, normal var(--btn--font-weight) var(--btn--font-size) / var(--btn--line-height) var(--font-family)); margin:-1px .125em -1px -1px; padding:.125em .25em; } [type=range]:focus-visible::-webkit-slider-thumb{ border-radius:50%; height:.8em; outline:var(--focus-outline); width:.8em; } [type=checkbox],[type=radio]{ min-height:auto; padding:0; } input[type=checkbox]{ -webkit-appearance:none; -moz-appearance:none; appearance:none; display:inline-grid; font-size:inherit; height:.75em; place-content:center; width:.75em; } input[type=checkbox]:before{ background-color:var(--accent-color); -webkit-clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%); clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%); content:""; height:.65em; transform:scale(0); width:.5em; } input[type=checkbox]:checked:before{ transform:scale(1) rotate(15deg); } input[type=radio]{ -webkit-appearance:none; -moz-appearance:none; appearance:none; border-radius:50%; display:inline-grid; font-size:inherit; height:.875em; place-content:center; translate:0 -.05lh; width:.875em; } input[type=radio]:before{ background-color:var(--accent-color); border-radius:50%; content:""; height:.5em; transform:scale(0); width:.5em; } input[type=radio]:checked:before{ transform:scale(1); } [disabled]{ cursor:not-allowed; filter:contrast(.5); } [hidden]{ display:none; } :target{ scroll-margin-block:5ex; } :where(dl,ol,ul,fieldset,p,details,pre,form,address,blockquote,figure,table):has(+:is(dl,ol,ul,fieldset,p,details,pre,form,address,blockquote,figure,table,nav)){ margin-bottom:var(--elements-block-level-space); } .btn,[type=button],[type=reset],[type=submit],audio,button,details,input,select,textarea,video{ margin:.25rem; } @-moz-document url-prefix(){ .btn,[type=button],[type=reset],[type=submit],button{ padding:var(--moz-btn-padding); } [type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{ padding:var(--moz-input--padding); } select{ min-width:1.5em; padding:var(--moz-input--select-padding); &:focus{ outline:var(--focus-outline); } } input[type=range]{ background:transparent; border:none; &:active{ filter:brightness(120%); } &::-moz-range-thumb{ background:var(--accent-color); border:none; height:1rem; width:1rem; } &:focus-visible::-moz-range-thumb{ outline:var(--focus-outline); } &::-moz-range-track{ background:var(--accent-color); border-radius:.25rem; cursor:pointer; height:.5rem; } } } }