*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#111;min-height:100vh;padding:2rem;color:#c8c8c8}.page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:1rem}h1{font-size:1.4rem;font-weight:600;letter-spacing:-.02em;color:#e0e0e0}.subtitle{font-size:.875rem;color:#666}.top-actions{display:flex;align-items:center;gap:1rem}#help-btn{width:1.75rem;height:1.75rem;border-radius:50%;border:1px solid #2e2e2e;background:transparent;color:#555;font-size:.85rem;cursor:pointer;line-height:1;transition:border-color .15s,color .15s}#help-btn:hover{border-color:#555;color:#c8c8c8}#help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}#help-overlay[hidden]{display:none}#help-modal{position:relative;background:#1c1c1c;border:1px solid #2e2e2e;border-radius:10px;padding:2rem;max-width:680px;width:calc(100% - 3rem);max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:0 8px 40px #0009}#help-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:#555;font-size:1rem;cursor:pointer;line-height:1;padding:.25rem}#help-close:hover{color:#c8c8c8}#help-modal h2{font-size:1.1rem;font-weight:600;color:#e0e0e0;margin-bottom:.6rem}#help-modal h3{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#555;margin:1.5rem 0 .6rem}#help-modal p{font-size:.875rem;line-height:1.6;color:#999}#help-modal a{color:#c8c8c8}#help-modal dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;font-size:.875rem}#help-modal dt{color:#c8c8c8;font-weight:500;white-space:nowrap;padding-top:.1rem}#help-modal dd{color:#888;line-height:1.5}#help-modal kbd{font-family:inherit;font-size:.8rem;background:#252525;border:1px solid #3a3a3a;border-radius:3px;padding:0 4px;color:#c8c8c8}#help-modal code{font-family:SF Mono,Fira Code,monospace;font-size:.8rem;color:#c8c8c8;background:#252525;padding:1px 5px;border-radius:3px}.controls{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;background:#1c1c1c;padding:1rem 1.25rem;border-radius:8px;box-shadow:0 1px 4px #00000080}.controls-main{margin-bottom:1.5rem}.main-layout{display:flex;gap:1.5rem;align-items:flex-start}.output-area{flex:1;min-width:0}.sidebar{width:270px;flex-shrink:0;position:sticky;top:2rem;display:flex;flex-direction:column;gap:.75rem}.sidebar-box{background:#1c1c1c;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 1px 4px #00000080}.sidebar-history{display:flex;flex-direction:column;gap:.5rem}.history-label{font-size:.8rem;color:#444;white-space:nowrap}#seed-history{display:flex;flex-direction:column;gap:4px}.seed-link{display:flex;height:1.35rem;border-radius:3px;overflow:hidden;cursor:pointer;text-decoration:none;flex-shrink:0}.seed-link:hover{opacity:.8}.mini-swatch{flex:1}.field{display:flex;align-items:center;gap:.5rem}.field>label{font-size:.875rem;color:#666}input[type=number]{width:4.5rem;padding:.375rem .5rem;border:1px solid #2e2e2e;border-radius:5px;font-size:.875rem;text-align:center;outline:none;background:#252525;color:#c8c8c8}input[type=number]:focus{border-color:#555}select{padding:.375rem .5rem;border:1px solid #2e2e2e;border-radius:5px;font-size:.875rem;background:#252525;color:#c8c8c8;outline:none;cursor:pointer}select:focus{border-color:#555}.btn{padding:.4rem 1.1rem;background:#d8d8d8;color:#111;border:none;border-radius:5px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn:hover{background:#fff}.btn.btn-secondary{background:transparent;color:#666;border:1px solid #2e2e2e;font-weight:400}.btn.btn-secondary:hover:not(:disabled){background:#252525;color:#c8c8c8}.btn:disabled{opacity:.3;cursor:default}.btn-icon{padding:.4rem .6rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.view-controls{display:flex;flex-direction:column;gap:.75rem}.view-controls .layout-switcher{width:100%}.view-controls .layout-btn{flex:1}.view-controls>.btn{width:100%;text-align:center}.view-controls select{width:100%}.output-actions{display:flex;flex-direction:row;align-items:center;gap:.5rem}.output-actions .btn{flex:1;text-align:center}.layout-switcher{display:flex;border:1px solid #2e2e2e;border-radius:5px;overflow:hidden}.layout-btn{padding:.375rem .75rem;background:transparent;color:#666;border:none;font-size:.8rem;cursor:pointer;transition:background .1s,color .1s}.layout-btn+.layout-btn{border-left:1px solid #2e2e2e}.layout-btn.active{background:#d8d8d8;color:#111}.layout-btn:not(.active):hover{background:#252525;color:#c8c8c8}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:1rem}.swatches.layout-bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0}.swatch-bar{width:100%;height:40px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-family:SF Mono,Fira Code,monospace;font-weight:600;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;z-index:0}.swatch-bar:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000080;z-index:1}.swatch-card{display:flex;flex-direction:column;gap:.4rem}.swatch{width:100%;height:110px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;letter-spacing:.1em;box-shadow:0 2px 8px #0006;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;z-index:0}.swatch:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 14px 36px #0009;z-index:1}.swatch:after,.swatch-bar:after{content:"";position:absolute;top:-10%;left:0;width:80%;height:120%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);transform:translate(-160%) skew(-18deg);pointer-events:none}.swatch:hover:after,.swatch-bar:hover:after{animation:glimmer-sweep .66s ease-out forwards}@keyframes glimmer-sweep{0%{transform:translate(-160%) skew(-18deg)}to{transform:translate(340%) skew(-18deg)}}.hex{font-size:.7rem;font-family:SF Mono,Fira Code,monospace;color:#666;cursor:pointer;padding:2px 6px;border-radius:3px;transition:background .1s}.hex:hover{background:#252525}.empty-state{font-size:.875rem;color:#555}
