@import"https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600&family=Caveat:wght@400;500&family=Satisfy&family=Indie+Flower&family=Permanent+Marker&display=swap";@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden}#root{width:100%;min-height:100vh}html,body,#root{min-height:100%}@media(max-width:768px){html,body,#root{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden;overscroll-behavior:none}body{position:relative}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:transparent}button:focus,button:focus-visible,button:active{outline:none;border-color:transparent}*:focus,*:focus-visible{outline:none}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.book-wrapper{display:flex;justify-content:center;align-items:center;height:100%;min-height:100%;flex-direction:column;padding:20px;width:100%;box-sizing:border-box;overflow:hidden;position:relative;z-index:2}.book-container{flex:1;width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;min-height:0;overflow:visible;padding:20px;box-sizing:border-box;position:relative}.controls-container{margin-top:20px;display:flex;gap:10px;z-index:10;flex-shrink:0;width:min(100%,440px)}.mobile-top-tabs{display:none}.control-btn{padding:12px 20px;background-color:#7b5d33;background-image:url(/images/textures/Texturelabs_Paper_361S.jpg),linear-gradient(180deg,#a8824ed9,#785830e6 55%,#5a3e1cf2);background-size:220px 220px,cover;background-blend-mode:multiply,normal;color:#f6ead2;border:none;border-radius:4px;cursor:pointer;position:relative;box-shadow:inset 0 1px #f8e8c066,inset 0 -2px #3c260e80,inset 0 0 0 1px #301e0a73,0 4px #36220c99,0 8px 16px #1f140852;font-family:Special Elite,IM Fell English SC,Courier New,serif;font-size:1.1rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 0 rgba(40,22,8,.55),0 0 6px rgba(40,22,8,.3);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.control-btn:hover{transform:translateY(-1px);filter:brightness(1.05) saturate(1.05);box-shadow:inset 0 1px #f8e8c073,inset 0 -2px #3c260e8c,inset 0 0 0 1px #301e0a80,0 5px #36220ca6,0 10px 20px #1f14085c}.control-btn:active{transform:translateY(2px);box-shadow:inset 0 1px #f8e8c04d,inset 0 -1px #3c260e80,inset 0 0 0 1px #301e0a80,0 2px #36220c8c,0 4px 8px #1f14084d}@media(min-width:769px){.book-wrapper{flex-direction:row;padding:40px}.controls-container{display:none}.desktop-control-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;padding:15px;background-color:#7a5a32;background-image:url(/images/textures/Texturelabs_Paper_234S.jpg),linear-gradient(180deg,#b28e58eb,#7e5c32f2 58%,#563a1cfa);background-size:200px 200px,cover;background-blend-mode:multiply,normal;color:#f5e9cf;border:none;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 1px #faebc666,inset 0 -2px #3c260e80,inset 0 0 0 1px #301e0a80,inset 0 0 18px #28160847,0 8px 18px #1b120857,0 2px #2e1c0a8c;font-family:Special Elite,IM Fell English SC,Courier New,serif;font-size:1.55rem;text-shadow:0 1px 0 rgba(40,22,8,.55),0 0 6px rgba(40,22,8,.35);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.desktop-control-btn:hover{transform:translateY(-50%) translateY(-2px);filter:brightness(1.06) saturate(1.05);box-shadow:inset 0 1px #faebc673,inset 0 -2px #3c260e8c,inset 0 0 0 1px #301e0a8c,inset 0 0 18px #2816084d,0 12px 22px #1b120861,0 3px #2e1c0a99}.desktop-control-btn:active{transform:translateY(-50%) translateY(1px)}.btn-prev{left:20px}.btn-next{right:20px}}@media(max-width:768px){.book-wrapper{width:100vw;max-width:100vw;min-height:100dvh;justify-content:space-between;padding:max(8px,env(safe-area-inset-top)) 8px max(10px,env(safe-area-inset-bottom));gap:8px;overflow-x:hidden}.mobile-top-tabs{position:fixed;top:max(8px,env(safe-area-inset-top));left:0;right:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:5px;width:100vw;max-width:none;box-sizing:border-box;padding:0 8px;margin-top:1px;margin-bottom:4px;z-index:30}.mobile-top-tab:nth-child(-n+4){grid-column:span 1}.mobile-top-tab:nth-child(n+5){grid-column:span 1}.mobile-top-tab{min-width:0;width:100%;box-sizing:border-box;height:26px;min-height:26px;padding:0 6px;border:none;border-radius:999px;background:#7c5c3057;color:#fff;font-family:Special Elite,IM Fell English SC,Courier New,serif;font-size:clamp(.5rem,1.8vw,.66rem);line-height:1;letter-spacing:.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px #7e592924;background-clip:padding-box;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-shadow:0 1px 2px rgba(45,28,11,.65)}.mobile-top-tab.multiline{flex-direction:column;gap:1px;white-space:normal;line-height:.82;font-size:clamp(.44rem,1.55vw,.56rem)}.mobile-top-tab.active{background:linear-gradient(180deg,#97723eeb,#684a25f5);color:#fff;box-shadow:inset 0 0 0 1px #d0ae7a47,0 1px #34210f59;text-shadow:0 1px 0 rgba(45,28,11,.55)}.book-container{width:100%;padding:76px 0 4px;overflow:visible}.book-container>div,.book-container .stf__parent,.book-container .stf__wrapper,.book-container .stf__block{max-width:100%;margin:0 auto}.desktop-control-btn{display:none}.controls-container{width:min(100%,420px);margin-top:0;gap:8px;justify-content:flex-start}.control-btn{flex:0 0 auto;min-height:44px;padding:12px 14px;font-size:.95rem}.control-btn-prev{margin-right:auto}.control-btn-next{margin-left:auto}.book{margin:0 auto}}@media(max-width:768px)and (orientation:landscape){.book-wrapper{padding:max(6px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom));gap:8px}.mobile-top-tabs{top:max(6px,env(safe-area-inset-top));left:0;right:auto;width:100vw;max-width:none;padding:0 12px;gap:4px}.mobile-top-tab:nth-child(-n+4),.mobile-top-tab:nth-child(n+5){grid-column:span 1}.mobile-top-tabs{grid-template-columns:repeat(8,minmax(0,1fr))}.mobile-top-tab{font-size:clamp(.42rem,1.25vw,.56rem);height:22px;min-height:22px;padding:0 4px}.book-container{padding:34px 0 0}.controls-container{width:min(100%,360px)}.control-btn{min-height:38px;padding:8px 12px;font-size:.88rem}}.page{background-color:#fdfaf7;color:#785e3a;border:1px solid #c2b5a3;padding:0;box-sizing:border-box;overflow:hidden;box-shadow:0 0 10px #0000001a}.page-cover{background-color:#e3d0b9;color:#785e3a;border:1px solid #c2b5a3;display:flex;align-items:center;justify-content:center;font-size:2em;font-weight:700;text-align:center}.page-cover-front{background-image:url(/images/cover.png)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.page-cover-back{background-image:url(/images/back-cover.png)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.page-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.page-header{font-size:1.2em;border-bottom:2px solid #c2b5a3;padding-bottom:10px;margin-bottom:20px;margin-top:0}.page-text{flex-grow:1;font-size:1em;line-height:1.6}.page-footer{text-align:center;font-size:.8em;color:#999;margin-top:20px}.book{position:relative;z-index:10}.nav-tabs-container{width:95px;pointer-events:none;z-index:0}.nav-tabs-container.mobile{right:10px;width:75px}.nav-tab{position:absolute;z-index:var(--tab-z-index, 1);width:100%;height:auto;min-height:52px;padding:16px 14px 16px 8px;border:none;outline:none;border-radius:1px 3px 3px 1px;pointer-events:auto;cursor:pointer;overflow:hidden;isolation:isolate;background-color:#f7ecd2;background-image:var(--tab-texture, none);background-size:cover;background-position:center;background-repeat:no-repeat;filter:sepia(.06) saturate(1.02) brightness(1.1);box-shadow:0 0 0 1px #8c683c47,inset 0 1px #fffae880,inset 12px 0 14px -8px #78562a2e,inset -2px 0 4px #78562a1a,2px 3px 4px #5a401c24,4px 6px 12px #5a401c1a;display:flex;align-items:center;justify-content:flex-end;transition:transform .22s cubic-bezier(.175,.885,.32,1.1),box-shadow .22s ease,filter .22s ease;transform-origin:left center;transform:rotate(var(--tilt, 0deg))}.nav-tab.multiline{min-height:118px;box-sizing:border-box}.nav-tab:before,.nav-tab:after{content:"";position:absolute;pointer-events:none}.nav-tab:before{inset:0;background:linear-gradient(90deg,transparent 0%,transparent 40%,color-mix(in srgb,var(--tab-color, #efe3c6) 92%,transparent) 75%,color-mix(in srgb,var(--tab-color, #efe3c6) 84%,rgba(150,110,64,.25)) 100%);mix-blend-mode:multiply;opacity:.45}.nav-tab:after{inset:0;background:radial-gradient(ellipse at 22% 28%,rgba(130,92,44,.1),transparent 40%),radial-gradient(ellipse at 78% 72%,rgba(140,100,50,.09),transparent 44%),radial-gradient(ellipse at 50% 50%,transparent 65%,rgba(120,84,40,.12) 100%);mix-blend-mode:multiply;opacity:.55}.nav-tabs-container.mobile .nav-tab{min-height:42px;padding:11px 11px 11px 6px}.nav-tab:hover{transform:translate(8px) rotate(var(--tilt, 0deg));filter:sepia(.04) saturate(1.04) brightness(1.13);box-shadow:0 0 0 1px #8c683c4d,inset 0 1px #fffae88c,inset 12px 0 14px -8px #78562a2e,inset -2px 0 4px #78562a1a,3px 5px 7px #5a401c2e,6px 9px 16px #5a401c24}.nav-tab.active{z-index:var(--tab-active-z-index, 2);transform:translate(14px) rotate(var(--tilt, 0deg));filter:sepia(.08) saturate(1.04) brightness(1.05);box-shadow:0 0 0 1px #78562a5c,inset 0 1px #fffae873,inset 14px 0 18px -8px #6e4e263d,inset -3px 0 6px #6e4e2624,1px 2px 4px #5038182e}.nav-tab.active:before{opacity:.62}.nav-tab:focus,.nav-tab:focus-visible,.nav-tab:active{outline:none;border:none}.tab-label{writing-mode:vertical-rl;text-orientation:mixed;position:relative;z-index:1;color:#5a3a18;font-size:var(--label-size, .95rem);font-family:Special Elite,IM Fell English SC,Courier New,serif;font-weight:400;letter-spacing:var(--label-spacing, .24em);line-height:1.02;text-transform:uppercase;transform:rotate(180deg);opacity:.86;text-shadow:0 1px 0 rgba(248,234,198,.32),0 0 .5px rgba(40,22,8,.55)}.tab-label.multiline{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;line-height:1}.tab-label.multiline span{writing-mode:vertical-rl;text-orientation:mixed;line-height:1;letter-spacing:.1em}.nav-tab.active .tab-label{color:#3e2510;opacity:.94;text-shadow:0 1px 0 rgba(255,248,224,.4)}.nav-tabs-container.mobile .tab-label{font-size:min(var(--label-size, .78rem),.78rem);letter-spacing:min(var(--label-spacing, .18em),.18em)}.postal-scatter-page{width:100%;height:100%;position:relative;background:#faf6f0;overflow:hidden}.postal-thumb{position:absolute;background:#f0e8d8;border:none;padding:0;cursor:pointer;overflow:hidden;border-radius:2px;box-shadow:3px 5px 12px #00000040;transition:box-shadow .2s,z-index 0s;z-index:1}.postal-thumb:hover{box-shadow:6px 10px 22px #00000061;z-index:10}.postal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.28);transform-origin:center center;pointer-events:none}.postal-thumb.selected{outline:2.5px solid #785e3a;outline-offset:2px}.postal-check{position:absolute;top:5px;right:5px;background:#785e3a;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.65rem;display:flex;align-items:center;justify-content:center;z-index:2}.postal-mobile-page{width:100%;height:100%;padding:10px 10px 14px;box-sizing:border-box;overflow:hidden}.postal-mobile-scatter{position:relative;width:100%;height:100%}.postal-mobile-thumb{position:absolute;aspect-ratio:3 / 2;background:#f0e8d8;border:none;padding:0;cursor:pointer;overflow:hidden;border-radius:2px;box-shadow:3px 5px 12px #00000040;transform:rotate(var(--postal-rotation, 0deg));transition:box-shadow .2s,transform .2s;touch-action:manipulation}.postal-mobile-thumb:hover{box-shadow:6px 10px 22px #00000052;transform:translateY(-1px) rotate(var(--postal-rotation, 0deg))}.postal-mobile-thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);transform-origin:center center;pointer-events:none}.postal-mobile-thumb.selected{outline:2px solid #785e3a;outline-offset:1px}.postal-handwritten-note{position:absolute;right:7%;bottom:2.5%;z-index:3;margin:0;max-width:44%;color:#543618d1;font-family:Special Elite,IM Fell English SC,Courier New,serif;font-size:clamp(1.25rem,2vw,1.8rem);line-height:.95;text-align:right;letter-spacing:.02em;transform:rotate(-4deg);text-shadow:0 1px 0 rgba(255,247,231,.4);pointer-events:none}.postal-handwritten-note-mobile{right:5%;bottom:1.8%;max-width:48%;font-size:clamp(1rem,4vw,1.3rem)}.song-page{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:22px 14px 18px;box-sizing:border-box;gap:14px;overflow:hidden;background:transparent}.song-base-bg{position:absolute;inset:0;background:#121212;z-index:0}.song-art-bg{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(18px) brightness(.65) saturate(1.6);transition:opacity .8s ease;z-index:1}.song-art-overlay{position:absolute;inset:0;background:linear-gradient(170deg,#00000059,#0000001a,#00000073);transition:opacity .8s ease;z-index:2}.song-hint,.song-topbar,.song-header,.song-controls,.song-search-wrap,.song-actions{position:relative;z-index:3;width:min(100%,420px)}.song-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:28px;font-family:Helvetica Neue,Arial,sans-serif}.song-topbar-title,.song-topbar-hint{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-topbar-title{color:#ffffffe0;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.song-topbar-hint{color:#ffffff7a;font-size:.7rem;text-align:center}.song-topbar-dismiss,.song-query-clear{border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;line-height:1;-webkit-appearance:none;appearance:none}.song-topbar-dismiss{width:28px;height:28px;padding:0;background:#ffffff24;color:#d0d0d0;font-size:.82rem;opacity:0;pointer-events:none}.song-topbar-dismiss.visible{opacity:1;pointer-events:auto}.song-query-clear{width:24px;height:24px;padding:0;background:#ffffff1f;color:#cfcfcf;font-size:.72rem}.song-hint{font-family:Circular,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.68rem;color:#ffffff61;letter-spacing:.04em;margin:0;text-align:center}@media(min-width:769px){.song-hint{font-size:1rem;letter-spacing:.02em}}.song-header{width:min(100%,420px);display:flex;align-items:center;gap:10px;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .4s ease}.song-header.visible{max-height:72px;opacity:1}.song-header-art{width:54px;height:54px;border-radius:4px;object-fit:cover;flex-shrink:0;box-shadow:0 8px 24px #000000b3}.song-header-info{flex:1;min-width:0;overflow:hidden}.song-header-name{margin:0 0 2px;font-size:.78rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Helvetica Neue,Arial,sans-serif}.song-header-artist{margin:0;font-size:.62rem;color:#b3b3b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-clear-btn{background:#ffffff1a;border:none;color:#b3b3b3;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.65rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;aspect-ratio:1 / 1;transition:background .2s,color .2s}.song-clear-btn:hover{background:#fff3;color:#fff}.song-controls{width:min(100%,420px);max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .4s ease;display:flex;justify-content:center}.song-controls.visible{max-height:42px;opacity:1}.song-play-btn{display:flex;align-items:center;gap:8px;background:#1db954;border:none;border-radius:24px;color:#000;padding:8px 20px;cursor:pointer;font-size:.7rem;font-weight:700;font-family:Helvetica Neue,Arial,sans-serif;transition:background .2s,transform .15s;box-shadow:0 4px 16px #1db95459}.song-play-btn:hover{background:#1ed760;transform:scale(1.04)}.song-play-icon{font-size:1rem}.song-search-wrap{position:relative;width:min(100%,420px);flex-shrink:0;display:flex;flex-direction:column;min-width:0}.song-search-inner{display:flex;align-items:center;background:#2a2a2a;border:1px solid transparent;border-radius:6px;padding:0 14px;gap:10px;min-width:0;width:100%;box-sizing:border-box;transition:border-color .2s,background .2s}.song-search-inner:focus-within{background:#333;border-color:#fff}.song-search-icon{font-size:.8rem;flex-shrink:0;opacity:.7}.song-input{flex:1;background:transparent;border:none;outline:none;font-size:.75rem;color:#fff;padding:10px 0;font-family:Helvetica Neue,Arial,sans-serif;min-width:0;width:100%}.song-input::placeholder{color:#6a6a6a}.song-results{position:static;list-style:none;margin:8px 0 0;padding:4px 0;background:#282828;border-radius:6px;z-index:50;box-shadow:0 16px 40px #000c;max-height:min(220px,34vh);overflow-y:auto;overscroll-behavior:contain}.song-result-item{display:flex;align-items:center;gap:12px;padding:8px 14px;cursor:pointer;transition:background .12s}.song-result-item:hover{background:#3e3e3e}.song-result-item img{width:38px;height:38px;border-radius:3px;object-fit:cover;flex-shrink:0}.song-result-item div{display:flex;flex-direction:column;min-width:0;overflow:hidden}.song-result-name{font-size:.72rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Helvetica Neue,Arial,sans-serif}.song-result-artist{font-size:.6rem;color:#b3b3b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-actions{width:min(100%,420px);max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .4s ease;display:flex;justify-content:center}.song-actions.visible{max-height:48px;opacity:1}.song-add-btn{padding:10px 28px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:24px;font-size:.7rem;font-weight:600;font-family:Helvetica Neue,Arial,sans-serif;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,color .2s,transform .15s}.song-add-btn:hover:not(:disabled){border-color:#fff;transform:scale(1.03)}.song-add-btn:disabled{opacity:.4;cursor:default}.song-success{font-size:.72rem;color:#1db954;margin:0;font-weight:600;font-family:Helvetica Neue,Arial,sans-serif}.song-mobile-page{position:relative;width:100%;height:100%;overflow:hidden;background:#d8c4a3;overscroll-behavior:none}.song-mobile-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.song-mobile-list{position:absolute;left:7%;right:31%;top:12.5%;height:50%;overflow:hidden;padding-right:4px;z-index:2}.song-mobile-list-item{display:block;width:100%;margin-bottom:.34rem;font-size:.64rem;line-height:1.22;color:#2a1a0a;overflow-wrap:anywhere}.song-mobile-panel{position:absolute;left:0;right:0;bottom:0;height:34%;padding:12px 12px 14px;box-sizing:border-box;background:linear-gradient(180deg,#151515e0,#0a0a0af5);z-index:3;display:flex;flex-direction:column;gap:8px}.song-mobile-hint{margin:0;font-size:.64rem;color:#ffffff73;text-align:center}.song-mobile-selected{display:none;align-items:center;gap:8px}.song-mobile-selected.visible{display:flex}.song-mobile-art{width:34px;height:34px;border-radius:4px;object-fit:cover;flex-shrink:0}.song-mobile-meta{min-width:0;flex:1}.song-mobile-name,.song-mobile-artist{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-mobile-name{font-size:.72rem;font-weight:700;color:#fff}.song-mobile-artist{font-size:.58rem;color:#b3b3b3}.song-mobile-clear{width:24px;height:24px;border-radius:50%;border:none;background:#ffffff1f;color:#b3b3b3;cursor:pointer;flex-shrink:0}.song-mobile-search-wrap{position:relative;touch-action:manipulation}.song-mobile-search-inner{display:flex;align-items:center;gap:8px;background:#2a2a2a;border-radius:6px;padding:0 12px;min-height:46px;touch-action:manipulation}.song-mobile-search-icon{font-size:.76rem;opacity:.75}.song-mobile-input{flex:1;background:transparent;border:none;outline:none;color:#fff;padding:12px 0;min-height:22px;font-size:16px;line-height:1.2;-webkit-appearance:none;appearance:none}.song-mobile-input::placeholder{color:#707070}.song-mobile-results{position:absolute;left:0;right:0;bottom:calc(100% + 6px);list-style:none;margin:0;padding:4px 0;background:#282828;border-radius:6px;box-shadow:0 12px 28px #0000008c;max-height:132px;overflow-y:auto;z-index:20}.song-mobile-result-item{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer}.song-mobile-result-item img{width:30px;height:30px;border-radius:4px;object-fit:cover;flex-shrink:0}.song-mobile-result-item div{min-width:0;display:flex;flex-direction:column}.song-mobile-result-name,.song-mobile-result-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-mobile-result-name{font-size:.66rem;color:#fff}.song-mobile-result-artist{font-size:.56rem;color:#b3b3b3}.song-mobile-actions{display:none;align-items:center;justify-content:center;gap:8px;margin-top:auto}.song-mobile-actions.visible{display:flex}.song-mobile-play,.song-mobile-add{border:none;border-radius:999px;padding:7px 12px;font-size:.62rem;font-weight:700;cursor:pointer}.song-mobile-play{background:#1db954;color:#000}.song-mobile-add{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.34)}.song-mobile-add:disabled{opacity:.45;cursor:default}.song-mobile-success{margin:0;font-size:.66rem;color:#1db954;font-weight:700}.song-mobile-portal{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:max(12px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) clamp(72px,18vh,136px) max(8px,env(safe-area-inset-left));z-index:2147483000;pointer-events:none;box-sizing:border-box;height:var(--song-mobile-viewport-height, 100dvh)}.song-mobile-portal.search-active{justify-content:flex-start;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.song-mobile-portal .song-mobile-panel-card{position:relative;background:linear-gradient(180deg,#1c1c1cf7,#0c0c0cfc);border-radius:14px;padding:12px 12px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 14px 32px #0000008c,0 2px 6px #0006;pointer-events:auto;-webkit-tap-highlight-color:transparent;box-sizing:border-box;width:min(100%,460px);max-height:min(280px,calc(var(--song-mobile-viewport-height, 100dvh) - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom))));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.song-mobile-portal .song-mobile-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) 28px;align-items:center;gap:8px;min-height:28px}.song-mobile-portal .song-mobile-topbar-title,.song-mobile-portal .song-mobile-topbar-hint{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-mobile-portal .song-mobile-topbar-title{font-size:.78rem;font-weight:700;color:#ffffffe0;letter-spacing:.03em;text-transform:uppercase}.song-mobile-portal .song-mobile-topbar-hint{font-size:.72rem;color:#ffffff8c;text-align:center}.song-mobile-portal .song-mobile-dismiss{width:28px;height:28px;padding:0;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;color:#d0d0d0;font-size:.82rem;line-height:1;opacity:0;pointer-events:none;transition:opacity .18s ease,background .18s ease}.song-mobile-portal .song-mobile-dismiss.visible{opacity:1;pointer-events:auto}.song-mobile-portal .song-mobile-dismiss:active{background:#ffffff38}.song-mobile-portal.search-active .song-mobile-panel-card{max-height:calc(var(--song-mobile-viewport-height, 100dvh) - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)))}.song-mobile-portal .song-mobile-search-wrap{position:relative;touch-action:manipulation;display:flex;flex-direction:column;min-width:0}.song-mobile-portal .song-mobile-search-inner{display:flex;align-items:center;gap:8px;background:#2a2a2a;border-radius:8px;padding:0 12px;min-height:46px;min-width:0;width:100%;box-sizing:border-box}.song-mobile-portal .song-mobile-query-clear{width:24px;height:24px;padding:0;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;color:#d0d0d0;font-size:.8rem;line-height:1;flex-shrink:0}.song-mobile-portal .song-mobile-query-clear:active{background:#ffffff38}.song-mobile-portal .song-mobile-input{flex:1;background:transparent;border:none;outline:none;color:#fff;padding:12px 0;min-height:22px;font-size:16px;line-height:1.2;-webkit-appearance:none;appearance:none;min-width:0;width:100%}.song-mobile-portal .song-mobile-input::placeholder{color:#707070}.song-mobile-portal .song-mobile-results{position:static;list-style:none;margin:6px 0 0;padding:4px;background:#1f1f1f;border-radius:10px;min-height:0;max-height:min(220px,34vh);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px}.song-mobile-portal .song-mobile-search-status{margin:6px 0 0;padding:10px 12px;border-radius:10px;background:#1f1f1f;color:#ffffffb8;font-size:.78rem;line-height:1.25;text-align:center}.song-mobile-portal.search-active .song-mobile-results{max-height:clamp(120px,calc(var(--song-mobile-viewport-height, 100dvh) - 220px),320px)}.song-mobile-portal .song-mobile-result-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;border-radius:6px;background:#2a2a2a}.song-mobile-portal .song-mobile-result-item:active{background:#353535}.song-mobile-portal .song-mobile-result-item img{width:30px;height:30px;border-radius:4px;object-fit:cover;flex-shrink:0}.song-mobile-portal .song-mobile-result-art-placeholder,.song-mobile-portal .song-mobile-art-placeholder{display:inline-flex;align-items:center;justify-content:center;background:#353535;color:#ffffffa6;font-weight:700;flex-shrink:0}.song-mobile-portal .song-mobile-result-art-placeholder{width:30px;height:30px;border-radius:4px;font-size:.92rem}.song-mobile-portal .song-mobile-result-item div{min-width:0;display:flex;flex-direction:column}.song-mobile-portal .song-mobile-result-name,.song-mobile-portal .song-mobile-result-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-mobile-portal .song-mobile-result-name{font-size:.78rem;color:#fff}.song-mobile-portal .song-mobile-result-artist{font-size:.66rem;color:#b3b3b3}.song-mobile-portal .song-mobile-hint{margin:0;font-size:.78rem;color:#ffffff8c;text-align:center}.song-mobile-portal .song-mobile-selected{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.song-mobile-portal .song-mobile-art{width:40px;height:40px;border-radius:4px;object-fit:cover;flex-shrink:0}.song-mobile-portal .song-mobile-art-placeholder{font-size:1.1rem}.song-mobile-portal .song-mobile-meta{min-width:0;flex:1}.song-mobile-portal .song-mobile-name,.song-mobile-portal .song-mobile-artist{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-mobile-portal .song-mobile-name{font-size:.86rem;font-weight:700;color:#fff}.song-mobile-portal .song-mobile-artist{font-size:.7rem;color:#b3b3b3}.song-mobile-portal .song-mobile-clear{width:28px;height:28px;padding:0;border-radius:50%;border:none;background:#ffffff24;color:#d0d0d0;cursor:pointer;flex-shrink:0;font-size:.82rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;box-sizing:border-box}.song-mobile-portal .song-mobile-actions{display:flex;gap:8px;align-items:center;min-width:0;width:100%}.song-mobile-portal .song-mobile-play,.song-mobile-portal .song-mobile-add{flex:1;min-height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;font-size:.8rem;letter-spacing:.02em;cursor:pointer;-webkit-appearance:none;appearance:none}.song-mobile-portal .song-mobile-add{background:linear-gradient(180deg,#1ed760,#1aaf4e);border-color:#0000002e;color:#0a1d12;font-weight:700}.song-mobile-portal .song-mobile-add:disabled{opacity:.5;cursor:default}.song-mobile-portal .song-mobile-success{flex:1;text-align:center;margin:0;font-size:.86rem;color:#1ed760;font-weight:700}.postal-backdrop{position:fixed;inset:0;background:#000000a6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.postal-modal{position:relative;width:100%;max-width:680px;pointer-events:all}.postal-close{position:absolute;top:-36px;right:0;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1;padding:4px 8px}.postal-card{position:relative;width:100%}.postal-card.sending{animation:postal-fly-away 1s ease-in .48s forwards}.postal-bg{width:100%;height:auto;display:block;border-radius:4px;-webkit-user-select:none;user-select:none}.postal-input{position:absolute;background:transparent;border:none;outline:none;resize:none;margin:0;padding:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;font-family:Caveat,cursive;color:#2a1a0a;line-height:1.5}.postal-input::placeholder{color:#50321459;font-family:Caveat,cursive}.postal-message{top:9%;left:3%;width:43%;height:78%;font-size:clamp(.9rem,2vw,1.2rem)}.postal-name{top:34.8%;left:54.5%;width:38.5%;height:7%;font-size:clamp(.85rem,1.8vw,1.1rem);line-height:normal;vertical-align:middle}.postal-send-button{position:absolute;bottom:10%;right:4%;padding:.6rem 1.35rem;border:1px solid rgba(98,70,39,.6);background:linear-gradient(180deg,#8d5b31,#6f431f);color:#f8edd3;font-family:Georgia,Times New Roman,serif;font-size:clamp(.8rem,1.6vw,.98rem);letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 1px #ffefc959,0 3px 8px #2e1c0c47;cursor:pointer;transition:opacity .18s ease,transform .18s ease}.postal-send-button:hover{transform:translateY(-1px)}.postal-send-button.hidden{opacity:0;pointer-events:none}.postal-ink-stamp{position:absolute;bottom:8%;right:7%;width:min(34%,180px);opacity:0;transform:rotate(-7deg) scale(1.18);filter:drop-shadow(0 2px 3px rgba(31,28,67,.12));pointer-events:none}.postal-ink-stamp.visible{animation:postal-stamp-in .34s ease-out forwards}@keyframes postal-stamp-in{0%{opacity:0;transform:rotate(-9deg) scale(1.28)}70%{opacity:1;transform:rotate(-7deg) scale(.96)}to{opacity:1;transform:rotate(-7deg) scale(1)}}@keyframes postal-fly-away{0%{opacity:1;transform:translateY(0) scale(1) rotate(0)}to{opacity:0;transform:translateY(-120vh) scale(.92) rotate(-4deg)}}@media(max-width:768px){.postal-name{top:33.4%;left:54.5%;width:37.5%;height:9.5%;font-size:clamp(.95rem,4vw,1.2rem);line-height:normal}.postal-send-button{bottom:6%;right:6.5%;padding:.5rem 1rem}.postal-ink-stamp{width:32%;right:8%}}.App{width:100%;min-height:100dvh;height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}@media(max-width:768px){.App{height:auto;align-items:stretch}}.lista-wrapper{min-height:100dvh;width:100%;background:linear-gradient(180deg,#faf6f0,#f3ecdf);padding:24px 16px 64px;box-sizing:border-box;font-family:inherit;color:#2b2b2b;overflow-x:hidden;-webkit-overflow-scrolling:touch}.lista-header{max-width:1100px;margin:0 auto 32px;text-align:center;position:relative}.lista-header h1{margin:8px 0 4px;font-size:2rem;color:#4a3f2a}.lista-header p{margin:0 0 12px;color:#6b6b6b}.lista-back{position:absolute;left:0;top:0;color:#6b6b6b;text-decoration:none;font-size:.95rem}.lista-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:#6b6b6b;margin-top:8px;cursor:pointer;background:#fff;border:1px solid #ece6dc;padding:6px 12px;border-radius:999px}.lista-toggle input{accent-color:#b48a4a}.lista-empty{text-align:center;margin-top:48px;color:#888}.lista-catalog{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.lista-card{background:#fff;border:1px solid #ece6dc;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;position:relative}.lista-card:not(.reserved):hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014}.lista-card.reserved{opacity:.55;filter:grayscale(.3)}.lista-card-main{background:transparent;border:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;width:100%;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.lista-card-main:disabled{cursor:not-allowed}.lista-card-img{position:relative;width:100%;aspect-ratio:1 / 1;background:#f3eee5;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}.lista-card-img img{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lista-card-placeholder{font-size:3rem}.lista-badge{position:absolute;top:10px;left:10px;background:#c89b4a;color:#fff;font-size:.72rem;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 2px 6px #00000026}.lista-card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:4px}.lista-card-body h3{margin:0;font-size:1.05rem;color:#4a3f2a}.lista-card-body p{margin:0;font-size:.88rem;color:#6b6b6b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lista-backdrop{position:fixed;inset:0;background:#281e0f80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:lista-fade-in .2s ease}.lista-backdrop.closing{animation:lista-fade-out .2s ease forwards}@keyframes lista-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lista-fade-out{0%{opacity:1}to{opacity:0}}.lista-modal{position:relative;background:#fff;border-radius:20px;max-width:440px;width:100%;overflow:hidden;box-shadow:0 24px 60px #00000047;animation:lista-pop-in .22s cubic-bezier(.18,.89,.32,1.28)}.lista-modal.closing{animation:lista-pop-out .2s ease forwards}@keyframes lista-pop-in{0%{transform:translateY(12px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes lista-pop-out{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(8px) scale(.96);opacity:0}}.lista-modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border-radius:50%;aspect-ratio:1 / 1;border:none;background:#ffffffe6;color:#4a3f2a;cursor:pointer;z-index:2;box-shadow:0 2px 8px #0000001f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:inline-flex;align-items:center;justify-content:center;line-height:1}.lista-modal-close span{display:block;font-size:1.4rem;line-height:1;font-weight:400;transform:translateY(-1px)}.lista-modal-close:hover{background:#fff}.lista-modal-hero{width:100%;aspect-ratio:16 / 10;overflow:hidden;background:#f3eee5}.lista-modal.confirming .lista-modal-hero{aspect-ratio:16 / 10}.lista-modal-hero img{width:100%;height:100%;object-fit:cover}.lista-modal-content{padding:20px 22px 24px;text-align:center;display:flex;flex-direction:column;gap:10px}.lista-modal.confirming .lista-modal-content{padding:20px 22px 24px;gap:8px}.lista-modal-content h2{margin:0;font-size:1.35rem;color:#4a3f2a}.lista-modal.confirming .lista-modal-content h2{font-size:1.35rem}.lista-modal.confirming .lista-modal-desc{display:none}.lista-modal-desc{margin:0;color:#6b6b6b;font-size:.92rem;line-height:1.4}.lista-modal-links{display:flex;flex-direction:column;gap:8px;align-items:center}.lista-modal-link-btn{align-self:center;display:inline-flex;align-items:center;gap:8px;margin:6px 0 2px;padding:9px 16px;background:#faf3e3;border:1px solid #e6d6ad;border-radius:999px;color:#8a6a2a;font-size:.88rem;text-decoration:none;transition:background .15s ease,transform .15s ease}.lista-modal-link-btn:hover{background:#f3e6c2;transform:translateY(-1px)}.lista-modal-link-icon{font-size:.95rem}.lista-confirm-text{margin:14px 0 2px;color:#4a3f2a;font-weight:600}.lista-confirm-sub{margin:0 0 6px;color:#6b6b6b;font-size:.88rem}.lista-confirm-sub.compact{margin:-2px 0 0;font-size:.82rem}.lista-name-field{display:flex;flex-direction:column;gap:6px;margin:0;text-align:center}.lista-name-field span{color:#4a3f2a;font-size:.86rem;line-height:1.25}.lista-name-field input{width:100%;box-sizing:border-box;border:1px solid #e6d6ad;border-radius:10px;background:#fffaf0;color:#4a3f2a;font:inherit;font-size:.95rem;padding:10px 12px;outline:none;text-align:center}.lista-name-field input:focus{border-color:#d7a856;box-shadow:0 0 0 3px #d7a8562e}.lista-name-field input:disabled{opacity:.65}.lista-error{color:#b00020;font-size:.9rem;margin:4px 0 0}.lista-success{color:#e9799b;margin:0;font-weight:600;font-size:1.05rem}.lista-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px}.lista-done-icon{font-size:2.6rem;animation:lista-heart-pop .5s cubic-bezier(.18,.89,.32,1.28)}@keyframes lista-heart-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}.lista-actions{display:flex;gap:10px;justify-content:center;margin-top:6px}.lista-actions.single{justify-content:center}.lista-actions.single .lista-btn{min-width:180px}.lista-btn{padding:11px 20px;border-radius:10px;border:none;font:inherit;cursor:pointer;transition:transform .12s ease,opacity .15s ease}.lista-btn:active{transform:translateY(1px)}.lista-btn.primary{background:linear-gradient(180deg,#f29ab5,#e9799b);color:#fff;box-shadow:0 4px 12px #e9799b59}.lista-btn.primary:hover:not(:disabled){filter:brightness(1.04)}.lista-btn.primary:disabled{opacity:.6;cursor:not-allowed}.lista-btn.secondary{background:#f1ece1;color:#4a3f2a}.lista-btn.secondary:hover{background:#e8e1cf}@media(max-width:768px){.lista-wrapper{height:100dvh;overflow-y:auto;padding-bottom:max(48px,env(safe-area-inset-bottom));overscroll-behavior-y:contain}.lista-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lista-card:not(.reserved):hover{transform:none;box-shadow:none}.lista-card-body h3{overflow-wrap:anywhere}}@media(max-width:480px){.lista-wrapper{padding:18px 12px max(48px,env(safe-area-inset-bottom))}.lista-header{margin-bottom:18px}.lista-header h1{margin-top:36px;font-size:1.65rem}.lista-header p{font-size:.92rem}.lista-back{font-size:.9rem}.lista-toggle{max-width:100%;font-size:.8rem;padding:6px 10px}.lista-catalog{gap:10px}.lista-card{border-radius:10px}.lista-card-body{padding:10px 9px 12px;gap:3px}.lista-card-body h3{font-size:.9rem;line-height:1.18;overflow-wrap:anywhere}.lista-card-body p{font-size:.76rem;line-height:1.25}.lista-badge{top:7px;left:7px;max-width:calc(100% - 14px);padding:3px 7px;font-size:.58rem;letter-spacing:.04em}.lista-modal{border-radius:18px;max-height:calc(100dvh - 24px);overflow-y:auto}.lista-modal-hero,.lista-modal.confirming .lista-modal-hero{aspect-ratio:4 / 3}.lista-modal-content{padding:18px 16px 20px}.lista-modal.confirming .lista-modal-content{padding:18px 16px 20px;gap:7px}.lista-modal.confirming .lista-modal-content h2{font-size:1.35rem}.lista-name-field span{font-size:.82rem}.lista-name-field input{padding:9px 10px}.lista-actions{flex-direction:column;gap:8px}.lista-actions.single .lista-btn,.lista-btn{width:100%}}.gate-wrapper{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#faf6f0,#f3ecdf);padding:16px}.gate-card{background:#fff;border:1px solid #ece6dc;border-radius:14px;padding:28px;width:100%;max-width:340px;box-shadow:0 10px 30px #00000014;display:flex;flex-direction:column;gap:12px;text-align:center}.gate-card h1{margin:0;font-size:1.25rem;color:#4a3f2a}.gate-card p{margin:0;color:#6b6b6b;font-size:.9rem}.gate-input{padding:12px 14px;border:1px solid #ddd5c4;border-radius:10px;font:inherit;font-size:1.1rem;text-align:center;letter-spacing:.25em;background:#fffdf9}.gate-input:focus{outline:none;border-color:#b48a4a;box-shadow:0 0 0 3px #b48a4a26}.gate-input.error{border-color:#b00020;box-shadow:0 0 0 3px #b000201f}.gate-error{color:#b00020;font-size:.85rem;margin:0}.gate-btn{background:#b48a4a;color:#fff;border:none;padding:12px;border-radius:10px;cursor:pointer;font:inherit}.gate-back{color:#6b6b6b;text-decoration:none;font-size:.85rem;margin-top:4px}.backend-wrapper{min-height:100dvh;background:#f7f5f2;padding:24px 16px 64px;box-sizing:border-box;color:#2b2b2b}.backend-header{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:0 auto 20px}.backend-header h1{margin:0;font-size:1.4rem}.backend-logout{background:#eee;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;text-decoration:none;color:#333;font-size:.9rem;font-family:inherit}.backend-header-actions{display:flex;gap:8px}.backend-section{max-width:900px;margin:0 auto 24px;background:#fff;border:1px solid #ece6dc;border-radius:14px;padding:20px;box-shadow:0 1px 2px #00000008}.backend-section h2{margin:0 0 16px;font-size:1.05rem;color:#4a3f2a}.backend-form{display:flex;flex-direction:column;gap:14px}.backend-row{display:flex;gap:12px}.backend-field{display:flex;flex-direction:column;gap:4px;flex:1}.backend-field.qty{flex:0 0 110px}.backend-field.grow{flex:1 1 auto}.backend-field>span{font-size:.78rem;font-weight:600;letter-spacing:.03em;color:#7a6f55;text-transform:uppercase}.backend-field input,.backend-field textarea,.backend-optional-input,.backend-qty{padding:10px 12px;border:1px solid #ddd5c4;border-radius:8px;font:inherit;background:#fffdf9;color:#2b2b2b;transition:border-color .15s ease,box-shadow .15s ease}.backend-field input::placeholder,.backend-field textarea::placeholder,.backend-optional-input::placeholder{color:#b3a98f}.backend-field input:focus,.backend-field textarea:focus,.backend-optional-input:focus{outline:none;border-color:#b48a4a;box-shadow:0 0 0 3px #b48a4a26}.backend-optional{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#faf6ee;border:1px dashed #e1d6bd;border-radius:10px}.backend-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.backend-toggle input{width:16px;height:16px;accent-color:#b48a4a}.backend-help{color:#8a7c5f;font-size:.78rem}.backend-form-actions{display:flex;gap:10px;justify-content:flex-end}.btn-primary{background:#b48a4a;color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font:inherit}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:#6b6b6b;border:1px solid #ddd;padding:10px 16px;border-radius:8px;cursor:pointer;font:inherit}.backend-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.backend-item{display:grid;grid-template-columns:60px 1fr 80px auto;gap:12px;align-items:center;padding:10px;border:1px solid #ece6dc;border-radius:10px;background:#fff;transition:background .15s ease}.backend-item.is-reserved{background:#f5f2eb;opacity:.75}.backend-item-thumb{width:60px;height:60px;background:#f3eee5;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;font-size:1.4rem}.backend-item-thumb img{width:100%;height:100%;object-fit:cover}.backend-item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.backend-item-title{display:flex;align-items:center;gap:8px}.backend-item-body small{color:#777;font-size:.82rem}.backend-links{display:flex;flex-direction:column;gap:2px;min-width:0}.backend-link{color:#b48a4a;font-size:.78rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.backend-badge{display:inline-block;background:#c89b4a;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.backend-qty{padding:8px 10px;text-align:center}.backend-item-actions{display:flex;gap:4px}.btn-mini{width:32px;height:32px;padding:0;background:#f3eee5;border:none;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;color:#4a3f2a;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.btn-mini:hover{background:#e9dfc8}.btn-mini.danger{background:#fbe4e4;color:#b00020}.btn-mini.danger:hover{background:#f6c8c8}@media(max-width:700px){.backend-row{flex-direction:column}.backend-field.qty{flex:1}.backend-item{grid-template-columns:50px 1fr;grid-template-areas:"thumb body" "qty actions"}.backend-item-thumb{grid-area:thumb;width:50px;height:50px}.backend-item-body{grid-area:body}.backend-qty{grid-area:qty}.backend-item-actions{grid-area:actions;justify-content:flex-end}}
