/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--page:#101118;--panel:#1c1d2a;--panel-light:#2a2b45;--panel-border:#3c3e63;--tab:#2b2d48;--tab-active:#4a5eb6;--text:#f0f1f7;--muted:#a9acc2;--lavender:#aeb6ff;--power:#ec6e85;--rhythm:#69dfcf}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--page);color:var(--text);margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif}body.modal-open{overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.game-page{background:radial-gradient(circle at 50% -20%,#42509f8c,#0000 42%),linear-gradient(#151a31 0,#101119 36%,#0e0f16 100%);min-height:100vh;padding:46px 22px 70px;position:relative;overflow:hidden}.stars,.stars:before,.stars:after{content:"";pointer-events:none;background-repeat:repeat;position:absolute;inset:0}.stars-a{opacity:.7;background-image:radial-gradient(circle,#d9ddff 1px,#0000 1.5px),radial-gradient(circle,#8490d8 1px,#0000 1.5px);background-position:0 0,53px 71px;background-size:137px 121px,163px 147px}.stars-b{opacity:.28;background-image:radial-gradient(circle,#d1b76f 1px,#0000 2px);background-position:21px 48px;background-size:211px 181px}.game-window{z-index:1;background:#13141ef5;border:1px solid #6369a89e;border-radius:3px;width:min(980px,100%);margin:0 auto;position:relative;box-shadow:0 28px 90px #00000085}.guild-header{border-bottom:1px solid var(--panel-border);background:linear-gradient(#242740,#1a1c2b);justify-content:space-between;align-items:center;min-height:84px;padding:16px 22px;display:flex}.guild-title{align-items:center;gap:13px;display:flex}.guild-crest{color:#ffe3e9;background:linear-gradient(145deg,#6a334c,#35243f);border:2px solid #c25c70;border-radius:10px 10px 45% 45%;place-items:center;width:48px;height:48px;font-size:22px;display:grid;box-shadow:inset 0 0 0 4px #ffffff12,0 0 20px #cf4b6b33}.guild-label{color:#8c91b1;letter-spacing:.2em;font-size:9px;font-weight:700}.guild-title h1{letter-spacing:.04em;margin:3px 0 0;font-size:clamp(21px,3vw,29px);font-weight:700}.live-state{color:#a6c7bb;background:#2c695621;border:1px solid #6bd5b138;border-radius:3px;align-items:center;gap:8px;padding:7px 10px;font-size:11px;display:flex}.live-dot{background:#6bd5b1;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 9px #6bd5b1}.shop-panel{padding:24px}.panel-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.panel-heading h2{color:var(--lavender);margin:0 0 6px;font-size:20px}.total-votes{color:#a6a9bc;white-space:nowrap;background:#24263a;border:1px solid #383b5c;border-radius:3px;align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.total-votes strong{color:#f3d37c;font-size:20px;line-height:1}.vote-reminder{color:#d8c89e;background:#7e5c2329;border:1px solid #e0b45659;border-radius:3px;align-items:center;gap:9px;margin-bottom:14px;padding:10px 12px;font-size:11px;display:flex}.vote-reminder>span{color:#f4cd76;border:1px solid #d8ae57;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-weight:700;display:grid}.vote-reminder strong{color:#f0d184}.vote-reminder p{color:#e2dfd3;margin:0}.shrine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.shrine-card{border:1px solid var(--panel-border);background:#202235;border-radius:3px;overflow:hidden}.shrine-choice{border:0;border-bottom:1px solid var(--panel-border);width:100%;min-height:330px;color:var(--text);cursor:pointer;background:radial-gradient(circle at 50% 43%,#7880cb29,#0000 38%),linear-gradient(#30334e,#292b43);flex-direction:column;align-items:center;padding:22px 22px 17px;transition:background .18s,box-shadow .18s;display:flex;position:relative}.shrine-choice:hover{background:radial-gradient(circle at 50% 43%,#8b95e93d,#0000 40%),linear-gradient(#393d5c,#2d304a);box-shadow:inset 0 0 0 2px #919df133}.candidate-tag{color:#a9acc1;background:#0c0d1761;border:1px solid #ffffff21;border-radius:2px;padding:4px 7px;font-size:9px;position:absolute;top:12px;right:12px}.shrine-name{font-size:17px;font-weight:500}.shrine-icon{filter:drop-shadow(0 0 10px #d0333d57);width:104px;height:104px;margin:21px 0 16px;display:block}.shrine-rhythm .shrine-icon{filter:drop-shadow(0 0 10px #2fc4a757)}.shrine-category{color:#eef0f9;font-size:12px}.shrine-level{color:#c9cbdb;margin-top:3px;font-size:13px}.shrine-description{color:#979ab0;min-height:34px;margin-top:9px;font-size:11px;line-height:1.55}.select-action{color:#cbd2ff;border:1px solid;border-radius:2px;margin-top:12px;padding:6px 14px;font-size:10px}.voter-panel{background:#191b2a;padding:14px}.voter-heading{color:#a7aabe;border-bottom:1px solid #6a6ea754;justify-content:space-between;align-items:center;padding-bottom:10px;font-size:11px;display:flex}.voter-heading strong{color:#fff1b9;background:#343858;border-radius:2px;padding:3px 7px;font-size:11px}.voter-list{scrollbar-color:#5963a7 #202236;scrollbar-width:thin;flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:68px;max-height:214px;padding-top:11px;display:flex;overflow-y:auto}.voter-name{color:#e2e3ec;background:#2a2d48;border:1px solid #3c4064;border-radius:2px;align-items:center;gap:6px;height:27px;padding:0 9px;font-size:11px;display:inline-flex}.player-dot{background:#7385e6;border:1px solid #b6c2ff;border-radius:50%;width:7px;height:7px}.shrine-power .player-dot{background:var(--power);border-color:#ffb7c4}.shrine-rhythm .player-dot{background:var(--rhythm);border-color:#b5fff4}.empty-voters{color:#666a81;text-align:center;width:100%;margin:13px 0 0;font-size:11px}.sync-note{color:#777b96;background:#171925;border:1px solid #30334f;justify-content:space-between;gap:16px;margin-top:15px;padding:10px 12px;font-size:10px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05060cd1;place-items:center;padding:18px;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.vote-modal{background:#222438;border:1px solid #555b94;border-radius:3px;width:min(410px,100%);animation:.18s ease-out modal-in;box-shadow:0 26px 90px #000000a3}.modal-bar{color:#e1e4f5;background:#333758;border-bottom:1px solid #4a4e7b;justify-content:space-between;align-items:center;height:42px;padding-left:14px;font-size:12px;display:flex}.modal-bar button{color:#b0b3c9;cursor:pointer;background:0 0;border:0;border-left:1px solid #4a4e7b;width:42px;height:42px;font-size:21px}.modal-content{text-align:center;padding:25px 28px 28px}.mini-shrine{filter:drop-shadow(0 0 9px #d0333d52);width:48px;height:48px;margin:0 auto 12px}.modal-rhythm .mini-shrine{filter:drop-shadow(0 0 9px #2fc4a752)}.modal-kicker{color:#858aa6;margin:0;font-size:10px}.vote-modal h2{margin:4px 0 7px;font-size:25px}.modal-description{color:#a5a8ba;margin:0 0 22px;font-size:11px}.vote-modal form{text-align:left}.vote-modal label{color:#c6c9db;margin-bottom:7px;font-size:11px;display:block}.vote-modal input{color:#fff;background:#151724;border:1px solid #464a72;border-radius:2px;outline:none;width:100%;height:43px;padding:0 12px;font-size:12px}.vote-modal input:focus{border-color:#7185e5;box-shadow:0 0 0 2px #7185e52b}.vote-modal input::placeholder{color:#686c84}.form-error{color:#ff93a7;margin:7px 0 0;font-size:11px}.confirm-button{color:#fff;cursor:pointer;background:#4e63bc;border:1px solid #7385dd;border-radius:2px;width:100%;height:42px;margin-top:13px;font-size:12px;font-weight:700}.confirm-button:hover:not(:disabled){background:#5c72ce}.confirm-button:disabled{cursor:wait;opacity:.65}.notice{z-index:60;color:#e2e5f4;background:#272a43;border:1px solid #4c568d;border-radius:3px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:11px 12px;font-size:11px;animation:.18s ease-out notice-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 16px 50px #00000073}.notice-icon{color:#fff;background:#58a981;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.notice button{color:#9ea2b9;cursor:pointer;background:0 0;border:0;margin-left:4px;font-size:17px}@keyframes pulse{50%{opacity:.5}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes notice-in{0%{opacity:0;transform:translateY(6px)}}@media (width<=700px){.game-page{padding:16px 10px 40px}.guild-header{min-height:72px;padding:12px}.guild-crest{width:42px;height:42px}.guild-label{display:none}.guild-title h1{font-size:19px}.live-state{padding:6px 7px;font-size:9px}.shop-panel{padding:16px 12px}.panel-heading{align-items:center}.total-votes span{display:none}.total-votes strong{font-size:17px}.shrine-grid{grid-template-columns:1fr}.shrine-choice{min-height:306px}.sync-note{flex-direction:column;gap:5px}.notice{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
