:root{--paper:#171310;--paper-2:#1f1a15;--ink:#ede3d2;--ink-soft:#b3a692;--line:#3a3226;--wine:#be7a3d;--wine-deep:#8f5a28;--gold:#d9a94e;--danger:#e07a6a;--font-script:"Tangerine", cursive;--font-display:"Playfair Display", serif;--font-body:"Cormorant Garamond", serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:#171310;background:var(--paper);color:var(--ink);font-family:Cormorant Garamond,serif;font-family:var(--font-body);min-height:100vh;-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;font-size:18px;line-height:1.5}.page{max-width:560px;padding:24px 18px 40px;padding:calc(24px + env(safe-area-inset-top)) 18px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.brand-title{font-family:Tangerine,cursive;font-family:var(--font-script);font-size:48px;color:var(--gold);text-align:center;margin:0;font-size:max(42px,min(13vw,64px));line-height:1}.subtitle{text-align:center;color:var(--ink-soft);margin:4px 0 24px;font-style:italic}h2{font-family:Playfair Display,serif;font-family:var(--font-display);margin:24px 0 4px;font-size:20px;font-weight:600}.muted{color:var(--ink-soft);font-size:15px;font-style:italic}.error{color:var(--danger)}.field{margin-bottom:16px}.field label,.field legend{font-family:Playfair Display,serif;font-family:var(--font-display);color:var(--ink-soft);margin-bottom:6px;padding:0;font-size:13px;display:block}.field input{border:1px solid #3a3226;border:1px solid var(--line);background:#1f1a15;background:var(--paper-2);color:var(--ink);width:100%;font:16px Cormorant Garamond,serif;font:16px var(--font-body);border-radius:2px;padding:12px}.field input:focus{border-color:#d9a94e;border-color:var(--gold);outline:none}.btn{border:1px solid #be7a3d;border:1px solid var(--wine);background:#be7a3d;background:var(--wine);color:var(--paper);width:100%;min-height:46px;font:600 14px Playfair Display,serif;font:600 14px var(--font-display);cursor:pointer;border-radius:2px;padding:12px}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{color:var(--ink);border-color:#b3a692;border-color:var(--ink-soft);background:0 0}.inline-link{color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.no-flexgap .song-row>*+*{margin-left:10px}.no-flexgap .btn-row{margin-left:-5px;margin-right:-5px}.no-flexgap .btn-row>*{margin:5px}.no-flexgap .radio-row label+label{margin-left:20px}.no-flexgap .radio-row input{margin-right:7px}.no-flexgap .tip-amounts{margin-left:-4px;margin-right:-4px}.no-flexgap .tip-amounts>*{margin:4px}.no-flexgap .other-amount>*+*{margin-left:8px}.no-flexgap .principle .num{margin-right:14px}.no-flexgap .course-name .mark{margin-left:8px}.no-flexgap .dash-header>*+*{margin-left:12px}.no-flexgap .wake-toggle input{margin-right:10px}.no-flexgap .np-other>*+*{margin-left:8px}.no-flexgap .live-dot:before{margin-right:6px}.no-flexgap .req-top>*+*{margin-left:10px}.no-flexgap .req-actions{margin-left:-4px;margin-right:-4px}.no-flexgap .req-actions>*{margin:4px}.no-flexgap .chips{margin-left:-3px;margin-right:-3px}.no-flexgap .chips>*{margin:3px}.no-flexgap .bulk-row>*{margin-right:14px}.no-flexgap .lib-row-main>*+*,.no-flexgap .set-head>*+*{margin-left:10px}.no-flexgap .lib-row-title>*{margin-right:10px}.no-flexgap .lib-badges>*+*{margin-left:4px}.no-flexgap .field-row>*+*{margin-left:10px}.no-flexgap .check-row input{margin-right:8px}.no-flexgap .order-btns>*+*{margin-left:4px}.no-flexgap .occasions{margin-left:-4px;margin-right:-4px}.no-flexgap .occasions>*{margin:4px}.fan-app{max-width:560px;min-height:100vh;background:var(--paper);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;box-shadow:0 0 60px rgba(0,0,0,.5)}body:has(.fan-app){background-image:radial-gradient(circle at 15% 0,rgba(217,169,78,.07),transparent 40%),radial-gradient(circle at 90% 85%,rgba(190,122,61,.06),transparent 45%)}.fan-sticky{z-index:20;background:var(--paper);position:-webkit-sticky;position:sticky;top:0}.fan-header{padding:16px 20px 14px;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;text-align:center;border-bottom:1px solid var(--line)}.fan-artist{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink-soft);margin-top:2px;font-size:15px;font-style:italic}.fan-search{max-width:420px;margin:14px auto 0}.fan-search input{border:1px solid var(--ink-soft);background:var(--paper-2);width:100%;font:italic 16px var(--font-body);color:var(--ink);border-radius:2px;padding:13px 16px}.fan-search input::-webkit-input-placeholder{color:var(--ink-soft);opacity:.8}.fan-search input::placeholder{color:var(--ink-soft);opacity:.8}.fan-search input:focus{box-shadow:0 0 0 1px var(--wine);border-color:var(--wine);outline:none}.ticker{border:1px solid var(--line);width:100%;color:var(--gold);font:13.5px var(--font-body);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#0f0c09;border-radius:2px;min-height:44px;margin-top:12px;padding:11px 14px;overflow:hidden}.ticker b{color:var(--ink);font-weight:600}.ticker:disabled{cursor:default}.fan-tabs{border-bottom:1px solid var(--line);background:var(--paper-2);scrollbar-width:none;display:flex;overflow-x:auto}.fan-tabs::-webkit-scrollbar{display:none}.fan-tabs button{min-width:0;font:13px var(--font-display);letter-spacing:.03em;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid transparent;flex:auto;padding:13px 6px}.fan-tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.fan-main{padding:24px 18px 60px;padding:24px 18px calc(60px + env(safe-area-inset-bottom));flex:1}.fan-view{animation:.25s fan-fade}@keyframes fan-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.section-title{font-family:var(--font-display);font-size:24px;font-weight:600;text-align:center;margin:0 0 4px;font-size:max(22px,min(6vw,26px))}.section-sub{text-align:center;color:var(--ink-soft);margin:0 0 22px;font-size:15px;font-style:italic}.rule{border:none;border-top:1px solid var(--line);margin:22px 0;position:relative;overflow:visible}.rule:after{content:"❧";background:var(--paper);color:var(--gold);padding:0 10px;font-size:15px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.course{margin-bottom:22px}.course-name{width:100%;min-height:44px;color:var(--ink);font:600 18px var(--font-display);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;display:flex}.course-name .dots{border-bottom:1px dotted var(--line);flex:1;margin:0 6px 4px}.course-name .mark{color:var(--gold);flex-shrink:0;font-size:17px}.course-desc{color:var(--ink-soft);margin:2px 0 0;font-size:15px;font-style:italic}.course-songs{border-left:2px solid var(--gold);background:rgba(217,169,78,.07);margin:8px 0 0;padding:14px 16px;font-size:15px}.course-songs ol{margin:0;padding-left:20px}.course-songs li{margin-bottom:6px}.song-pick{color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-text-decoration:underline dotted var(--line);-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:4px;background:0 0;border:none;padding:2px 0}.song-pick:hover,.song-pick:focus{color:var(--gold)}.req-btn{min-height:40px;font:13.5px var(--font-display);letter-spacing:.03em;color:var(--gold);border:1px solid var(--gold);cursor:pointer;background:0 0;border-radius:2px;margin-top:10px;padding:0 16px}.req-btn:active{background:var(--gold);color:var(--paper)}.menu-switch{border:1px solid var(--gold);border-radius:2px;max-width:280px;margin:12px auto 10px;display:flex;overflow:hidden}.menu-switch button{min-height:42px;color:var(--gold);font:14px var(--font-display);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;flex:1}.menu-switch button[aria-selected=true]{background:var(--gold);color:var(--paper);font-weight:600}.song-list{margin:0;padding:0;list-style:none}.song-row{border:none;border-bottom:1px dotted var(--line);width:100%;min-height:52px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:10px;padding:10px 2px;display:flex}.song-row-title{font:600 17px var(--font-display)}.song-row-artist{color:var(--ink-soft);flex:1;font-size:15px;font-style:italic}.song-row-mark{color:var(--gold);margin-left:auto}.song-row:hover .song-row-title,.song-row:focus .song-row-title{color:var(--gold)}.bio{font-size:16.5px}.bio p{margin:0 0 14px}.info-card{border:1px solid var(--line);background:var(--paper-2);border-radius:2px;margin-top:18px;padding:16px 18px;font-size:15px}.info-card h3{font:14.5px var(--font-display);letter-spacing:.03em;color:var(--gold);margin:0 0 8px}.info-card p{margin:0}.btn-row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-row .btn{flex:140px}.field textarea,.field select{border:1px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);font:16px var(--font-body);border-radius:2px;padding:12px}.field textarea{resize:vertical;min-height:80px}.field textarea:focus,.field select:focus{border-color:var(--gold);outline:none}.radio-row{flex-wrap:wrap;gap:20px;display:flex}.radio-row label{font:15px var(--font-body);color:var(--ink);align-items:center;gap:7px;min-height:32px;margin:0;display:flex}.radio-row input{width:18px;height:18px;accent-color:var(--gold)}.toggle{border:1px solid var(--line);background:var(--paper-2);width:100%;min-height:44px;font:13px var(--font-display);color:var(--ink-soft);cursor:pointer;border-radius:2px;margin-bottom:16px;padding:11px}.toggle[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:rgba(217,169,78,.08)}.tip-amounts{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.tip-amounts button{border:1px solid var(--gold);min-width:64px;min-height:44px;font-family:var(--font-display);color:var(--gold);cursor:pointer;background:0 0;border-radius:2px;flex:auto;padding:10px 14px}.tip-amounts button[aria-pressed=true]{background:var(--gold);color:var(--paper)}.tip-note{color:var(--ink-soft);margin:6px 0 0;font-size:13.5px;font-style:italic}.tip-addon{border:1px dashed var(--line);border-radius:3px;margin:4px 0 20px;padding:12px 14px 14px}.tip-addon-label{font:13px var(--font-display);color:var(--ink-soft);margin-bottom:4px;display:block}.tip-addon .tip-amounts button{min-height:40px;padding:8px 10px;font-size:14px}.tip-amounts button.no-tip{border-color:var(--ink-soft);color:var(--ink)}.tip-amounts button.no-tip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tip-disclaimer{color:var(--ink-soft);margin:8px 0 0;font-size:13.5px;font-style:italic;line-height:1.45}.tip-disclaimer em{text-underline-offset:3px;font-style:normal;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.other-amount{font:20px var(--font-display);color:var(--gold);align-items:center;gap:8px;margin-top:10px;display:flex}.other-amount input{border:1px solid var(--gold);background:var(--paper-2);color:var(--ink);font:18px var(--font-body);border-radius:2px;flex:1;padding:10px 12px}.other-amount input:focus{box-shadow:0 0 0 1px var(--gold);outline:none}.confirm{text-align:center;padding:30px 10px}.confirm .mark{font:40px var(--font-display);color:var(--gold);margin-bottom:10px;display:block}.confirm h3{font:22px var(--font-display);margin:0 0 8px}.confirm p{color:var(--ink-soft)}.principle{gap:14px;margin-bottom:18px;display:flex}.principle .num{font:italic 22px var(--font-display);color:var(--gold);min-width:26px}.principle p{margin:0;font-size:16px}.fan-footer{text-align:center;color:var(--ink-soft);padding:18px 26px 26px;padding:18px 26px calc(26px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:12.5px}body.modal-open{overflow:hidden}.modal-backdrop{z-index:50;-webkit-overflow-scrolling:touch;background:rgba(0,0,0,.65);position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.request-dialog{width:100%;max-width:420px;min-height:100%;padding:24px;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border:1px solid var(--line);margin:0 auto;position:relative}.request-dialog:focus{outline:none}.dialog-close{top:10px;top:calc(10px + env(safe-area-inset-top));min-width:44px;min-height:44px;font:24px var(--font-display);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;position:absolute;right:14px}@media (min-width:560px){.request-dialog{border-radius:3px;min-height:0;margin:5vh auto}}@media (max-width:380px){body{font-size:17px}.course-name{font-size:16.5px}.fan-main{padding-left:15px;padding-right:15px}}.dedicate{border:1px solid var(--line);background:var(--paper-2);border-radius:3px;margin-bottom:18px;padding:12px 12px 4px}.dedicate-ask{font:15px var(--font-display);color:var(--gold);text-align:center;margin:0 0 10px}.occasions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.occasion{border:1px solid var(--line);background:var(--paper);min-width:80px;min-height:64px;color:var(--ink);cursor:pointer;border-radius:2px;flex-direction:column;flex:28%;justify-content:center;align-items:center;padding:8px 6px;display:flex}.occasion-icon,.occasion-label{display:block}.occasion-icon{color:var(--gold);font-size:20px;line-height:1.2}.occasion-label{font:13px var(--font-display);margin-top:3px}.occasion[aria-pressed=true]{border-color:var(--gold);background:rgba(217,169,78,.1)}.occasion[aria-pressed=true] .occasion-label{color:var(--gold)}.dedicate-form{padding-top:6px}.dedicate-blurb{color:var(--ink-soft);margin:4px 0 14px;font-size:14.5px;font-style:italic}.confirm-dedication{font:italic 17px var(--font-display);color:var(--gold)}.liner{border-top:1px solid var(--line);padding-top:18px}.liner-title{font:13px var(--font-display);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-align:center;margin:0 0 12px}.liner-story{margin:0 0 6px;font-size:17px;line-height:1.5}.liner-src{color:var(--ink-soft);margin:0 0 16px;font-size:12.5px;font-style:italic}.liner-src a,.liner-group a{color:var(--gold)}.liner-note{border-left:2px solid var(--gold);font:italic 18px var(--font-display);margin:14px 0 18px;padding:2px 0 2px 14px}.liner-note span{font:normal 13px var(--font-body);color:var(--gold);margin-top:4px;display:block}.liner-group{margin-bottom:14px}.liner-group h4{font:12px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-weight:600}.liner-group ul{margin:0;padding:0;list-style:none}.liner-group li{font-size:16.5px;line-height:1.45}.liner-group li em{color:var(--ink-soft);font-size:14.5px}.np-sheet-head{text-align:center;margin:6px 0 18px}.np-sheet-label{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:12px}.np-sheet-title{font:600 26px var(--font-display);margin:4px 0 2px}.np-sheet-artist{color:var(--ink-soft);font-style:italic}.np-sheet-art{border:1px solid var(--line);width:160px;max-width:60%;margin:0 auto 16px;display:block}.np-sheet-art-src{text-align:center;color:var(--ink-soft);margin:-10px 0 16px;font-size:11.5px;font-style:italic;display:block}.ticker-notes{color:var(--gold);text-underline-offset:3px;text-decoration:underline}.dash{max-width:640px}.dash-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.dash-title{font:600 26px var(--font-display);margin:0}.dash-link{color:var(--gold);font-size:15px}.link-btn{min-height:44px;color:var(--ink-soft);font:14px var(--font-display);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:8px 0;text-decoration:underline}.link-btn:disabled{opacity:.5}.field select{border:1px solid var(--line);background:var(--paper-2);width:100%;min-height:46px;color:var(--ink);font:16px var(--font-body);border-radius:2px;padding:10px 12px}.field select:focus{border-color:var(--gold);outline:none}.wake-toggle{color:var(--ink-soft);align-items:center;gap:10px;min-height:44px;margin:0 0 16px;font-size:15px;display:flex}.wake-toggle input{width:20px;height:20px;accent-color:var(--gold)}.np-card{border:1px solid var(--gold);background:rgba(217,169,78,.06);border-radius:3px;margin-bottom:28px;padding:16px}.np-head{justify-content:space-between;align-items:center;display:flex}.np-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0;font-size:14px}.np-current{font:600 22px var(--font-display);margin:4px 0 14px}.np-other{gap:8px;margin-top:10px;display:flex}.np-other input{border:1px solid var(--line);background:var(--paper-2);min-width:0;color:var(--ink);font:16px var(--font-body);border-radius:2px;flex:1;padding:12px}.np-other .btn{width:auto;padding:0 20px}.queue-head{justify-content:space-between;align-items:baseline;display:flex}.queue-head h2{margin:0;font-size:22px}.queue-summary{margin:2px 0 14px}.live-dot{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;display:inline-flex}.live-dot:before{content:"";background:var(--ink-soft);border-radius:50%;width:8px;height:8px}.live-dot.on{color:#8fc28a}.live-dot.on:before{background:#8fc28a;box-shadow:0 0 6px #8fc28a}.queue-group{font:13px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:20px 0 8px;display:block}.done-toggle{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;min-height:44px;padding:8px 0}.empty-queue{text-align:center;color:var(--ink-soft);border:1px dashed var(--line);border-radius:3px;padding:28px 12px;font-style:italic}.clear-all{margin:18px auto 0;display:block}.req-card{border:1px solid var(--line);border-left:3px solid var(--line);background:var(--paper-2);border-radius:3px;margin-bottom:10px;padding:14px 14px 12px}.req-card.tipped{border-left-color:var(--gold)}.req-card.finished{opacity:.6}.req-card.fresh{animation:1.2s ease-out 3 req-arrive}@keyframes req-arrive{0%{box-shadow:0 0 rgba(217,169,78,.7)}to{box-shadow:0 0 0 10px rgba(217,169,78,0)}}@media (prefers-reduced-motion:reduce){.req-card.fresh{border-color:var(--gold);animation:none}}.req-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.req-song{font:600 19px var(--font-display);line-height:1.3}.kind-tag{border:1px solid var(--gold);color:var(--gold);font:600 11px var(--font-display);letter-spacing:.08em;text-transform:uppercase;vertical-align:3px;border-radius:2px;margin-right:8px;padding:1px 7px;display:inline-block}.tip-badge{background:var(--gold);color:var(--paper);font:700 15px var(--font-display);white-space:nowrap;border-radius:2px;padding:3px 9px}.req-meta{color:var(--ink-soft);margin-top:2px;font-size:14.5px}.req-birthday{margin-top:8px;font-size:16px}.req-note{color:var(--ink);margin-top:6px;font-size:15.5px;font-style:italic}.req-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.act{border:1px solid var(--ink-soft);min-height:44px;color:var(--ink);font:14px var(--font-display);cursor:pointer;background:0 0;border-radius:2px;flex:auto;padding:0 14px}.act.primary{background:var(--wine);border-color:var(--wine);color:var(--paper);font-weight:600}.act.quiet{border-color:var(--line);color:var(--ink-soft);flex:0 auto}.act:active{transform:translateY(1px)}.suggestions{border-top:1px solid var(--line);margin-top:28px;padding-top:4px}.sg-artist{font:italic 400 16px var(--font-body);color:var(--ink-soft)}.sg-count{border:1px solid var(--gold);color:var(--gold);font:700 14px var(--font-display);white-space:nowrap;border-radius:2px;padding:2px 8px}.dash-tabs{border-bottom:1px solid var(--line);margin:0 0 20px;display:flex}.dash-tabs button{min-height:46px;color:var(--ink-soft);font:15px var(--font-display);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;flex:1}.dash-tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.lib-add{border:1px solid var(--line);background:var(--paper-2);border-radius:3px;margin:12px 0;padding:14px}.lib-add .field input,.lib-add .field textarea,.lib-editor .field input,.lib-editor .field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:16px var(--font-body);border-radius:2px;padding:10px 12px}.lib-tools{margin:18px 0 8px}.lib-search{border:1px solid var(--line);background:var(--paper-2);width:100%;color:var(--ink);font:16px var(--font-body);border-radius:2px;padding:11px 12px}.chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);min-height:36px;color:var(--ink-soft);font:13px var(--font-display);cursor:pointer;background:0 0;border-radius:18px;padding:0 14px}.chip[aria-pressed=true]{border-color:var(--gold);color:var(--gold);background:rgba(217,169,78,.08)}.bulk-row{flex-wrap:wrap;align-items:center;gap:14px;font-size:14px;display:flex}.lib-list{margin:0;padding:0;list-style:none}.lib-row{border-bottom:1px solid var(--line)}.lib-row.is-hidden .lib-title{color:var(--ink-soft)}.lib-row-main,.set-head{align-items:center;gap:10px;display:flex}.lib-row-title{min-width:0;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 10px;padding:8px 0;display:flex}.lib-title{font:600 17px var(--font-display)}.lib-artist{color:var(--ink-soft);font:italic 15px var(--font-body)}.lib-badges{gap:4px;display:inline-flex}.muted-tag{border-color:var(--line);color:var(--ink-soft)}.lib-editor{padding:6px 0 16px}.field-row{gap:10px;display:flex}.field-row .field{flex:1;min-width:0}.check-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:15.5px;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--gold)}.btn.danger,.link-btn.danger{color:var(--danger);border-color:var(--danger)}.switch{cursor:pointer;flex-shrink:0;width:46px;height:28px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch span{background:var(--line);pointer-events:none;border-radius:14px;transition:background .15s;position:absolute;top:0;bottom:0;left:0;right:0}.switch span:after{content:"";background:var(--ink-soft);border-radius:50%;width:22px;height:22px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--wine-deep)}.switch input:checked+span:after{background:var(--gold);transform:translate(18px)}.switch input:focus+span{outline:2px solid var(--gold);outline-offset:2px}.order-btns{gap:4px;display:flex}.icon-btn{border:1px solid var(--line);min-width:36px;min-height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:2px;font-size:15px}.icon-btn:disabled{opacity:.3;cursor:default}.set-items{margin:0 0 14px;padding-left:22px}.set-items li{margin-bottom:6px}.set-items li>*{vertical-align:middle}.set-item-name{min-width:0;margin-right:8px;font-size:16px;display:inline-block}.set-add{margin-top:6px}
