:root{--bg: #f3eee4;--bg-deep: #e8dfd0;--surface: rgba(255, 251, 244, .7);--surface-solid: #faf5ec;--surface-raised: #fffaf2;--field-bg: rgba(255, 252, 245, .62);--chip-bg: rgba(29, 32, 34, .045);--ink: #1c2022;--ink-soft: #393d3e;--muted: #6e6d66;--faint: #98958c;--line: rgba(28, 32, 34, .11);--line-strong: rgba(28, 32, 34, .22);--accent: #c14c33;--accent-deep: #953521;--accent-soft: rgba(193, 76, 51, .1);--accent-contrast: #fff9f0;--gold: #a9864d;--toast-bg: #202426;--toast-text: #f7f0e4;--toast-muted: rgba(247, 240, 228, .62);--backdrop: rgba(22, 20, 17, .52);--shadow: 0 28px 80px rgba(74, 57, 36, .1);--shadow-soft: 0 14px 42px rgba(74, 57, 36, .07);--button-shadow: 0 12px 30px rgba(34, 28, 20, .13);--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", SimSun, serif;--font-sans: "Inter", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--radius: 16px}:root[data-theme=dark]{--bg: #0a0f14;--bg-deep: #070b0f;--surface: rgba(17, 25, 33, .7);--surface-solid: #101820;--surface-raised: #16212b;--field-bg: rgba(7, 12, 17, .4);--chip-bg: rgba(240, 234, 223, .06);--ink: #eee8dc;--ink-soft: #d3ccbf;--muted: #989d9e;--faint: #6e767a;--line: rgba(238, 232, 220, .11);--line-strong: rgba(238, 232, 220, .22);--accent: #dd7a5b;--accent-deep: #f09576;--accent-soft: rgba(221, 122, 91, .14);--accent-contrast: #190e0a;--gold: #c6a66f;--toast-bg: #eee7db;--toast-text: #111820;--toast-muted: rgba(17, 24, 32, .62);--backdrop: rgba(1, 4, 7, .68);--shadow: 0 32px 90px rgba(0, 0, 0, .42);--shadow-soft: 0 18px 48px rgba(0, 0, 0, .3);--button-shadow: 0 12px 34px rgba(0, 0, 0, .32)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:32px;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .4s ease,color .4s ease}body,button,input,select,textarea{font-family:var(--font-sans)}button,input,select,textarea{color:inherit}button{padding:0;border:0;background:none;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,blockquote,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg{display:block}input,select,textarea{font-size:inherit}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{display:none;-webkit-appearance:none}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#root{min-height:100vh}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--accent);font-family:var(--font-sans);font-size:9px;font-weight:600;line-height:1.5;letter-spacing:.22em;text-transform:uppercase}.eyebrow__line{width:26px;height:1px;background:currentColor;opacity:.65}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 23px;border:1px solid transparent;border-radius:999px;background:var(--ink);color:var(--bg);box-shadow:var(--button-shadow);font-size:.81rem;font-weight:600;line-height:1.2;letter-spacing:.045em;white-space:nowrap;transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease,opacity .22s ease}.primary-button:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);transform:translateY(-1px);box-shadow:0 16px 34px var(--accent-soft)}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.44}.primary-button--small{min-height:40px;padding:0 18px;font-size:.76rem}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.78rem;font-weight:500;line-height:1.2;letter-spacing:.03em;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.secondary-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.secondary-button:disabled{opacity:.45}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 19px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:.78rem;font-weight:600;line-height:1.2;letter-spacing:.03em;white-space:nowrap;transition:filter .2s ease,opacity .2s ease}.danger-button:hover:not(:disabled){filter:brightness(1.08)}.danger-button:disabled{opacity:.52}.text-button{display:inline-flex;align-items:center;gap:6px;padding:4px 0;color:var(--accent-deep);font-size:.77rem;font-weight:500;letter-spacing:.02em;transition:gap .2s ease,color .2s ease}.text-button:hover{gap:9px;color:var(--accent)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--muted);transition:background-color .2s ease,color .2s ease,transform .2s ease}.icon-button:hover{background:var(--accent-soft);color:var(--accent)}.icon-button:active{transform:scale(.92)}.button-spinner{display:inline-block;width:14px;height:14px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.field{display:flex;flex-direction:column;gap:8px}.field__label{color:var(--ink-soft);font-size:.72rem;font-weight:600;line-height:1.4;letter-spacing:.07em}.field__label em{color:var(--accent);font-style:normal}.field__optional{margin-left:4px;color:var(--faint);font-size:.64rem;font-weight:400;letter-spacing:.04em}.field input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;outline:none;background:var(--field-bg);color:var(--ink);font-size:.88rem;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.field input::placeholder{color:var(--faint)}.field input:hover:not(:disabled){border-color:var(--muted)}.field input:focus{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 3px var(--accent-soft)}.field input:disabled{opacity:.6}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 100px var(--surface-solid) inset;transition:background-color 5000s ease-in-out 0s}.form-error{padding:10px 12px;border-left:2px solid var(--accent);border-radius:0 5px 5px 0;background:var(--accent-soft);color:var(--accent-deep);font-size:.78rem;line-height:1.55}.form-hint{margin-top:12px;color:var(--faint);font-size:.72rem;line-height:1.65}.page,.admin-page{position:relative;min-height:100vh;isolation:isolate;overflow-x:clip;background:linear-gradient(180deg,transparent 0%,transparent 78%,var(--bg-deep) 160%);transition:background-color .4s ease}.ambient{position:absolute;z-index:0;border-radius:50%;pointer-events:none;filter:blur(42px)}.ambient--one{top:-22vw;right:-16vw;width:58vw;height:58vw;background:radial-gradient(circle at 50% 50%,rgba(193,98,70,.21) 0%,rgba(193,98,70,.06) 38%,transparent 68%)}.ambient--two{top:48%;left:-22vw;width:50vw;height:50vw;background:radial-gradient(circle at 50% 50%,rgba(169,134,77,.18) 0%,rgba(169,134,77,.04) 42%,transparent 68%)}:root[data-theme=dark] .ambient--one{background:radial-gradient(circle at 50% 50%,rgba(68,104,132,.26) 0%,rgba(68,104,132,.06) 42%,transparent 70%)}:root[data-theme=dark] .ambient--two{background:radial-gradient(circle at 50% 50%,rgba(121,73,61,.2) 0%,rgba(121,73,61,.04) 44%,transparent 70%)}.grain{position:fixed;inset:0;z-index:90;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:multiply}:root[data-theme=dark] .grain{opacity:.055;mix-blend-mode:screen}.site-header{position:relative;z-index:20;padding:26px 0 0}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1360px;margin:0 auto;padding:0 48px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;line-height:1}.brand__mark{flex-shrink:0;color:var(--ink);transition:transform .4s ease}.brand:hover .brand__mark{transform:rotate(-14deg)}.brand__word{color:var(--ink);font-family:var(--font-serif);font-size:1.48rem;font-weight:600;letter-spacing:.11em;white-space:nowrap}.brand__rule{width:28px;height:1px;margin:0 2px;background:var(--line-strong)}.brand__sub{color:var(--faint);font-family:var(--font-sans);font-size:8px;font-weight:500;letter-spacing:.21em;white-space:nowrap;transform:translateY(1px)}.site-nav{display:flex;align-items:center;gap:7px}.site-nav__link{position:relative;padding:9px 13px;color:var(--muted);font-size:.76rem;letter-spacing:.09em;transition:color .2s ease}.site-nav__link:after{content:"";position:absolute;right:13px;bottom:3px;left:13px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.site-nav__link:hover{color:var(--ink)}.site-nav__link:hover:after{transform:scaleX(1);transform-origin:left}.admin-door{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:.71rem;letter-spacing:.055em;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.admin-door:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.theme-menu{position:relative;z-index:40}.theme-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft);font-size:.71rem;letter-spacing:.04em;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.theme-trigger:hover{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink)}.theme-trigger__label{transform:translateY(.5px)}.theme-trigger__chevron{color:var(--faint)}.theme-menu--compact .theme-trigger{width:38px;padding:0}.theme-menu--compact .theme-trigger__chevron{display:none}.theme-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:244px;padding:10px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-solid);box-shadow:var(--shadow);animation:popover-in .2s ease both}.theme-popover__eyebrow{margin:2px 8px 8px;color:var(--faint);font-size:8px;font-weight:600;letter-spacing:.2em}.theme-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border-radius:9px;color:var(--ink-soft);text-align:left;transition:background-color .18s ease,color .18s ease}.theme-option:hover{background:var(--chip-bg);color:var(--ink)}.theme-option.is-active{background:var(--accent-soft);color:var(--ink)}.theme-option__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.theme-option.is-active .theme-option__icon{border-color:var(--accent);color:var(--accent)}.theme-option__copy{display:flex;flex-direction:column;min-width:0;line-height:1.35}.theme-option__label{font-size:.79rem;font-weight:500}.theme-option__caption{margin-top:2px;color:var(--faint);font-size:.65rem}.theme-option__check{margin-left:auto;flex-shrink:0;color:var(--accent)}.hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:clamp(20px,4vw,68px);width:100%;max-width:1360px;min-height:calc(100svh - 84px);margin:0 auto;padding:64px 48px 112px}.hero__copy{position:relative;z-index:2}.hero__eyebrow{margin-bottom:clamp(30px,5vh,54px);color:var(--muted);font-size:8px;letter-spacing:.24em}.hero__issue{margin-left:auto;color:var(--faint);letter-spacing:.16em}.hero__title{color:var(--ink);font-family:var(--font-serif);font-size:clamp(5.2rem,10.2vw,9.8rem);font-weight:500;line-height:.9;letter-spacing:-.06em;text-wrap:balance}.hero__title-dot{display:inline-block;margin-left:.035em;color:var(--accent);font-size:.34em;line-height:1;vertical-align:.22em;letter-spacing:0}.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,4.5vh,44px)}.hero__action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 17px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink-soft);font-size:.72rem;font-weight:500;letter-spacing:.08em;white-space:nowrap;transition:border-color .22s ease,background-color .22s ease,color .22s ease,transform .22s ease}.hero__action svg{transition:transform .22s ease}.hero__action:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep);transform:translateY(-1px)}.hero__action:hover svg{transform:translate(2px,-2px)}.hero__action--primary{border-color:var(--ink);background:var(--ink);color:var(--bg)}.hero__action--primary:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.hero__meta{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin-top:clamp(32px,5vh,50px)}.hero__stat{display:inline-flex;align-items:baseline;gap:7px;color:var(--faint);font-size:.68rem;letter-spacing:.06em;white-space:nowrap}.hero__stat strong{color:var(--ink);font-family:var(--font-serif);font-size:1.48rem;font-weight:500;line-height:1;letter-spacing:.015em}.hero__stat--heart{align-items:center;color:var(--muted)}.hero__stat--heart svg{color:var(--accent);margin-right:1px}.hero__stat--heart strong{font-size:1.15rem}.hero__meta-divider{width:1px;height:24px;background:var(--line-strong)}.hero__scroll{display:inline-flex;align-items:center;gap:11px;margin-top:clamp(34px,5.5vh,58px);color:var(--faint);font-size:.66rem;letter-spacing:.16em;transition:color .2s ease}.hero__scroll:hover{color:var(--accent)}.hero__scroll-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;animation:float-soft 3.4s ease-in-out infinite}.hero__visual{display:flex;align-items:center;justify-content:flex-end;min-width:0}.orbit-system{position:relative;display:grid;place-items:center;width:min(100%,530px);aspect-ratio:1}.orbit{position:absolute;border-radius:50%;pointer-events:none}.orbit--outer{inset:0;border:1px solid var(--line);animation:orbit-turn 90s linear infinite}.orbit--outer:after{content:"";position:absolute;inset:-1px;border:1px solid transparent;border-top-color:var(--accent);border-radius:50%;opacity:.5;transform:rotate(28deg)}.orbit--inner{inset:14%;border:1px dashed var(--line-strong)}.orbit__dot{position:absolute;z-index:2;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.orbit__dot--one{top:8%;left:27%;width:7px;height:7px}.orbit__dot--two{right:16%;bottom:13%;width:4px;height:4px;background:var(--gold);box-shadow:0 0 0 3px var(--chip-bg)}.orbit__dot--three{top:46%;right:0;width:5px;height:5px;opacity:.72}.celestial{position:relative;display:grid;place-items:center;width:58%;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 35% 28%,var(--surface-raised),transparent 58%),var(--surface-solid);box-shadow:0 38px 90px #47362221,inset 0 0 60px #c14c3309;animation:breathe 7s ease-in-out infinite}:root[data-theme=dark] .celestial{box-shadow:0 42px 100px #0000007a,inset 0 0 70px #dd7a5b0d}.celestial:before{content:"";position:absolute;inset:9%;border:1px dashed var(--line);border-radius:50%}.celestial:after{content:"";position:absolute;inset:19%;border:1px solid var(--line);border-radius:50%;opacity:.55}.celestial__halo{position:absolute;inset:-27%;z-index:-1;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 65%);filter:blur(10px)}.celestial__character{position:relative;z-index:2;color:var(--ink);font-family:var(--font-serif);font-size:clamp(5.4rem,11vw,9rem);font-weight:500;line-height:1;letter-spacing:0;text-shadow:0 10px 34px rgba(60,45,28,.1);transform:translateY(-.02em)}.celestial__caption{position:absolute;bottom:15%;z-index:2;color:var(--faint);font-family:var(--font-sans);font-size:7px;letter-spacing:.2em;white-space:nowrap}.hero__vertical{position:absolute;top:50%;right:-9px;color:var(--faint);font-family:var(--font-serif);font-size:9px;letter-spacing:.38em;line-height:1;writing-mode:vertical-rl;transform:translateY(-50%)}.hero__folio{position:absolute;bottom:5%;left:5%;display:flex;align-items:center;gap:10px;color:var(--faint);font-family:var(--font-sans);font-size:7px;letter-spacing:.2em;white-space:nowrap}.hero__folio span{width:38px;height:1px;background:var(--line-strong)}.songbook{position:relative;z-index:1;width:100%;max-width:1360px;margin:0 auto;padding:0 48px 120px}.songbook__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--line-strong)}.songbook__heading .eyebrow{margin-bottom:11px}.songbook__heading h2{color:var(--ink);font-family:var(--font-serif);font-size:clamp(2.6rem,4vw,3.9rem);font-weight:500;line-height:1;letter-spacing:-.035em}.songbook__hint{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;color:var(--faint);font-size:.68rem;letter-spacing:.07em;white-space:nowrap}.songbook__hint-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.control-deck{margin-bottom:25px}.search-row{display:flex;align-items:stretch;gap:12px}.search-field{display:flex;align-items:center;flex:1;gap:11px;min-width:0;height:54px;padding:0 17px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);box-shadow:0 8px 24px #4a392406;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.search-field:focus-within{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 4px var(--accent-soft)}.search-field__icon{flex-shrink:0;color:var(--faint);transition:color .2s ease}.search-field:focus-within .search-field__icon{color:var(--accent)}.search-field input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.94rem;letter-spacing:.015em}.search-field input::placeholder{color:var(--faint)}.search-field__clear{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border-radius:50%;background:var(--chip-bg);color:var(--muted);transition:background-color .2s ease,color .2s ease}.search-field__clear:hover{background:var(--accent-soft);color:var(--accent)}.search-field__shortcut{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;flex-shrink:0;border:1px solid var(--line);border-radius:5px;background:var(--surface-raised);color:var(--faint);font-family:var(--font-mono);font-size:10px;line-height:1}.random-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;height:54px;padding:0 20px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--bg);font-size:.78rem;font-weight:500;letter-spacing:.055em;white-space:nowrap;transition:background-color .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}.random-button:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);transform:translateY(-1px)}.random-button:active{transform:translateY(0)}.random-button__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;opacity:.7}.filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin-top:14px}.filter-control{display:flex;flex-direction:column;gap:5px;min-width:168px}.filter-control__label{padding-left:3px;color:var(--faint);font-size:8px;font-weight:600;letter-spacing:.19em;line-height:1.4;text-transform:uppercase}.select-shell{position:relative;display:block}.select-shell select{width:100%;height:43px;padding:0 34px 0 13px;border:1px solid var(--line);border-radius:8px;outline:none;appearance:none;background:var(--surface);color:var(--ink-soft);font-size:.79rem;letter-spacing:.015em;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.select-shell select:hover{border-color:var(--line-strong);background:var(--surface-raised)}.select-shell select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-control.is-active .select-shell select{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.select-shell__icon{position:absolute;top:50%;right:12px;color:var(--faint);pointer-events:none;transform:translateY(-50%)}.filter-row__meta{display:flex;align-items:center;gap:14px;margin-left:auto;padding-bottom:11px;color:var(--faint);font-size:.72rem;letter-spacing:.03em;white-space:nowrap}.filter-row__meta strong{color:var(--ink);font-family:var(--font-serif);font-size:.95rem;font-weight:600}.clear-filters{display:inline-flex;align-items:center;gap:4px;padding:2px 0;color:var(--accent-deep);font-size:.7rem;transition:color .2s ease}.clear-filters:hover{color:var(--accent)}.song-list-shell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color .4s ease,border-color .4s ease}.song-columns{display:grid;grid-template-columns:52px minmax(180px,2.2fr) minmax(110px,1fr) 88px 92px 92px;align-items:center;gap:16px;padding:18px 28px 12px;border-bottom:1px solid var(--line);color:var(--faint);font-size:8px;font-weight:600;letter-spacing:.16em;line-height:1.4}.song-columns span:last-child{text-align:right}.song-group__heading{display:flex;align-items:center;gap:8px;padding:17px 28px 8px;color:var(--muted)}.song-group__heading h3{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em}.song-group__icon{display:inline-flex;color:var(--accent)}.song-group__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:19px;padding:0 5px;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-family:var(--font-mono);font-size:8px;line-height:1}.song-group__note{margin-left:auto;color:var(--accent);font-size:8px;letter-spacing:.15em}.song-group+.song-group .song-group__heading{padding-top:20px;border-top:1px solid var(--line)}.song-row{position:relative;display:grid;grid-template-columns:52px minmax(180px,2.2fr) minmax(110px,1fr) 88px 92px 92px;align-items:center;gap:16px;min-height:72px;padding:0 28px;border-top:1px solid var(--line);transition:background-color .18s ease}.song-row:hover{background:var(--surface-raised)}.song-row.is-favorite{background-image:linear-gradient(90deg,var(--accent-soft),transparent 46%)}.song-row.is-favorite:hover{background-color:var(--surface-raised)}.song-number{color:var(--faint);font-family:var(--font-mono);font-size:9px;letter-spacing:.05em}.song-main{display:flex;align-items:center;gap:10px;min-width:0}.song-title{position:relative;min-width:0;overflow:hidden;color:var(--ink);font-family:var(--font-serif);font-size:1.04rem;font-weight:600;line-height:1.45;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap;cursor:copy;transition:color .18s ease}.song-title:hover{color:var(--accent)}.song-copy-hint{display:inline-flex;align-items:center;gap:3px;max-width:0;overflow:hidden;opacity:0;color:var(--faint);font-size:8px;letter-spacing:.05em;white-space:nowrap;transition:opacity .18s ease,max-width .18s ease}.song-row:hover .song-copy-hint{max-width:72px;opacity:1}.song-mobile-artist{display:none}.song-artist{overflow:hidden;color:var(--muted);font-size:.82rem;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}.song-tag{display:inline-flex;align-items:center;justify-self:start;gap:5px;height:25px;padding:0 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.68rem;letter-spacing:.02em;line-height:1;white-space:nowrap}.song-tag__dot{width:4px;height:4px;flex-shrink:0;border-radius:50%;background:var(--accent)}.song-tag--genre{border-color:transparent;background:var(--chip-bg);color:var(--faint)}.song-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.song-actions .icon-button{opacity:.78}.song-row:hover .song-actions .icon-button,.song-actions .icon-button:focus-visible,.song-actions .icon-button.is-active{opacity:1}.icon-button--favorite.is-active{background:var(--accent-soft);color:var(--accent)}.icon-button--favorite.is-active:hover{background:var(--accent);color:var(--accent-contrast)}.icon-button--copy:hover{background:var(--chip-bg);color:var(--ink)}.song-list-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 28px;border-top:1px solid var(--line);background:var(--chip-bg);color:var(--faint);font-size:.67rem;letter-spacing:.04em}.song-list-footer__note{color:var(--faint);opacity:.78}.skeleton{display:block;height:11px;border-radius:4px;background:linear-gradient(90deg,var(--line) 20%,var(--line-strong) 45%,var(--line) 70%);background-size:220% 100%;animation:shimmer 1.8s ease-in-out infinite}.skeleton--num{width:18px}.skeleton--title{width:min(72%,260px);height:13px}.skeleton--artist{width:76px}.skeleton--tag{width:58px;height:21px;border-radius:999px}.skeleton--tag-small{width:46px}.skeleton-list{padding-bottom:8px}.skeleton-row{display:grid;grid-template-columns:52px minmax(180px,2.2fr) minmax(110px,1fr) 88px 92px;align-items:center;gap:16px;min-height:72px;padding:0 28px;border-top:1px solid var(--line)}.skeleton-row:first-child{border-top:0}.skeleton-row .skeleton--tag:last-of-type{justify-self:end}.load-error{display:flex;align-items:center;gap:16px;padding:36px 28px}.load-error__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.load-error h3{margin-bottom:3px;font-family:var(--font-serif);font-size:1.1rem;font-weight:600}.load-error p{color:var(--muted);font-size:.78rem;line-height:1.55}.load-error .secondary-button{margin-left:auto;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:78px 24px 82px;text-align:center}.empty-state__orb{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:20px;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--surface-raised),transparent);color:var(--accent);box-shadow:var(--shadow-soft)}.empty-state h3{font-family:var(--font-serif);font-size:1.32rem;font-weight:600;letter-spacing:.01em}.empty-state p{margin-top:7px;color:var(--muted);font-size:.8rem}.empty-state .text-button{margin-top:18px}.closing-note{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:12px 48px 120px;text-align:center}.closing-note__mark{display:inline-flex;margin-bottom:20px;color:var(--accent);opacity:.8}.closing-note blockquote{color:var(--ink-soft);font-family:var(--font-serif);font-size:clamp(1.65rem,3vw,2.65rem);font-weight:400;line-height:1.65;letter-spacing:.01em}.closing-note p{margin-top:22px;color:var(--accent);font-size:.67rem;letter-spacing:.17em}.site-footer{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:30px 48px 36px;border-top:1px solid var(--line)}.site-footer__brand{display:flex;flex-direction:column;gap:4px;min-width:0}.site-footer__word{color:var(--ink);font-family:var(--font-serif);font-size:1.1rem;font-weight:600;letter-spacing:.13em;line-height:1.2}.site-footer__tag{color:var(--faint);font-size:7px;letter-spacing:.19em}.site-footer__line{color:var(--faint);font-family:var(--font-serif);font-size:.74rem;letter-spacing:.08em;text-align:center}.site-footer__links{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--faint);font-size:.67rem;letter-spacing:.035em}.site-footer__dot{width:3px;height:3px;border-radius:50%;background:var(--faint);opacity:.5}.site-footer__static{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--faint)}.site-footer__links a{display:inline-flex;align-items:center;gap:4px;color:var(--muted);transition:color .2s ease}.site-footer__links a:hover{color:var(--accent)}.floating-random{position:fixed;right:28px;bottom:28px;z-index:65;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .22s ease,color .22s ease,transform .22s ease,border-color .22s ease}.floating-random:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);transform:translateY(-3px) rotate(-8deg)}.toast-region{position:fixed;bottom:28px;left:50%;z-index:300;display:flex;justify-content:center;width:min(92vw,430px);pointer-events:none;transform:translate(-50%)}.toast{position:relative;display:flex;align-items:center;gap:12px;width:100%;overflow:hidden;padding:13px 16px 15px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:var(--toast-bg);color:var(--toast-text);box-shadow:0 22px 55px #0000003d;animation:toast-in .34s cubic-bezier(.2,.8,.2,1) both}:root[data-theme=dark] .toast{border-color:#00000014}.toast__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#ffffff12;color:var(--accent)}:root[data-theme=dark] .toast__icon{border-color:#1118201f;background:#1118200f}.toast--shuffle .toast__icon{color:#e2a26e}:root[data-theme=dark] .toast--shuffle .toast__icon{color:#b25c36}.toast--check .toast__icon{color:#97b58b}:root[data-theme=dark] .toast--check .toast__icon{color:#557e4d}.toast--warning .toast__icon{color:#dfb46e}:root[data-theme=dark] .toast--warning .toast__icon{color:#97651d}.toast__body{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.45}.toast__message{overflow:hidden;font-size:.81rem;font-weight:600;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.toast__detail{overflow:hidden;color:var(--toast-muted);font-size:.69rem;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.toast__timer{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--accent);transform-origin:left;animation:toast-timer 3s linear forwards}.modal{width:min(560px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;outline:none;background:transparent;color:var(--ink)}.modal::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal[open]{animation:dialog-in .24s cubic-bezier(.2,.8,.2,1) both}.modal--form{width:min(680px,calc(100vw - 32px))}.modal--confirm{width:min(460px,calc(100vw - 32px))}.modal__surface{position:relative;max-height:calc(100dvh - 32px);overflow-y:auto;padding:34px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface-solid);box-shadow:0 38px 110px #0000004d}.modal__close{flex-shrink:0;border:1px solid var(--line)}.admin-page{display:flex;flex-direction:column}.admin-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--bg)}@supports (background: color-mix(in srgb,red 50%,transparent)){.admin-header{background:color-mix(in srgb,var(--bg) 66%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.admin-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1360px;margin:0 auto;padding:20px 44px}.brand--admin{gap:11px}.brand--admin .brand__word{font-size:1.32rem}.admin-header__slash{margin:0 1px;color:var(--faint);font-family:var(--font-serif);font-size:.9rem}.admin-header__actions{display:flex;align-items:center;gap:8px}.admin-header__public{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 11px;border-radius:8px;color:var(--muted);font-size:.72rem;letter-spacing:.03em;white-space:nowrap;transition:color .2s ease,background-color .2s ease}.admin-header__public:hover{background:var(--chip-bg);color:var(--accent)}.admin-header__logout{height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);font-size:.7rem;letter-spacing:.06em;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.admin-header__logout:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.admin-header__logout:disabled{opacity:.5}.admin-loading{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:calc(100svh - 86px);padding:40px;color:var(--faint);font-size:.74rem;letter-spacing:.1em}.loader-orbit{position:relative;display:block;width:46px;height:46px;border:1px solid var(--line-strong);border-radius:50%;animation:orbit-turn 2.4s linear infinite}.loader-orbit__dot{position:absolute;top:-3.5px;left:50%;width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translate(-50%);box-shadow:0 0 0 4px var(--accent-soft)}.admin-login{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,510px) minmax(0,1fr);align-items:center;gap:clamp(44px,7vw,112px);width:100%;max-width:1190px;margin:0 auto;padding:60px 44px 36px}.login-card{position:relative;padding:42px 42px 28px;border:1px solid var(--line-strong);border-radius:2px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card:before{content:"";position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}.login-card>*{position:relative;z-index:1}.login-card__topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:38px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--faint);font-size:7px;letter-spacing:.21em;line-height:1.3}.login-seal{position:absolute;top:-22px;right:36px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--accent);border-radius:50%;background:var(--bg);color:var(--accent);box-shadow:0 10px 24px #00000014}.login-card__eyebrow{margin-bottom:14px;color:var(--muted);font-size:8px}.login-card h1{color:var(--ink);font-family:var(--font-serif);font-size:clamp(2.2rem,3.4vw,2.9rem);font-weight:500;line-height:1.12;letter-spacing:-.035em}.login-card h1 span{margin-left:.08em;color:var(--accent)}.login-card__lede{margin-top:12px;color:var(--muted);font-family:var(--font-serif);font-size:.88rem;line-height:1.8;letter-spacing:.035em}.login-form{display:flex;flex-direction:column;gap:14px;margin-top:28px}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;height:50px;padding:0 48px 0 14px;border:1px solid var(--line-strong);border-radius:8px;outline:none;background:var(--field-bg);color:var(--ink);font-size:.9rem;letter-spacing:.06em;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.password-field input::placeholder{color:var(--faint);letter-spacing:.02em}.password-field:focus-within input{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 3px var(--accent-soft)}.password-field.has-error input{border-color:var(--accent)}.password-field__toggle{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--faint);transition:color .2s ease,background-color .2s ease}.password-field__toggle:hover{background:var(--chip-bg);color:var(--ink)}.login-submit{width:100%;margin-top:3px}.login-submit svg{transition:transform .2s ease}.login-submit:hover:not(:disabled) svg{transform:translate(2px,-2px)}.login-card__notice{margin-top:14px;padding:9px 11px;border-left:2px solid var(--gold);background:#a9864d17;color:var(--muted);font-size:.7rem;line-height:1.55}.login-card__privacy{display:flex;align-items:center;gap:6px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--faint);font-size:.66rem;letter-spacing:.025em}.login-aside{display:flex;flex-direction:column;align-items:center;min-width:0}.keeper-art{position:relative;display:grid;place-items:center;width:min(100%,430px);aspect-ratio:1}.keeper-art:before{content:"";position:absolute;inset:28%;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 33% 27%,var(--surface-raised),transparent 60%),var(--surface-solid);box-shadow:0 34px 80px #32261824}:root[data-theme=dark] .keeper-art:before{box-shadow:0 38px 95px #00000070}.keeper-art__orbit{position:absolute;inset:2%;border:1px solid var(--line);border-radius:50%}.keeper-art__orbit--small{inset:17%;border-style:dashed;border-color:var(--line-strong)}.keeper-art__dot{position:absolute;top:12%;right:22%;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.keeper-art__kanji{position:relative;z-index:1;color:var(--ink);font-family:var(--font-serif);font-size:clamp(7.5rem,15vw,12rem);font-weight:500;line-height:1;text-shadow:0 16px 42px rgba(54,40,24,.1)}.keeper-art__side{position:absolute;top:50%;right:-2%;color:var(--faint);font-size:7px;letter-spacing:.23em;writing-mode:vertical-rl;transform:translateY(-50%)}.login-aside__quote{display:flex;flex-direction:column;align-items:center;margin-top:16px;text-align:center}.login-aside__quote>svg{margin-bottom:12px;color:var(--accent);opacity:.8}.login-aside__quote p{color:var(--ink-soft);font-family:var(--font-serif);font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.8;letter-spacing:.055em}.login-aside__quote span{margin-top:15px;color:var(--faint);font-size:8px;letter-spacing:.19em}.admin-login-footer{position:relative;z-index:1;padding:6px 24px 28px;color:var(--faint);font-size:7px;letter-spacing:.2em;text-align:center}.admin-main{position:relative;z-index:1;width:100%;max-width:1360px;margin:0 auto;padding:52px 44px 72px}.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:34px}.admin-hero .eyebrow{margin-bottom:16px;color:var(--muted)}.admin-hero h1{color:var(--ink);font-family:var(--font-serif);font-size:clamp(2.7rem,4.6vw,4.4rem);font-weight:500;line-height:1.04;letter-spacing:-.045em}.admin-hero__dot{color:var(--accent)}.admin-hero__lede{max-width:560px;margin-top:15px;color:var(--muted);font-family:var(--font-serif);font-size:.9rem;line-height:1.8;letter-spacing:.02em}.admin-hero>.primary-button{margin-bottom:3px}.admin-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:3px}.admin-hero__actions .primary-button,.admin-hero__actions .secondary-button{min-height:44px}.security-banner{display:flex;align-items:flex-start;gap:9px;margin-bottom:18px;padding:12px 15px;border:1px solid rgba(169,134,77,.3);border-radius:8px;background:#a9864d14;color:var(--muted);font-size:.75rem;line-height:1.65}.security-banner svg{margin-top:2px;flex-shrink:0;color:var(--gold)}.security-banner code{padding:1px 4px;border-radius:3px;background:var(--chip-bg);color:var(--ink-soft);font-family:var(--font-mono);font-size:.9em}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:34px}.stat-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:142px;overflow:hidden;padding:20px 20px 17px;border:1px solid var(--line);border-radius:11px;background:var(--surface);transition:border-color .2s ease,background-color .2s ease}.stat-card:hover{border-color:var(--line-strong);background:var(--surface-raised)}.stat-card__label{color:var(--muted);font-size:.69rem;letter-spacing:.07em}.stat-card strong{color:var(--ink);font-family:var(--font-serif);font-size:2.5rem;font-weight:500;line-height:1;letter-spacing:.01em}.stat-card__date{padding:8px 0 3px;font-size:1.65rem!important;letter-spacing:.02em!important}.stat-card__foot{color:var(--faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.16em}.stat-card__glyph{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--font-serif);font-size:1.2rem;opacity:.35}.stat-card--quiet{background:transparent}.admin-library{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-library__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px 20px}.admin-library__heading .eyebrow{margin-bottom:9px;color:var(--faint)}.admin-library__heading h2{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-family:var(--font-serif);font-size:1.7rem;font-weight:500;line-height:1.15;letter-spacing:-.02em}.admin-library__heading h2 span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:21px;padding:0 6px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-family:var(--font-mono);font-size:9px;letter-spacing:0}.search-field--admin{flex:0 0 310px;height:43px;padding:0 13px;border-radius:8px;box-shadow:none}.search-field--admin input{font-size:.8rem}.search-field--admin .search-field__shortcut{width:20px;height:20px;font-size:9px}.admin-list__head{display:grid;grid-template-columns:42px minmax(200px,1.6fr) minmax(110px,.8fr) 190px 146px;align-items:center;gap:16px;padding:11px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--chip-bg);color:var(--faint);font-size:8px;font-weight:600;letter-spacing:.13em;line-height:1.4}.admin-list__head span:last-child{text-align:right}.admin-row{display:grid;grid-template-columns:42px minmax(200px,1.6fr) minmax(110px,.8fr) 190px 146px;align-items:center;gap:16px;min-height:73px;padding:0 26px;border-top:1px solid var(--line);transition:background-color .18s ease}.admin-row:first-child{border-top:0}.admin-row:hover{background:var(--surface-raised)}.admin-row__index{color:var(--faint);font-family:var(--font-mono);font-size:9px;letter-spacing:.05em}.admin-row__main{min-width:0}.admin-row__main strong{display:block;overflow:hidden;color:var(--ink);font-family:var(--font-serif);font-size:1rem;font-weight:600;line-height:1.45;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.admin-row__mobile-artist{display:none}.admin-row__artist{overflow:hidden;color:var(--muted);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.admin-row__tags{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.admin-row__tags .song-tag{height:23px;font-size:.65rem}.admin-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.admin-action{display:inline-flex;align-items:center;gap:5px;padding:7px 8px;border-radius:6px;color:var(--muted);font-size:.7rem;letter-spacing:.02em;transition:background-color .18s ease,color .18s ease}.admin-action:hover{background:var(--accent-soft);color:var(--accent-deep)}.admin-action--danger:hover{background:var(--accent);color:var(--accent-contrast)}.admin-list__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 26px;border-top:1px solid var(--line);background:var(--chip-bg);color:var(--faint);font-size:.67rem;letter-spacing:.035em}.admin-list__save-note{opacity:.72}.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:62px 24px;text-align:center}.admin-empty__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;border:1px solid var(--line-strong);border-radius:50%;color:var(--accent)}.admin-empty h3{font-family:var(--font-serif);font-size:1.2rem;font-weight:600}.admin-empty p{margin-top:6px;color:var(--faint);font-size:.77rem}.admin-empty .text-button{margin-top:14px}.admin-empty .primary-button{margin-top:16px}.admin-footnote{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:22px;color:var(--faint);font-size:.67rem;line-height:1.6;letter-spacing:.02em;text-align:center}.admin-skeleton{padding-bottom:3px}.admin-skeleton__row{display:grid;grid-template-columns:42px minmax(200px,1.6fr) minmax(110px,.8fr) 190px;align-items:center;gap:16px;min-height:73px;padding:0 26px;border-top:1px solid var(--line)}.admin-skeleton__row:first-child{border-top:0}.admin-skeleton__row .skeleton--num{width:16px}.admin-skeleton__row .skeleton--title{width:min(58%,220px)}.admin-skeleton__row .skeleton--artist{width:68px}.admin-skeleton__row .skeleton--tag{width:96px;height:20px}.load-error--admin{padding:32px 26px}.admin-form{position:relative}.admin-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.admin-form__header .eyebrow{margin-bottom:8px;color:var(--accent)}.admin-form__header h2{color:var(--ink);font-family:var(--font-serif);font-size:1.9rem;font-weight:500;line-height:1.15;letter-spacing:-.025em}.admin-form__description{margin-top:8px;color:var(--muted);font-size:.78rem;line-height:1.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.field--wide{grid-column:1 / -1}.admin-form__footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.admin-form .form-error{margin-top:16px}.modal--batch{width:min(740px,calc(100vw - 32px))}.batch-form .admin-form__description code{padding:1px 4px;border-radius:3px;background:var(--chip-bg);color:var(--ink-soft);font-family:var(--font-mono);font-size:.74em;white-space:nowrap}.batch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;margin-bottom:8px}.batch-toolbar__actions{display:flex;align-items:center;gap:12px}.batch-toolbar__limit{color:var(--faint);font-size:.66rem;letter-spacing:.035em}.batch-textarea{width:100%;min-height:190px;max-height:40vh;resize:vertical;padding:14px;border:1px solid var(--line-strong);border-radius:8px;outline:none;background:var(--field-bg);color:var(--ink);font-family:var(--font-mono);font-size:.78rem;line-height:1.85;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.batch-textarea::placeholder{color:var(--faint)}.batch-textarea:hover:not(:disabled){border-color:var(--muted)}.batch-textarea:focus{border-color:var(--accent);background:var(--surface-raised);box-shadow:0 0 0 3px var(--accent-soft)}.batch-textarea:disabled{opacity:.6}.batch-parsed{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-top:10px;color:var(--muted);font-size:.72rem}.batch-parsed strong{color:var(--ink);font-family:var(--font-mono)}.batch-parsed__ok{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.batch-parsed__error{color:var(--accent)}.batch-errors{display:flex;flex-direction:column;gap:4px;max-height:140px;margin-top:9px;padding:10px 12px;overflow-y:auto;border-left:2px solid var(--accent);border-radius:0 6px 6px 0;background:var(--accent-soft);color:var(--ink-soft);font-size:.72rem;line-height:1.65;list-style:none}.batch-errors li>span{margin-right:6px;color:var(--accent-deep);font-weight:600;white-space:nowrap}.batch-errors__more{color:var(--faint);font-style:italic}.batch-errors__more>span{display:none}.batch-preview{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 10px;margin-top:12px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--chip-bg);font-size:.7rem}.batch-preview__label{color:var(--faint);letter-spacing:.06em;white-space:nowrap}.batch-preview__items{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.batch-preview__item{color:var(--ink-soft)}.batch-preview__item small{margin-left:5px;color:var(--faint);font-size:.65rem}.batch-preview__more{color:var(--faint)}.batch-form .form-error{margin-top:14px}.batch-tabs{display:flex;align-items:center;gap:4px;margin-top:20px;border-bottom:1px solid var(--line)}.batch-tab{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-bottom:2px solid transparent;color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.02em;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.batch-tab:hover{color:var(--ink)}.batch-tab.is-active{border-bottom-color:var(--accent);color:var(--ink)}.batch-tab>span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;background:var(--chip-bg);color:var(--faint);font-family:var(--font-mono);font-size:.62rem;font-weight:500}.batch-tab.is-active>span{background:var(--accent-soft);color:var(--accent-deep)}.batch-mode{display:inline-flex;gap:2px;margin-top:16px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg)}.batch-mode__button{min-height:32px;padding:0 13px;border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.02em;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.batch-mode__button:hover{color:var(--ink)}.batch-mode__button.is-active{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 4px #1e18101a}.batch-help{margin-top:14px;color:var(--muted);font-size:.74rem;line-height:1.7}.batch-help code{padding:1px 4px;border-radius:3px;background:var(--chip-bg);color:var(--ink-soft);font-family:var(--font-mono);font-size:.74em;white-space:nowrap}.batch-resolve-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px}.batch-resolve-count{color:var(--faint);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em}.batch-textarea--links{min-height:150px;word-break:break-all}.batch-preview--resolved{border-style:solid;border-color:var(--line-strong);background:var(--accent-soft)}.batch-preview--resolved .batch-preview__label{color:var(--accent-deep)}.batch-manage-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--chip-bg)}.batch-manage-summary p{max-width:62ch;color:var(--muted);font-size:.72rem;line-height:1.65}.batch-manage-summary>span{flex-shrink:0;color:var(--faint);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}.batch-manage-summary strong{color:var(--ink);font-weight:600}.batch-manage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;margin-top:9px}.batch-manage-warning{color:var(--accent-deep);font-size:.68rem;font-weight:500}.batch-manage-list{max-height:330px;margin-top:7px;overflow-y:auto;border:1px solid var(--line-strong);border-radius:10px;background:var(--field-bg);overscroll-behavior:contain}.batch-manage-item{display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:52px;padding:8px 12px;border-top:1px solid var(--line);cursor:pointer;transition:background-color .16s ease}.batch-manage-item:first-child{border-top:0}.batch-manage-item:hover{background:var(--chip-bg)}.batch-manage-item.is-selected{background:var(--accent-soft)}.batch-manage-item input{width:15px;height:15px;margin:0;accent-color:var(--accent);cursor:pointer}.batch-manage-item__main{min-width:0}.batch-manage-item__main strong{display:block;overflow:hidden;color:var(--ink);font-size:.8rem;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.batch-manage-item__main small{display:block;overflow:hidden;color:var(--muted);font-size:.68rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.batch-manage-item__tags{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px}.batch-manage-item__tags em{padding:2px 6px;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-size:.6rem;font-style:normal;line-height:1.4;white-space:nowrap}.batch-manage-item.is-selected .batch-manage-item__tags em{border-color:var(--line-strong)}.batch-manage-empty{padding:34px 18px;color:var(--faint);font-size:.76rem;text-align:center}.batch-confirm{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;border:1px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:var(--ink-soft);font-size:.72rem;line-height:1.55}.batch-confirm>svg{flex-shrink:0;color:var(--accent)}.batch-confirm p{flex:1}.batch-confirm .text-button{flex-shrink:0;color:var(--accent-deep)}.confirm-dialog{text-align:left}.confirm-dialog__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:18px;border:1px solid var(--accent);border-radius:50%;background:var(--accent-soft);color:var(--accent)}.confirm-dialog .eyebrow{margin-bottom:9px;color:var(--accent)}.confirm-dialog h2{color:var(--ink);font-family:var(--font-serif);font-size:1.75rem;font-weight:500;line-height:1.2;letter-spacing:-.02em}.confirm-dialog__text{margin-top:10px;color:var(--muted);font-size:.8rem;line-height:1.7}.confirm-dialog .form-error{margin-top:15px}.confirm-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:1180px){.admin-row,.admin-list__head{grid-template-columns:38px minmax(180px,1.5fr) minmax(100px,.7fr) 174px 132px;gap:12px}.admin-row{padding:0 22px}.admin-list__head{padding:11px 22px}.admin-row__actions{gap:0}.admin-action{padding:7px 6px}.admin-list__footer{padding:13px 22px}.admin-library__heading{padding:22px 22px 18px}.admin-skeleton__row{grid-template-columns:38px minmax(180px,1.5fr) minmax(100px,.7fr) 174px;gap:12px;padding:0 22px}}@media(max-width:1080px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);padding-right:38px;padding-left:38px}.site-header__inner,.songbook{padding-right:38px;padding-left:38px}.hero__title{font-size:clamp(4.9rem,9.5vw,8.6rem)}.orbit-system{width:min(100%,470px)}.admin-header__inner,.admin-main{padding-right:34px;padding-left:34px}.admin-login{padding-right:34px;padding-left:34px;gap:60px}}@media(max-width:980px){.admin-login{grid-template-columns:minmax(0,520px);justify-content:center;padding-top:64px}.login-aside{display:none}.admin-login-footer{padding-top:24px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:920px){.hero{grid-template-columns:minmax(0,1fr);gap:34px;min-height:0;padding-top:58px;padding-bottom:96px}.hero__copy{max-width:720px}.hero__title{font-size:clamp(5rem,14.5vw,8.4rem)}.hero__visual{justify-content:center;width:100%}.orbit-system{width:min(66vw,380px)}.hero__vertical,.hero__folio{display:none}.hero__eyebrow{margin-bottom:32px}.hero__actions{margin-top:28px}.hero__meta{margin-top:30px}.hero__scroll{margin-top:32px}.closing-note{padding-bottom:96px}.admin-hero{align-items:flex-start}}@media(max-width:860px){.song-columns{display:none}.song-list-shell{border-radius:13px}.song-group__heading{padding:15px 18px 7px}.song-group+.song-group .song-group__heading{padding-top:18px}.song-row{grid-template-columns:28px minmax(0,1fr) auto 82px;grid-template-areas:"num main main actions" "num lang genre actions";align-items:center;gap:5px 10px;min-height:0;padding:13px 18px}.song-number{grid-area:num;align-self:start;padding-top:5px}.song-main{grid-area:main;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.song-title{max-width:100%;font-size:1rem}.song-mobile-artist{display:inline;overflow:hidden;max-width:100%;color:var(--muted);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.song-copy-hint,.song-artist{display:none}.song-tag--language{grid-area:lang}.song-tag--genre{grid-area:genre}.song-row .song-tag{height:21px;padding:0 7px;font-size:.62rem}.song-actions{grid-area:actions;align-self:center}.song-actions .icon-button{width:32px;height:32px;opacity:1}.song-list-footer{flex-direction:column;align-items:flex-start;gap:3px;padding:12px 18px}.skeleton-row{grid-template-columns:28px minmax(0,1fr) 82px;gap:10px;min-height:73px;padding:0 18px}.skeleton-row .skeleton--artist,.skeleton-row .skeleton--tag:last-of-type{display:none}.admin-list__head{display:none}.admin-row{grid-template-columns:26px minmax(0,1fr) auto;grid-template-areas:"index main actions" "index tags actions";gap:6px 10px;min-height:0;padding:14px 18px}.admin-row__index{grid-area:index;align-self:start;padding-top:4px}.admin-row__main{grid-area:main}.admin-row__main strong{white-space:normal}.admin-row__mobile-artist{display:block;margin-top:1px;overflow:hidden;color:var(--muted);font-size:.73rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.admin-row__artist{display:none}.admin-row__tags{grid-area:tags;gap:4px}.admin-row__tags .song-tag{height:21px;font-size:.62rem}.admin-row__actions{grid-area:actions;align-self:center;flex-direction:column;align-items:flex-end;gap:0}.admin-action{padding:5px 7px}.admin-skeleton__row{grid-template-columns:26px minmax(0,1fr) 120px;gap:10px;min-height:71px;padding:0 18px}.admin-skeleton__row .skeleton--artist{display:none}.admin-row:hover{background:var(--surface-raised)}.admin-list__footer{padding:12px 18px}}@media(max-width:760px){.site-header{padding-top:18px}.site-header__inner{padding:0 22px}.brand{gap:9px}.brand__mark{width:28px;height:28px}.brand__word{font-size:1.3rem}.brand__rule,.brand__sub,.site-nav__link{display:none}.site-nav{gap:6px}.theme-trigger{width:38px;padding:0}.theme-trigger__label,.theme-trigger__chevron{display:none}.admin-door{width:38px;height:38px;padding:0}.admin-door span{display:none}.theme-popover{right:-46px}.hero{padding:44px 22px 78px}.hero__title{font-size:clamp(4.4rem,18vw,6.8rem)}.hero__eyebrow{margin-bottom:28px}.hero__actions{gap:8px;margin-top:24px}.hero__action{min-height:38px;padding:0 14px;font-size:.67rem}.hero__meta{gap:13px}.hero__meta-divider{height:20px}.hero__stat{font-size:.64rem;gap:5px}.hero__stat strong{font-size:1.32rem}.hero__stat--heart strong{font-size:1.02rem}.hero__scroll{display:none}.orbit-system{width:min(72vw,330px)}.celestial__character{font-size:clamp(4.8rem,19vw,7rem)}.songbook{padding:0 18px 82px}.songbook__heading{margin-bottom:22px;padding-bottom:18px}.songbook__heading h2{font-size:2.6rem}.songbook__hint{display:none}.search-row{flex-direction:column;gap:9px}.search-field{height:50px}.random-button{width:100%;height:48px}.random-button__icon{width:26px;height:26px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.filter-control{min-width:0}.filter-row__meta{grid-column:1 / -1;justify-content:space-between;width:100%;margin-left:0;padding:2px 2px 0}.select-shell select{height:41px}.floating-random{display:none}.closing-note{padding:0 22px 76px}.closing-note blockquote{font-size:clamp(1.42rem,6vw,2rem);line-height:1.7}.site-footer{grid-template-columns:1fr;gap:13px;padding:24px 22px 28px}.site-footer__line{text-align:left}.site-footer__links{justify-content:flex-start;flex-wrap:wrap;gap:8px}.toast-region{bottom:18px;width:calc(100vw - 30px)}.toast{padding:11px 13px 13px}.admin-header__inner{padding:15px 20px;gap:12px}.admin-header__public{width:36px;justify-content:center;padding:0}.admin-header__public span{display:none}.admin-header__actions{gap:5px}.admin-header__logout{padding:0 11px}.admin-main{padding:38px 20px 58px}.admin-hero{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:26px}.admin-hero h1{font-size:clamp(2.55rem,10vw,3.5rem)}.admin-hero__lede{margin-top:11px;font-size:.84rem}.admin-hero>.primary-button{width:100%}.admin-hero__actions{width:100%}.admin-hero__actions>button{flex:1 1 160px}.admin-stats{gap:8px;margin-bottom:26px}.stat-card{min-height:127px;padding:16px 15px 14px}.stat-card strong{font-size:2.15rem}.stat-card__date{font-size:1.38rem!important}.stat-card__glyph{top:14px;right:12px}.admin-library{border-radius:12px}.admin-library__heading{flex-direction:column;align-items:stretch;gap:16px;padding:19px 18px 16px}.search-field--admin{flex:1 1 auto;width:100%}.admin-list__footer{flex-direction:column;align-items:flex-start;gap:3px}.admin-footnote{align-items:flex-start;text-align:left}.admin-login{padding:52px 20px 26px}.login-card{padding:36px 30px 24px}.login-card__topline{margin-bottom:30px}.login-seal{top:-19px;right:24px;width:40px;height:40px}.modal__surface{padding:26px}.form-grid{grid-template-columns:1fr;gap:13px;margin-top:20px}.field--wide{grid-column:auto}.confirm-dialog__actions{flex-direction:column-reverse;align-items:stretch}.confirm-dialog__actions button{width:100%}.admin-form__footer{flex-direction:column-reverse;align-items:stretch}.admin-form__footer button{width:100%}}@media(max-width:520px){.hero__issue{display:none}.hero__title{font-size:clamp(4.15rem,19vw,5.6rem)}.hero__actions{margin-top:22px}.hero__action{flex:1 1 130px}.hero__meta{gap:9px}.hero__meta-divider{height:18px}.hero__stat{font-size:.6rem;letter-spacing:.02em}.hero__stat strong{font-size:1.18rem}.hero__stat--heart{gap:4px}.hero__stat--heart strong{font-size:.95rem}.orbit-system{width:min(76vw,290px)}.celestial__caption{bottom:12%;font-size:6px}.songbook__heading h2{font-size:2.35rem}.filter-row{grid-template-columns:1fr}.filter-row__meta{grid-column:auto}.song-row{grid-template-columns:24px minmax(0,1fr) auto 76px;gap:4px 8px;padding:12px 14px}.song-actions .icon-button{width:30px;height:30px}.song-row .song-tag{font-size:.59rem}.song-group__heading{padding-right:14px;padding-left:14px}.song-list-footer{padding:11px 14px}.toast__icon{width:32px;height:32px}.toast__message{font-size:.78rem}.admin-stats{grid-template-columns:1fr}.stat-card{min-height:112px}.admin-row{grid-template-columns:24px minmax(0,1fr) auto;padding:13px 14px}.admin-row__tags .song-tag{font-size:.58rem}.admin-action span{display:none}.admin-action{width:31px;height:31px;justify-content:center;padding:0}.admin-library__heading,.admin-list__footer{padding-right:14px;padding-left:14px}.brand--admin .brand__word{font-size:1.18rem}.admin-header__slash,.admin-header .brand__sub{display:none}.login-card{padding:32px 22px 22px}.login-card:before{inset:6px}.login-card__topline{margin-bottom:26px}.login-card h1{font-size:2.1rem}.login-card__lede{font-size:.82rem}.modal{width:calc(100vw - 22px);max-height:calc(100dvh - 22px)}.modal__surface{max-height:calc(100dvh - 22px);padding:22px 18px;border-radius:14px}.admin-form__header h2{font-size:1.6rem}.admin-form__header .eyebrow{margin-bottom:5px}.admin-form__description{font-size:.74rem}.batch-toolbar{flex-direction:column;align-items:flex-start;gap:4px}.batch-toolbar__actions{width:100%;justify-content:space-between}.batch-textarea{min-height:170px;font-size:.72rem}.confirm-dialog h2{font-size:1.5rem}.admin-list__save-note{display:none}}@media(max-width:360px){.site-header__inner,.hero,.songbook{padding-right:16px;padding-left:16px}.brand__word{font-size:1.18rem}.hero__stat span:last-child{display:none}.hero__meta-divider{height:16px}.admin-header__inner,.admin-main,.admin-login{padding-right:14px;padding-left:14px}.login-card{padding:30px 18px 20px}.login-card__topline span:last-child{display:none}}.brand__mark--avatar{display:inline-flex;width:36px;height:36px;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-solid);box-shadow:0 0 0 4px var(--accent-soft)}.brand__mark--avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;animation:spin 55s linear infinite}.brand:hover .brand__mark--avatar{transform:none}.celestial__portrait{position:relative;z-index:2;display:block;width:68%;aspect-ratio:1;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-solid);box-shadow:0 24px 54px #47362233,0 0 0 7px var(--surface-solid),0 0 0 8px var(--line)}:root[data-theme=dark] .celestial__portrait{box-shadow:0 24px 60px #00000080,0 0 0 7px var(--surface-solid),0 0 0 8px var(--line)}.celestial__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%;transform:scale(1.04);animation:spin 48s linear infinite}.celestial__ring{position:absolute;z-index:3;inset:11%;border:1.5px solid var(--accent);border-radius:46% 54% 48% 52%/53% 46% 54% 47%;opacity:.78;pointer-events:none;filter:drop-shadow(0 0 7px var(--accent-soft));animation:spin 38s linear infinite reverse}.celestial__caption{bottom:6.5%;z-index:4}.closing-note__mark--avatar{display:inline-flex;width:42px;height:42px;overflow:hidden;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-solid);box-shadow:0 0 0 4px var(--accent-soft)}.closing-note__mark--avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.pause-door--footer{margin-top:7px}.pause-door{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:42px;height:42px;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);opacity:.55;transition:opacity .25s ease,border-color .25s ease,background-color .25s ease,transform .25s ease}.pause-door__bars{display:flex;align-items:center;justify-content:center;gap:5px}.pause-door__bars>span{display:block;width:4px;height:13px;border-radius:2px;background:var(--ink-soft);transition:background-color .25s ease,transform .25s ease}.pause-door__hole{display:block;width:3px;height:3px;border-radius:50%;background:var(--faint);transition:background-color .25s ease,transform .25s ease}.pause-door:hover{border-color:var(--line-strong);background:var(--surface-raised);opacity:.92}.pause-door:hover .pause-door__bars>span{background:var(--accent)}.pause-door:hover .pause-door__hole{background:var(--accent);transform:scale(1.15)}.pause-door:active{transform:scale(.94)}.pause-door:focus-visible{opacity:1;outline:2px solid var(--accent);outline-offset:3px}.modal--gate{width:min(430px,calc(100vw - 32px))}.gate-form{position:relative}.gate-form__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.gate-form__topline .eyebrow{margin-bottom:0}.gate-form__seal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:68px;height:68px;margin:2px auto 20px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 30% 20%,var(--surface-raised),transparent 60%),var(--surface);transform:rotate(-7deg);box-shadow:0 12px 28px #3826121a}.gate-form__seal .pause-door__bars{gap:6px}.gate-form__seal .pause-door__bars>span{width:5px;height:18px;border-radius:2px;background:var(--ink-soft)}.gate-form__seal .pause-door__hole{width:4px;height:4px;background:var(--accent);opacity:.75}.gate-form h2{margin-top:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(2rem,5vw,2.7rem);font-weight:500;line-height:1.15;text-align:center}.gate-form__lede{max-width:310px;margin:12px auto 0;color:var(--muted);font-size:.82rem;line-height:1.75;text-align:center}.gate-form .field{margin-top:24px}.gate-form .form-error{margin-top:10px}.gate-form__submit{width:100%;margin-top:18px}.gate-form__note{margin-top:15px;color:var(--faint);font-size:.65rem;letter-spacing:.06em;text-align:center}@media(max-width:760px){.brand__mark--avatar{width:28px;height:28px;box-shadow:0 0 0 3px var(--accent-soft)}.celestial__caption{bottom:5.5%}.closing-note__mark--avatar{width:36px;height:36px}.pause-door{width:38px;height:38px;border-radius:10px}.pause-door__bars>span{width:3.5px;height:12px}.pause-door__hole{width:2.5px;height:2.5px}.gate-form__seal{width:58px;height:58px;border-radius:15px}.gate-form__seal .pause-door__bars>span{width:4px;height:16px}}@media(prefers-reduced-motion:reduce){.brand__mark--avatar img,.celestial__portrait img,.celestial__ring{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes popover-in{0%{opacity:0;transform:translateY(-5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.toast__timer{opacity:.7}}.netease-fill{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--field-bg)}.netease-fill__head{display:flex;align-items:flex-start;gap:11px}.netease-fill__icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--accent-soft);color:var(--accent)}.netease-fill__copy strong{display:block;color:var(--ink);font-size:.82rem;font-weight:600;letter-spacing:.01em}.netease-fill__copy p{margin-top:3px;color:var(--muted);font-size:.71rem;line-height:1.55}.netease-fill__row{display:flex;gap:8px;margin-top:12px}.netease-fill__row input{flex:1 1 auto;min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-solid);color:var(--ink);font-family:var(--font-sans);font-size:.76rem;transition:border-color .18s ease,box-shadow .18s ease}.netease-fill__row input::placeholder{color:var(--faint)}.netease-fill__row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.netease-fill__row input:disabled{opacity:.7;cursor:wait}.netease-fill__button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:82px;height:42px;padding:0 15px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:var(--bg);font-family:var(--font-sans);font-size:.76rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}.netease-fill__button:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.netease-fill__button:disabled{opacity:.45;cursor:not-allowed}.netease-fill__button .button-spinner{width:13px;height:13px;border-width:1.5px}.netease-fill__message{margin-top:9px;color:var(--muted);font-size:.7rem;line-height:1.5}.netease-fill__message--error{color:var(--accent-deep)}@media(max-width:560px){.netease-fill{padding:13px}.netease-fill__row{flex-direction:column}.netease-fill__button{width:100%}}.admin-visits{overflow:hidden;margin-top:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-visits__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px 18px}.admin-visits__heading .eyebrow{margin-bottom:9px}.admin-visits__heading h2{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-family:var(--font-serif);font-size:1.7rem;font-weight:500;line-height:1.15;letter-spacing:-.02em}.admin-visits__heading h2 span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:21px;padding:0 6px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-family:var(--font-mono);font-size:9px;letter-spacing:0}.admin-visits__heading .text-button{flex:0 0 auto;padding-bottom:2px}.visit-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 28px;margin:0 26px;padding:0 0 18px;border-bottom:1px solid var(--line)}.visit-summary__item{display:flex;align-items:baseline;gap:8px}.visit-summary__item span{color:var(--faint);font-family:var(--font-mono);font-size:8px;letter-spacing:.12em}.visit-summary__item strong{color:var(--ink);font-family:var(--font-serif);font-size:1.55rem;font-weight:500;line-height:1}.visit-summary__last{margin-left:auto;color:var(--faint);font-size:.68rem;white-space:nowrap}.visit-summary__last strong{margin-left:8px;color:var(--muted);font-family:var(--font-mono);font-size:.64rem;font-weight:500}.visit-table__wrap{overflow-x:auto;overscroll-behavior-inline:contain}.visit-table{width:100%;min-width:620px;border-collapse:collapse}.visit-table th{padding:13px 26px 10px;border-bottom:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);font-size:8px;font-weight:500;letter-spacing:.14em;text-align:left;white-space:nowrap}.visit-table td{padding:13px 26px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.74rem;vertical-align:middle}.visit-table tbody tr:last-child td{border-bottom:0}.visit-table tbody tr:hover td{background:var(--surface-raised)}.visit-table time{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;white-space:nowrap}.visit-ip{color:var(--ink);font-family:var(--font-mono);font-size:.7rem;white-space:nowrap}.visit-device{display:inline-flex;align-items:center;min-height:22px;margin-right:7px;padding:0 7px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.65rem;white-space:nowrap}.visit-os{color:var(--faint);font-family:var(--font-mono);font-size:.61rem}.visit-loading,.visit-empty{display:flex;align-items:center;justify-content:center;gap:9px;min-height:150px;padding:24px;color:var(--faint);font-size:.75rem;text-align:center}.visit-empty{flex-direction:column;gap:6px}.visit-empty svg{margin-bottom:2px;color:var(--accent);opacity:.75}.visit-empty strong{color:var(--ink);font-family:var(--font-serif);font-size:1.05rem;font-weight:500}.visit-empty p{max-width:320px;color:var(--faint);font-size:.72rem;line-height:1.6}.visit-error{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--accent-deep)}.visit-error p{font-size:.75rem}.admin-visits__privacy{display:flex;align-items:center;gap:6px;padding:12px 26px 14px;border-top:1px solid var(--line);color:var(--faint);font-size:.62rem;line-height:1.5}@media(max-width:760px){.admin-visits{border-radius:12px}.admin-visits__heading{flex-direction:column;align-items:flex-start;gap:12px;padding:19px 18px 14px}.admin-visits__heading .text-button{padding-left:0}.visit-summary{gap:14px 22px;margin:0 18px;padding-bottom:15px}.visit-summary__last{width:100%;margin-left:0}.visit-table__wrap{overflow:visible}.visit-table{display:block;min-width:0}.visit-table thead{display:none}.visit-table tbody{display:block}.visit-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px 18px;padding:14px 18px;border-bottom:1px solid var(--line)}.visit-table tbody tr:last-child{border-bottom:0}.visit-table td{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:0;border:0;font-size:.72rem}.visit-table td:before{content:attr(data-label);color:var(--faint);font-family:var(--font-mono);font-size:7px;letter-spacing:.13em}.visit-table td:first-child,.visit-table td:nth-child(2){grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:9px}.visit-table td:nth-child(3){grid-column:1}.visit-table td:nth-child(4){grid-column:2}.visit-table td:first-child:before,.visit-table td:nth-child(2):before{flex:0 0 58px}.visit-table td .visit-device{margin-right:0}.visit-table td .visit-os{font-size:.62rem}.admin-visits__privacy{align-items:flex-start;padding:11px 18px 13px}}@media(max-width:520px){.visit-summary__item strong{font-size:1.35rem}.visit-summary{gap:12px 16px}.visit-summary__item{gap:5px}.visit-table tbody tr{gap:10px 14px;padding:13px 16px}}@media(max-width:640px){.batch-tabs{gap:0}.batch-tab{flex:1;justify-content:center;padding:0 8px;font-size:.72rem}.batch-tab>span{display:none}.batch-mode{display:flex;width:100%}.batch-mode__button{flex:1}.batch-manage-summary{flex-direction:column;gap:5px}.batch-manage-item{grid-template-columns:16px minmax(0,1fr);gap:4px 10px;padding:9px 11px}.batch-manage-item__tags{grid-column:2;justify-content:flex-start;margin-top:-1px}.batch-manage-list{max-height:40vh}.batch-confirm{flex-wrap:wrap}.batch-confirm p{flex:1 1 calc(100% - 30px)}.batch-resolve-row .secondary-button{flex:1}}
