.cg{--accent: #e6a532;position:absolute;inset:0;display:flex;flex-direction:column;font-family:var(--mono);color:var(--text);background:radial-gradient(130% 80% at 50% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 60%),var(--ink);overflow:hidden}.cg-head{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;padding:13px 20px 11px;border-bottom:1px solid var(--line)}.cg-title{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.26em;color:var(--text)}.cg-swatch{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 1px var(--line-2),0 0 10px color-mix(in srgb,var(--accent) 60%,transparent);transition:background .18s ease}.cg-sub{display:flex;gap:16px;flex-wrap:wrap;font-size:9.5px;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase}.cg-readout{color:var(--accent);filter:brightness(1.15)}.cg-spectrum{flex:0 0 auto;padding:14px 20px 12px;border-bottom:1px solid var(--line);background:var(--ink-1)}.cg-bar{position:relative;height:18px;border-radius:9px;border:1px solid var(--line-2);cursor:pointer;touch-action:none;box-shadow:inset 0 0 0 1px #00000059}.cg-bar:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.cg-knob{position:absolute;top:50%;width:16px;height:28px;transform:translate(-50%,-50%);border-radius:4px;background:var(--ink);border:2px solid #fff;box-shadow:0 0 0 1px #0009,0 0 14px var(--k, var(--accent));pointer-events:none}.cg-knob:after{content:"";position:absolute;inset:3px;border-radius:2px;background:var(--k, var(--accent))}.cg-hint{display:block;margin-top:8px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.cg-body{flex:1;display:flex;min-height:0}.cg-wall-wrap{flex:1;min-width:0;overflow-y:auto;border-right:1px solid var(--line)}.cg-wall-wrap::-webkit-scrollbar{width:8px}.cg-wall-wrap::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.cg-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;padding:14px}.cg-tile{--c: #333;position:relative;display:block;padding:0;margin:0;border:1px solid var(--line);background:var(--ink-2);border-radius:3px;overflow:hidden;cursor:pointer;aspect-ratio:1 / 1;transition:border-color .14s ease,transform .14s ease}.cg-tile img{width:100%;height:100%;object-fit:cover;display:block;background:var(--ink-1);transition:transform .4s ease,filter .2s ease}.cg-tile:hover{border-color:color-mix(in srgb,var(--c) 70%,var(--line-2));transform:translateY(-2px)}.cg-tile:hover img{transform:scale(1.05)}.cg-tile.on{border-color:#fff;box-shadow:0 0 0 1px #fff,0 0 18px color-mix(in srgb,var(--c) 60%,transparent)}.cg-tile-dot{position:absolute;top:6px;left:6px;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px #0000008c,0 0 7px var(--c)}.cg-tile-meta{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:1px;padding:14px 7px 6px;text-align:left;background:linear-gradient(0deg,rgba(7,8,11,.94) 30%,transparent);opacity:0;transition:opacity .16s ease}.cg-tile:hover .cg-tile-meta,.cg-tile:focus-visible .cg-tile-meta,.cg-tile.on .cg-tile-meta{opacity:1}.cg-tile-meta b{font-family:var(--sans);font-weight:500;font-size:10.5px;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-tile-meta i{font-style:normal;font-size:9px;letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-rail{flex:0 0 clamp(210px,30%,300px);overflow-y:auto;padding:16px 16px 22px;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)}.cg-rail::-webkit-scrollbar{width:8px}.cg-rail::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.cg-detail-art{--c: #333;position:relative;width:100%;border:1px solid var(--line-2);border-radius:4px;overflow:hidden;background:var(--ink-1);box-shadow:0 18px 44px #00000080,0 0 22px color-mix(in srgb,var(--c) 18%,transparent)}.cg-detail-art img{width:100%;height:auto;display:block;max-height:230px;object-fit:contain;background:var(--ink)}.cg-detail-title{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.12;color:var(--text);margin:13px 0 4px}.cg-detail-by{font-family:var(--sans);font-size:12px;color:var(--text-dim)}.cg-detail-date{margin-top:3px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.cg-detail-color{display:flex;align-items:center;gap:9px;margin:14px 0 12px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.06em;color:var(--text-dim)}.cg-chip{width:22px;height:22px;flex:0 0 auto;border-radius:3px;border:1px solid var(--line-2)}.cg-detail-link{display:inline-block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);text-decoration:none;border-bottom:1px solid transparent;transition:color .14s ease,border-color .14s ease}.cg-detail-link:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.cg-rail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:14px;padding:20px}.cg-rail-glyph{font-size:46px;color:color-mix(in srgb,var(--accent) 50%,var(--ink));text-shadow:0 0 20px color-mix(in srgb,var(--accent) 35%,transparent)}.cg-rail-empty p{font-family:var(--sans);font-size:12px;line-height:1.55;font-weight:300;color:var(--text-faint);max-width:28ch}.cg-note{display:flex;align-items:center;gap:11px;padding:30px 22px;font-size:12px;letter-spacing:.04em;color:var(--text-dim)}.cg-spin{width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:cg-spin .8s linear infinite}@keyframes cg-spin{to{transform:rotate(360deg)}}.cg-err{display:flex;flex-direction:column;gap:7px;padding:30px 22px;color:#ff8c82;font-size:13px}.cg-err span{font-size:10px;color:var(--text-faint);word-break:break-word}@media(max-width:620px){.cg-rail{display:none}.cg-wall-wrap{border-right:none}.cg-wall{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:10px}.cg-sub{gap:8px}}
