.yin-config-panel{z-index:9999;opacity:0;pointer-events:none;width:100vw;height:100vh;transition:opacity var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.yin-config-panel.open{opacity:1;pointer-events:auto}.yin-config-content{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--md-sys-shape-corner-extra-large);width:90%;max-width:850px;max-height:85vh;box-shadow:var(--md-sys-elevation-3-shadow);transition:transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);background:#24262bd9;border:1px solid #ffffff14;flex-direction:column;display:flex;position:relative;transform:scale(.9)}.yin-config-panel.open .yin-config-content{transform:scale(1)}.yin-config-content:after{content:"";background:var(--md-sys-elevation-3-overlay);pointer-events:none;border-radius:inherit;z-index:-1;position:absolute;inset:0}.yin-config-header{padding:var(--md-sys-spacing-6);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) 0 0;z-index:1;background:#24262b99;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.yin-config-header h2{font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface);letter-spacing:0;margin:0;font-family:GHLFont,Courier New,monospace}.yin-close-btn{color:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-full);cursor:pointer;transform-origin:50%;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:24px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.yin-close-btn .icon,.yin-close-btn svg,.yin-close-btn span{justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;display:inline-flex!important}.yin-close-btn:hover{transform:scale(1.08)rotate(90deg)}.yin-close-btn:active{transform:scale(.92)rotate(90deg)}.yin-close-btn:before{content:"";border-radius:inherit;background:var(--md-sys-color-on-surface);opacity:0;transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);position:absolute;inset:0}.yin-close-btn:hover:before{opacity:.08}.yin-close-btn:active:before{opacity:.12}.yin-config-body{padding:var(--md-sys-spacing-6);z-index:1;flex:1;min-height:0;position:relative;overflow:hidden auto}.yin-config-body::-webkit-scrollbar{width:8px}.yin-config-body::-webkit-scrollbar-track{border-radius:var(--md-sys-shape-corner-full);background:0 0}.yin-config-body::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);opacity:.7}.yin-config-body::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-primary);opacity:1}.yin-section{margin-bottom:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container-highest);padding:var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);position:relative}.yin-section:after{content:"";background:var(--md-sys-elevation-0-overlay);pointer-events:none;border-radius:inherit;z-index:0;position:absolute;inset:0}.yin-section:hover{background:var(--md-sys-color-surface-container-high)}.yin-section h3{margin:0 0 var(--md-sys-spacing-4) 0;font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height);color:var(--md-sys-color-primary);align-items:center;gap:var(--md-sys-spacing-2);letter-spacing:.15px;z-index:1;font-family:GHLFont,Courier New,monospace;display:flex;position:relative}.yin-section-header{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.yin-section-header h3{margin-bottom:0}.yin-controls-group{margin-top:var(--md-sys-spacing-4);transition:opacity var(--md-sys-motion-duration-short2)}.yin-controls-group.disabled{opacity:.38;pointer-events:none}.yin-control{gap:var(--md-sys-spacing-4);margin-bottom:var(--md-sys-spacing-4);z-index:1;grid-template-columns:1fr auto;align-items:center;display:grid;position:relative}.yin-separator{background:var(--md-sys-color-outline-variant);width:100%;height:1px;margin:var(--md-sys-spacing-3) 0;border:none;grid-column:1/-1}.yin-control label{color:var(--md-sys-color-on-surface);font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);z-index:1;font-family:GHLFont,Courier New,monospace;position:relative}.yin-control input[type=range]{-webkit-appearance:none;appearance:none;background:var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);cursor:pointer;z-index:1;outline:none;grid-column:1/-1;width:100%;height:4px;position:relative}.yin-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--md-sys-color-primary);cursor:pointer;width:20px;height:20px;box-shadow:var(--md-sys-elevation-1-shadow);transition:width var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard), height var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);border-radius:50%}.yin-control input[type=range]::-webkit-slider-thumb:hover{width:24px;height:24px}.yin-control input[type=range]::-moz-range-thumb{background:var(--md-sys-color-primary);cursor:pointer;width:20px;height:20px;box-shadow:var(--md-sys-elevation-1-shadow);transition:width var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard), height var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);border:none;border-radius:50%}.yin-control input[type=range]::-moz-range-thumb:hover{width:24px;height:24px}.yin-control input[type=number]{background:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline);width:160px;color:var(--md-sys-color-on-surface);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-small);font-family:GHLFont,Courier New,monospace;font-size:var(--md-sys-typescale-body-medium-size);text-align:center;transition:border-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard), background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);z-index:1;grid-area:1/2;font-weight:600;position:relative}.yin-control input[type=number]:hover{background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-on-surface)}.yin-control input[type=number]:focus{border-color:var(--md-sys-color-primary);padding:calc(var(--md-sys-spacing-3) - 1px) calc(var(--md-sys-spacing-4) - 1px);border-width:2px;outline:none}.yin-config-footer{padding:var(--md-sys-spacing-6);gap:var(--md-sys-spacing-3);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:0 0 var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large);z-index:1;background:#24262b99;border-top:1px solid #ffffff14;flex-shrink:0;justify-content:flex-end;display:flex;position:relative}.yin-config-footer button{background:var(--md-sys-color-secondary-container);height:40px;color:var(--md-sys-color-on-secondary-container);border-radius:var(--md-sys-shape-corner-full);cursor:pointer;font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);transition:transform .25s cubic-bezier(.34, 1.56, .64, 1), box-shadow var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);border:none;padding:10px 24px;font-family:GHLFont,Courier New,monospace;position:relative}.yin-config-footer button:hover{transform:translateY(-2px)scale(1.02)}.yin-config-footer button:active{transform:translateY(0)scale(.96)}.yin-config-footer button:before{content:"";border-radius:inherit;background:var(--md-sys-color-on-secondary-container);opacity:0;transition:opacity var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard);position:absolute;inset:0}.yin-config-footer button:hover:before{opacity:.08}.yin-config-footer button:active:before{opacity:.12}.yin-config-footer button:last-child{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-1-shadow)}.yin-config-footer button:last-child:before{background:var(--md-sys-color-on-primary)}.yin-config-footer button:last-child:hover{box-shadow:var(--md-sys-elevation-2-shadow)}@media (width<=1024px){.yin-config-content{width:92%;max-height:88vh}.yin-config-header h2{font-size:var(--md-sys-typescale-title-large-size)}.yin-control input[type=number]{width:150px;font-size:var(--md-sys-typescale-body-small-size);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3)}.yin-control input[type=number]:focus,.yin-control input.error{padding:calc(var(--md-sys-spacing-2) - 1px) calc(var(--md-sys-spacing-3) - 1px)}}@media (width<=768px){.yin-config-content{width:94%;max-height:90vh}.yin-config-header{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5)}.yin-config-header h2{font-size:var(--md-sys-typescale-title-medium-size)}.yin-close-btn{width:40px;height:40px;font-size:20px}.yin-config-body{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5)}.yin-section{padding:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-3)}.yin-section h3{font-size:var(--md-sys-typescale-title-small-size);margin-bottom:var(--md-sys-spacing-3)}.yin-control{gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-3)}.yin-control label{font-size:var(--md-sys-typescale-body-medium-size)}.yin-control input[type=number]{width:140px;font-size:var(--md-sys-typescale-body-small-size);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3)}.yin-control input[type=number]:focus,.yin-control input.error{padding:calc(var(--md-sys-spacing-2) - 1px) calc(var(--md-sys-spacing-3) - 1px)}.yin-config-footer{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5);gap:var(--md-sys-spacing-2)}.yin-config-footer button{font-size:var(--md-sys-typescale-label-medium-size);padding:8px 20px}}@media (width<=480px){.yin-config-content{width:96%;max-height:92vh}.yin-config-header{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4)}.yin-config-header h2{font-size:var(--md-sys-typescale-body-large-size)}.yin-close-btn{width:40px;height:40px;font-size:18px}.yin-config-body{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4)}.yin-section{padding:var(--md-sys-spacing-2);margin-bottom:var(--md-sys-spacing-2)}.yin-section h3{font-size:var(--md-sys-typescale-body-large-size);margin-bottom:var(--md-sys-spacing-2)}.yin-control label{font-size:var(--md-sys-typescale-body-small-size)}.yin-control input[type=number]{width:120px;font-size:var(--md-sys-typescale-label-medium-size);padding:var(--md-sys-spacing-2)}.yin-control input[type=number]:focus,.yin-control input.error{padding:calc(var(--md-sys-spacing-2) - 1px)}.yin-config-footer{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4)}.yin-config-footer button{font-size:var(--md-sys-typescale-label-small-size);padding:8px 16px}}@media (height<=600px) and (orientation:landscape){.yin-config-content{max-height:95vh}.yin-config-header{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-5)}.yin-config-header h2{font-size:var(--md-sys-typescale-body-large-size)}.yin-close-btn{width:40px;height:40px;font-size:18px}.yin-config-body{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-5)}.yin-section{padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-2)}.yin-section h3{font-size:var(--md-sys-typescale-body-large-size);margin-bottom:var(--md-sys-spacing-2)}.yin-control{margin-bottom:var(--md-sys-spacing-2)}.yin-control label{font-size:var(--md-sys-typescale-body-small-size)}.yin-control input[type=number]{width:120px;font-size:var(--md-sys-typescale-label-medium-size);padding:var(--md-sys-spacing-2)}.yin-control input[type=number]:focus,.yin-control input.error{padding:calc(var(--md-sys-spacing-2) - 1px)}.yin-separator{margin:var(--md-sys-spacing-2) 0}.yin-config-footer{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-5)}.yin-config-footer button{font-size:var(--md-sys-typescale-label-small-size);padding:6px 16px}}