:root{--primary-hue: 219;--primary-chroma: .5;--primary-lightness: .65;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--error-hue: 0;--error-chroma: .6;--error-lightness: .6;--md-sys-color-error: hsl(var(--error-hue), calc(var(--error-chroma) * 100%), calc(var(--error-lightness) * 100%));--md-sys-color-error-container: hsl(var(--error-hue), calc(var(--error-chroma) * 80%), calc((var(--error-lightness) + .25) * 100%));--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: hsl(var(--error-hue), calc(var(--error-chroma) * 100%), calc((var(--error-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%);--md-sys-elevation-1: 0 1px 2px rgba(0, 0, 0, .1);--md-sys-elevation-2: 0 2px 4px rgba(0, 0, 0, .1);--md-sys-elevation-3: 0 4px 8px rgba(0, 0, 0, .15);--md-sys-elevation-4: 0 8px 16px rgba(0, 0, 0, .2);--md-sys-elevation-5: 0 12px 24px rgba(0, 0, 0, .25);font-family:Roboto,Noto Sans SC,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--md-sys-color-on-background);background-color:var(--md-sys-color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--error-lightness: .5;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-error: hsl(var(--error-hue), calc(var(--error-chroma) * 100%), calc(var(--error-lightness) * 100%));--md-sys-color-error-container: hsl(var(--error-hue), calc(var(--error-chroma) * 80%), calc((var(--error-lightness) - .1) * 100%));--md-sys-color-on-error: hsl(var(--error-hue), calc(var(--error-chroma) * 100%), calc((var(--error-lightness) + .4) * 100%));--md-sys-color-on-error-container: hsl(var(--error-hue), calc(var(--error-chroma) * 80%), calc((var(--error-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), 35%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), 30%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 40%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%);color-scheme:dark;color:var(--md-sys-color-on-background);background-color:var(--md-sys-color-background)}:root.theme-blue,html.theme-blue{--primary-hue: 219;--primary-chroma: .5;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-red,html.theme-red{--primary-hue: 0;--primary-chroma: .5;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-green,html.theme-green{--primary-hue: 142;--primary-chroma: .4;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-purple,html.theme-purple{--primary-hue: 270;--primary-chroma: .45;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-orange,html.theme-orange{--primary-hue: 25;--primary-chroma: .5;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-pink,html.theme-pink{--primary-hue: 340;--primary-chroma: .45;--primary-lightness: .6;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .2) * 100%));--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) - .4) * 100%));--secondary-hue: calc(var(--primary-hue) + 90);--secondary-chroma: .2;--secondary-lightness: .6;--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .25) * 100%));--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) - .4) * 100%));--tertiary-hue: calc(var(--primary-hue) + 180);--tertiary-chroma: .4;--tertiary-lightness: .6;--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .25) * 100%));--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) - .4) * 100%));--background-lightness: .95;--surface-lightness: .97;--surface-variant-lightness: .93;--md-sys-color-background: hsl(var(--primary-hue), 40%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface: hsl(var(--primary-hue), 35%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 20%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 45%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 40%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 70%)}:root.theme-blue.dark,html.theme-blue.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), 25%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), 20%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 30%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}:root.theme-red.dark,html.theme-red.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), 25%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), 20%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 30%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}:root.theme-green.dark,html.theme-green.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), 25%, calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), 20%, calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), 30%, calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}:root.theme-purple.dark,html.theme-purple.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 40%), calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 30%), calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 45%), calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}:root.theme-orange.dark,html.theme-orange.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 40%), calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 30%), calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 45%), calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}:root.theme-pink.dark,html.theme-pink.dark{--primary-lightness: .4;--secondary-lightness: .4;--tertiary-lightness: .4;--background-lightness: .1;--surface-lightness: .15;--surface-variant-lightness: .25;--md-sys-color-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc(var(--primary-lightness) * 100%));--md-sys-color-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) - .1) * 100%));--md-sys-color-on-primary: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), calc((var(--primary-lightness) + .5) * 100%));--md-sys-color-on-primary-container: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), calc((var(--primary-lightness) + .3) * 100%));--md-sys-color-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc(var(--secondary-lightness) * 100%));--md-sys-color-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) - .1) * 100%));--md-sys-color-on-secondary: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 100%), calc((var(--secondary-lightness) + .5) * 100%));--md-sys-color-on-secondary-container: hsl(var(--secondary-hue), calc(var(--secondary-chroma) * 80%), calc((var(--secondary-lightness) + .3) * 100%));--md-sys-color-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc(var(--tertiary-lightness) * 100%));--md-sys-color-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) - .1) * 100%));--md-sys-color-on-tertiary: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 100%), calc((var(--tertiary-lightness) + .5) * 100%));--md-sys-color-on-tertiary-container: hsl(var(--tertiary-hue), calc(var(--tertiary-chroma) * 80%), calc((var(--tertiary-lightness) + .3) * 100%));--md-sys-color-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 40%), calc(var(--background-lightness) * 100%));--md-sys-color-on-background: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 30%), calc(var(--surface-lightness) * 100%));--md-sys-color-on-surface: hsl(var(--primary-hue), calc(var(--primary-chroma) * 100%), 90%);--md-sys-color-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 45%), calc(var(--surface-variant-lightness) * 100%));--md-sys-color-on-surface-variant: hsl(var(--primary-hue), calc(var(--primary-chroma) * 80%), 70%);--md-sys-color-outline: hsl(var(--primary-hue), calc(var(--primary-chroma) * 60%), 50%)}::-webkit-scrollbar{width:0;height:0}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent}*{scrollbar-width:none;scrollbar-color:transparent transparent}*{-ms-overflow-style:none}a{font-weight:500;color:var(--md-sys-color-primary);text-decoration:inherit;transition:color .2s ease}a:hover{color:var(--md-sys-color-primary-container)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--md-sys-color-background);color:var(--md-sys-color-on-background)}h1{font-size:2.5em;line-height:1.1;font-weight:600;color:var(--md-sys-color-on-background)}h2{font-size:2em;line-height:1.2;font-weight:500;color:var(--md-sys-color-on-background)}h3{font-size:1.5em;line-height:1.3;font-weight:500;color:var(--md-sys-color-on-background);margin:0}button{border-radius:12px;border:none;padding:.5em 1em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}button:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}button:disabled{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;box-shadow:none;transform:none}.card{padding:2em;background-color:var(--md-sys-color-surface);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.md-card{background-color:var(--md-sys-color-surface);border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.md-card:hover{background-color:var(--md-sys-color-surface-variant);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}#app{width:100%;text-align:left}@media(max-width:768px){h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.25em}button{padding:.5em 1em;font-size:.9em}}:root{--paper: #fbfaf6;--paper-2: #f4f1ea;--paper-3: #ebe7dd;--ink: #1a1815;--ink-2: #3a3631;--ink-3: #6b665f;--ink-4: #a39e94;--hairline: #d8d3c6;--hairline-2: #c5bfae;--accent: #b14b2c;--accent-hover:#9a3f23;--accent-soft: #f1e5dc;--accent-ink: #fbfaf6;--font-display: "Newsreader", "Noto Serif SC", "Songti SC", "STSong", Georgia, serif;--font-ui: "Geist", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--md-sys-color-primary: var(--accent);--md-sys-color-on-primary: var(--accent-ink);--md-sys-color-primary-container: var(--accent-soft);--md-sys-color-on-primary-container: var(--accent);--md-sys-color-background: var(--paper);--md-sys-color-surface: var(--paper);--md-sys-color-surface-variant: var(--paper-2);--md-sys-color-on-surface: var(--ink);--md-sys-color-on-surface-variant: var(--ink-2);--md-sys-color-outline: var(--hairline);--md-sys-color-secondary: var(--ink-2);--md-sys-color-tertiary: var(--ink-3);--max-w: 760px;--gutter: clamp(20px, 4vw, 48px);--radius: 0}html.dark{--paper: #131210;--paper-2: #1b1a17;--paper-3: #25231f;--ink: #ece8de;--ink-2: #c8c3b6;--ink-3: #908a7c;--ink-4: #5e594f;--hairline: #2c2a26;--hairline-2: #3a3833;--accent: #d97757;--accent-hover:#e08a6d;--accent-soft: #2c211c;--accent-ink: #131210}*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","ss02"}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;color:var(--ink);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button{font-family:var(--font-ui);font-size:14px;cursor:pointer}input,select,textarea{font-family:var(--font-ui);font-size:15px;color:var(--ink)}::selection{background:var(--accent);color:var(--accent-ink)}.app{max-width:var(--max-w);margin:0 auto;padding:56px var(--gutter) 140px;min-height:100vh}.header{margin:0 0 56px}.header-content{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.header h1{font-family:var(--font-display);font-size:clamp(34px,5vw,44px);font-weight:400;letter-spacing:-.02em;line-height:1.05}.header h1:before{content:"——";display:block;color:var(--accent);font-size:14px;letter-spacing:0;margin-bottom:14px;font-family:var(--font-ui)}.header-buttons{display:flex;gap:6px;flex-wrap:wrap}.md-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:transparent;color:var(--ink-2);border:1px solid var(--hairline);border-radius:var(--radius);font-size:13px;font-weight:400;letter-spacing:.01em;cursor:pointer;transition:color .15s,border-color .15s,background .15s;font-family:var(--font-ui);box-shadow:none}.md-btn:hover{color:var(--ink);border-color:var(--ink-3);background:transparent}.md-btn:active{transform:none}.search-btn,.login-confirm-btn,.welcome-confirm-btn,.save-btn,.cancel-btn-yes,.download-btn,.confirm-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.search-btn:hover,.login-confirm-btn:hover,.welcome-confirm-btn:hover,.save-btn:hover,.cancel-btn-yes:hover,.download-btn:hover,.confirm-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.close-btn{background:transparent;border:none;color:var(--ink-3);width:32px;height:32px;font-size:18px;padding:0;border-radius:0}.close-btn:hover{color:var(--ink)}.theme-toggle-btn,.settings-btn,.storage-manager-btn{font-size:12px;padding:6px 10px}.page-content{animation:fadeIn .35s ease-out both}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.md-card{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:none}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#fbfaf6eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;z-index:50}html.dark .bottom-nav{background:#131210eb}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 6px 14px;color:var(--ink-3);font-size:11px;letter-spacing:.05em;cursor:pointer;border-radius:0;transition:color .15s;position:relative}.bottom-nav .nav-item .material-icons{font-size:20px}.bottom-nav .nav-item:hover{color:var(--ink)}.bottom-nav .nav-item.active{color:var(--accent)}.bottom-nav .nav-item.active:before{content:"";position:absolute;top:0;left:50%;width:24px;height:1px;background:var(--accent);transform:translate(-50%)}.dialog-overlay{position:fixed;inset:0;background:#14120f73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;animation:fadeIn .2s ease-out}.dialog-content{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);max-width:560px;width:100%;max-height:86vh;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 20px 60px -20px #14120f40}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 16px;border-bottom:1px solid var(--hairline)}.dialog-header h2{font-family:var(--font-display);font-size:22px;font-weight:400;letter-spacing:-.01em}.dialog-body{padding:22px 28px 28px;overflow-y:auto}.md-form-group{margin-bottom:18px}.md-form-group label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.md-input,input[type=text],input[type=password],input[type=number],input[type=email],select,textarea{width:100%;padding:10px 12px;background:var(--paper);border:1px solid var(--hairline);border-radius:0;color:var(--ink);font-size:14px;outline:none;transition:border-color .15s;box-shadow:none}.md-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--ink-2);background:var(--paper);box-shadow:none}.md-form-group.checkbox-group,.checkbox-row{display:flex;align-items:center;gap:8px}.md-form-group.checkbox-group label,.checkbox-row label{margin:0;text-transform:none;letter-spacing:normal;font-size:13px;color:var(--ink-2)}.collection-tabs{display:flex;gap:24px;border-bottom:1px solid var(--hairline);margin-bottom:32px}.md-tab-item{padding:10px 0;font-size:13px;letter-spacing:.04em;color:var(--ink-3);cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.md-tab-item:hover{color:var(--ink)}.md-tab-item.active{color:var(--ink);border-bottom-color:var(--accent)}.collected-music-list,.my-playlists-grid,.collected-playlists-grid{display:flex;flex-direction:column}.collected-music-card,.playlist-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:14px 0;border:none;border-bottom:1px solid var(--hairline);background:transparent;border-radius:0;box-shadow:none;cursor:pointer;transition:background .15s}.collected-music-card:hover,.playlist-card:hover{background:var(--paper-2)}.collected-music-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:14px 0;border:none;border-bottom:1px solid var(--hairline);background:transparent;border-radius:0;box-shadow:none;cursor:pointer;transition:background .15s}.collected-music-item:hover{background:var(--paper-2)}.collected-music-item .music-info{min-width:0;display:flex;flex-direction:column;gap:2px}.collected-music-item .music-info h4{margin:0;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collected-music-item .music-info p{margin:0;font-size:12px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collected-music-item .music-cover .cover-placeholder{font-family:var(--font-display);font-size:18px;color:var(--ink-4)}.collected-music-item .music-actions{display:flex;gap:4px;flex-shrink:0}.collected-music-item .play-btn,.collected-music-item .download-btn{background:transparent!important;color:var(--ink-2)!important;border:1px solid var(--hairline)!important;border-radius:0!important;padding:6px 12px!important;font-size:12px!important;letter-spacing:.05em;box-shadow:none!important;font-weight:400!important}.collected-music-item .play-btn:hover,.collected-music-item .download-btn:hover{background:transparent!important;color:var(--ink)!important;border-color:var(--ink-3)!important}.music-cover{width:48px;height:48px;overflow:hidden;border-radius:0;background:var(--paper-3);display:flex;align-items:center;justify-content:center}.music-cover img{width:100%;height:100%;object-fit:cover;display:block}.placeholder-initial{font-family:var(--font-display);font-size:18px}.login-prompt{padding:60px 0;text-align:center}.login-prompt-content{border:1px solid var(--hairline);padding:40px 28px;background:var(--paper)}.login-prompt-content h3{font-family:var(--font-display);font-size:22px;margin-bottom:8px}.login-prompt-content p{color:var(--ink-3);margin:0 0 24px}.login-prompt-content .login-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:10px 22px}.login-prompt-card{margin-bottom:8px}.login-card{padding:32px 28px;border:1px solid var(--hairline);background:var(--paper);text-align:center}.login-card h3{font-family:var(--font-display);font-size:22px;font-weight:400;margin:0 0 6px}.login-card p{color:var(--ink-3);font-size:13px;margin:0 0 20px}.login-card .login-btn,.login-prompt-content .login-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:10px 28px}.login-card .login-btn:hover,.login-prompt-content .login-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}.logout-btn{margin-top:12px;font-size:12px;padding:6px 14px}.my-features{margin-top:24px;border-top:1px solid var(--hairline)}.user-info-card{display:grid;grid-template-columns:56px 1fr;align-items:start;gap:16px;padding:20px 0;border:none;border-bottom:1px solid var(--hairline);background:transparent;box-shadow:none;border-radius:0}.user-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--paper-3);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:var(--ink-3);margin-top:4px}.user-avatar .avatar-image{width:100%;height:100%;object-fit:cover}.user-details{display:flex;flex-direction:column;gap:4px;min-width:0}.user-details h3{font-family:var(--font-display);font-size:22px;margin:0 0 4px;font-weight:500;color:var(--ink)}.user-extra-info{font-size:12px;color:var(--ink-3);letter-spacing:.02em;line-height:1.6}.user-extra-info p{margin:0}.playlist-title-container{display:flex;align-items:baseline;gap:6px;min-width:0}.playlist-title-container .playlist-title{flex:1;min-width:0}.private-tag{flex-shrink:0;font-family:var(--font-mono);font-size:10px;color:var(--ink-4);border:1px solid var(--hairline);padding:1px 5px;letter-spacing:.05em}.user-details .logout-btn{align-self:flex-start;margin-top:10px;background:transparent;color:var(--ink-2);border:1px solid var(--hairline);border-radius:0;padding:5px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;box-shadow:none}.user-details .logout-btn:hover{color:var(--ink);border-color:var(--ink-3)}.feature-list,.features{display:flex;flex-direction:column}.feature-item{display:flex;align-items:center;gap:14px;padding:18px 0;border:none!important;border-bottom:1px solid var(--hairline)!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;cursor:pointer;color:var(--ink);font-size:15px;transition:color .15s}.feature-item:hover{color:var(--accent)}.feature-item .material-icons{color:var(--ink-3);font-size:18px}.feature-item:after{content:"→";margin-left:auto;color:var(--ink-4);font-family:var(--font-ui)}.welcome-overlay{position:fixed;inset:0;background:var(--paper);z-index:200;overflow-y:auto;padding:80px var(--gutter);animation:fadeIn .3s ease-out}.welcome-container{max-width:640px;margin:0 auto}.welcome-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px}.welcome-header h1{font-family:var(--font-display);font-size:40px;font-weight:400;letter-spacing:-.02em}.welcome-header h1:before{content:"——";display:block;color:var(--accent);font-size:14px;letter-spacing:0;margin-bottom:14px;font-family:var(--font-ui)}.welcome-content{font-size:14px;line-height:1.7;color:var(--ink-2)}.welcome-section{margin-bottom:28px}.welcome-section h2{font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--ink);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--hairline)}.welcome-section ul{padding-left:20px;margin:0}.welcome-section li{margin-bottom:6px}.welcome-section p{margin:0 0 8px}.welcome-confirm-btn{margin-top:24px;padding:12px 32px}.welcome-close-btn{background:transparent;border:none;color:var(--ink-3);font-size:20px}.external-link{color:var(--accent)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:0;font-size:13px;letter-spacing:.02em;z-index:300;box-shadow:0 12px 30px -10px #0000004d;animation:fadeIn .2s ease-out}.toast-error{background:var(--accent);color:var(--accent-ink)}.toast-success{background:#2f5a3a;color:#fbfaf6}.toast-warning{background:#8a6a1c;color:#fbfaf6}.back-to-top-btn{position:fixed;right:24px;bottom:100px;width:40px;height:40px;border:1px solid var(--hairline);background:var(--paper);color:var(--ink-2);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:40;transition:color .15s,border-color .15s}.back-to-top-btn:hover{color:var(--ink);border-color:var(--ink-3)}.back-to-top-icon{width:8px;height:8px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:translateY(2px) rotate(45deg)}.storage-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.storage-info{background:var(--paper-2);border:none;padding:14px 16px;font-size:13px;color:var(--ink-2);border-radius:0}.storage-info p{margin:2px 0;font-family:var(--font-mono);font-size:12px}.storage-info p:first-child{font-family:var(--font-ui);font-size:13px}.storage-header-buttons{display:flex;gap:8px;flex-wrap:wrap}.storage-header-buttons .md-btn{font-size:11px;padding:6px 12px;text-transform:uppercase;letter-spacing:.08em}.storage-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.stored-file-item,.storage-list li.stored-file-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:14px 0;border:none;background:transparent!important;border-bottom:1px solid var(--hairline);border-radius:0!important;box-shadow:none!important;font-size:14px;min-width:0}.stored-file-item:last-child{border-bottom:none}.stored-file-item .file-cover{width:48px;height:48px;overflow:hidden;background:var(--paper-3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stored-file-item .file-cover .cover-image{width:100%;height:100%;object-fit:cover;display:block}.stored-file-item .file-cover .cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;color:var(--ink-4)}.stored-file-item .file-info{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.stored-file-item .file-info h3{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--ink);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stored-file-item .file-info p{font-size:12px;color:var(--ink-3);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stored-file-item .file-info p.file-size{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);letter-spacing:.04em}.stored-file-item .file-actions{display:flex;gap:4px;flex-shrink:0}.stored-file-item .file-actions .md-btn{background:transparent!important;color:var(--ink-2)!important;border:1px solid var(--hairline)!important;border-radius:0!important;padding:5px 9px!important;font-size:11px!important;box-shadow:none!important;letter-spacing:.04em;white-space:nowrap}.stored-file-item .file-actions .md-btn:hover{color:var(--ink)!important;border-color:var(--ink-3)!important}.stored-file-item .file-actions .delete-btn:hover{color:var(--accent)!important;border-color:var(--accent)!important}@media(max-width:640px){.stored-file-item,.storage-list li.stored-file-item{grid-template-columns:44px 1fr auto;gap:12px;padding:12px 0}.stored-file-item .file-cover{width:44px;height:44px}.stored-file-item .file-info h3{font-size:14px}.stored-file-item .file-info p{font-size:11px}.stored-file-item .file-actions .md-btn{padding:4px 7px!important;font-size:10px!important}.stored-file-item .file-actions .edit-btn{display:inline-block}}.empty-storage{color:var(--ink-3);text-align:center;padding:32px 0}.dialog-content.metadata-editor{display:flex;flex-direction:column;max-width:480px}.metadata-editor .metadata-form{display:flex;flex-direction:column;flex:1;min-height:0}.metadata-editor .metadata-body{flex:1;overflow-y:auto;padding:16px 24px 20px;min-height:0}.metadata-editor .metadata-cover-row{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--hairline)}.metadata-editor .metadata-cover{width:96px;height:96px;background:var(--paper-3);border:1px solid var(--hairline);overflow:hidden;display:flex;align-items:center;justify-content:center}.metadata-editor .metadata-cover .preview-image{width:100%;height:100%;object-fit:cover;display:block}.metadata-editor .metadata-cover .cover-placeholder{font-family:var(--font-display);font-size:36px;color:var(--ink-3)}.metadata-editor .cover-controls{display:flex;flex-direction:column;gap:6px}.metadata-editor .upload-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);border:1px solid var(--hairline);border-radius:0;font-family:var(--font-ui);font-size:12px;letter-spacing:.04em;padding:8px 14px;cursor:pointer;box-shadow:none;transition:border-color .15s,color .15s;width:fit-content}.metadata-editor .upload-btn:hover{border-color:var(--ink-3);color:var(--ink)}.metadata-editor .form-row{display:grid;gap:12px}.metadata-editor .form-row-3{grid-template-columns:repeat(3,1fr)}.metadata-editor .form-row .md-form-group{margin-bottom:0}.metadata-editor textarea.md-textarea{width:100%;font-family:var(--font-ui);font-size:13px;line-height:1.6;padding:10px 12px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:0;color:var(--ink);resize:vertical;min-height:120px;box-shadow:none}.metadata-editor textarea.md-textarea:focus{outline:none;border-color:var(--ink-3);background:var(--paper)}.metadata-editor .metadata-actions{display:flex;gap:10px;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--hairline);background:var(--paper);flex-shrink:0}.metadata-editor .metadata-actions .md-btn{flex:1;padding:12px 16px;font-size:14px;letter-spacing:.06em;border-radius:0;cursor:pointer;border:1px solid transparent;font-family:var(--font-ui);transition:background .15s,border-color .15s}.metadata-editor .metadata-actions .cancel-btn{background:transparent;color:var(--ink);border-color:var(--hairline)}.metadata-editor .metadata-actions .cancel-btn:hover{border-color:var(--ink-3)}.metadata-editor .metadata-actions .save-btn{background:var(--accent);color:var(--accent-ink)}.metadata-editor .metadata-actions .save-btn:hover{background:var(--accent-hover)}@media(max-width:640px){.metadata-editor .metadata-body{padding:14px 16px 18px}.metadata-editor .metadata-cover-row{grid-template-columns:80px 1fr;gap:14px;padding-bottom:14px;margin-bottom:14px}.metadata-editor .metadata-cover{width:80px;height:80px}.metadata-editor .metadata-cover .cover-placeholder{font-size:28px}.metadata-editor .form-row-3{grid-template-columns:1fr 1fr 1fr;gap:10px}.metadata-editor textarea.md-textarea{min-height:100px}.metadata-editor .metadata-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.metadata-editor .metadata-actions .md-btn{padding:11px 14px;font-size:13px}}.dialog-content.settings-dialog{display:flex;flex-direction:column;max-width:480px;width:100%}.settings-body{padding:8px 24px 24px!important}.settings-section{padding:16px 0;border-bottom:1px solid var(--hairline)}.settings-section:last-child{border-bottom:none;padding-bottom:24px}.settings-section-label{font-family:var(--font-ui);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;font-weight:500}.settings-section .form-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;gap:16px}.form-row-label{font-family:var(--font-ui);font-size:14px;color:var(--ink);font-weight:400;flex:1;min-width:0}.compact-input.md-input{width:80px!important;text-align:right;font-family:var(--font-mono);font-size:13px!important;padding:6px 8px!important}.settings-body .form-hint{font-size:11px;color:var(--ink-3);margin:4px 0 0;font-family:var(--font-ui)}.segment{display:inline-flex;border:1px solid var(--hairline);background:var(--paper-2)}.seg-btn{background:transparent;border:none;padding:6px 14px;font-family:var(--font-ui);font-size:12px;color:var(--ink-3);cursor:pointer;border-radius:0;transition:background .15s,color .15s}.seg-btn.active{background:var(--ink);color:var(--paper)}.seg-btn:not(.active):hover{color:var(--ink);background:var(--paper)}.color-swatches{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--hairline);padding:0;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative}.swatch:hover{transform:scale(1.1)}.swatch.active{box-shadow:0 0 0 1px var(--paper),0 0 0 2px var(--ink)}.settings-footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:12px 24px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--hairline);background:var(--paper);flex-shrink:0}.settings-footer .cancel-btn,.settings-footer .save-btn{padding:10px;font-size:13px;letter-spacing:.05em;border-radius:0}.settings-footer .cancel-btn{background:transparent;border:1px solid var(--hairline);border-right:none;color:var(--ink-2)}.settings-footer .cancel-btn:hover{background:var(--paper-2);color:var(--ink)}.settings-footer .save-btn{background:var(--accent)!important;color:var(--accent-ink)!important;border:1px solid var(--accent)!important}.settings-footer .save-btn:hover{background:var(--accent-hover)!important}@media(max-width:640px){.settings-body{padding:4px 16px 20px!important}.settings-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}.toggle-switch{position:relative;width:36px;height:20px}.toggle-switch .toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-switch .toggle-label{position:absolute;inset:0;background:var(--paper-3);border:1px solid var(--hairline);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.toggle-switch .toggle-label:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--paper);border-radius:50%;transition:transform .18s ease;box-shadow:0 1px 2px #00000026}.toggle-switch .toggle-input:checked+.toggle-label{background:var(--accent);border-color:var(--accent)}.toggle-switch .toggle-input:checked+.toggle-label:after{transform:translate(16px)}.form-hint{font-size:11px;color:var(--ink-3);margin:8px 0 0;letter-spacing:0;text-transform:none}.theme-color-options{display:flex;gap:10px;flex-wrap:wrap}.theme-color-option{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s}.theme-color-option:hover{transform:scale(1.1)}.theme-color-option.active{border-color:var(--ink)}.md-loading-spinner,.loading-spinner{width:24px;height:24px;border:1.5px solid var(--hairline);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{padding:40px 0;text-align:center;color:var(--ink-3)}.loading-state p{margin-top:12px;font-size:13px}.md-empty-state{padding:64px 0!important;text-align:center;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important}.md-empty-state-icon{font-family:var(--font-display);font-size:28px!important;color:var(--ink-4)!important;letter-spacing:.5em;margin-bottom:20px!important;filter:grayscale(1) opacity(.55);background:transparent!important;border-radius:0!important;box-shadow:none!important;width:auto!important;height:auto!important;display:block!important}.md-empty-state-icon .default-icon{font-family:var(--font-display);font-size:28px!important;color:var(--ink-4)!important;background:transparent!important;letter-spacing:.5em}.md-empty-state-title{font-family:var(--font-display)!important;font-size:20px!important;font-weight:400!important;color:var(--ink)!important;margin:0 0 6px!important}.md-empty-state-description{color:var(--ink-3)!important;font-size:13px!important;margin:0!important}.playlist-detail-dialog{max-width:720px}.playlist-info-section{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--hairline)}.playlist-info-cover{width:96px;height:96px;background:var(--paper-3)}.playlist-info-cover img{width:100%;height:100%;object-fit:cover}.playlist-info-title{font-family:var(--font-display);font-size:22px;margin:0 0 4px}.playlist-info-meta{color:var(--ink-3);font-size:12px}.track-list{display:flex;flex-direction:column}.track-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--hairline);font-size:14px}.track-index{font-family:var(--font-mono);font-size:12px;color:var(--ink-4);width:24px;text-align:right}.track-title{color:var(--ink)}.track-artist{color:var(--ink-3);font-size:12px}.music-detail-dialog-overlay{z-index:200}.music-detail-dialog-overlay .dialog-content,.dialog-overlay .dialog-content.playlist-detail-dialog{max-width:720px;width:calc(100% - 32px)}.music-detail{display:flex;flex-direction:column;align-items:center;padding:28px 28px 24px;flex:1;overflow-y:auto;min-height:0}.detail-cover{display:flex;justify-content:center;padding-top:8px}.detail-cover .cover-image,.detail-cover .md-cover-image{width:200px;height:200px;object-fit:cover;border:1px solid var(--hairline);border-radius:0;background:var(--paper-2)}.detail-cover .cover-placeholder,.detail-cover .md-cover-placeholder{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border:1px solid var(--hairline);font-family:var(--font-display);font-size:56px;color:var(--ink-4)}.detail-info{text-align:center;display:flex;flex-direction:column;gap:4px;padding:0 8px}.detail-info h3{font-family:var(--font-display);font-weight:500;font-size:28px;letter-spacing:-.005em;color:var(--ink);margin:0 0 8px;line-height:1.25}.detail-info .artist,.detail-info .album,.detail-info p{font-family:var(--font-ui);font-size:14px;color:var(--ink-3);margin:0;line-height:1.6}.detail-info .duration{font-family:var(--font-mono);font-size:12px;color:var(--ink-4);letter-spacing:.04em;margin-top:6px}.detail-lyrics{border-top:1px solid var(--hairline);padding-top:24px}.detail-lyrics h4{font-family:var(--font-ui);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-4);margin:0 0 14px}.lyrics-content{position:relative;background:var(--paper-2);border:1px solid var(--hairline);padding:20px 22px;max-height:320px;overflow-y:auto;transition:border-color .2s ease}.lyrics-content:hover{border-color:var(--ink-5)}.lyrics-content pre{font-family:var(--font-display);font-size:15px;line-height:1.85;color:var(--ink-2);white-space:pre-wrap;margin:0}.lyrics-content .no-lyrics{font-family:var(--font-display);font-style:italic;color:var(--ink-4);text-align:center;padding:24px 0;margin:0}.lyrics-content .copy-hint{position:absolute;top:10px;right:14px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);opacity:0;transition:opacity .2s ease;pointer-events:none}.lyrics-content:hover .copy-hint{opacity:1}.detail-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--hairline);margin-top:4px;padding-top:24px}.detail-actions .download-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.detail-actions .download-btn:hover{background:var(--accent-2);border-color:var(--accent-2)}.detail-actions .cancel-btn{background:transparent;color:var(--ink-3);border-color:var(--hairline)}.playlist-detail-content{display:flex;flex-direction:column;gap:28px}.playlist-detail-header{display:grid;grid-template-columns:140px 1fr;gap:22px;padding-bottom:24px;border-bottom:1px solid var(--hairline)}.playlist-detail-cover{width:140px;height:140px;overflow:hidden;border:1px solid var(--hairline);background:var(--paper-2)}.playlist-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.playlist-detail-cover .playlist-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.playlist-detail-cover .placeholder-initial{font-family:var(--font-display);font-size:48px;color:#ffffffe0;font-weight:400}.playlist-detail-info{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}.playlist-detail-info h3{font-family:var(--font-display);font-weight:500;font-size:26px;letter-spacing:-.005em;line-height:1.25;margin:0;color:var(--ink)}.playlist-detail-creator,.playlist-detail-desc{font-family:var(--font-ui);font-size:13px;color:var(--ink-3);margin:0;line-height:1.55}.playlist-detail-desc{color:var(--ink-4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tracks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:12px;border-bottom:1px solid var(--hairline)}.tracks-header h4{font-family:var(--font-ui);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);margin:0}.batch-actions{display:flex;align-items:center;gap:12px}.batch-actions .select-all{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.batch-actions .md-checkbox{width:14px;height:14px;accent-color:var(--accent);margin:0}.batch-actions .batch-download-btn,.batch-actions .download-all-btn{padding:6px 12px;font-size:12px;letter-spacing:.05em}.batch-actions .download-all-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.batch-actions .batch-download-btn:disabled{opacity:.4;cursor:not-allowed}.tracks-list{display:flex;flex-direction:column}.track-item,.tracks-list .md-card.track-item{display:grid!important;grid-template-columns:28px 44px 1fr auto;gap:14px;align-items:center;padding:14px 0!important;background:transparent!important;border:none!important;border-bottom:1px solid var(--hairline)!important;border-radius:0!important;box-shadow:none!important;cursor:pointer;transition:background .15s ease}.track-item:has(.track-checkbox),.tracks-list .md-card.track-item:has(.track-checkbox){grid-template-columns:22px 28px 44px 1fr;gap:14px}.tracks-list .track-item:last-child{border-bottom:none!important}.tracks-list .track-item:hover{background:var(--paper-2)!important}.track-item .track-index{font-family:var(--font-mono);font-size:12px;color:var(--ink-4);text-align:right;letter-spacing:.04em}.track-item .track-checkbox{display:flex;align-items:center}.track-item .track-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);margin:0;cursor:pointer}.track-item:has(.track-checkbox){grid-template-columns:28px 22px 44px 1fr auto}.track-item .track-cover{width:44px;height:44px;background:var(--paper-2);border:1px solid var(--hairline);overflow:hidden;display:flex;align-items:center;justify-content:center}.track-item .track-cover img{width:100%;height:100%;object-fit:cover}.track-item .track-cover .cover-placeholder{font-family:var(--font-display);font-size:18px;color:var(--ink-4)}.track-item .track-info{min-width:0;display:flex;flex-direction:column;gap:2px}.track-item .track-title{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--ink);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-item .track-artist{font-family:var(--font-ui);font-size:12px;color:var(--ink-4);margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-item .track-actions{display:flex;align-items:center;gap:6px;opacity:1;transition:opacity .15s ease}.track-item:hover .track-actions{opacity:1}.track-item .track-actions .md-btn{padding:5px 10px;font-size:11px;letter-spacing:.05em;border-color:var(--hairline);color:var(--ink-2)}.track-item .track-actions .md-btn:hover{border-color:var(--ink-5);background:var(--paper)}.header-actions{display:flex;gap:6px;align-items:center}.header-actions .select-btn,.header-actions .cancel-select-btn,.header-actions .download-all-btn{padding:5px 12px;font-size:12px}.dialog-header.selection-header{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.selection-header .cancel-select-btn,.selection-header .select-all-btn{padding:5px 12px;font-size:12px}.selection-header .selection-count{text-align:center;font-family:var(--font-ui);font-size:13px;letter-spacing:.06em;color:var(--ink-2)}.dialog-content.is-selecting{padding-bottom:64px}.dialog-content.is-selecting .dialog-body{padding-bottom:16px}.selection-action-bar{position:absolute;left:0;right:0;bottom:0;padding:12px 28px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--hairline);z-index:5}.selection-action-bar .primary-action{width:100%;padding:12px 16px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);font-family:var(--font-ui);font-size:14px;letter-spacing:.04em}.selection-action-bar .primary-action:hover:not(:disabled){background:var(--accent-deep, var(--accent))}.selection-action-bar .primary-action:disabled{background:var(--paper-2);color:var(--ink-4);border-color:var(--hairline);cursor:not-allowed}@media(max-width:640px){.dialog-overlay{padding:0}.dialog-overlay .dialog-content{max-width:100%;width:100%}.dialog-overlay .dialog-content.playlist-detail-dialog,.music-detail-dialog-overlay .dialog-content{max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0;border:none}.dialog-body{padding:14px 12px 20px}.header-actions{gap:4px}.header-actions .select-btn,.header-actions .cancel-select-btn,.header-actions .batch-download-btn,.header-actions .download-all-btn{padding:6px 10px;font-size:11px;letter-spacing:.04em}.dialog-header.selection-header{padding:12px}.selection-header .cancel-select-btn,.selection-header .select-all-btn{padding:6px 10px;font-size:11px}.selection-header .selection-count{font-size:12px}.dialog-content.is-selecting{padding-bottom:60px}.selection-action-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.selection-action-bar .primary-action{padding:12px 14px;font-size:13px}.playlist-detail-content{gap:20px;padding:0}.playlist-detail-header{grid-template-columns:88px 1fr;gap:16px;text-align:left;padding-bottom:18px}.playlist-detail-cover{width:88px;height:88px;margin:0}.playlist-detail-cover .placeholder-initial{font-size:32px}.playlist-detail-info{justify-content:flex-start;gap:6px}.playlist-detail-info h3{font-size:20px;line-height:1.2}.playlist-detail-creator,.playlist-detail-desc{font-size:12px}.tracks-header{padding:0}.tracks-header .tracks-label{font-size:11px}.tracks-list{padding:0 0 8px}.track-item,.tracks-list .md-card.track-item{grid-template-columns:22px 40px 1fr auto!important;gap:12px;padding:12px 0!important;align-items:center}.track-item:has(.track-checkbox),.tracks-list .md-card.track-item:has(.track-checkbox){grid-template-columns:22px 18px 40px 1fr!important;gap:10px}.track-item .track-index{font-size:11px}.track-item .track-cover{width:40px;height:40px}.track-item .track-title{font-size:14px}.track-item .track-artist{font-size:11px}.track-item .track-actions{grid-column:auto;opacity:1;padding-top:0;justify-content:flex-end;gap:4px}.track-item .track-actions .md-btn{padding:4px 8px;font-size:10px;border-color:transparent;color:var(--ink-3);letter-spacing:.06em}.playlist-detail-content .md-empty-state{padding:48px 18px!important}}.search-bar.md-search-bar{display:flex;gap:0;max-width:100%;margin:0 0 40px}.search-bar .search-input.md-input{flex:1;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--ink);border-radius:0;font-size:18px;font-family:var(--font-display);box-shadow:none;color:var(--ink)}.search-bar .search-input.md-input::placeholder{color:var(--ink-4);font-style:italic}.search-bar .search-input.md-input:focus{border-color:var(--accent);background:transparent;box-shadow:none}.search-bar .search-btn.md-btn{background:transparent;color:var(--ink);border:none;border-bottom:1px solid var(--ink);border-radius:0;font-family:var(--font-ui);font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:14px 18px;box-shadow:none}.search-bar .search-btn.md-btn:hover{background:transparent;color:var(--accent);border-color:var(--accent)}.music-list{display:flex;flex-direction:column;gap:0;background:transparent!important;box-shadow:none!important}.music-list .md-list{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important}.music-card,.md-music-card,.music-item,.music-list .music-item.md-card{display:grid!important;grid-template-columns:48px 1fr auto!important;align-items:center!important;gap:16px!important;padding:14px 0!important;border:none!important;border-bottom:1px solid var(--hairline)!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;cursor:pointer;transition:background .15s;margin:0!important}.music-card:hover,.md-music-card:hover,.music-item:hover{background:var(--paper-2)!important}.music-item .music-cover{width:48px!important;height:48px!important;background:var(--paper-3)!important;border-radius:0!important;box-shadow:none!important;overflow:hidden;flex-shrink:0}.music-item .cover-image{width:100%;height:100%;object-fit:cover;border-radius:0!important}.music-item .cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--paper-3)!important;color:var(--ink-3);font-family:var(--font-display)}.music-item .music-info{min-width:0;text-align:left}.music-item .music-title,.music-card .music-title,.md-music-card .music-title{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--ink);margin:0 0 2px;text-align:left;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-item .music-artist,.music-card .music-artist,.md-music-card .music-artist{font-size:12px;color:var(--ink-3);margin:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-item .music-actions{display:flex;gap:4px;flex-shrink:0}.music-item .play-btn,.music-item .download-btn{background:transparent!important;color:var(--ink-2)!important;border:1px solid var(--hairline)!important;border-radius:0!important;padding:6px 12px!important;font-size:12px!important;letter-spacing:.05em;box-shadow:none!important;font-weight:400!important}.music-item .play-btn:hover,.music-item .download-btn:hover{background:transparent!important;color:var(--ink)!important;border-color:var(--ink-3)!important}.music-item .download-btn.downloading{color:var(--ink-3)!important}.loading-more{text-align:center;padding:16px 0;color:var(--ink-3);background:transparent!important;border:none!important}.loading-more .loading-spinner.small{width:16px;height:16px;display:inline-block;margin-right:8px;vertical-align:middle}.loading-more-text{display:inline;font-size:12px}.error-state{text-align:center;padding:40px 0;background:transparent!important;border:none!important}.error-icon{font-family:var(--font-display);font-size:22px;color:var(--accent);margin-bottom:8px;background:transparent!important;width:auto!important;height:auto!important}.error-text{color:var(--ink-3);font-size:13px}.playlist-list{display:block;background:transparent!important;box-shadow:none!important}.playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:32px 28px;padding-top:8px}.playlist-item,.playlist-grid .md-card.playlist-item{display:flex!important;flex-direction:column;gap:14px;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;cursor:pointer;transition:opacity .15s ease,transform .25s ease}.playlist-item:hover{opacity:1}.playlist-item:hover .playlist-cover{border-color:var(--ink-5)}.playlist-item:hover .playlist-title{color:var(--accent)}.playlist-cover{aspect-ratio:1 / 1;width:100%;overflow:hidden;background:var(--paper-2);border:1px solid var(--hairline);position:relative;transition:border-color .2s ease}.playlist-cover img{width:100%;height:100%;object-fit:cover;display:block}.playlist-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.playlist-cover-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff2e,#0000000f);pointer-events:none}.playlist-cover-placeholder .placeholder-initial{font-family:var(--font-display);font-weight:300;font-size:64px;color:#1a18156b;line-height:1;letter-spacing:-.02em;position:relative;z-index:1}.playlist-info{display:flex;flex-direction:column;gap:5px;padding:0 2px}.playlist-title{font-family:var(--font-ui);font-weight:500;font-size:15px;color:var(--ink);margin:0;line-height:1.45;letter-spacing:-.005em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .15s ease}.playlist-owner{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);margin:0;line-height:1.4;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist-list .loading-more{grid-column:1 / -1;text-align:center;padding:32px 0;color:var(--ink-4);font-size:12px;letter-spacing:.08em}.playlist-list .no-more{grid-column:1 / -1;text-align:center;padding:24px 0}.playlist-list .no-more p{font-family:var(--font-ui);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin:0}@media(max-width:640px){.playlist-grid{grid-template-columns:repeat(3,1fr);gap:24px 16px}.playlist-cover-placeholder .placeholder-initial{font-size:40px}}.floating-player-wrapper{position:fixed!important;left:0!important;right:0!important;bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;top:auto!important;transform:none!important;margin:0 auto!important;max-width:600px!important;width:auto!important;z-index:250!important;display:flex!important;align-items:stretch!important;pointer-events:none}.floating-player-wrapper>*{pointer-events:auto}.floating-player{flex:1;background:var(--paper)!important;border:1px solid var(--hairline)!important;border-radius:0!important;box-shadow:0 10px 24px -14px #14120f38,0 1px 0 var(--hairline-strong, var(--hairline)) inset!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;display:flex!important;flex-direction:column!important;min-width:0!important;position:relative!important;overflow:visible!important}.floating-player .player-lyrics{position:absolute!important;bottom:100%!important;left:0!important;right:0!important;margin-bottom:-1px;padding:16px 18px!important;border:1px solid var(--hairline)!important;background:var(--paper)!important;max-height:280px!important;overflow-y:auto!important;border-radius:0!important;box-shadow:0 -8px 20px -14px #14120f2e!important}.floating-player .lyrics-line{font-family:var(--font-display)!important;font-size:14px!important;line-height:1.9!important;color:var(--ink-3)!important;text-align:center!important;margin:0!important;cursor:pointer!important;transition:color .2s ease!important}.floating-player .lyrics-line.active{color:var(--accent)!important;font-weight:500!important}.floating-player .no-lyrics{font-family:var(--font-display)!important;font-style:italic!important;color:var(--ink-4)!important;text-align:center!important;padding:20px 0!important}.floating-player .player-header{display:grid!important;grid-template-columns:44px 1fr auto!important;align-items:center!important;gap:12px!important;padding:10px 14px 4px!important;background:transparent!important;cursor:pointer!important}.floating-player .player-header:hover{background:transparent!important}.floating-player .player-cover{width:44px!important;height:44px!important;border-radius:0!important;overflow:hidden;background:var(--paper-3);box-shadow:none!important;margin:0!important}.floating-player .player-cover img{width:100%;height:100%;object-fit:cover}.floating-player .player-info{min-width:0}.floating-player .player-info h4{font-family:var(--font-display)!important;font-size:14px!important;font-weight:500!important;color:var(--ink)!important;letter-spacing:-.005em;margin:0 0 2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-player .player-info p{font-family:var(--font-ui)!important;font-size:11px!important;color:var(--ink-4)!important;letter-spacing:.02em;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-player .player-controls{display:flex!important;align-items:center!important;gap:4px!important}.floating-player .control-btn{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important;border-radius:999px!important;width:32px!important;height:32px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;transition:background .15s ease,color .15s ease!important}.floating-player .control-btn:hover{background:var(--ink)!important;color:var(--paper)!important}.floating-player .control-btn .play-icon{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px;transition:all .15s ease}.floating-player .control-btn.playing .play-icon{width:8px;height:10px;border:none;background:linear-gradient(to right,currentColor 0 3px,transparent 3px 5px,currentColor 5px 8px);margin-left:0}.floating-player .player-progress{padding:0 14px 10px!important;background:transparent!important}.floating-player .time-display{display:flex!important;justify-content:space-between!important;font-family:var(--font-mono)!important;font-size:10px!important;color:var(--ink-4)!important;letter-spacing:.05em!important;margin-bottom:6px!important;background:transparent!important}.floating-player .progress-bar-container{cursor:pointer!important;padding:6px 0!important;background:transparent!important;margin:-4px 0!important}.floating-player .progress-bar{position:relative!important;height:2px!important;background:var(--hairline)!important;border-radius:0!important;overflow:visible!important}.floating-player .progress-fill{position:absolute!important;left:0;top:0;bottom:0;background:var(--ink)!important;border-radius:0!important;transition:width .1s linear!important}.floating-player .progress-handle{position:absolute!important;top:50%!important;width:10px!important;height:10px!important;margin-left:-5px!important;background:var(--accent)!important;border-radius:50%!important;transform:translateY(-50%)!important;box-shadow:0 0 0 2px var(--paper)!important;opacity:0;transition:opacity .15s ease}.floating-player .progress-bar-container:hover .progress-handle,.floating-player:hover .progress-handle{opacity:1}.floating-player-wrapper .collapse-btn{align-self:stretch!important;width:28px!important;background:var(--paper-2)!important;border:1px solid var(--hairline)!important;border-right:1px solid var(--hairline)!important;border-radius:0!important;color:var(--ink-3)!important;cursor:pointer!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;transition:color .15s ease,background .15s ease!important}.floating-player-wrapper .collapse-btn:hover{color:var(--ink)!important;background:var(--paper-2)!important}.floating-player-wrapper .collapse-icon{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:6px solid currentColor;transition:transform .25s ease}.floating-player-wrapper.player-collapsed .collapse-icon{transform:rotate(180deg)}.floating-player-wrapper.player-collapsed .floating-player{transform:translate(calc(-100% - 28px));opacity:0;pointer-events:none;transition:transform .3s ease,opacity .25s ease}.floating-player-wrapper .floating-player{transition:transform .3s ease,opacity .25s ease}@media(max-width:640px){.floating-player-wrapper{left:0!important;right:72px!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;max-width:none!important}.floating-player .player-header{grid-template-columns:40px 1fr auto!important;gap:10px!important;padding:9px 12px 3px!important}.floating-player .player-cover{width:40px!important;height:40px!important}.floating-player .player-info h4{font-size:13px!important}.floating-player .player-info p{font-size:10px!important}.floating-player .player-progress{padding:0 12px 9px!important}.floating-player-wrapper .collapse-btn{width:24px!important}}.dialog-content[class*=music-detail] .md-input,.dialog-content[class*=metadata] .md-input{box-shadow:none}@media(max-width:600px){.app{padding:32px 20px 120px}.header{margin-bottom:32px}.header h1{font-size:30px}.dialog-overlay{padding:0}.dialog-content{max-height:100vh;height:100vh;max-width:100%;border:none}.playlist-info-section{grid-template-columns:72px 1fr}.playlist-info-cover{width:72px;height:72px}.welcome-overlay{padding:48px 20px}}@media(max-width:640px){body.has-player .dialog-body,body.has-player .sheet-detail-body,body.has-player .music-detail{padding-bottom:176px}}@media(min-width:641px){body.has-player .dialog-body,body.has-player .sheet-detail-body,body.has-player .music-detail{padding-bottom:192px}}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-kAwBdRge.woff2) format("woff2"),url(/assets/material-icons-Dr0goTwe.woff) format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-outlined-DZhiGvEA.woff2) format("woff2"),url(/assets/material-icons-outlined-BpWbwl2n.woff) format("woff")}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-round-DrirKXBx.woff2) format("woff2"),url(/assets/material-icons-round-BDlwx-sv.woff) format("woff")}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Sharp;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-sharp-gidztirS.woff2) format("woff2"),url(/assets/material-icons-sharp-CH1KkVu7.woff) format("woff")}.material-icons-sharp{font-family:Material Icons Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Two Tone;font-style:normal;font-weight:400;font-display:block;src:url(/assets/material-icons-two-tone-DuNIpaEj.woff2) format("woff2"),url(/assets/material-icons-two-tone-B7wz7mED.woff) format("woff")}.material-icons-two-tone{font-family:Material Icons Two Tone;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.search-bar[data-v-f06f43a7]{display:flex;gap:12px;margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto}.search-input[data-v-f06f43a7]{flex:1;padding:14px 20px;background-color:var(--md-sys-color-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:12px;font-size:16px;font-family:Roboto,system-ui,sans-serif;outline:none;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 1px 3px #0000000d;color:var(--md-sys-color-on-surface-variant)}.search-input[data-v-f06f43a7]:focus{background-color:var(--md-sys-color-surface);border-color:var(--md-sys-color-primary);box-shadow:0 2px 6px #6200ee26;color:var(--md-sys-color-on-surface)}.search-btn[data-v-f06f43a7]{padding:0 28px;background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:12px;font-size:16px;font-family:Roboto,system-ui,sans-serif;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 2px 4px #0000001a}.search-btn[data-v-f06f43a7]:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:0 4px 8px #00000026}.search-btn[data-v-f06f43a7]:active{background-color:var(--md-sys-color-primary);box-shadow:0 1px 2px #0003;transform:translateY(1px)}@media(max-width:600px){.search-bar[data-v-f06f43a7]{padding:0 12px;gap:8px}.search-input[data-v-f06f43a7]{padding:12px 16px;font-size:14px}.search-btn[data-v-f06f43a7]{padding:.5em 1em;font-size:14px}}.md-empty-state[data-v-dfebe166]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background-color:var(--md-sys-color-surface);border-radius:16px;box-shadow:0 1px 3px #0000001a;max-width:500px;margin:0 auto}.md-empty-state-icon[data-v-dfebe166]{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background-color:var(--md-sys-color-surface-container-low);margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.default-icon[data-v-dfebe166]{font-size:36px;color:var(--md-sys-color-primary)}.md-empty-state-content[data-v-dfebe166]{display:flex;flex-direction:column;align-items:center;gap:12px}.md-empty-state-title[data-v-dfebe166]{font-size:18px;font-weight:600;color:var(--md-sys-color-on-surface);margin:0}.md-empty-state-description[data-v-dfebe166]{font-size:14px;color:var(--md-sys-color-on-surface-variant);margin:0;line-height:1.5;max-width:90%}.md-empty-state-actions[data-v-dfebe166]{margin-top:24px;display:flex;gap:12px}@media(max-width:600px){.md-empty-state[data-v-dfebe166]{padding:32px 16px;margin:0 16px}.md-empty-state-icon[data-v-dfebe166]{width:64px;height:64px;margin-bottom:16px}.default-icon[data-v-dfebe166]{font-size:28px}.md-empty-state-title[data-v-dfebe166]{font-size:16px}.md-empty-state-description[data-v-dfebe166]{font-size:13px}.md-empty-state-actions[data-v-dfebe166]{margin-top:16px;flex-direction:column;width:100%;align-items:center}.md-empty-state-actions button[data-v-dfebe166]{width:100%;max-width:200px}}.home-section[data-v-2774097f]{margin-bottom:28px}.home-section .section-title[data-v-2774097f]{margin-bottom:12px}.playlist-section[data-v-1fca5ab9]{margin-bottom:36px}.section-title[data-v-1fca5ab9]{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--ink);margin-bottom:16px}.load-more-btn[data-v-1fca5ab9]{display:block;margin:20px auto 0;padding:8px 28px}.view-header[data-v-1fca5ab9]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn[data-v-1fca5ab9]{display:inline-flex;align-items:center;gap:4px}.back-btn .material-icons[data-v-1fca5ab9]{font-size:18px}.search-summary[data-v-1fca5ab9]{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-dialog[data-v-3a49e4ec]{max-width:760px;max-height:100vh}.sheet-dialog .dialog-header[data-v-3a49e4ec]{flex-shrink:0}.sheet-dialog .dialog-header h2[data-v-3a49e4ec]{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-detail-body[data-v-3a49e4ec]{padding:4px 0 8px;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-meta[data-v-3a49e4ec]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.sheet-number[data-v-3a49e4ec]{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:var(--accent-ink);background:var(--accent);border-radius:50%}.sheet-meta-text[data-v-3a49e4ec]{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink-2);min-width:0}.sheet-tags[data-v-3a49e4ec]{display:flex;flex-wrap:wrap;gap:6px;width:100%}.tag[data-v-3a49e4ec]{font-size:11px;padding:2px 8px;border:1px solid var(--hairline);border-radius:10px;color:var(--ink-3)}.sheet-play[data-v-3a49e4ec]{margin-bottom:14px}.play-track-btn[data-v-3a49e4ec]{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.play-track-btn .material-icons[data-v-3a49e4ec]{font-size:18px}.sheet-images[data-v-3a49e4ec]{display:flex;flex-direction:column;gap:10px}.sheet-image[data-v-3a49e4ec]{width:100%;height:auto;display:block;border:1px solid var(--hairline);background:var(--paper-2)}.no-files[data-v-3a49e4ec]{text-align:center;color:var(--ink-3);font-size:13px;padding:24px 0}.sheet-nav[data-v-3a49e4ec]{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.sheet-nav-btn[data-v-3a49e4ec]{display:inline-flex;align-items:center;gap:2px;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.sheet-nav-btn[data-v-3a49e4ec]:disabled{opacity:.45;cursor:default}.sheet-nav-btn .material-icons[data-v-3a49e4ec]{font-size:18px}@media(max-width:600px){.sheet-nav[data-v-3a49e4ec]{flex-direction:column}.sheet-nav-btn[data-v-3a49e4ec]{max-width:100%}}.score-section[data-v-cf042a4c]{margin-bottom:36px}.section-title[data-v-cf042a4c]{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--ink);margin-bottom:16px}.sheet-strip[data-v-cf042a4c]{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.sheet-strip-item[data-v-cf042a4c]{flex:0 0 120px;border:1px solid var(--hairline);background:var(--paper);border-radius:var(--radius);padding:14px 12px;cursor:pointer;transition:border-color .15s ease,transform .2s ease;display:flex;flex-direction:column;gap:6px;min-width:0}.sheet-strip-item[data-v-cf042a4c]:hover{border-color:var(--ink-5)}.sheet-strip-number[data-v-cf042a4c]{font-family:var(--font-display);font-size:24px;color:var(--accent);line-height:1}.sheet-strip-name[data-v-cf042a4c]{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.sheet-strip-sub[data-v-cf042a4c]{font-size:11px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-more-btn[data-v-cf042a4c]{display:block;margin:20px auto 0;padding:8px 28px}.view-header[data-v-cf042a4c]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.back-btn[data-v-cf042a4c]{display:inline-flex;align-items:center;gap:4px}.back-btn .material-icons[data-v-cf042a4c]{font-size:18px}.search-summary[data-v-cf042a4c]{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.songbook-header[data-v-cf042a4c]{display:flex;gap:18px;margin-bottom:18px}.songbook-cover[data-v-cf042a4c]{width:110px;height:110px;flex:0 0 110px;overflow:hidden;background:var(--paper-2);border:1px solid var(--hairline)}.songbook-cover img[data-v-cf042a4c]{width:100%;height:100%;object-fit:cover;display:block}.songbook-info[data-v-cf042a4c]{flex:1;min-width:0}.songbook-info h3[data-v-cf042a4c]{font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px}.songbook-intro[data-v-cf042a4c]{font-size:12px;color:var(--ink-2);line-height:1.5;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.songbook-counts[data-v-cf042a4c]{font-size:12px;color:var(--ink-3);margin:0}.jump-row[data-v-cf042a4c]{display:flex;gap:10px;margin-bottom:20px;max-width:420px}.jump-input[data-v-cf042a4c]{flex:1}.jump-btn[data-v-cf042a4c]{flex:0 0 auto}.sheet-list[data-v-cf042a4c]{display:flex;flex-direction:column;gap:8px}.sheet-row[data-v-cf042a4c]{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--radius);cursor:pointer;transition:border-color .15s ease}.sheet-row[data-v-cf042a4c]:hover{border-color:var(--ink-5)}.sheet-row-number[data-v-cf042a4c]{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;color:var(--accent-ink);background:var(--accent);border-radius:50%}.sheet-row-info[data-v-cf042a4c]{flex:1;min-width:0}.sheet-row-name[data-v-cf042a4c]{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row-tags[data-v-cf042a4c]{font-size:11px;color:var(--ink-3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row-arrow[data-v-cf042a4c]{flex:0 0 auto;color:var(--ink-3);font-size:20px}.book-empty[data-v-cf042a4c]{padding:12px 0}@media(max-width:600px){.songbook-cover[data-v-cf042a4c]{width:84px;height:84px;flex-basis:84px}}
