.jot-color-tool{min-height:calc(100vh - 72px);padding:24px clamp(14px,3vw,38px) 80px;background:radial-gradient(circle at 12% 0%,rgba(124,58,237,.16),transparent 28rem),radial-gradient(circle at 88% 8%,rgba(236,72,153,.12),transparent 25rem),#0d0e12;color:#f8fafc}.jot-color-tool button,.jot-color-tool input{font:inherit}.jot-color-tool__hero{max-width:980px;margin:0 auto 18px}.jot-color-tool__hero-copy{max-width:720px}.jot-color-tool__eyebrow{display:inline-flex;align-items:center;gap:8px;color:#d8b4fe;font-size:.68rem;font-weight:900;letter-spacing:.17em}.jot-color-tool__hero h1{margin:8px 0 5px;font-size:clamp(1.7rem,3.8vw,3rem);font-weight:1000;line-height:1.04}.jot-color-tool__hero p{max-width:660px;margin:0;color:#9ca3af;font-size:.9rem;line-height:1.65}.jot-color-tool__workspace{max-width:980px;margin:auto}.jot-color-panel{overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(145deg,rgba(27,28,36,.96),rgba(17,18,23,.98));box-shadow:0 20px 60px rgba(0,0,0,.24)}.jot-color-panel__heading,.jot-color-templates__heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid rgba(255,255,255,.07)}.jot-color-panel__heading>div,.jot-color-templates__heading>div{display:flex;min-width:0;align-items:center;gap:11px}.jot-color-panel__heading h2,.jot-color-templates__heading h2{margin:0;font-size:.92rem;font-weight:950}.jot-color-panel__heading p,.jot-color-templates__heading p{margin:3px 0 0;color:#7f8593;font-size:.68rem;line-height:1.4}.jot-color-panel__icon{display:grid;width:35px;height:35px;flex:0 0 auto;place-items:center;border:1px solid rgba(196,181,253,.22);border-radius:11px;background:rgba(124,58,237,.12);color:#d8b4fe}.jot-color-clear{display:flex;flex:0 0 auto;align-items:center;gap:7px;border:1px solid rgba(248,113,113,.18);border-radius:10px;background:rgba(239,68,68,.07);padding:8px 10px;color:#fca5a5;font-size:.67rem;font-weight:850;cursor:pointer}.jot-color-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(8,9,13,.35)}.jot-color-modes,.jot-color-toolbar__colors{display:flex;align-items:center;gap:7px}.jot-color-modes{padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0b0c11}.jot-color-modes button{display:flex;min-height:34px;align-items:center;gap:7px;border:0;border-radius:9px;background:transparent;padding:0 11px;color:#858b99;font-size:.68rem;font-weight:850;cursor:pointer}.jot-color-modes button.is-active{background:linear-gradient(135deg,rgba(124,58,237,.9),rgba(219,39,119,.78));color:#fff;box-shadow:0 5px 15px rgba(124,58,237,.2)}.jot-color-picker-button,.jot-color-swap{display:flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.035);padding:0 10px;color:#d1d5db;font-size:.64rem;font-weight:800;cursor:pointer}.jot-color-picker-button:hover,.jot-color-swap:hover{border-color:rgba(196,181,253,.35);color:#fff}.jot-color-swap{width:38px;padding:0}.jot-color-swatch-mini{width:17px;height:17px;flex:0 0 auto;border:1px solid rgba(255,255,255,.45);border-radius:5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}.jot-color-editor-shell{position:relative;margin:14px;border:1px solid rgba(167,139,250,.24);border-radius:17px;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.1),transparent 65%),#080a10;box-shadow:inset 0 0 35px rgba(0,0,0,.4);transition:border-color .18s,box-shadow .18s}.jot-color-editor-shell:focus-within{border-color:rgba(167,139,250,.58);box-shadow:0 0 0 3px rgba(124,58,237,.09),inset 0 0 35px rgba(0,0,0,.4)}.jot-color-editor{height:190px;overflow-y:auto;padding:18px 18px 54px;color:#eef2ff;font-size:1rem;font-weight:750;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;outline:0;caret-color:#fff}.jot-color-editor:empty:before{content:attr(data-placeholder);color:#505766;font-weight:600;pointer-events:none}.jot-color-run{white-space:pre-wrap}.jot-color-run.is-single{color:var(--run-color-one)}.jot-color-run.is-dual{display:inline;background:linear-gradient(180deg,var(--run-color-one) 8%,var(--run-color-two) 92%);background-clip:text;-webkit-background-clip:text;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:transparent;-webkit-text-fill-color:transparent}.jot-color-editor__counter{position:absolute;right:10px;bottom:12px;display:flex;align-items:center;gap:8px;border:1px solid rgba(52,211,153,.24);border-radius:999px;background:rgba(7,20,17,.92);padding:6px 9px;color:#a7f3d0;font-size:.66rem;box-shadow:0 6px 18px rgba(0,0,0,.25);pointer-events:none}.jot-color-editor__counter span{font-weight:950}.jot-color-editor__counter small{padding-left:8px;border-left:1px solid currentColor;font-size:.58rem;font-weight:800;opacity:.8}.jot-color-editor__counter.is-over{border-color:rgba(248,113,113,.38);background:rgba(39,9,12,.94);color:#fecaca}.jot-color-editor__track{position:absolute;left:13px;right:13px;bottom:0;height:3px;overflow:hidden;border-radius:999px;background:#252733}.jot-color-editor__track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#ec4899);transition:width .18s ease}.jot-color-composer__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px 14px}.jot-color-limit-note{display:flex;min-height:43px;align-items:center;gap:8px;border:1px solid rgba(52,211,153,.18);border-radius:12px;background:rgba(16,185,129,.07);padding:9px 11px;color:#a7f3d0;font-size:.68rem;line-height:1.4}.jot-color-limit-note.is-over{border-color:rgba(248,113,113,.28);background:rgba(239,68,68,.08);color:#fecaca;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.jot-color-copy{display:flex;min-height:43px;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(196,181,253,.28);border-radius:12px;background:linear-gradient(135deg,#7c3aed,#db2777);padding:0 18px;color:#fff;font-size:.72rem;font-weight:950;cursor:pointer;box-shadow:0 10px 26px rgba(124,58,237,.22)}.jot-color-copy.is-copied{background:linear-gradient(135deg,#059669,#10b981)}.jot-color-templates{max-width:980px;margin:16px auto 0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(20,21,27,.92)}.jot-color-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.jot-color-template{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0c0d12;padding:14px}.jot-color-template__badge{position:absolute;right:10px;top:10px;border-radius:999px;background:rgba(124,58,237,.13);padding:4px 7px;color:#c4b5fd;font-size:.54rem;font-weight:900;text-transform:uppercase}.jot-color-template h3{margin:0 76px 10px 0;color:#fff;font-size:.78rem}.jot-color-template__preview{min-height:64px;color:#e5e7eb;font-size:.78rem;font-weight:720;line-height:1.55;white-space:pre-wrap}.jot-color-template__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.jot-color-template__actions button{display:flex;min-height:36px;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.04);color:#d1d5db;font-size:.62rem;font-weight:850;cursor:pointer}.jot-color-template__actions button:last-child{border-color:rgba(196,181,253,.25);background:rgba(124,58,237,.1);color:#ddd6fe}.jot-color-preview-empty{color:#4b5563;font-size:.78rem;font-weight:600}.jot-color-dialog{width:min(94vw,900px);max-height:min(88vh,780px);margin:auto;border:1px solid rgba(196,181,253,.2);border-radius:23px;padding:0;background:#14151b;color:#fff;box-shadow:0 35px 120px rgba(0,0,0,.72)}.jot-color-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}.jot-color-dialog__shell{display:flex;max-height:min(88vh,780px);flex-direction:column}.jot-color-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.jot-color-dialog header>div{display:flex;align-items:center;gap:10px}.jot-color-dialog h2{margin:0;font-size:.95rem}.jot-color-dialog header p{margin:3px 0 0;color:#8b91a0;font-size:.65rem}.jot-color-dialog header>button{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.04);color:#d1d5db;cursor:pointer}.jot-color-dialog__tools{padding:12px 14px 8px}.jot-color-dialog__tools label{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0b0c10;padding:0 12px;color:#6b7280}.jot-color-dialog__tools input{width:100%;border:0;background:transparent;padding:11px 0;color:#fff;font-size:.78rem;outline:0}.jot-color-categories{display:flex;gap:6px;margin-top:9px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.jot-color-category{flex:0 0 auto;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);padding:6px 9px;color:#9ca3af;font-size:.59rem;font-weight:800;cursor:pointer}.jot-color-category.is-active{border-color:rgba(196,181,253,.35);background:rgba(124,58,237,.13);color:#ddd6fe}.jot-color-swatches{display:grid;min-height:0;grid-template-columns:repeat(10,minmax(46px,1fr));gap:8px;overflow-y:auto;padding:8px 14px 16px}.jot-color-swatch{position:relative;aspect-ratio:1;border:2px solid rgba(255,255,255,.12);border-radius:12px;background:var(--swatch-color);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.16);transition:transform .15s,border-color .15s}.jot-color-swatch:hover,.jot-color-swatch:focus-visible{z-index:1;transform:scale(1.08);border-color:#fff;outline:0}.jot-color-swatch.is-selected:after{content:'✓';position:absolute;right:4px;bottom:4px;display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#fff;color:#111;font-size:.64rem;font-weight:1000;box-shadow:0 2px 8px #0008}.jot-color-empty{margin:20px;text-align:center;color:#9ca3af;font-size:.76rem}.jot-color-tool .hidden{display:none!important}@media(max-width:1000px){.jot-color-swatches{grid-template-columns:repeat(8,minmax(44px,1fr))}}@media(max-width:767px){.jot-color-tool{min-height:calc(100vh - 118px);padding:14px 10px 95px}.jot-color-tool__hero{margin-bottom:12px}.jot-color-tool__hero h1{font-size:1.55rem}.jot-color-tool__hero p{font-size:.75rem}.jot-color-panel,.jot-color-templates{border-radius:17px}.jot-color-panel__heading{align-items:flex-start;padding:12px}.jot-color-panel__heading p{font-size:.62rem}.jot-color-clear{width:34px;height:34px;justify-content:center;padding:0;font-size:0}.jot-color-clear i{font-size:.78rem}.jot-color-toolbar{display:grid;gap:8px;padding:9px}.jot-color-modes{display:grid;grid-template-columns:repeat(3,1fr)}.jot-color-modes button{justify-content:center;min-width:0;padding:0 6px;font-size:.61rem}.jot-color-toolbar__colors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px}.jot-color-picker-button{min-width:0;overflow:hidden;padding:0 8px}.jot-color-picker-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jot-color-swap{width:36px}.jot-color-toolbar__colors .jot-color-picker-button:only-child{grid-column:1/-1}.jot-color-editor-shell{margin:10px}.jot-color-editor{height:170px;padding:14px 13px 50px;font-size:.92rem}.jot-color-editor__counter{right:8px;bottom:9px}.jot-color-composer__footer{grid-template-columns:1fr;padding:0 10px 10px}.jot-color-limit-note{min-height:auto}.jot-color-copy{width:100%;min-height:45px}.jot-color-template-grid{grid-template-columns:1fr;padding:10px}.jot-color-templates{margin-top:12px}.jot-color-templates__heading{padding:12px}.jot-color-dialog{width:calc(100vw - 16px);max-height:88dvh;border-radius:18px}.jot-color-dialog__shell{max-height:88dvh}.jot-color-swatches{grid-template-columns:repeat(6,minmax(38px,1fr));gap:7px;padding:7px 10px 13px}.jot-color-dialog__tools{padding:10px}.jot-color-swatch{border-radius:10px}}@media(prefers-reduced-motion:reduce){.jot-color-tool *{scroll-behavior:auto!important;transition:none!important}}
