 :root{
     --primary: #205070;
     --primary-dark: #103050;
     --accent: #FFB48A;
     --text: #1F2A33;
     --white: #FFFFFF;
     --card-bg: #FFFFFF;
     --overlay: rgba(0,0,0,.35);
     --radius-xl: 16px;
     --radius-lg: 12px;
     --stroke: 2.5px;
     --control-h: 52px;
     --shadow-lg: 0 16px 48px rgba(0,0,0,.18);
     --shadow-md: 0 8px 24px rgba(0,0,0,.14);
     --focus: 0 0 0 3px rgba(32,80,112,.25);

     --white-ink: rgba(255,255,255,.97);
     --white-stroke: rgba(255,255,255,.88);
     --white-fill: rgba(255,255,255,.96);
     --ink-glow: 0 0 2px rgba(0,0,0,.55), 0 0 6px rgba(0,0,0,.45), 0 0 14px rgba(0,0,0,.35), 0 0 28px rgba(0,0,0,.25);
}

 * {
     box-sizing: border-box;
}
 html, body {
     height: 100%;
}
 body{
     margin:0;
     font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
     -webkit-font-smoothing: antialiased;
     text-rendering: optimizeLegibility;
     color: var(--text);

     background: url("/images/bg-mountain.jpg") center/cover no-repeat;
     position: relative;
     height: calc(100svh - 2px);
     min-height: calc(100svh - 2px);
     display: grid;
     grid-template-rows: auto 1fr;

     scrollbar-gutter: stable both-edges;
}
 html.is-coarse body{
     background-attachment: fixed;
}
 body::before{
     content:"";
     position: fixed;
     inset: 0;
     background: var(--overlay);
     z-index: 0;
     pointer-events:none;
}
 @media (max-width: 640px){
     body{
         background-image: url("/images/bg-mountain-portrait.jpg");
    }
}
 .visually-hidden{
     position:absolute !important;
     clip: rect(1px,1px,1px,1px);
     clip-path: inset(50%);
     height:1px;
     width:1px;
     overflow:hidden;
     white-space:nowrap;
}
 [hidden]{
     display: none !important;
}

 .site-header{
     position: sticky;
     top: 0;
     z-index: 10;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 20px;
     background: linear-gradient(0deg, rgba(16,48,80,.65), rgba(16,48,80,.65));
     backdrop-filter: blur(6px);
     border-bottom: 1px solid rgba(255,255,255,.08);
}
 .brand{
     display:flex;
     align-items:center;
     gap:12px;
}
 .brand-link{
     display:flex;
     align-items:center;
     gap:12px;
     text-decoration:none;
     color: inherit;
}
 .brand-mark{
     height: 36px;
     width: 36px;
     display:block;
}
 .brand-name{
     color: var(--white);
     font-weight: 700;
     letter-spacing:.2px;
}
 .header-right{
     display:flex;
     align-items:center;
     gap:12px;
}
 .user-strip{
     display:flex;
     align-items:center;
     gap:12px;
}
 .user-name{
     color: var(--white);
     font-weight:600;
}

 .logout-btn{
     background: transparent;
     color: var(--white);
     border: 2px solid rgba(255,255,255,.9);
     border-radius: 999px;
     height: 36px;
     padding: 0 14px;
     font: inherit;

     cursor: pointer;
     box-shadow: 0 4px 12px rgba(0,0,0,.15);
     transition: background-color .12s ease, box-shadow .12s ease, transform .02s ease;
}
 .logout-btn:hover{
     background: rgba(255,255,255,.12);
     box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
 .logout-btn:active{
     transform: translateY(1px);
}

 main{
     position: relative;
     z-index:1;
}
 .card{
     width: min(720px, 92%);
     margin: 0 auto;

     background: var(--card-bg);
     border-radius: var(--radius-xl);
     box-shadow: var(--shadow-lg);
     padding: 24px 22px;
}
 .card h2{
     margin: 0 0 14px 0;
     font-size: 22px;
}

 .row{
     display:flex;
     align-items:center;
     gap:12px;
     margin: 10px 0;
}
 .field{
     display:block;
     position: relative;
}
 .grow{
     flex:1;
}

 .result-text{
     display:block;
     margin-top: 6px;
     font-size: 14px;
     line-height: 1.35;

     color: #e9f2ff;
}

 .result-text:not(:empty), #loginResult:not(:empty){
     text-shadow: var(--ink-glow);
}

 .result-text:not(:empty) *, #loginResult:not(:empty) *{
     text-shadow: var(--ink-glow);
}

 #colorAddResult, #colorSearchResult{
     min-height: 1.6em;

}

 #loginDiv.card{
     --title-gap: 34px;
     background: rgba(255,255,255,.12);
     backdrop-filter: blur(10px) saturate(120%);
     -webkit-backdrop-filter: blur(10px) saturate(120%);
     border: var(--stroke) solid var(--white-stroke);
     box-shadow: 0 12px 48px rgba(0,0,0,.25);
     border-radius: 12px;
     padding: var(--title-gap) 26px 34px 26px;
}
 @media (min-width: 900px){
     #loginDiv.card{
         --title-gap: 36px;
         width: 560px;
         padding: var(--title-gap) 36px 44px 36px;
    }
     #loginDiv .field{
         margin: 18px 0;
    }
}
 #loginDiv .card-title{
     margin: 0 0 var(--title-gap) 0;
     font-size: 28px;
     font-weight: 800;
     color: var(--white-ink);
     text-align: center;
}
 #loginDiv .field:first-of-type{
     margin-top: 0 !important;
}

 #loginDiv input[type="text"], #loginDiv input[type="password"]{
     width: 100%;
     height: var(--control-h);
     font-size: 18px;
     font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
     font-weight: 400;
     padding: 12px 14px;
     border: var(--stroke) solid var(--white-stroke);
     border-radius: var(--radius-xl);
     background: rgba(255,255,255, .004);
     color: #fff;
     caret-color: transparent;

     outline: none;
     box-shadow: inset 0 2px 8px rgba(0,0,0,.22);
     backdrop-filter: blur(14px) saturate(125%);
     -webkit-backdrop-filter: blur(14px) saturate(125%);
     transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
     background-repeat: no-repeat;
     background-position: 14px center;
     background-size: 20px;
     padding-left: 44px;
}

 html:not(.is-coarse) #loginDiv input[type="text"], html:not(.is-coarse) #loginDiv input[type="password"]{
     letter-spacing: 0.2px;
}
 #loginDiv input::placeholder{
     color: rgba(255,255,255,.95);
     font-weight: 400;
}
 #loginDiv input:focus::placeholder{
     color: transparent;
}
 #loginDiv input:focus{
     box-shadow: inset 0 2px 8px rgba(0,0,0,.22), 0 0 0 3px rgba(255,255,255,.22);
     border-color: var(--white-ink);
}

 #loginDiv input::selection{
     background: rgba(220,225,230,.40);
     color: #111;
}
 #loginDiv input::-moz-selection{
     background: rgba(220,225,230,.40);
     color: #111;
}

 .with-icon{
     position: relative;
}
 .field-icon{
     position: absolute;
     left: 14px;
     top: 50%;
     transform: translateY(-50%);
     width: 20px;
     height: 20px;
     pointer-events: none;
     opacity: .9;
     -webkit-mask-repeat: no-repeat;
     mask-repeat: no-repeat;
     -webkit-mask-position: center;
     mask-position: center;
     -webkit-mask-size: contain;
     mask-size: contain;

     background-color: #fff;
}

 .icon-user{
     -webkit-mask-image: url("/images/user.svg");
     mask-image: url("/images/user.svg");
}
 .icon-lock{
     -webkit-mask-image: url("/images/lock.svg");
     mask-image: url("/images/lock.svg");
}

 html.is-coarse .field-icon{
     background-color: #000;
}

 #loginDiv #loginName, #loginDiv #loginPassword{
     padding-left: 44px;
}

 .remember{
     display:flex;
     align-items:center;
     justify-content:flex-start;
     gap:10px;
     color:#fff;
     margin: 16px 0;
     user-select:none;
}
 .remember input[type="checkbox"]{
     -webkit-appearance: none;
     appearance: none;
     width:20px;
     height:20px;
     border: var(--stroke) solid var(--white-stroke);
     border-radius: 10px;
     background: transparent;
     outline: none;
     cursor: pointer;
}
 .remember input[type="checkbox"]:focus{
     box-shadow: 0 0 0 3px rgba(255,255,255,.22);
}
 .remember input[type="checkbox"]:checked{
     background: var(--white-fill);
}
 .remember span{
     font-weight:600;
}

 #loginDiv .buttons{
     display:block;
     width: 100%;
     height: var(--control-h);
     margin-top: 12px;
     border-radius: var(--radius-xl);
     background: var(--white-fill);
     color: var(--primary);
     font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
     font-weight: 400;
     letter-spacing: .15px;
     font-size: 19px;
     border: none;
     cursor: pointer;
     box-shadow: 0 6px 16px rgba(0,0,0,.18);
     transition: transform .02s ease, color .12s ease, background-color .12s ease, box-shadow .12s ease;
}
 #loginDiv .buttons:hover{
     color: var(--primary-dark);
     background: rgba(255,255,255,.98);
     box-shadow: 0 8px 22px rgba(0,0,0,.24);
}
 #loginDiv .buttons:active{
     transform: translateY(1px);
}

 #loginResult{
     display: block;
     min-height: 1.6em;

     margin-top: 12px;

     line-height: 1.35;
     font-size: 14px;
     color: #ff5a5a;

}
 #loginResult.error{
     color: #ff5a5a;
}
 #loginResult.success{
     color: #c9ffd6;
}

 .with-eye {
     position: relative;
}

 #loginDiv #loginPassword {
     padding-right: 48px;
}

 .eye-toggle{
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     width: 28px;
     height: 28px;
     border: none;
     background: transparent no-repeat center / 22px 22px;
     cursor: default;
     opacity: .95;
     display: grid;
     place-items: center;
     border-radius: 6px;
     -webkit-mask-repeat: no-repeat;
     mask-repeat: no-repeat;

     -webkit-mask-position: calc(50% - 2px) 50%;
     mask-position: calc(50% - 2px) 50%;

     -webkit-mask-size: 26px 26px;
     mask-size: 26px 26px;
}
 .eye-toggle:focus{
     outline: none;
     box-shadow: none;
}
 .eye-toggle:focus-visible{
     outline: none;
     box-shadow: none;
}
 .eye-toggle::-moz-focus-inner{
     border: 0;
}

 .eye-toggle[data-state="hide"]{

     -webkit-mask-image: url("/images/eye-open.svg");
     mask-image: url("/images/eye-open.svg");
}
 .eye-toggle[data-state="show"]{

     -webkit-mask-image: url("/images/eye-closed.svg");
     mask-image: url("/images/eye-closed.svg");
}

 html:not(.is-coarse) .eye-toggle{
     background-color: #fff;
}
 html.is-coarse .eye-toggle{
     background-color: #000;
}

 @keyframes autofill-kick {
     from {
         opacity: 1;
    }
     to {
         opacity: 1;
    }
}
 #loginDiv input:-webkit-autofill {
     animation-name: autofill-kick;
     animation-duration: .01s;
}

 #colorsCard .card-title{
     font-size: 24px;
     color: var(--white);
     font-weight: 800;
     text-align:center;
     margin-bottom: 18px;
}
 #colorsCard{
     background: rgba(255,255,255,.12);
     border: var(--stroke) solid var(--white-stroke);
     border-radius: 12px;
     backdrop-filter: blur(10px) saturate(120%);
     -webkit-backdrop-filter: blur(10px) saturate(120%);
     box-shadow: 0 12px 48px rgba(0,0,0,.25);
}
 #colorsCard input[type="text"]{
     width: 100%;
     height: var(--control-h);
     font-size: 18px;
     font-family: 'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
     font-weight: 400;
     padding: 12px 14px;
     border: var(--stroke) solid var(--white-stroke);
     border-radius: var(--radius-xl);
     background: rgba(255,255,255, .004);
     color: #fff;
     outline: none;
     box-shadow: inset 0 2px 8px rgba(0,0,0,.22);
     backdrop-filter: blur(14px) saturate(125%);
     -webkit-backdrop-filter: blur(14px) saturate(125%);
     transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
 #colorsCard input::placeholder{
     color: rgba(255,255,255,.95);
}
 #colorsCard input:focus{
     box-shadow: inset 0 2px 8px rgba(0,0,0,.22), 0 0 0 3px rgba(255,255,255,.22);
     border-color: var(--white-ink);
}

 .chip-list{
     display:flex;
     flex-wrap: wrap;
     gap:8px;
     margin: 10px 0 2px 0;
}
 .chip{
     display: inline-block;
     padding: 8px 12px;
     border-radius: 999px;
     background: var(--primary);
     color: #fff;
     font-size: 14px;
     position: relative;

     z-index: 1;

     box-shadow: 0 4px 12px rgba(0,0,0,.12);
     transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
     will-change: transform;
}
 .empty-state{
     color:#fff;
     opacity: .9;
     font-size: 14px;
     padding: 6px 0;
}
 = 

 .rule{
     border: none;
     height: 1px;
     width: 100%;
     background: rgba(255,255,255,.85);

     margin-top: 22px;
     margin-bottom: 14px;
     position: relative;

     z-index: 0;
}

 #colorAddResult.error{
     color: #ff5a5a;
}

 #colorAddResult .suggestions{
     color: #e9f2ff;

     opacity: .95;
     margin-left: 6px;
     font-weight: 600;
}
 #colorAddResult.success{
     color: #c9ffd6;
}

 #colorSearchResult{
     color: #e9f2ff;
}

 .section-title{
     color: var(--white);
     font-weight: 700;
     font-size: 16px;
     margin: 6px 2px 8px 2px;
     opacity: .95;
}

 .icon-btn{
     width: var(--control-h);
     height: var(--control-h);
     min-width: var(--control-h);
     min-height: var(--control-h);
     border-radius: 12px;
     border: 2px solid rgba(255,255,255,.9);
     background: transparent;
     color: var(--white);
     display: grid;
     place-items: center;
     cursor: pointer;
     box-shadow: 0 4px 12px rgba(0,0,0,.18);
     transition: background-color .12s ease, box-shadow .12s ease, transform .02s ease, color .12s ease, border-color .12s ease;
}
 .icon-btn:hover{
     background: rgba(255,255,255,.12);
     box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
 .icon-btn:active{
     transform: translateY(1px);
}
 .icon-btn svg{
     width: 22px;
     height: 22px;
}

 #colorsCard .row{
     gap: 10px;
}
 .caret-overlay{
     position: absolute;

     width: 3px;
     background: rgba(235,235,235,.95);
     border-radius: 6px;
     pointer-events: none;
     animation: caretBlink 1s steps(1) infinite;
     z-index: 1000;
     will-change: transform;
}
 @keyframes caretBlink {
     50% {
         opacity: 0;
    }
}

 html:not(.is-coarse) #colorsCard input[type="text"]{
     caret-color: transparent;
}

 html.is-coarse #loginDiv input[type="text"], html.is-coarse #loginDiv input[type="password"], html.is-coarse #colorsCard input[type="text"]{
     color: #000;
     caret-color: #000;

     border-color: rgba(255,255,255,.88) !important;

     backdrop-filter: none !important;
     -webkit-backdrop-filter: none !important;
     box-shadow: inset 0 2px 8px rgba(0,0,0,.22);

     background: #ffffff;

}
 html.is-coarse #loginDiv input::placeholder, html.is-coarse #colorsCard input::placeholder{
     color: rgba(0,0,0,.75);
}

 html.is-coarse #loginDiv .field{
     margin: 22px 0;
}
 html.is-coarse #loginDiv .field:first-of-type{
     margin-top: 0 !important;
}

 html:not(.is-coarse) #loginDiv input:-webkit-autofill, html:not(.is-coarse) #loginDiv input:-webkit-autofill:hover, html:not(.is-coarse) #loginDiv input:-webkit-autofill:focus, html:not(.is-coarse) #colorsCard input:-webkit-autofill, html:not(.is-coarse) #colorsCard input:-webkit-autofill:hover, html:not(.is-coarse) #colorsCard input:-webkit-autofill:focus, html:not(.is-coarse) #loginDiv input:autofill, html:not(.is-coarse) #loginDiv input:autofill:hover, html:not(.is-coarse) #loginDiv input:autofill:focus, html:not(.is-coarse) #colorsCard input:autofill, html:not(.is-coarse) #colorsCard input:autofill:hover, html:not(.is-coarse) #colorsCard input:autofill:focus{
     -webkit-text-fill-color: #fff !important;
     background-color: transparent !important;
     background-clip: padding-box;

     -webkit-box-shadow: 0 0 0 1000px rgba(255,255,255,0.004) inset, inset 0 2px 8px rgba(0,0,0,.22) !important;
     box-shadow: 0 0 0 1000px rgba(255,255,255,0.004) inset, inset 0 2px 8px rgba(0,0,0,.22) !important;

     caret-color: transparent !important;
}

 html:not(.is-coarse) #loginDiv input:-webkit-autofill, html:not(.is-coarse) #colorsCard input:-webkit-autofill{
     transition: background-color 9999s ease-out 0s;
}

 html.is-coarse #loginDiv input:-webkit-autofill, html.is-coarse #loginDiv input:-webkit-autofill:hover, html.is-coarse #loginDiv input:-webkit-autofill:focus, html.is-coarse #colorsCard input:-webkit-autofill, html.is-coarse #colorsCard input:-webkit-autofill:hover, html.is-coarse #colorsCard input:-webkit-autofill:focus, html.is-coarse #loginDiv input:autofill, html.is-coarse #loginDiv input:autofill:hover, html.is-coarse #loginDiv input:autofill:focus, html.is-coarse #colorsCard input:autofill, html.is-coarse #colorsCard input:autofill:hover, html.is-coarse #colorsCard input:autofill:focus{
     -webkit-text-fill-color: #000 !important;
     caret-color: #000 !important;
     background-color: transparent !important;
     background-clip: padding-box;
     -webkit-box-shadow: 0 0 0 1000px rgba(255,255,255,0.004) inset, inset 0 2px 8px rgba(0,0,0,.22) !important;
     box-shadow: 0 0 0 1000px rgba(255,255,255,0.004) inset, inset 0 2px 8px rgba(0,0,0,.22) !important;
}

 #title{
     text-align:center;
     color:#fff;
     margin: 0;
}
 #accessUIDiv, #loggedInDiv{
     background: none;
     padding:0;
     border-radius:0;
     box-shadow:none;
}
 #colorList{
     white-space: normal;
}

 .chip{
     cursor: default;

     transition: box-shadow .15s ease;
}
 .chip:hover{
     box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

 .chip-tooltip{
     position: fixed;
     transform: translate(-50%, -100%);

     background: rgba(0,0,0,.92);
     color: #fff;
     font-size: 12px;
     line-height: 1.25;
     padding: 4px 8px;
     border-radius: 6px;
     pointer-events: none;
     opacity: 0;
     transition: opacity .12s ease;
     z-index: 1001;
     white-space: nowrap;
}
 .chip-tooltip.visible{
     opacity: 1;
}

 main{

     min-height: 0;
     display: grid;
     place-items: center;

     padding: 0px;
}

 html.is-coarse main{
     padding: 12px 0;
}

 .rule{
     margin: 16px 0;

}

 .status-row{
     display:flex;
     align-items:center;
     justify-content:space-between;
     gap: 12px;
     margin-top: 6px;
}
 .pager{
     display:grid;
     grid-template-columns: 28px auto 28px;

     align-items:center;
     justify-items:center;

     gap:10px;
}
 .pager-btn{
     appearance: none;
     border: 0;
     background: transparent;
     color: var(--white);
     width: 28px;
     height: 28px;
     min-width:28px;
     min-height:28px;
     border-radius: 999px;
     display:grid;
     place-items:center;
     cursor: pointer;
     position: relative;
     line-height: 0;

     transition: box-shadow .12s ease, background-color .12s ease, transform .02s ease, opacity .12s ease;
}
 .pager-btn svg{
     width: 18px;
     height: 18px;
     display:block;
}

 html.is-coarse .pager-btn{
     position: relative;

}
 html.is-coarse .pager-btn svg{
     position: absolute;
     left: 50%;
     top: 50%;
     transform: translate(-50%, -50%);
}
 .pager-btn:hover{
     background: rgba(255,255,255,.12);
     box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
 .pager-btn:active{
     transform: translateY(1px);
}

 .pager-btn[disabled]{
     opacity:.45;
     cursor: default;
     box-shadow: none;
     background: transparent;
     pointer-events: none;

}
 .pager-btn[disabled]:hover{
     background: transparent;
     box-shadow: none;
}
 .pager-btn[disabled]:active{
     transform: none;
}

 .pager-count{
     color: var(--white);
     font-size: 14px;
     font-weight: 600;
     opacity: .92;
     text-align: center;
}

 #colorList{
     position: relative;

     z-index: 1;

     overflow: visible;

     padding-bottom: 6px;

}

 html, body {
     cursor: default !important;
}

 button, .buttons, 

 .icon-btn, 

 .logout-btn, .pager-btn {
     cursor: pointer !important;
}

 input[type="text"], input[type="password"], textarea {
     cursor: text !important;
}

 .chip, .section-title, .result-text, .pager-count, #colorList, .rule, h1, h2, h3, p, span, label, .user-name, .brand-name {
     cursor: default !important;
}
 .site-header .brand-link, .site-header .brand-link * {
     cursor: pointer !important;
}

 .eye-toggle {
     cursor: default !important;
}

 ::selection{
     background: rgba(255,255,255,.48);
     color:#111;
}
 ::-moz-selection{
     background: rgba(255,255,255,.48);
     color:#111;
}