body{background:#221c00;--color-bg: #1a1600;--color-text: #ddd;--color-muted: #aaa;--color-border: #3a3500;--color-accent: #e07b54;--color-surface: #111}.pt-header-row{display:flex;align-items:center;gap:var(--space-lg)}.pt-header-row h1{margin:0}.pt-bot-wrap{display:flex;align-items:center;gap:var(--space-sm)}.pt-bot-label{font-size:var(--text-sm, .8rem);color:var(--color-muted)}.pt-bot-wrap{position:relative}.pt-bot-trigger{background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:3px;padding:5px 10px;font-size:var(--text-sm, .85rem);cursor:pointer;white-space:nowrap}.pt-bot-trigger:hover{border-color:#888}.pt-bot-trigger.open{border-color:var(--color-accent)}.pt-bot-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:200;background:#181818;border:1px solid #484848;border-radius:4px;width:440px;max-width:calc(100vw - 24px);max-height:62vh;display:flex;flex-direction:column;box-shadow:0 8px 28px #000000b3}.pt-picker-search{background:#111;border:none;border-bottom:1px solid #333;color:#ddd;padding:8px 12px;font-size:.82rem;width:100%;outline:none;border-radius:4px 4px 0 0;box-sizing:border-box}.pt-picker-search::placeholder{color:#555}.pt-picker-body{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:14px}.pt-picker-tabs{display:flex;border-bottom:1px solid #484848;flex-shrink:0}.pt-picker-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:#aaa;font-family:var(--font-mono);font-size:.62rem;padding:8px 4px;cursor:pointer;text-transform:uppercase;letter-spacing:.5pt;transition:color .15s}.pt-picker-tab:hover{color:#ddd}.pt-picker-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.pt-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pt-picker-card{background:#222;border:1px solid #333;border-radius:3px;padding:7px 8px;cursor:pointer;text-align:left;transition:border-color .08s}.pt-picker-card:hover{background:#2c2c2c;border-color:#666}.pt-picker-card--active{border-color:var(--color-accent)!important}.pt-picker-card--hidden{display:none}.pt-picker-card__name{font-size:.73rem;color:#ddd;font-weight:600;margin-bottom:3px;line-height:1.2}.pt-picker-card--active .pt-picker-card__name{color:var(--color-accent)}.pt-picker-card__desc{font-size:.6rem;color:#888;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pt-picker-empty{font-size:.75rem;color:#555;text-align:center;padding:20px 0;display:none}.pt-picker-section-label{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;color:#666;padding:8px 2px 2px;margin-top:4px}.pt-shell{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:start}.pt-left{display:flex;flex-direction:column;gap:var(--space-md)}.pt-tabs{display:flex;gap:4px;align-items:center;padding:0 0 var(--space-sm);flex-wrap:wrap}.pt-tab{background:#2a2a2a;color:#aaa;border:1px solid #444;border-radius:3px 3px 0 0;padding:4px 10px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:6px}.pt-tab--active{background:#3a3a3a;color:#fff;border-color:#666}.pt-tab__close{background:none;border:none;color:#999;cursor:pointer;padding:0;font-size:.7rem;line-height:1}.pt-tab__close:hover{color:#ff6b6b}.pt-tab-add{background:none;border:1px solid #444;border-radius:3px;color:#aaa;width:22px;height:22px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.pt-tab-add:hover{border-color:#aaa;color:#fff}.pt-params-toggle{background:#ffffff0a;border:1px solid #3a3a3a;border-radius:3px;color:#bbb;font-size:.75rem;cursor:pointer;padding:5px 10px;margin:3px 0;display:inline-flex;align-items:center;gap:8px;text-align:left;letter-spacing:.05em;transition:border-color .15s,color .15s}.pt-params-toggle:hover{border-color:#555;color:#ddd}.pt-params-toggle:after{content:"›";font-size:1rem;line-height:1;display:inline-block;transform:rotate(90deg);transition:transform .15s}#pt-bot-params-wrap.collapsed .pt-params-toggle:after,#pt-stencil-params-wrap.collapsed .pt-params-toggle:after{transform:rotate(0)}#pt-bot-params-wrap.collapsed #pt-params,#pt-stencil-params-wrap.collapsed #pt-stencil-params{display:none!important}.pt-stage{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden}.pt-chain-btn{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#e07b54;border:1px solid #e07b54;border-radius:3px;padding:4px 10px;font-size:.7rem;cursor:pointer;z-index:2}.pt-chain-btn:hover{background:#e07b5433}#pt-canvas{max-width:100%;max-height:65vh}.pt-processing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0009;color:#ddd;font-size:var(--text-lg);letter-spacing:2pt;z-index:10}.pt-processing-cancel{background:none;border:1px solid #666;color:#999;font-family:var(--font-mono);font-size:var(--text-sm, .8rem);padding:4px 14px;border-radius:3px;cursor:pointer;letter-spacing:.5pt}.pt-processing-cancel:hover{border-color:#ddd;color:#ddd}.pt-processing-job-link{font-family:var(--font-mono);font-size:.65rem;color:#555;text-decoration:none;letter-spacing:.3pt}.pt-processing-job-link:hover{color:#888}.pt-empty{text-align:center;color:var(--color-muted);line-height:1.7}.pt-empty__icon{font-size:2.5rem;margin-bottom:var(--space-sm);opacity:.4}.pt-slots{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:flex-start}.pt-slot{display:flex;flex-direction:column;min-width:110px;flex:1 1 110px;max-width:180px;background:var(--color-surface);border:1px solid #444;border-radius:4px;position:relative}.pt-slot.locked{border-left:3px solid #e07b54}.pt-random-row{display:flex;align-items:center;padding:4px 0 2px}.pt-random-btn{background:none;border:1px solid var(--color-border);color:var(--color-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:3px;cursor:pointer;transition:color .15s,border-color .15s}.pt-random-btn:hover{color:#ccc;border-color:#666}.pt-random-btn.busy{opacity:.5;pointer-events:none}.pt-slot-swap-wrap{display:flex;align-items:center;align-self:stretch;flex-shrink:0}.pt-slot-swap{background:none;border:1px solid var(--color-border);color:var(--color-accent);cursor:pointer;border-radius:4px;padding:4px 5px;font-size:13px;opacity:.55;transition:opacity .15s,background .15s;line-height:1}.pt-slot-swap:hover{opacity:1;background:#e07b541f}.pt-slot__header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-bottom:1px solid var(--color-border);min-height:26px}.pt-slot__label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.pt-slot__label-slot{color:#ccc}.pt-slot__lock-btn{display:flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;padding:2px 3px;border-radius:2px;color:var(--color-muted);line-height:1}.pt-slot__lock-icon{font-size:.8rem}.pt-slot__lock-btn .pt-slot__btn-lbl{font-size:.52rem;text-transform:uppercase;letter-spacing:.05em}.pt-slot__lock-btn:hover{color:#aaa}.pt-slot.locked .pt-slot__lock-btn{color:#e07b54}.pt-slot__drop{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;background:var(--color-surface)}.pt-slot__drop:hover,.pt-slot__drop.drag-over{outline:1px solid var(--color-accent)}.pt-slot__thumb{width:100%;height:auto;display:none}.pt-slot__empty-icon{font-size:1.5rem;opacity:.25;pointer-events:none}.pt-slot__kept-badge{position:absolute;top:4px;right:4px;background:#e07b54e0;color:#fff;font-size:.5rem;padding:1px 5px;border-radius:2px;text-transform:uppercase;letter-spacing:.05em;pointer-events:none}@keyframes pt-spin{to{transform:rotate(360deg)}}.pt-slot__spinner{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;pointer-events:none}.pt-slot__spinner:after{content:"";width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:pt-spin .55s linear infinite}#reroll-btn.busy .pt-reroll-icon{display:inline-block;animation:pt-spin .5s linear infinite}.pt-slot__controls{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--color-border);position:relative}.pt-slot__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px;background:none;border:none;border-right:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;min-height:44px;position:relative}.pt-slot__btn:last-child{border-right:none}.pt-slot__btn:hover:not(:disabled){background:#ffffff0a;color:var(--color-text)}.pt-slot__btn:disabled{opacity:.28;cursor:not-allowed}.pt-slot__btn-icon{font-size:.95rem;line-height:1}.pt-slot__btn-lbl{font-size:.5rem;text-transform:uppercase;letter-spacing:.04em;line-height:1}.pt-slot__fit-panel{position:absolute;top:100%;left:0;right:0;z-index:20;display:flex;flex-wrap:wrap;gap:3px;padding:5px;border:1px solid #444;border-top:none;border-radius:0 0 4px 4px;background:#1a1a1a}.pt-slot__fit-opt{flex:1 1 auto;font-size:.6rem;padding:4px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;color:var(--color-muted);cursor:pointer;text-align:center;white-space:nowrap}.pt-slot__fit-opt:hover{color:#fff;border-color:var(--color-accent)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#000000e0;color:#fff;font-size:.62rem;padding:3px 7px;border-radius:3px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:200}[data-tooltip]:hover:after{opacity:1}.pt-slot__btn--fit.ratio-active{color:#e07b54}.pt-slot__btn--back:not([disabled]){color:#7bbce0}@media(max-width:540px){.pt-slots{flex-direction:column}.pt-slot{max-width:100%;flex:1 1 100%}}#pt-params{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);align-items:flex-end;width:100%;margin-top:var(--space-xs)}#pt-params .pt-field{flex:0 0 160px;min-width:120px}#pt-params .pt-check-field{flex:0 0 auto;padding-bottom:2px}#pt-params .pt-divider{display:none}.pt-range-row{display:flex;align-items:center;gap:6px}.pt-range-row .pt-range{flex:1;min-width:0}.pt-num-input{width:48px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:3px;padding:2px 4px;font-size:.72rem;font-family:var(--font-mono, monospace);text-align:right;flex-shrink:0}.pt-num-input::-webkit-inner-spin-button,.pt-num-input::-webkit-outer-spin-button{-webkit-appearance:none}.pt-num-input{-moz-appearance:textfield}#pt-stencil-params{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);align-items:flex-end;padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-md);border-left:3px solid #8a6a3a;background:#64461412;border-radius:0 3px 3px 0;margin-top:var(--space-xs)}.pt-stencil-divider{width:100%;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#c0a070;margin-bottom:2px}.pt-stencil-field .pt-label{color:#d4b080}#pt-stencil-params input[type=range]{accent-color:#c08040}.pt-divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.pt-field{display:flex;flex-direction:column;gap:4px}.pt-label{font-size:var(--text-sm, .8rem);color:var(--color-muted);display:flex;justify-content:space-between;align-items:center}.pt-val{font-family:var(--font-mono, monospace);color:var(--color-text)}.pt-range{width:100%;accent-color:var(--color-accent)}.pt-range-hints{display:flex;justify-content:space-between;font-size:.7rem;color:var(--color-muted)}.pt-select{width:100%;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:3px;padding:5px 8px;font-size:var(--text-sm, .85rem)}.pt-check-field{flex-direction:row;align-items:center}.pt-check-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm, .85rem);color:var(--color-text);cursor:pointer}.pt-field.disabled .pt-label,.pt-field.disabled .pt-range,.pt-field.disabled .pt-val{opacity:.35;pointer-events:none}.pt-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.pt-strip{display:flex;gap:var(--space-sm);flex-wrap:wrap}.pt-thumb{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;position:relative}.pt-thumb__canvas{width:90px;height:90px;object-fit:cover;border:2px solid transparent;border-radius:3px;display:block}.pt-thumb--active .pt-thumb__canvas{border-color:var(--color-accent)}.pt-thumb__label{font-size:.65rem;color:var(--color-muted);font-family:var(--font-mono, monospace)}.pt-thumb__send{position:absolute;bottom:18px;left:0;right:0;display:none;justify-content:center;gap:2px}.pt-thumb:hover .pt-thumb__send{display:flex}.pt-thumb__send-btn{background:#000000b8;color:#fff;border:none;border-radius:2px;padding:2px 5px;font-size:.68rem;cursor:pointer;line-height:1.4}.pt-thumb__send-btn:hover{background:#286428e0}.pt-reroll-wrap{display:flex;align-items:center;gap:4px}.pt-reroll-label{display:none}#reroll-btn:not([disabled]):hover .pt-reroll-label{display:inline}#run-btn{background:var(--color-accent);color:#111;border:none;font-weight:700;letter-spacing:1pt;padding:6px 14px;border-radius:3px;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm, .85rem);opacity:.45;transition:opacity .15s,box-shadow .15s}#run-btn:not([disabled]){opacity:1;box-shadow:0 0 8px #e07b5480}#run-btn:not([disabled]):hover{box-shadow:0 0 14px #e07b54bf}.pt-seed-input{flex-basis:100%;width:120px;background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:3px;padding:5px 8px;font-size:var(--text-sm, .85rem);-moz-appearance:textfield}.pt-seed-input::-webkit-outer-spin-button,.pt-seed-input::-webkit-inner-spin-button{-webkit-appearance:none}.pt-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center}.pt-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;width:min(90vw,700px);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.pt-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border)}.pt-modal__header h2{margin:0;font-size:var(--text-lg, 1rem)}.pt-modal__close{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:1rem;padding:4px 8px}.pt-modal__close:hover{color:var(--color-text)}.pt-modal__tabs{display:flex;padding:0 var(--space-md);border-bottom:1px solid var(--color-border)}.pt-modal__tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;font-size:.75rem;padding:5px 8px;margin-bottom:-1px;white-space:nowrap}.pt-modal__tab--active{color:var(--color-text);border-bottom-color:var(--color-accent)}.pt-modal__toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-xs)}.pt-modal__search{flex:1;background:#2a2a2a;border:1px solid #444;color:#fff!important;border-radius:3px;padding:6px 10px;font-size:var(--text-sm, .85rem);min-width:0;box-sizing:border-box}.pt-modal__search::placeholder{color:#666}.pt-modal__shuffle{flex-shrink:0;padding:5px 10px;font-size:.85rem;background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border);border-radius:3px;cursor:pointer;white-space:nowrap}.pt-modal__shuffle:hover{color:var(--color-text);border-color:var(--color-accent)}.pt-modal__import{margin-left:auto;padding:4px 10px;font-size:.75rem;background:none;color:var(--color-muted);border:1px solid #555;border-radius:3px;cursor:pointer;white-space:nowrap;font-family:var(--font-mono)}.pt-modal__import:hover{color:#fff;border-color:#aaa}.pt-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;padding:var(--space-sm) var(--space-md) var(--space-md);overflow-y:auto}.pt-modal__loading{grid-column:1 / -1;text-align:center;color:var(--color-muted);padding:var(--space-lg)}.pt-lib-thumb{aspect-ratio:1;object-fit:cover;border-radius:3px;cursor:pointer;border:2px solid transparent;transition:border-color .1s}.pt-lib-thumb:hover{border-color:var(--color-accent)}.page-header{flex-direction:column;align-items:flex-start}.pt-bot-desc{font-size:var(--text-sm, .8rem);color:var(--color-muted);margin:var(--space-xs) 0 0;min-height:1.2em}@media(max-width:700px){.pt-params-toggle{width:100%;justify-content:space-between}.pt-shell{grid-template-columns:1fr}.pt-header-row{flex-wrap:wrap;gap:var(--space-sm)}.pt-bot-picker{position:fixed;left:8px;right:8px;width:auto;max-width:none;max-height:70vh}.pt-bot-trigger{min-height:44px;padding:8px 12px;font-size:.8rem}.pt-picker-tab{padding:12px 6px;font-size:.68rem}.pt-picker-card{padding:12px 10px}.pt-picker-card__name{font-size:.8rem}.pt-picker-card__desc{font-size:.65rem}.pt-picker-grid{grid-template-columns:repeat(2,1fr)}.pt-slot__lock-btn{padding:8px 6px;min-height:36px}.pt-slot__btn{min-height:52px;padding:8px 4px}.pt-slot__btn-icon{font-size:1.1rem}.pt-slot__btn-lbl{font-size:.6rem}.pt-slot-swap{padding:10px 8px;min-width:36px}.pt-random-btn{padding:10px 14px;font-size:.75rem;min-height:44px}#reroll-btn{min-height:44px;padding:8px 14px;font-size:.85rem}#run-btn{min-height:44px;padding:10px 18px;font-size:.9rem}#download-btn,#save-btn,#save-all-btn,#save-png-btn{min-height:44px;padding:8px 12px}.pt-actions{gap:var(--space-sm)}}@media(max-width:540px){.pt-slot__controls{grid-template-columns:repeat(3,1fr)}.pt-slot__btn{border-right:1px solid var(--color-border)}.pt-slot__btn:nth-child(3n){border-right:none}.pt-slot__btn:nth-child(n+4){border-top:1px solid var(--color-border)}}
