@import"https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap";:root{color-scheme:light;--bg-deep: #0f2027;--bg-mid: #203a43;--bg-light: #2c5364;--ink: #122027;--ink-soft: #2e3b42;--accent: #e76f51;--accent-2: #2a9d8f;--card: #fef7ec;--card-2: #f8e9d3;--stroke: #e2c9a5;--shadow: rgba(15, 32, 39, .2)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Mono,Courier New,monospace;color:var(--ink);background:radial-gradient(circle at 10% 20%,#f8e9d3,#fef7ec 30%,#f0f4f8 70%),linear-gradient(130deg,#fffc,#f8e9d3e6);position:relative;overflow-x:hidden}.bg-texture{position:fixed;width:100%;height:100%;inset:0;background:repeating-linear-gradient(0deg,rgba(18,32,39,.08) 0,rgba(18,32,39,.08) 1px,transparent 1px,transparent 30px),repeating-linear-gradient(90deg,rgba(18,32,39,.08) 0,rgba(18,32,39,.08) 1px,transparent 1px,transparent 30px);opacity:.35;z-index:0;pointer-events:none}body:before,body:after{content:"";position:fixed;inset:-20% -10% auto auto;width:60vw;height:60vw;background:radial-gradient(circle,rgba(231,111,81,.35),transparent 70%);filter:blur(10px);z-index:0;transform:rotate(-8deg)}body:after{inset:auto auto -25% -15%;background:radial-gradient(circle,rgba(42,157,143,.35),transparent 70%);transform:rotate(12deg)}main{position:relative;z-index:1;min-height:100vh;max-width:1400px;margin:0 auto;padding:48px 20px 20px;display:flex;flex-direction:column;gap:24px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;width:100%}.controls .secondary{margin-left:auto}.file-input{position:relative;display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;outline:1px solid var(--stroke);background:#fff7e9;cursor:pointer;font-weight:600;font-size:1rem}.file-input input{position:absolute;inset:0;opacity:0;cursor:pointer}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.list-meta{padding:12px 20px;font-size:.8rem;color:var(--ink-soft);display:flex;flex-direction:row;justify-content:space-between}.list-header{display:grid;grid-template-columns:80px 1fr 140px;gap:12px;padding:14px 20px;font-weight:600;border-bottom:1px solid var(--stroke);background:#fff9}.library-empty{padding:0 20px;font-size:.95rem;color:var(--ink-soft)}.library-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:0 20px}@media(max-width:900px){.workspace{grid-template-columns:1fr}}.patch-slot{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-soft);font-weight:700}.panel{display:flex;flex-direction:column;max-height:calc(100vh - 48px);background:linear-gradient(130deg,var(--card),var(--card-2));border:1px solid var(--stroke);border-radius:20px;box-shadow:0 18px 40px var(--shadow);animation:rise .6s ease both}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.panel-header{padding:20px;display:flex;flex-direction:column;flex-wrap:wrap;gap:16px;align-items:flex-start;justify-content:space-between}.panel-header h2{margin:0 0 6px;font-size:1.3rem}.panel-header p{margin:0;color:var(--ink-soft)}.panel-actions{width:100%;display:flex;align-items:center}.toast{position:fixed;top:16px;left:50%;z-index:10;margin-bottom:16px;padding:12px 18px;border-radius:999px;background:#2a9d8feb;color:#fff;box-shadow:0 12px 24px #0f202733;opacity:0;transform:translate(-50%) translateY(-10px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.app-header{display:flex;flex-direction:column;gap:12px}header h1{margin:0;font-size:clamp(2rem,3vw,3rem);letter-spacing:.04em}header p{margin:0;max-width:640px;color:var(--ink-soft);line-height:1.5}button{border:none;padding:10px 16px;border-radius:999px;font-weight:600;font-size:1rem;cursor:pointer;font-family:Space Mono,Courier New,monospace;transition:transform .15s ease,}button:disabled{cursor:not-allowed;opacity:.5}.secondary{background:var(--accent);color:#fff}.primary{background:var(--accent-2);color:#fff}button:hover:not(:disabled){transform:translateY(-1px)}.icon-btn{background:#fff;border:1px solid var(--stroke);padding:6px 10px;border-radius:10px;font-size:.85rem;color:var(--ink)}.library-tab{border:1px solid rgba(226,201,165,.8);background:#ffffffb3;color:var(--ink-soft);padding:6px 12px;border-radius:999px;font-size:.85rem}.library-tab.active{background:#e76f5126;border-color:#e76f5199;color:var(--ink)}.app-footer{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-soft);font-size:.8rem;letter-spacing:.02em;margin-top:auto;padding-top:48px}#patchList{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.patch-item{display:grid;grid-template-columns:80px 1fr 140px;gap:12px;padding:14px 20px;border-bottom:1px solid rgba(226,201,165,.5);align-items:center;background:#ffffff59;cursor:pointer}.patch-item:nth-child(2n){background:#fff9}.patch-item.selected{outline:2px solid rgba(231,111,81,.5);outline-offset:-6px}.patch-slot{font-size:.9rem;color:var(--ink-soft);font-weight:600}.patch-name{font-size:.95rem}.patch-input{width:100%;padding:6px 8px;border-radius:8px;border:1px solid rgba(226,201,165,.9);background:#fff;font-size:.95rem;font-family:Space Mono,Courier New,monospace}.actions{display:inline-flex;gap:8px}.patch-item.dragging{opacity:.4}.patch-item.drop-target{outline:2px dashed var(--accent-2);outline-offset:-6px}.drag-icon{font-family:Space Mono,Courier New,monospace;letter-spacing:-.2em;font-size:.8rem;color:var(--ink-soft);opacity:.6;cursor:grab}@media(max-width:700px){.list-header,.patch-item{grid-template-columns:60px 1fr}.actions{grid-column:1 / -1;justify-content:flex-end}}.library-group{padding:20px 20px 0;margin-top:16px;border-top:1px dashed rgba(46,59,66,.2);display:flex;flex-direction:column;flex:1;min-height:0}.library-group:first-of-type{margin-top:8px;padding-top:0;border-top:none}.library-group-header{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between}.library-group-title{font-weight:600}.library-group-count{font-size:.85rem;color:var(--ink-soft)}.library-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px;overflow-y:auto;flex:1;min-height:0}.library-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;padding:12px 16px;border-radius:16px;border:1px solid rgba(226,201,165,.6);background:#ffffffb3;align-items:center}@media(max-width:700px){.library-item{grid-template-columns:1fr}}
