*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  background: transparent;
  vertical-align: baseline;
  list-style: none;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

img {
  display: block;
  max-width: none;
  -webkit-user-drag: none;
}

input,
button,
textarea,
select {
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

input::-ms-reveal,
input::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: "Tahoma";
  src: url("../assets/fonts/tahoma.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "FranklinGothicMediumItalic";
  src: url("../assets/fonts/framdit.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: block;
}

html,
body {
  background: #000000;
}

body {
  font-family: "Tahoma";
  cursor: default;
}

.xp-stage {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000000;
}

.xp-canvas {
  position: relative;
  flex: none;
  width: 800px;
  height: 600px;
  overflow: hidden;
  background: #000000;
  transform-origin: center center;
  user-select: none;
  -webkit-user-select: none;
}

.xp-canvas,
.xp-canvas * {
  image-rendering: pixelated;
}

.xp-canvas input,
.xp-canvas textarea {
  user-select: text;
  -webkit-user-select: text;
}

.xp-canvas ::selection,
.xp-ie-qmdsb-para::selection,
.xp-ie-qmdsb-para *::selection {
  color: #FFFFFF;
  background: #316AC5;
}

.xp-screen {
  position: absolute;
  inset: 0;
}

.xp-stage.is-synthetic-cursor,
.xp-stage.is-synthetic-cursor * {
  cursor: none;
}

.xp-synthetic-cursor {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform-origin: 0 0;
  image-rendering: pixelated;
  pointer-events: none;
  visibility: hidden;
}

.xp-synthetic-cursor.is-pointer-inside-window {
  visibility: visible;
}

.xp-synthetic-cursor.is-cursor-hidden {
  visibility: hidden;
}

.xp-canvas,
.xp-canvas * {
  --xp-cursor-kind: arrow;
}

.xp-canvas input,
.xp-canvas textarea {
  --xp-cursor-kind: ibeam;
}

.xp-shutdown-overlay {
  z-index: 120;
}

.xp-window-button {
  position: absolute;
  width: 21px;
  height: 21px;
  background-repeat: no-repeat;
  background-position: 0 0;
}

.xp-window-button:hover {
  background-position: 0 -21px;
}

.xp-window-button:active {
  background-position: 0 -42px;
}

.xp-canvas .xp-ie-qmgz-button:active {
  background-image: var(--xp-qmgz-pressed-image);
  background-position: var(--xp-qmgz-pressed-position);
  background-size: var(--xp-qmgz-pressed-size);
  background-repeat: no-repeat;
}

.xp-canvas .xp-ie-qmgz-button:active .xp-ie-qmgz-help-button-glyph {
  transform: translate(1px, 1px);
}

.xp-canvas .xp-ie-qmgz-dialog-close {
  background-position: 0 0;
}

.xp-canvas .xp-ie-qmgz-dialog-close:hover {
  background-position: 0 -21px;
}

.xp-canvas .xp-ie-qmgz-dialog-close:active {
  background-position: 0 -42px;
}

.xp-canvas .xp-ie-qmgz-dialog.is-inactive .xp-ie-qmgz-dialog-close,
.xp-canvas .xp-ie-qmgz-dialog.is-inactive .xp-ie-qmgz-dialog-close:hover,
.xp-canvas .xp-ie-qmgz-dialog.is-inactive .xp-ie-qmgz-dialog-close:active {
  background-position: 0 -63px;
}

.xp-window.is-inactive .xp-window-button,
.xp-window.is-inactive .xp-window-button:hover,
.xp-window.is-inactive .xp-window-button:active {
  background-position: 0 -63px;
}

.xp-shutdown-button[data-xp-shutdown-action="cancel"]:active {
  background-image: url("../assets/shutdown/cancel-pressed.webp");
}

.xp-shutdown-button.is-icon-button {
  background-repeat: no-repeat;
}

.xp-shutdown-button.is-icon-button:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18));
}

.xp-shutdown-button.is-icon-button:active {
  background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));
}

.xp-canvas .xp-ie-go-hit:active .xp-ie-go-shade {
  border-top: 1px solid #716F64;
  border-left: 1px solid #716F64;
  border-right: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  background-image: linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18));
}

.xp-canvas .xp-msn-link,
.xp-canvas .xp-viewer-page,
.xp-canvas .xp-ie-results-title,
.xp-canvas .xp-ie-facebook-attach-thumb,
.xp-canvas .xp-ie-facebook-photo,
.xp-canvas .xp-ie-facebook-attach-title,
.xp-canvas .xp-ie-qmgz-login-hit,
.xp-canvas .xp-ie-qmgz-reset-hit,
.xp-canvas .xp-ie-qmgz-help-link {
  --xp-cursor-kind: link;
}

.xp-canvas.is-busy,
.xp-canvas.is-busy * {
  --xp-cursor-kind: busy !important;
}

.xp-canvas .xp-phone-clear,
.xp-canvas .xp-phone-key,
.xp-canvas .xp-phone-call-button,
.xp-canvas .xp-phone-action {
  --xp-cursor-kind: arrow;
}

.xp-window {
  outline: none;
}

.xp-window-title,
.xp-window-title-text {
  pointer-events: none;
}

.xp-window-title-text {
  text-shadow: 1px 1px 0 #0A1883;
}

.xp-window.is-inactive .xp-window-title-text {
  color: #D8E4F8 !important;
  text-shadow: none;
}

.xp-taskbar-start:focus-visible,
.xp-taskbar-window-button:focus-visible {
  outline: 1px dotted #FFFFFF;
  outline-offset: -5px;
}

.xp-reset-dialog button:focus-visible,
.xp-shutdown-button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -4px;
}

.xp-boot {
  background: #000000;
}

.xp-boot-logo {
  position: absolute;
  left: 258px;
  top: 151px;
  width: 313px;
  height: 223px;
}

.xp-boot-progress {
  position: absolute;
  left: 316px;
  top: 438px;
  width: 163px;
  height: 21px;
}

.xp-boot-progress-frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 163px;
  height: 21px;
}

.xp-boot-progress-trough {
  position: absolute;
  left: 6px;
  top: 4px;
  width: 151px;
  height: 13px;
  overflow: hidden;
}

.xp-boot-progress-blocks {
  position: absolute;
  top: 0;
  width: 33px;
  height: 13px;
}

.xp-boot-copyright {
  position: absolute;
  left: 24px;
  top: 541px;
  width: 171px;
  height: 38px;
}

.xp-boot-microsoft {
  position: absolute;
  left: 680px;
  top: 558px;
  width: 97px;
  height: 20px;
}

.xp-login-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 800px;
  height: 600px;
}

.xp-login-username {
  position: absolute;
  left: 499px;
  top: 261px;
  font-family: "Tahoma";
  font-size: 19px;
  line-height: 19px;
  color: #EFF7FF;
  white-space: nowrap;
}

.xp-login-password {
  position: absolute;
  left: 496px;
  top: 303px;
  width: 174px;
  height: 27px;
  padding: 0 0 0 9px;
  background: transparent;
  border: 0;
  font-family: "Tahoma";
  font-size: 17px;
  line-height: 27px;
  color: #000000;
  caret-color: #000000;
}

.xp-login-submit {
  position: absolute;
  left: 670px;
  top: 305px;
  width: 22px;
  height: 22px;
}

.xp-login-hint-button {
  position: absolute;
  left: 697px;
  top: 304px;
  width: 26px;
  height: 26px;
}

.xp-login-hint {
  position: absolute;
  left: 698px;
  top: 305px;
  width: 22px;
  height: 22px;
}

.xp-canvas .xp-login-hint {
  --xp-cursor-kind: link;
}

.xp-login-submit:hover,
.xp-login-hint:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.18), rgba(0, 0, 0, 0.18));
}

.xp-login-submit:active,
.xp-login-hint:active {
  background-image: linear-gradient(rgba(0, 0, 0, 0.38), rgba(0, 0, 0, 0.38));
}

.xp-login-wrong-password {
  position: absolute;
  left: 286px;
  top: 321px;
  width: 313px;
  height: 84px;
  z-index: 1;
}

.xp-login-password-hint {
  position: absolute;
  left: 286px;
  top: 321px;
  width: 313px;
  height: 69px;
  z-index: 1;
}

.xp-login-hint-button[hidden],
.xp-login-hint[hidden],
.xp-login-wrong-password[hidden],
.xp-login-password-hint[hidden] {
  display: none;
}

.xp-welcome-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 800px;
  height: 600px;
}

.xp-welcome-text {
  position: absolute;
  left: 383px;
  top: 275px;
  width: 161px;
  height: 37px;
  filter: drop-shadow(2px 3px 2px #283F78);
}

.xp-desktop-wallpaper {
  position: absolute;
  left: 0;
  top: 0;
  width: 800px;
  height: 600px;
  image-rendering: auto;
}

.xp-desktop-icon-image,
.xp-desktop-icon-selection,
.xp-desktop-icon-label {
  position: absolute;
}

.xp-desktop-icon-selection[hidden] {
  display: none;
}

.xp-desktop-icon-hit {
  position: absolute;
  background-color: transparent;
}

.xp-canvas .xp-desktop-icon-hit {
  --xp-cursor-kind: arrow;
}

.xp-taskbar {
  position: absolute;
  left: 0;
  top: 555px;
  width: 800px;
  height: 45px;
  z-index: 100;
  background-image: url("../assets/taskbar/taskbar-tile.webp");
  background-repeat: repeat-x;
  background-size: 6px 45px;
  image-rendering: auto;
}

.xp-taskbar-start {
  position: absolute;
  left: 0;
  top: 0;
  width: 145.5px;
  height: 45px;
  background-image: url("../assets/taskbar/start-normal.webp");
  background-repeat: no-repeat;
  background-size: 145.5px 45px;
  image-rendering: pixelated;
}

.xp-taskbar-start:hover {
  background-image: url("../assets/taskbar/start-hover.webp");
}

.xp-taskbar-start.is-pressed,
.xp-taskbar-start.is-pressed:hover {
  background-image: url("../assets/taskbar/start-pressed.webp");
}

.xp-taskbar-tray {
  position: absolute;
  left: 660.5px;
  top: 0;
  width: 139.5px;
  height: 45px;
  image-rendering: auto;
}

.xp-taskbar-tray-icon {
  position: absolute;
  left: 677px;
  top: 10.5px;
  width: 24px;
  height: 24px;
}

.xp-taskbar-clock {
  position: absolute;
  right: 18px;
  top: 14px;
  display: flex;
  align-items: flex-start;
  font-family: "Tahoma";
  font-size: 17px;
  line-height: 17px;
  color: #FFFFFF;
  white-space: nowrap;
  -webkit-font-smoothing: none;
}

.xp-taskbar-clock-meridiem {
  width: 32px;
  height: 16px;
  margin-right: 5px;
}

.xp-taskbar-window-button {
  position: absolute;
  top: 6px;
  height: 36px;
  overflow: hidden;
  image-rendering: pixelated;
  background-image:
    url("../assets/taskbar/task-button-normal-left.webp"),
    url("../assets/taskbar/task-button-normal-right.webp"),
    url("../assets/taskbar/task-button-normal-fill.webp");
  background-position: left top, right top, left top;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-size: 13.5px 36px, 9px 36px, 1.5px 36px;
}

.xp-taskbar-window-button.is-current {
  background-image:
    url("../assets/taskbar/task-button-pressed-left.webp"),
    url("../assets/taskbar/task-button-pressed-right.webp"),
    url("../assets/taskbar/task-button-pressed-fill.webp");
}

.xp-taskbar-window-icon {
  position: absolute;
  left: 16.5px;
  top: 4.5px;
  width: 24px;
  height: 24px;
}

.xp-taskbar-window-label {
  position: absolute;
  left: 43.5px;
  top: 9px;
}

.xp-taskbar-window-label-text {
  position: absolute;
  left: 43.5px;
  top: 7.5px;
  height: 20px;
  font: 17px / 20px Tahoma, SimSun, "Songti SC", sans-serif;
  color: #FFFFFF;
  white-space: nowrap;
}

.xp-taskbar-window-button.is-current .xp-taskbar-window-label-text {
  font-weight: bold;
}

.xp-start-menu {
  position: absolute;
  left: 0;
  top: 393px;
  width: 385px;
  height: 108px;
  z-index: 110;
  transform: scale(1.5);
  transform-origin: 0 0;
}

.xp-start-menu[hidden] {
  display: none;
}

.xp-start-menu-header,
.xp-start-menu-commands {
  position: absolute;
  left: 0;
  width: 385px;
  overflow: hidden;
}

.xp-start-menu-header {
  top: 0;
  height: 67px;
}

.xp-start-menu-commands {
  top: 67px;
  height: 41px;
}

.xp-start-menu-commands-inner {
  position: absolute;
  left: 0;
  top: -437px;
  width: 385px;
  height: 483px;
}

.xp-start-menu-panel {
  position: absolute;
  left: 0;
  top: 0;
  width: 385px;
  height: 483px;
}

.xp-start-menu-items {
  position: absolute;
  left: 0;
  top: 0;
  width: 380px;
  height: 478px;
}

.xp-start-menu-highlight {
  position: absolute;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.18);
  pointer-events: none;
}

.xp-start-menu-highlight.is-held {
  background: rgba(0, 0, 0, 0.38);
}

.xp-start-menu-highlight[hidden] {
  display: none;
}

.xp-start-menu-highlight-items {
  position: absolute;
  width: 380px;
  height: 478px;
}

.xp-start-menu-username {
  position: absolute;
  left: 65px;
  top: 24px;
  font-family: "Tahoma";
  font-size: 15px;
  font-weight: bold;
  line-height: 15px;
  color: #FFFFFF;
  text-shadow: 2px 2px 0 #0A448D;
  white-space: nowrap;
}

.xp-start-menu-command:focus-visible {
  outline: 1px dotted #FFFFFF;
  outline-offset: -2px;
}

.xp-canvas .xp-start-menu-items,
.xp-canvas .xp-start-menu-command {
  --xp-cursor-kind: arrow;
}

.xp-ie-chan-home {
  --xp-chan-home-body-size: 12px;
  --xp-chan-home-body-leading: 13px;
  --xp-chan-home-prose-leading: 14px;
  --xp-chan-home-title-size: 12px;
  --xp-chan-home-meta-size: 10px;
  --xp-chan-home-file-size: 11px;
  --xp-chan-home-file-leading: 12px;
  --xp-chan-home-nav-size: 11px;
  --xp-chan-home-board-size: 16px;
  --xp-chan-home-board-leading: 20px;
  --xp-chan-home-aside-size: 10px;
  --xp-chan-home-fine-size: 9px;
  --xp-chan-home-fine-leading: 11px;
  --xp-chan-home-footer-leading: 10px;
  --xp-chan-home-box-size: 11px;
  position: absolute;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  overflow-anchor: none;
  background: #fefef7 url("../assets/ie/chan-home/page-tile.webp") repeat;
  color: #262635;
  font: var(--xp-chan-home-body-size) / var(--xp-chan-home-body-leading)
    Tahoma, SimSun, "Songti SC", sans-serif;
  scrollbar-width: none;
}
.xp-ie-chan-home::-webkit-scrollbar {
  display: none;
}
.xp-ie-chan-home[data-xp-chan-home-view="thread"] {
  --xp-chan-home-body-size: 17.6px;
  --xp-chan-home-body-leading: 21px;
  --xp-chan-home-prose-leading: 21px;
  --xp-chan-home-title-size: 17.6px;
  --xp-chan-home-meta-size: 17.6px;
  --xp-chan-home-file-size: 17.6px;
  --xp-chan-home-file-leading: 21px;
  --xp-chan-home-nav-size: 16px;
  --xp-chan-home-board-size: 20px;
  --xp-chan-home-board-leading: 22px;
  --xp-chan-home-aside-size: 15px;
  --xp-chan-home-fine-size: 13px;
  --xp-chan-home-fine-leading: 16px;
  --xp-chan-home-footer-leading: 16px;
  --xp-chan-home-box-size: 13px;
}
.xp-chan-home-content {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-height: 100%;
  padding: 4px 18px 3px;
}
.xp-chan-home-link,
.xp-chan-home-nav-label {
  color: #0000ee;
  text-decoration: underline;
}

.xp-chan-home-link {
  cursor: pointer;
  --xp-cursor-kind: link;
}

.xp-chan-home-link:focus-visible {
  outline: 1px dotted #000080;
  outline-offset: 1px;
}

.xp-chan-home-prose .xp-ie-chan-link {
  --xp-cursor-kind: link;
}

.xp-chan-home-header {
  min-height: 49px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 0 30px 3px 48px;
}

.xp-chan-home-logo {
  width: 179px;
  height: 54px;
}

.xp-chan-home-header-right {
  text-align: right;
}

.xp-chan-home-quote {
  font-size: var(--xp-chan-home-fine-size);
  line-height: var(--xp-chan-home-fine-leading);
  margin-bottom: 7px;
}

.xp-chan-home-site-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  font-size: var(--xp-chan-home-aside-size);
}

.xp-chan-home-login,
.xp-chan-home-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 5px;
  font-size: var(--xp-chan-home-nav-size);
}

.xp-chan-home-login-form,
.xp-chan-home-search-form {
  display: flex;
  align-items: center;
  gap: 4px;
}

.xp-chan-home-login-field,
.xp-chan-home-search-field {
  width: 5em;
  box-sizing: border-box;
  padding: 0 2px;
  border: 1px solid #767676;
  background: #ffffff;
  color: inherit;
  font: inherit;
}

.xp-chan-home-login-button,
.xp-chan-home-search-button {
  padding: 0 6px;
  border: 1px solid #767676;
  background: #efefef;
  color: inherit;
  font: inherit;
  cursor: pointer;
  --xp-cursor-kind: link;
}

.xp-chan-home-login-name {
  color: #008840;
  font-weight: bold;
}

.xp-chan-home-search-field {
  width: 10em;
}

.xp-chan-home-search-summary,
.xp-chan-home-search-empty {
  margin: 8px 0;
}

.xp-chan-home-login-error {
  width: 100%;
  text-align: right;
  color: #bc0000;
}

.xp-chan-home-board-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  padding: 0 6px;
  border: 1px solid #8698c5;
  background: #bdd4f6 url("../assets/ie/chan-home/board-strip.webp") repeat-x;
}

.xp-chan-home-board-title {
  color: #000000;
  font-size: var(--xp-chan-home-board-size);
  font-weight: bold;
  line-height: var(--xp-chan-home-board-leading);
}

.xp-chan-home-board-description {
  font-size: var(--xp-chan-home-aside-size);
}

.xp-chan-home-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 16px;
  font-size: var(--xp-chan-home-nav-size);
}

.xp-chan-home-navigation-links {
  display: flex;
  gap: 4px;
}

.xp-chan-home-house-index {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 12px 0 10px 18px;
  padding: 8px 10px;
  border-top: 1px dotted #9298c2;
  border-bottom: 1px dotted #9298c2;
  font-size: 13px;
  line-height: 19px;
}

.xp-chan-home-pagination [aria-current] {
  color: #262635;
  text-decoration: none;
  font-weight: bold;
}

.xp-chan-home-post {
  border-top: 1px solid #9298c2;
  padding: 2px 0 3px;
}

.xp-chan-home-post:last-child {
  border-bottom: 1px solid #9298c2;
}

.xp-chan-home-file {
  margin-bottom: 1px;
  font-size: var(--xp-chan-home-file-size);
  line-height: var(--xp-chan-home-file-leading);
}

.xp-chan-home-post-body {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 18px;
  margin-left: 18px;
}

.xp-chan-home-post-body-textonly {
  grid-template-columns: minmax(0, 1fr);
}

.xp-chan-home-locked-notice {
  margin-top: 2px;
  color: #bc0000;
}

.xp-chan-home-boardlist {
  margin-left: 4px;
}

.xp-chan-home-new-mark {
  display: inline;
  margin-left: 2px;
  vertical-align: 0;
  image-rendering: pixelated;
}

.xp-chan-home-board-locked {
  margin: 8px 0;
  color: #bc0000;
}

.xp-chan-home-thumbnail {
  image-rendering: auto;
}

.xp-chan-home-post-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 6px;
  row-gap: 2px;
  margin-bottom: 3px;
}

.xp-chan-home-checkbox {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  width: var(--xp-chan-home-box-size);
  height: var(--xp-chan-home-box-size);
  border: 1px solid #1C5180;
  background: linear-gradient(135deg, #DCDCD7, #FFFFFF);
  align-self: center;
}

.xp-chan-home-checkbox:checked {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' shape-rendering='crispEdges'%3E%3Cpath fill='%2321A121' d='M6 0h1v2H5V1h1zM0 2h1v1H0zM4 2h3v1H4zM0 3h2v1H0zM3 3h3v1H3zM0 4h5v1H0zM1 5h3v1H1zM2 6h1v1H2z'/%3E%3C/svg%3E") center / 7px 7px no-repeat, linear-gradient(135deg, #DCDCD7, #FFFFFF);
}

.xp-canvas .xp-chan-home-checkbox {
  --xp-cursor-kind: link;
}

.xp-chan-home-post-title {
  color: #bc0000;
  text-decoration: none;
  font-size: var(--xp-chan-home-title-size);
  font-weight: bold;
}

.xp-chan-home-author {
  color: #008840;
  font-size: var(--xp-chan-home-meta-size);
  font-weight: bold;
}

.xp-chan-home-stamp,
.xp-chan-home-number {
  font-size: var(--xp-chan-home-meta-size);
}

.xp-chan-home-reply {
  margin-left: 5px;
  font-size: var(--xp-chan-home-meta-size);
}

.xp-chan-home-line {
  line-height: var(--xp-chan-home-prose-leading);
}

.xp-chan-home-green {
  margin-top: 4px;
  color: #789922;
}

.xp-chan-home-reply-reference {
  color: inherit;
  text-decoration: none;
}

.xp-chan-home-emoticon {
  display: inline-block;
  vertical-align: middle;
}

.xp-chan-home-floors {
  margin: 8px 0 2px 42px;
}

.xp-chan-home-floor {
  margin-top: 8px;
}

.xp-chan-home-floor-marker {
  color: #800000;
  margin-right: 7px;
}

.xp-chan-home-floor-body {
  display: inline-block;
  vertical-align: top;
  max-width: calc(100% - 40px);
  padding: 4px 7px 5px;
  background: #f0e0d6;
}

.xp-chan-home-floor-picture {
  float: left;
  margin: 4px 22px 4px 0;
}

.xp-chan-home-floor-body::after {
  content: "";
  display: block;
  clear: both;
}

.xp-chan-home-sofa {
  margin: 14px 0 2px 42px;
  color: #800000;
}

.xp-chan-home-closed {
  margin: 18px 0;
  color: #bc0000;
  text-align: center;
  font-weight: bold;
}

.xp-chan-home-footer {
  margin-top: auto;
  text-align: center;
  font-size: var(--xp-chan-home-fine-size);
  line-height: var(--xp-chan-home-footer-leading);
}

.xp-chan-home-catalog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 18px 0;
  border-top: 1px solid #9298c2;
  border-bottom: 1px solid #9298c2;
}

.xp-chan-home-catalog-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.xp-chan-home-catalog-title {
  font-weight: bold;
}

@font-face { font-family: WQY12; src: url("../assets/fonts/wqy-12.woff2") format("woff2"); font-display: block; }
@font-face { font-family: WQY16; src: url("../assets/fonts/wqy-16.woff2") format("woff2"); font-display: block; }
@font-face { font-family: WQY13; src: url("../assets/fonts/wqy-13.woff2") format("woff2"); font-display: block; }
.xp-ie-siyan-diary { position: absolute; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; background: #8cbcec url("../assets/ie/diary/geocities-v5/clouds.webp") repeat; color: #000; font: 15px WQY12, SimSun, serif; line-height: 18px; user-select: text; }
.xp-ie-siyan-diary::-webkit-scrollbar { display: none; }
.xp-ie-siyan-diary, .xp-ie-siyan-diary * { font-family: WQY12, SimSun, serif; -webkit-font-smoothing: none; }
.xp-ie-siyan-diary img { display: inline; image-rendering: auto; vertical-align: middle; }
.xp-siyan-diary-sheet { display: flow-root; width: 600px; padding: 18px 0 14px; text-align: center; }
.xp-siyan-diary-link { color: #0000ff; text-decoration: underline; cursor: pointer; }
.xp-siyan-diary-link:focus-visible { outline: 1px dotted #000; }
.xp-siyan-diary-title-line { margin: 0 0 6px; }
.xp-siyan-diary-site-title { margin: 0 10px; color: #2a72c4; font: 30px WQY13, SimSun, serif; letter-spacing: 4px; line-height: 34px; vertical-align: middle; }
.xp-siyan-diary-site-meta { margin: 0 0 10px; color: #003399; }
.xp-ie-siyan-diary .xp-siyan-diary-art-divider { display: block; margin: 0 auto; }
.xp-siyan-diary-top-menu { display: none; margin: 8px 0 0; font-size: 15px; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-top-menu { display: block; }
.xp-siyan-diary-pane { display: none; }
.xp-siyan-diary-pane.is-active { display: block; }
.xp-siyan-diary-stage { display: flex; justify-content: center; align-items: flex-end; margin: 14px 0 14px 86px; }
.xp-siyan-diary-frame { margin: 0; }
.xp-siyan-diary-art-girl { margin: 0 0 -6px 14px; }
.xp-siyan-diary-menu-cell { width: 150px; padding: 0; vertical-align: top; }
.xp-siyan-diary-menu-row { height: 34px; padding: 0 10px; border-bottom: 1px solid #f4f8fc; box-shadow: 0 1px #8094a8; text-align: left; line-height: 34px; }
.xp-siyan-diary-menu-row:last-child { border-bottom: 0; box-shadow: none; }
.xp-siyan-diary-menu-row img { margin-right: 9px; }
.xp-siyan-diary-menu-link { font-size: 15px; }
.xp-siyan-diary-art-portrait { display: block; margin: 0 auto; border: 1px solid #fff; cursor: pointer; }
.xp-siyan-diary-hello { margin: 12px 0 0; color: #e00000; font-weight: normal; text-shadow: 1px 0 0 currentColor; font-size: 15px; line-height: 22px; }
.xp-siyan-diary-welcome { margin: 0 0 14px; color: #000066; }
.xp-siyan-diary-line { margin: 0; }
.xp-siyan-diary-updates { width: 330px; margin: 0 auto 12px; text-align: left; }
.xp-siyan-diary-updates-title { margin: 0 0 4px; color: #cc0066; font-weight: normal; text-shadow: 1px 0 0 currentColor; }
.xp-siyan-diary-update-line { margin: 0 0 2px; }
.xp-siyan-diary-update-line img { margin-left: 4px; }
.xp-siyan-diary-top-menu .is-current { color: #000; text-decoration: none; cursor: default; }
.xp-siyan-diary-panel { width: 600px; margin: 12px auto 0; border: 1px solid #8a9fb5; background: #fff; text-align: left; }
.xp-siyan-diary-panel-title { height: 26px; border-top: 1px solid #e6f1fd; border-bottom: 1px solid #8fb2d8; background: #c4dcf6; color: #0b2a66; text-align: center; font-weight: normal; text-shadow: 1px 0 0 currentColor; font-size: 15px; line-height: 26px; }
.xp-siyan-diary-panel-body { padding: 10px 12px 12px; }
.xp-siyan-diary-panel-body .xp-siyan-diary-text { margin: 0 0 10px; }
.xp-siyan-diary-pane-tape .xp-siyan-diary-text { text-align: center; }
.xp-siyan-diary-tape { margin: 14px auto 6px; text-align: center; }
.xp-siyan-diary-tape-thumb { display: inline-block; padding: 3px; border: 1px solid #999999; background: #ffffff; }
.xp-siyan-diary-tape-thumb img { display: block; }
.xp-siyan-diary-tape-title { margin-top: 6px; }
.xp-siyan-diary-tape-note { margin-top: 2px; color: #666666; }
.xp-siyan-diary-bottom-link { margin: 12px 0 0; }
.xp-siyan-diary-footer { margin: 18px 0 0; }
.xp-siyan-diary-footer-line { margin: 6px 0 0; color: #000066; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-title-line { height: 36px; margin: 19px 0 10px; line-height: 36px; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-site-title { margin: 0 15px 0 19px; font-family: WQY13, SimSun, serif; font-size: 30px; line-height: 36px; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-site-meta { height: 18px; margin: 0 0 20px; letter-spacing: 1px; line-height: 18px; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-top-menu { height: 18px; margin: 19px 0 0; letter-spacing: 2px; line-height: 18px; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-footer-line, .xp-siyan-diary-sheet.is-inner .xp-siyan-diary-bottom-link { display: none; }
.xp-siyan-diary-sheet.is-inner .xp-siyan-diary-footer { margin: 0; padding-bottom: 21px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-panel { position: relative; width: 491px; margin: 20px 0 27px 55px; padding: 69px 0 35px 9px; background: url("../assets/ie/diary/pages-v6/gb-top.webp") no-repeat 0 0, url("../assets/ie/diary/pages-v6/gb-bottom.webp") no-repeat 0 100%, url("../assets/ie/diary/pages-v6/gb-mid.webp") repeat-y 0 0; text-align: left; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-title { position: absolute; top: 1px; left: 0; width: 490px; height: 31px; color: #00006a; text-align: center; font-weight: normal; text-shadow: 1px 0 0 currentColor; font-size: 15px; line-height: 31px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-summary { position: absolute; top: 43px; left: 0; width: 490px; margin: 0; color: #111232; text-align: center; line-height: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-entry { position: relative; width: 473px; background-repeat: no-repeat; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-face { position: absolute; left: 22px; top: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-pick { position: absolute; left: 25px; top: 21px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-name-label { position: absolute; left: 0; top: 67px; width: 88px; color: #272b50; text-align: center; line-height: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-date { position: absolute; left: 101px; top: 1px; height: 27px; color: #070c67; white-space: nowrap; line-height: 27px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-text { position: absolute; left: 101px; top: 38px; margin: 0; color: #040623; white-space: nowrap; font-size: 15px; line-height: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-reply { position: absolute; left: 101px; top: 88px; color: #fd000a; white-space: nowrap; font-size: 15px; line-height: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-form { position: relative; width: 473px; height: 294px; background: url("../assets/ie/diary/pages-v6/gb-form.webp") no-repeat; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-form-title { position: absolute; top: 1px; left: 0; width: 472px; height: 27px; color: #00003f; text-align: center; font-weight: normal; text-shadow: 1px 0 0 currentColor; font-size: 15px; line-height: 27px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-form-label { position: absolute; left: 12px; color: #17176b; white-space: nowrap; line-height: 20px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-name, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-qq, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-message { position: absolute; left: 90px; margin: 0; padding: 0 4px; border: 0; outline: 0; background: transparent; color: #000; font: 15px WQY12, SimSun, serif; user-select: text; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-name { top: 37px; width: 168px; height: 22px; line-height: 22px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-qq { top: 76px; width: 168px; height: 22px; line-height: 22px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-message { top: 165px; width: 352px; height: 84px; padding: 3px 4px; overflow: hidden; resize: none; line-height: 18px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-avatar { position: absolute; top: 112px; height: 32px; cursor: pointer; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-avatar input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-radio { position: absolute; left: 0; top: 14px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-submit, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-reset { position: absolute; top: 258px; height: 25px; padding: 0; border: 0; background: transparent; color: #111; font: 15px WQY12, SimSun, serif; line-height: 25px; cursor: pointer; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-submit { left: 173px; width: 58px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-reset { left: 242px; width: 58px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-submit:active, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-reset:active { padding: 2px 0 0 2px; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-tip { position: absolute; z-index: 2; display: block; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-tip[hidden] { display: none; }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-powered { position: absolute; left: 0; bottom: 8px; width: 490px; margin: 0; color: #4b4a4c; text-align: center; line-height: 20px; }
.xp-siyan-diary-about-panel { position: relative; margin: 20px 0 15px 55px; background: url("../assets/ie/diary/pages-v6/about-panel.webp") no-repeat; text-align: left; }
.xp-siyan-diary-placed { position: absolute; white-space: nowrap; font-size: 15px; line-height: 20px; }
.xp-siyan-diary-about-photo { position: absolute; cursor: pointer; }
.xp-siyan-diary-about-title { color: #00006a; font-weight: normal; text-shadow: 1px 0 0 currentColor; }
.xp-siyan-diary-about-caption { color: #272b50; }
.xp-siyan-diary-about-label { color: #17176b; }
.xp-siyan-diary-about-value { color: #111232; }
.xp-siyan-diary-about-line { color: #111232; }
.xp-siyan-diary-about-like { color: #e4157c; font-weight: normal; text-shadow: 1px 0 0 currentColor; }
.xp-siyan-diary-pane-photos .xp-siyan-diary-album-panel { position: relative; margin: 23px 0 28px 49px; background-repeat: no-repeat; text-align: left; }
.xp-siyan-diary-album-photo { position: absolute; cursor: pointer; }
.xp-siyan-diary-album-title { color: #00006a; font-weight: normal; text-shadow: 1px 0 0 currentColor; }
.xp-siyan-diary-album-list, .xp-siyan-diary-album-pages { color: #111232; }
.xp-siyan-diary-album-caption { color: #1b1c4a; }
.xp-siyan-diary-album-hint { color: #4b4a4c; }
.xp-ie-siyan-diary .xp-siyan-diary-about-title, .xp-ie-siyan-diary .xp-siyan-diary-album-title, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-guest-title, .xp-siyan-diary-pane-guestbook .xp-siyan-diary-form-title { font-family: WQY16, SimSun, serif; font-size: 18px; }

.xp-ie-game-guide { position: absolute; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; background: #fcf8ef; color: #000; font: 12px/1.6em Verdana, SimSun, "宋体", sans-serif; text-align: center; user-select: text; }
.xp-ie-game-guide::-webkit-scrollbar { display: none; }
.xp-ie-game-guide * { box-sizing: content-box; margin: 0; padding: 0; }
.xp-ie-game-guide img { display: inline; border: 0; }
.xp-ie-game-guide h2, .xp-ie-game-guide p, .xp-ie-game-guide ul { padding: .5em 0; }
.xp-ie-game-guide a { color: #000; text-decoration: none; }
.xp-ie-game-guide a:hover { color: #f00; text-decoration: underline; }
.xp-ie-game-guide a.xp-guide-hot { color: #f00; }
.xp-ie-game-guide a.xp-guide-hot:hover { color: #2f1fff; }
.xp-canvas .xp-ie-game-guide a, .xp-canvas .xp-ie-game-guide button { --xp-cursor-kind: link; }
.xp-ie-game-guide button { box-sizing: border-box; height: 19px; padding: 0 4px; border: 2px outset #e6e6e6; background: #f0f0f0; color: #000; font: 12px Verdana, SimSun, "宋体", sans-serif; }
.xp-ie-game-guide input, .xp-ie-game-guide textarea { box-sizing: border-box; border: 2px inset #e6e6e6; background: #fff; color: #000; font: 12px Verdana, SimSun, "宋体", sans-serif; }
.xp-guide-container { width: 739px; margin: 0 auto; padding: 0 5px 2px; background: url("../assets/ie/guide/page-edge.webp") repeat-y; text-align: left; }
.xp-guide-clear { clear: both; height: 0; overflow: hidden; }
.xp-guide-top { height: 31px; background: url("../assets/ie/guide/top-bar.jpg") repeat-x; }
.xp-guide-top-note { float: left; margin-left: 10px; line-height: 1.4em; }
.xp-guide-top-home { float: right; margin-top: 3px; line-height: 1.6em; }
.xp-ie-game-guide .xp-guide-top-home a { margin-right: 15px; padding-left: 15px; background: url("../assets/ie/guide/home-dot.jpg") no-repeat left; }
.xp-guide-header { height: 60px; background: url("../assets/ie/guide/header-bg.jpg") repeat-x; }
.xp-guide-logo { float: left; margin-left: 10px; width: 199px; height: 58px; }
.xp-guide-logo img { display: block; width: 199px; height: 58px; }
.xp-guide-menu { float: right; width: 515px; height: 52px; padding: 6px 15px 0 0; background: url("../assets/ie/guide/menu-bg.jpg") no-repeat right; text-align: right; font-size: 16px; font-weight: bold; line-height: 2.8em; }
.xp-ie-game-guide .xp-guide-menu a { margin-left: 6px; padding: 3px 15px 3px 0; background: url("../assets/ie/guide/menu-sep.jpg") no-repeat right; }
.xp-guide-nav { width: 709px; height: 28px; padding: 6px 15px 0; background: url("../assets/ie/guide/nav-bar.webp") no-repeat; color: #5e2b03; font-size: 15px; font-weight: bold; line-height: 21px; white-space: nowrap; }
.xp-ie-game-guide .xp-guide-nav a { color: #5e2b03; }
.xp-guide-recommend { height: 42px; background: #fff; }
.xp-guide-recommend-links { float: left; width: 486px; line-height: 42px; white-space: nowrap; overflow: hidden; }
.xp-guide-label { color: #993300; }
.xp-guide-search { float: right; display: flex; align-items: center; width: 249px; height: 42px; }
.xp-ie-game-guide .xp-guide-search-more { width: 48px; margin: 0 8px 0 2px; color: #00f; text-decoration: underline; line-height: 17px; }
.xp-ie-game-guide .xp-guide-search-input { width: 150px; height: 19px; padding: 0 2px; }
.xp-ie-game-guide .xp-guide-search-button { width: 32px; margin-left: 2px; padding: 0; }
.xp-guide-row-gap { height: 3px; background: #fff; }
.xp-guide-topic { height: 25px; padding-left: 12px; line-height: 25px; white-space: nowrap; overflow: hidden; }
.xp-guide-topic.is-green { background: #d0e8bb; }
.xp-guide-topic.is-yellow { background: #ffffb3; }
.xp-guide-topic.is-pink { background: #fbe7d2; }
.xp-guide-tabs-block { margin: 5px 2px 0; }
.xp-guide-tabs { position: relative; z-index: 1; height: 26px; padding: 8px 0 0 10px; }
.xp-ie-game-guide .xp-guide-tabs a { float: left; margin-right: 8px; padding-left: 4px; background: url("../assets/ie/guide/tab.webp") no-repeat left top; font-size: 14px; font-weight: bold; text-decoration: none; }
.xp-guide-tabs a span { float: left; display: block; padding: 5px 15px 4px 6px; background: url("../assets/ie/guide/tab.webp") no-repeat right top; color: #265e9e; line-height: 20px; }
.xp-guide-tab-photos { height: 123px; padding: 1px 0; border: 1px solid #6fb0fb; background: #eaf4ff; }
.xp-guide-photo { float: left; margin: 10px 0 0 14px; }
.xp-guide-photo img { display: block; width: 110px; height: 80px; padding: 2px; border: 1px solid #999; }
.xp-guide-photo dd { width: 116px; line-height: 1.6em; text-align: center; white-space: nowrap; overflow: hidden; }
.xp-guide-main { width: 735px; margin: 0 2px; }
.xp-guide-left { float: left; width: 233px; margin: 5px 6px 0 0; }
.xp-guide-right { float: left; width: 496px; margin-top: 5px; }
.xp-guide-panel + .xp-guide-panel { margin-top: 5px; }
.xp-guide-panel-top { overflow: hidden; background-repeat: no-repeat; }
.xp-guide-panel-title { float: left; margin-left: 40px; padding-top: 8px; color: #fff; font-size: 14px; font-weight: bold; }
.xp-ie-game-guide .xp-guide-panel-more { float: right; margin: 8px 10px 0 0; color: #fff; font-size: 14px; font-weight: bold; }
.xp-guide-panel.is-purple .xp-guide-panel-body { padding: 1px 0; background: url("../assets/ie/guide/purple-body.jpg") repeat-y; }
.xp-guide-panel.is-blue .xp-guide-panel-body { padding: 1px 0; background: url("../assets/ie/guide/blue-body.webp") repeat-y; }
.xp-guide-panel-bottom { background-repeat: no-repeat; font-size: 0; }
.xp-guide-kinds { width: 225px; margin: 0 auto; border-collapse: separate; border-spacing: 1px; }
.xp-guide-kinds td { height: 22px; background: #ecd8ff; font-size: 14px; line-height: 22px; text-align: center; }
.xp-ie-game-guide .xp-guide-list li { margin: 0 10px; font-size: 13px; line-height: 1.6em; list-style: none; }
.xp-guide-list span { float: left; width: 155px; white-space: nowrap; overflow: hidden; }
.xp-guide-series { width: 194px; margin: 10px auto; }
.xp-guide-series a { display: block; margin-bottom: 5px; }
.xp-guide-series img { display: block; }
.xp-ie-game-guide .xp-guide-classics { width: 116px; margin: 10px auto 0; }
.xp-ie-game-guide .xp-guide-classics .xp-guide-photo { float: none; height: 108px; margin: 0; }
.xp-guide-place { padding: 1px; border: 1px solid #4f98a6; background: #fff; }
.xp-guide-place-line { padding: 2px 0 2px 7px; background: #83ccda; line-height: 1.8em; }
.xp-guide-place + .xp-guide-panel { margin-top: 5px; }
.xp-ie-game-guide .xp-guide-title { margin: 10px 10px 0; font-size: 20px; font-weight: bold; line-height: 1.8em; text-align: left; }
.xp-guide-meta { margin: 0 10px; color: #333; line-height: 1.6em; }
.xp-ie-game-guide .xp-guide-meta-comments { float: right; }
.xp-guide-content { margin: 6px 10px 0; padding: 4px 12px; text-align: left; }
.xp-ie-game-guide .xp-guide-lead { font-size: 14px; line-height: 1.7em; text-indent: 2em; }
.xp-ie-game-guide .xp-guide-section { margin-top: 10px; padding: 0; border-bottom: 1px dashed #999; font-size: 16px; font-weight: bold; line-height: 1.8em; }
.xp-ie-game-guide .xp-guide-figure { text-align: center; }
.xp-guide-figure img { width: 320px; height: 240px; padding: 2px; border: 1px solid #999; vertical-align: top; }
.xp-guide-figure img.is-qq { width: auto; height: auto; }
.xp-guide-enter { text-align: center; }
.xp-guide-caption { display: block; color: #666; line-height: 1.6em; }
.xp-guide-replies { margin: 6px 10px 8px; text-align: left; }
.xp-guide-reply { border-bottom: 1px dashed #ccc; }
.xp-guide-reply-head { margin-top: 4px; padding: 0 6px; background: #eef5fe; color: #265e9e; line-height: 20px; }
.xp-guide-reply-floor { margin-right: 8px; color: #f00; }
.xp-guide-reply-time { float: right; color: #999; }
.xp-ie-game-guide .xp-guide-reply-text { padding: 3px 6px 4px; line-height: 1.6em; }
.xp-ie-game-guide .xp-guide-enter a { color: #00f; }
.xp-guide-buttons { padding-bottom: 6px; text-align: right; }
.xp-guide-buttons button { margin-left: 4px; }
.xp-ie-game-guide .xp-guide-picks { margin: 15px 0 0 38px; }
.xp-ie-game-guide .xp-guide-picks .xp-guide-photo { height: 113px; margin: 0 12px; }
.xp-guide-message { margin: 6px 10px 8px; }
.xp-guide-message-all { text-align: right; }
.xp-guide-message-label { display: block; font-weight: bold; line-height: 1.6em; }
.xp-ie-game-guide .xp-guide-message-text { display: block; width: 474px; height: 110px; border: 1px solid #767676; resize: none; }
.xp-guide-message-row { margin-top: 3px; text-align: right; }
.xp-guide-message-row strong { font-weight: bold; vertical-align: middle; }
.xp-ie-game-guide .xp-guide-message-name { width: 130px; height: 19px; margin: 0 4px; vertical-align: middle; }
.xp-guide-message-row button { vertical-align: middle; }
.xp-guide-collection { margin: 5px 2px 0; }
.xp-guide-collection-title { height: 28px; font-size: 14px; font-weight: bold; line-height: 28px; }
.xp-guide-collection-table { width: 735px; border: 1px solid #999; border-collapse: separate; border-spacing: 2px; background: #fff; }
.xp-guide-collection-label { width: 14px; padding: 6px 4px; background: #a7d5fe; font-size: 14px; font-weight: bold; line-height: 17px; white-space: normal; word-break: break-all; vertical-align: middle; }
.xp-guide-collection-table td { width: 25%; height: 28px; background: #ddeefb; text-align: center; vertical-align: middle; }
.xp-guide-collection-table tr.is-second td { background: #d0e9ff; }
.xp-guide-remember { margin: 5px 2px 0; height: 19px; background: #c2e1f8; line-height: 19px; text-align: center; }
.xp-guide-footer { margin: 5px 0 2px; padding: 8px 0; border: 1px solid #cc9304; background: #fff9eb; text-align: center; }

.xp-ie-xinyou { position: absolute; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; background: #ffffff; color: #000000; font: 12px SimSun, "宋体", "Songti SC", serif; text-align: left; user-select: text; }
.xp-ie-xinyou::-webkit-scrollbar { display: none; }
.xp-ie-xinyou * { box-sizing: border-box; margin: 0; padding: 0; }
.xp-ie-xinyou img { display: block; border: 0; }
.xp-ie-xinyou a { color: inherit; text-decoration: none; }
.xp-ie-xinyou a:hover, .xp-ie-xinyou a.xp-xinyou-underline { text-decoration: underline; }
.xp-ie-xinyou .xp-xinyou-red { color: #cc0000; }
.xp-canvas .xp-ie-xinyou a, .xp-canvas .xp-ie-xinyou .xp-xinyou-button { --xp-cursor-kind: link; }
.xp-canvas .xp-ie-xinyou input, .xp-canvas .xp-ie-xinyou textarea { --xp-cursor-kind: ibeam; }
.xp-xinyou-container { width: 749px; margin: 0 auto; }
.xp-xinyou-topnav { display: flex; justify-content: space-between; height: 32px; padding: 0 10px; background: #f8fbfe; color: #003183; font-size: 13px; font-weight: bold; line-height: 32px; white-space: nowrap; }
.xp-xinyou-head { height: 119px; border: 1px solid #bcbcbc; }
.xp-xinyou-brand { position: relative; height: 80px; }
.xp-xinyou-logo { position: absolute; left: 11px; top: 14px; }
.xp-xinyou-head-links { position: absolute; right: 10px; top: 15px; color: #8a0000; font-size: 13px; line-height: 25px; }
.xp-xinyou-rule { height: 2px; margin-bottom: 2px; background: #a6a6a6; }
.xp-xinyou-subnav { height: 30px; margin: 0 2px 3px; background: #e6eff8; color: #003183; font-size: 13px; font-weight: 900; line-height: 30px; text-align: center; white-space: nowrap; }
.xp-xinyou-subnav a { margin: 0 13px; }
.xp-xinyou-columns { display: flex; align-items: flex-start; margin-top: 8px; }
.xp-xinyou-main { width: 502px; border: 1px solid #bcbcbc; padding: 0 12px 16px 10px; }
.xp-xinyou-crumbs { height: 28px; border-bottom: 1px dotted #676767; color: #8a0000; font-size: 13px; font-weight: bold; line-height: 27px; }
.xp-xinyou-title { height: 66px; font: bold 25px/66px SimSun, "宋体", "Songti SC", serif; text-align: center; white-space: nowrap; }
.xp-xinyou-date { height: 22px; line-height: 22px; text-align: center; }
.xp-xinyou-source { color: #000066; }
.xp-xinyou-toolbar { display: flex; align-items: center; height: 29px; border-top: 1px solid #000000; padding: 2px 0 0 10px; background: #4372ae content-box; color: #ffffff; white-space: nowrap; }
.xp-xinyou-zoom, .xp-xinyou-tool { flex: none; margin-right: 6px; }
.xp-xinyou-mail { display: flex; flex: 1; min-width: 0; align-items: center; }
.xp-xinyou-input { height: 20px; border: 1px solid #7f9db9; background: #ffffff; color: #000000; font: 12px SimSun, "宋体", "Songti SC", serif; padding: 1px 2px; outline: none; }
.xp-xinyou-mail-input { flex: 1; min-width: 0; height: 16px; padding: 0 2px; margin-right: 4px; }
.xp-xinyou-mail .xp-xinyou-button { margin-right: 4px; }
.xp-xinyou-text { margin-top: 2px; padding: 0 10px; font-size: 16px; line-height: 1.8; }
.xp-xinyou-paragraph { margin: 16px 0; }
.xp-xinyou-notice { margin: 16px 0; }
.xp-xinyou-notice-sign { padding-right: 2em; text-align: right; }
.xp-xinyou-figure { width: 322px; margin: 16px auto; }
.xp-ie-xinyou .xp-xinyou-picture { border: 1px solid #9c9c9c; width: 322px; height: 184px; }
.xp-xinyou-caption { font-size: 14px; line-height: 24px; text-align: center; }
.xp-xinyou-more { display: flex; align-items: center; justify-content: center; height: 18px; margin-top: 26px; color: #008080; font-size: 14px; font-weight: bold; white-space: nowrap; }
.xp-xinyou-dot { margin-right: 8px; }
.xp-xinyou-recommend { margin: 14px -5px 0; border: 1px solid #719ad9; }
.xp-xinyou-recommend-head { height: 27px; border-bottom: 1px solid #dedede; background: #e5eefa; }
.xp-xinyou-recommend-tab { display: inline-block; height: 26px; padding: 0 12px; background: #719ad9; color: #ffffff; font-size: 14px; font-weight: bold; line-height: 26px; }
.xp-xinyou-list.xp-xinyou-recommend-list { display: grid; margin-top: 0; grid-template-columns: 1fr 1fr; padding: 8px 10px 10px; color: #000066; font-size: 16px; line-height: 26px; }
.xp-xinyou-recommend-list .xp-xinyou-line { height: 26px; line-height: 26px; }
.xp-ie-xinyou .xp-xinyou-recommend-list a { color: #0000ff; text-decoration: underline; }
.xp-xinyou-tools { display: flex; align-items: center; height: 25px; margin-top: 16px; padding: 0 6px; background: #e0e0e0; white-space: nowrap; }
.xp-xinyou-tools-cell { margin-right: 12px; }
.xp-xinyou-editor { margin-left: auto; }
.xp-xinyou-pair { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 8px; }
.xp-xinyou-pair-left { width: 240px; }
.xp-xinyou-pair-right { width: 224px; }
.xp-xinyou-section-head { height: 30px; border: 1px solid #cce0f4; background: url("../assets/ie/xinyou/section-bg.webp") repeat-x; padding-left: 13px; color: #5c7600; font-size: 14px; font-weight: bold; line-height: 28px; white-space: nowrap; }
.xp-xinyou-more-mark { margin-left: 10px; }
.xp-xinyou-list { margin-top: 8px; color: #0042af; font-size: 13px; }
.xp-xinyou-line { height: 22px; padding-left: 6px; line-height: 22px; white-space: nowrap; overflow: hidden; }
.xp-xinyou-note-line { margin-top: 8px; line-height: 18px; white-space: pre-line; }
.xp-xinyou-note-area { display: block; width: 224px; height: 126px; margin-top: 4px; border: 1px solid #7f9db9; background: #ffffff; color: #000000; font: 12px SimSun, "宋体", "Songti SC", serif; padding: 2px; resize: none; overflow: hidden; outline: none; }
.xp-xinyou-note-send { display: flex; align-items: center; justify-content: center; margin-top: 6px; }
.xp-xinyou-note-send a { margin-left: 10px; }
.xp-xinyou-videos { display: flex; justify-content: space-between; margin-top: 10px; }
.xp-xinyou-video { width: 104px; text-align: center; }
.xp-xinyou-video-image { border: 1px solid #cccccc; padding: 3px; }
.xp-ie-xinyou .xp-xinyou-video-caption { display: block; margin-top: 4px; color: #0042af; line-height: 16px; }
.xp-xinyou-side { width: 244px; margin-left: 3px; border: 1px solid #bcbcbc; padding-bottom: 16px; }
.xp-xinyou-side-head { height: 34px; margin: 3px 5px 0; border-bottom: 1px dotted #676767; padding: 0 0 3px 15px; background: #f1f7fd content-box; color: #8a0000; font-size: 14px; font-weight: bold; line-height: 30px; white-space: nowrap; }
.xp-xinyou-shots { display: flex; flex-wrap: wrap; justify-content: space-around; padding-top: 18px; }
.xp-xinyou-shot { width: 114px; margin-bottom: 14px; text-align: center; }
.xp-xinyou-shot-image { border: 1px solid #cccccc; }
.xp-ie-xinyou .xp-xinyou-shot-caption { display: block; margin-top: 6px; color: #0042af; font-size: 13px; line-height: 15px; }
.xp-xinyou-tabs { display: flex; height: 28px; margin: 0 5px; border: 1px solid #9ab9dd; border-width: 0 1px; background: url("../assets/ie/xinyou/tabs-bg.webp") repeat-x; }
.xp-xinyou-tab { flex: 1; height: 26px; margin-top: 1px; color: #003183; font-size: 14px; font-weight: bold; line-height: 26px; text-align: center; }
.xp-xinyou-tab.is-current { background: #4576c1; color: #ffffff; }
.xp-xinyou-side-list { margin: 4px 5px 14px; }
.xp-xinyou-side-list .xp-xinyou-line { height: 28px; border-bottom: 1px dotted #b4b4b4; padding-left: 10px; line-height: 27px; }
.xp-xinyou-footer { margin-top: 5px; border-top: 5px solid #000000; box-shadow: inset 0 5px 0 #e5e5e5; padding: 19px 0 14px; line-height: 22px; text-align: center; }
.xp-xinyou-owner { color: #0000ff; }

.xp-ie-qmxw { position: absolute; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; background: #ffffff; color: #000000; font: 12px SimSun, "宋体", "Songti SC", serif; text-align: left; user-select: text; }
.xp-ie-qmxw::-webkit-scrollbar { display: none; }
.xp-ie-qmxw * { box-sizing: border-box; margin: 0; padding: 0; }
.xp-ie-qmxw img { display: block; border: 0; }
.xp-ie-qmxw ul { list-style: none; }
.xp-ie-qmxw a { color: inherit; text-decoration: none; }
.xp-ie-qmxw a:hover { text-decoration: underline; }
.xp-canvas .xp-ie-qmxw a { --xp-cursor-kind: link; }
.xp-canvas .xp-ie-qmxw input { --xp-cursor-kind: ibeam; }
.xp-qmxw-container { width: 749px; margin: 0 auto; background: #ffffff; }
.xp-qmxw-head { position: relative; height: 55px; background: #ffffff; }
.xp-ie-qmxw .xp-qmxw-emblem { position: absolute; left: 0; top: 0; }
.xp-qmxw-brand { position: absolute; left: 75px; top: 7px; display: flex; align-items: flex-start; height: 15px; white-space: nowrap; }
.xp-qmxw-domain { font: 14px/15px Arial, Helvetica, sans-serif; }
.xp-qmxw-domain-red { color: #EE0005; }
.xp-ie-qmxw .xp-qmxw-channel { margin-left: 5px; }
.xp-qmxw-redline { position: absolute; left: 75px; right: 0; top: 30px; height: 1px; background: #DA0004; }
.xp-qmxw-search { position: absolute; left: 321px; top: 0; display: flex; align-items: flex-start; white-space: nowrap; }
.xp-ie-qmxw .xp-qmxw-mail { display: block; width: 73px; margin-top: 6px; color: #5A5A5A; letter-spacing: 1px; line-height: 14px; text-decoration: underline; }
.xp-qmxw-search-input { width: 94px; height: 18px; margin: 4px 12px 0 0; border: 2px inset #767676; padding: 0 1px; background: #FFF8FF; color: #000000; font: 12px SimSun, "宋体", "Songti SC", serif; outline: none; }
.xp-qmxw-scope { position: relative; width: 90px; height: 20px; margin: 3px 16px 0 0; border: 1px solid #7F9DB9; padding-left: 2px; background: #FFF8FF; line-height: 18px; }
.xp-ie-qmxw .xp-qmxw-scope-arrow { position: absolute; right: 1px; top: 0; }
.xp-qmxw-scope-list { position: absolute; left: -1px; top: 19px; z-index: 1; width: 90px; border: 1px solid #000000; background: #ffffff; }
.xp-qmxw-scope-option { height: 14px; padding-left: 2px; line-height: 14px; }
.xp-qmxw-scope-option.is-hot { background: #316AC5; color: #ffffff; }
.xp-ie-qmxw .xp-qmxw-search-button { display: block; margin: 7px 23px 0 0; }
.xp-ie-qmxw .xp-qmxw-big5 { display: block; margin: 9px 9px 0 0; }
.xp-ie-qmxw .xp-qmxw-english { display: block; margin-top: 9px; }
.xp-qmxw-nav { position: absolute; left: 75px; top: 37px; display: flex; white-space: nowrap; }
.xp-qmxw-nav li { height: 13px; padding-left: 14px; background: url("../assets/ie/qmxw/ui/nav-dot.webp") no-repeat 7px 3px; }
.xp-qmxw-nav li:first-child { padding-left: 0; background: none; }
.xp-ie-qmxw .xp-qmxw-nav a { color: #5A5A5A; letter-spacing: 1px; line-height: 13px; }
.xp-qmxw-subnav { height: 20px; padding: 4px 8px 0 0; background: #0E8D9F; color: #ffffff; text-align: right; white-space: nowrap; }
.xp-qmxw-subnav-item { display: inline-block; height: 12px; padding-left: 9px; background: url("../assets/ie/qmxw/ui/subnav-rule.webp") no-repeat; line-height: 12px; vertical-align: top; }
.xp-qmxw-subnav-end { display: inline-block; width: 9px; height: 12px; background: url("../assets/ie/qmxw/ui/subnav-rule.webp") no-repeat; vertical-align: top; }
.xp-qmxw-ticker { position: relative; height: 30px; margin-top: 5px; }
.xp-ie-qmxw .xp-qmxw-ticker-icon { position: absolute; left: 0; top: 10px; }
.xp-qmxw-ticker-lead { position: absolute; left: 20px; top: 10px; color: #5A5A5A; font-weight: bold; line-height: 12px; }
.xp-qmxw-marquee { position: absolute; left: 85px; top: 5px; width: 664px; height: 20px; overflow: hidden; background: #ffffff; }
.xp-qmxw-marquee-list { position: absolute; left: 664px; top: 7px; display: flex; line-height: 14px; white-space: nowrap; }
.xp-qmxw-marquee-list li { margin-right: 20px; }
.xp-qmxw-columns { display: flex; align-items: flex-start; }
.xp-qmxw-main { width: 469px; }
.xp-qmxw-crumbs { position: relative; height: 36px; color: #5A5A5A; line-height: 12px; white-space: nowrap; }
.xp-ie-qmxw .xp-qmxw-crumbs-icon { position: absolute; left: 0; top: 14px; }
.xp-qmxw-trail { position: absolute; left: 20px; top: 14px; }
.xp-qmxw-eye { position: absolute; right: 10px; top: 14px; display: flex; }
.xp-qmxw-eye-label { letter-spacing: 3px; }
.xp-ie-qmxw .xp-qmxw-eye-square { display: block; margin-left: 5px; }
.xp-ie-qmxw .xp-qmxw-eye-label + .xp-qmxw-eye-square { margin-left: 1px; }
.xp-qmxw-title { width: 459px; height: 53px; padding-top: 15px; background: url("../assets/ie/qmxw/ui/title-rule.webp") repeat-x left bottom; color: #0037A2; font: bold 21px/21px SimSun, "宋体", "Songti SC", serif; text-align: center; white-space: nowrap; }
.xp-qmxw-date, .xp-qmxw-source { margin-top: 10px; font-size: 12px; font-weight: normal; line-height: 12px; text-align: center; }
.xp-qmxw-red { color: #FF0000; }
.xp-qmxw-text { margin-top: 10px; font-size: 14px; line-height: 21px; }
.xp-qmxw-text p { margin-bottom: 10px; padding: 0 10px; }
.xp-qmxw-text strong { font-weight: bold; }
.xp-ie-qmxw .xp-qmxw-photo { margin: 0 auto; }
.xp-qmxw-text .xp-qmxw-caption { font: 12px/12px "华文楷体", STKaiti, KaiTi, "Kaiti SC", serif; text-align: center; }
.xp-qmxw-related-head { width: 459px; height: 22px; margin-top: 55px; background: url("../assets/ie/qmxw/ui/title-rule.webp") repeat-x left bottom; }
.xp-qmxw-related-list { margin-top: 10px; }
.xp-qmxw-related-list li { height: 12px; margin-bottom: 7px; padding-left: 20px; background: url("../assets/ie/qmxw/ui/bullet.webp") no-repeat 8px 4px; line-height: 12px; white-space: nowrap; }
.xp-qmxw-box { width: 459px; margin-top: 15px; border: 5px solid #EFEFEF; background: #ffffff; }
.xp-qmxw-box-inner { border: 1px solid #B5B5B5; padding: 4px 4px 10px; }
.xp-qmxw-box-head { height: 24px; padding: 5px 0 0 10px; background: url("../assets/ie/qmxw/ui/box-bar.webp") no-repeat; color: #ffffff; font-size: 14px; font-weight: bold; line-height: 14px; }
.xp-qmxw-guide { display: flex; flex-wrap: wrap; padding-top: 10px; }
.xp-qmxw-guide li { width: 219px; height: 24px; padding-left: 25px; background: url("../assets/ie/qmxw/ui/teal-bullet.webp") no-repeat 15px 4px; }
.xp-qmxw-guide li:nth-child(even) { width: 220px; }
.xp-qmxw-reading { padding-top: 10px; }
.xp-qmxw-reading li { height: 22px; padding-left: 30px; background: url("../assets/ie/qmxw/ui/teal-bullet.webp") no-repeat 20px 4px; }
.xp-ie-qmxw .xp-qmxw-guide a, .xp-ie-qmxw .xp-qmxw-reading a { display: block; position: relative; top: -1px; color: #5A5A5A; font-size: 14px; line-height: 17px; white-space: nowrap; }
.xp-qmxw-side { width: 280px; background: #ffffff; }
.xp-qmxw-picks-head { height: 27px; padding: 6px 0 0 10px; background: #97B9E9; }
.xp-qmxw-picks-list { display: flex; flex-wrap: wrap; margin-top: 2px; border: 1px solid #B5B5B5; padding: 0 0 12px 8px; }
.xp-qmxw-picks-list li { width: 125px; height: 24px; padding-top: 11px; line-height: 12px; white-space: nowrap; overflow: hidden; }
.xp-qmxw-picks-list li:nth-child(even) { width: 141px; padding-left: 17px; background: url("../assets/ie/qmxw/ui/bullet.webp") no-repeat 8px 15px; }
.xp-qmxw-picks-list li.is-red { color: #FF0000; }
.xp-qmxw-module { margin-top: 5px; }
.xp-qmxw-module-head { position: relative; height: 34px; border-bottom: 1px solid #B5B5B5; background: #97B9E9; }
.xp-ie-qmxw .xp-qmxw-module-title { position: absolute; left: 0; top: 0; }
.xp-qmxw-tabs { position: absolute; left: 90px; top: 14px; display: flex; }
.xp-qmxw-tab { height: 28px; border: 1px solid #B5B5B5; padding: 0 9px; background: url("../assets/ie/qmxw/ui/tab.webp") no-repeat; line-height: 26px; white-space: nowrap; }
.xp-qmxw-tab.is-current { background: #ffffff; }
.xp-qmxw-module-list { border: 1px solid #B5B5B5; border-top: 0; padding: 0 13px 12px; }
.xp-qmxw-module-list li { height: 24px; padding: 11px 0 0 8px; background: url("../assets/ie/qmxw/ui/bullet.webp") no-repeat 0 14px; line-height: 12px; white-space: nowrap; overflow: hidden; }
.xp-qmxw-module-list li.is-blue { color: #0000FF; }
.xp-qmxw-footer { height: 33px; margin-top: 8px; border-top: 5px solid #D00000; background: #000000; color: #ffffff; line-height: 28px; text-align: center; }

.xp-canvas .xp-ie-qmgz-slice {
  image-rendering: auto;
  pointer-events: none;
}

.xp-ie-qmgz-login-group,
.xp-ie-qmgz-help,
.xp-ie-qmgz-portal {
  font: 12px SimSun, "Songti SC", serif;
}

.xp-ie-qmgz-form-rule {
  left: 379px;
  top: 351px;
  width: 242px;
  height: 2px;
  border-top: 1px solid #427bb2;
  border-bottom: 1px solid #c7e1f5;
}

.xp-ie-qmgz-orb {
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  outline: none;
}

.xp-ie-qmgz-orb-face {
  position: absolute;
  inset: 2px;
  border: 1px solid #17438f;
  border-radius: 50%;
  background: linear-gradient(#9bbdfd 0%, #4d7fe8 18%, #0b31bd 49%, #406ddb 75%, #b8d9ff 100%);
  box-shadow: 0 2px 2px #315777, inset 1px 1px 0 #b9dfff, inset -1px -1px 0 #d9efff;
  pointer-events: none;
}

.xp-ie-qmgz-orb-face::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid #3766c3;
  border-radius: 50%;
  background: linear-gradient(#1b4dc9, #143ecd 48%, #6196ee);
}

.xp-ie-qmgz-orb-face::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 5px;
  height: 27px;
  border-radius: 50% 50% 35% 35%;
  background: linear-gradient(#f4fcff, #aac9ff 50%, rgba(151, 190, 255, 0));
}

.xp-ie-qmgz-orb-caption {
  position: absolute;
  left: 0;
  right: 0;
  top: 23px;
  z-index: 1;
  color: #fff;
  font: bold 16px SimSun, "Songti SC", serif;
  line-height: 20px;
  text-align: center;
  letter-spacing: 3px;
  text-indent: 3px;
  text-shadow: 1px 1px #23498f;
}

.xp-ie-qmgz-orb:hover .xp-ie-qmgz-orb-face {
  border-color: #e6f5ff;
  background: linear-gradient(#dbf1ff, #82b5ff 18%, #2252d8 49%, #6698f4 75%, #e2f5ff);
  box-shadow: 0 2px 2px #315777, inset 1px 1px #fff, inset -1px -1px #e9f8ff;
}

.xp-ie-qmgz-orb:hover .xp-ie-qmgz-orb-face::before {
  background: linear-gradient(#4079e2, #2658dc 48%, #82b8ff);
}

.xp-ie-qmgz-orb:active .xp-ie-qmgz-orb-face {
  transform: translate(1px, 1px);
  border-color: #153573;
  background: #2a56ad;
  box-shadow: inset 2px 2px 2px #123573, inset -1px -1px #a4cdff;
}

.xp-ie-qmgz-orb:active .xp-ie-qmgz-orb-face::before {
  background: linear-gradient(#113693, #1d4caf 48%, #497fd5);
}

.xp-ie-qmgz-orb:active .xp-ie-qmgz-orb-face::after {
  top: 7px;
  height: 23px;
  background: linear-gradient(#bed8fc, rgba(110, 153, 226, 0));
}

.xp-ie-qmgz-orb:focus-visible .xp-ie-qmgz-orb-caption {
  outline: 1px dotted #fff;
  outline-offset: 2px;
  left: 9px;
  right: 9px;
}

.xp-ie-qmgz-forgot {
  color: #00285e;
  font: 12px SimSun, "Songti SC", serif;
  line-height: 17px;
  white-space: nowrap;
  text-align: right;
}

.xp-ie-qmgz-help-link:hover {
  color: #ffff99 !important;
  text-decoration: underline;
}

.xp-ie-qmgz-help-link:active {
  color: #fff !important;
  text-decoration: underline;
  transform: translate(1px, 1px);
}

.xp-ie-qmgz-help-link:focus-visible {
  outline: 1px dotted currentColor;
  outline-offset: 1px;
}

.xp-ie-qmgz-portal {
  left: 315px;
  top: 269px;
  width: 403px;
  height: 83px;
}

.xp-ie-qmgz-portal-heading {
  text-shadow: 1px 1px #3c70ad;
}

.xp-ie-qmgz-portal-bar {
  left: 0;
  top: 53px;
  width: 394px;
  height: 10px;
  display: flex;
  gap: 2px;
}

.xp-ie-qmgz-portal-chunk {
  flex: 0 0 9px;
  height: 10px;
  border-top: 1px solid #a1ccf2;
  border-bottom: 1px solid #457cb6;
  background: #6d9fd4;
}

.xp-ie-qmgz-portal-chunk[data-glow="0"] {
  border-color: #fff #fff #9acdf4;
  background: #fff;
}

.xp-ie-qmgz-portal-chunk[data-glow="1"] {
  border-color: #f4fcff #f4fcff #88bce8;
  background: #deefff;
}

.xp-ie-qmgz-portal-chunk[data-glow="2"] {
  border-color: #e1f3ff #e1f3ff #77afe0;
  background: #bddfff;
}

.xp-ie-qmgz-portal-chunk[data-glow="3"] {
  background: #a2cdf4;
}

.xp-ie-qmgz-portal-chunk[data-glow="4"] {
  background: #86b7e5;
}

.xp-ie-qmgz-portal-rule {
  left: 0;
  top: 81px;
  width: 403px;
  height: 2px;
  border-top: 1px solid #427bb2;
  border-bottom: 1px solid #c7e1f5;
}

.xp-phone-client {
  position: absolute;
  left: 4px;
  top: 30px;
  width: 592px;
  height: 411px;
  overflow: hidden;
  font: 12px Tahoma, SimSun, "Songti SC", sans-serif;
}

.xp-phone-menu {
  display: block;
  image-rendering: pixelated;
}

.xp-phone-body {
  display: flex;
  height: 389px;
}

.xp-phone-sidebar {
  position: relative;
  flex: 0 0 146px;
  width: 146px;
  background: linear-gradient(115deg, #83A9EB 0%, #729AE4 55%, #6590E2 100%);
}

.xp-phone-nav-panel {
  position: absolute;
  left: 10px;
  top: 11px;
  width: 130px;
  height: 156px;
  background: #B8CCF6;
  border-radius: 3px;
  overflow: hidden;
}

.xp-phone-nav-item {
  display: flex;
  align-items: center;
  height: 39px;
  padding-left: 12px;
  color: #1244C7;
}

.xp-phone-nav-item[data-xp-phone-selected="true"] {
  background: #E3ECFA;
  color: #0036D7;
  font-weight: bold;
}

.xp-phone-nav-icon {
  display: block;
  flex: 0 0 24px;
  image-rendering: auto;
}

.xp-phone-nav-label {
  padding-left: 6px;
  white-space: nowrap;
}

.xp-phone-brand {
  position: absolute;
  left: 0;
  bottom: 14px;
  width: 146px;
}

.xp-phone-brand-lockup {
  margin-left: 17px;
  image-rendering: auto;
}

.xp-window[data-xp-app="phone"] .xp-window-title {
  object-fit: contain;
  image-rendering: auto;
}

.xp-phone-page {
  position: relative;
  flex: 1 1 auto;
  background: linear-gradient(135deg, #FFFFFF 0%, #FDFDFB 65%, #FAFAF7 100%);
}

.xp-phone-dial-heading {
  position: absolute;
  left: 22px;
  top: 20px;
  font-size: 15px;
  line-height: 18px;
  color: #000000;
}

.xp-phone-field {
  position: absolute;
  left: 22px;
  top: 42px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 226px;
  height: 36px;
  padding: 0 4px;
  border: 1px solid #CAD2DB;
  border-radius: 5px;
  background: linear-gradient(#F9FAFC, #E8EBEF);
  box-shadow: inset 0 0 0 1px #F8FAFC;
}

.xp-phone-field-box {
  box-sizing: border-box;
  flex: 1 1 auto;
  min-width: 0;
  height: 28px;
  padding: 0 6px;
  border: 1px solid #DAE0E7;
  border-radius: 3px;
  box-shadow: inset 1px 1px 1px #E9EDF1;
  background: #FEFEFE;
  font-size: 15px;
  line-height: 26px;
  color: #000000;
  overflow: hidden;
  white-space: nowrap;
}

.xp-phone-clear {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  margin: 0 5px 0 10px;
  padding: 0;
  border: 0;
  border-radius: 1px;
  background: #515D6B;
  box-shadow: inset 1px 1px #80909F, inset -1px -1px #35414E;
  --xp-cursor-kind: link;
}

.xp-phone-clear::before {
  content: "×";
  display: block;
  color: #FFFFFF;
  font: 17px/11px Arial, sans-serif;
}

.xp-taskbar-window-icon[src="assets/phone/ref-flag.webp"] {
  object-fit: contain;
  image-rendering: auto;
}

.xp-phone-haunt-modal {
  position: absolute;
  left: 0;
  top: 0;
  width: 800px;
  height: 600px;
  z-index: 115;
}

.xp-window.is-haunt-modal {
  z-index: 116 !important;
}

.xp-phone-haunt-link-hover {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.xp-phone-haunt-link:hover .xp-phone-haunt-link-hover {
  opacity: 1;
}

.xp-phone-clear:hover {
  background: #68798B;
}

.xp-phone-clear:active {
  background: #35414F;
  box-shadow: inset 1px 1px #202D3A, inset -1px -1px #8897A6;
}

.xp-phone-keypad {
  position: absolute;
  left: 22px;
  top: 89px;
  display: grid;
  grid-template-columns: 70px 72px 72px;
  grid-auto-rows: 45px;
  gap: 6px;
}

.xp-phone-key {
  --xp-phone-key-normal: url("../assets/phone/xp-key-normal.webp");
  --xp-phone-key-hover: url("../assets/phone/xp-key-hover.webp");
  --xp-phone-key-pressed: url("../assets/phone/xp-key-pressed.webp");
  position: relative;
  width: 100%;
  height: 45px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: var(--xp-phone-key-normal) no-repeat;
  image-rendering: pixelated;
  font: inherit;
  --xp-cursor-kind: link;
}

.xp-phone-key:nth-child(3n + 2),
.xp-phone-key:nth-child(3n + 3) {
  --xp-phone-key-normal: url("../assets/phone/xp-key-wide-normal.webp");
  --xp-phone-key-hover: url("../assets/phone/xp-key-wide-hover.webp");
  --xp-phone-key-pressed: url("../assets/phone/xp-key-wide-pressed.webp");
}

.xp-phone-key:hover {
  background-image: var(--xp-phone-key-hover);
}

.xp-phone-key:active {
  background-image: var(--xp-phone-key-pressed);
  box-shadow: inset 1px 1px #3C536B, inset 2px 2px #9DA8B0,
    inset -1px -1px #FFFFFF;
}

.xp-phone-key:active > *,
.xp-phone-action:active > *,
.xp-phone-call-button:active > *,
.xp-phone-clear:active::before {
  transform: translate(1px, 1px);
}

.xp-phone-key-digit {
  position: absolute;
  left: 0;
  top: 3px;
  width: 100%;
  font-size: 21px;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #15232D;
}

.xp-phone-key[data-xp-phone-digit="*"] .xp-phone-key-digit,
.xp-phone-key[data-xp-phone-digit="#"] .xp-phone-key-digit {
  top: 8px;
  font-size: 26px;
  line-height: 30px;
}

.xp-phone-key[data-xp-phone-digit="*"] .xp-phone-key-digit {
  top: 12px;
  font-size: 32px;
}

.xp-phone-key-letters {
  position: absolute;
  left: 0;
  top: 26px;
  width: 100%;
  font-size: 10px;
  line-height: 11px;
  text-align: center;
  letter-spacing: -0.3px;
  color: #141C2C;
}

.xp-phone-call-button {
  position: absolute;
  left: 65px;
  top: 299px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  width: 140px;
  height: 39px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: url("../assets/phone/ref-call-button.webp") center / 100% 100% no-repeat;
  box-shadow: inset 1px 1px #2B7320, inset 2px 2px #8FD578,
    inset -1px -1px #1D5C12, inset -2px -2px #37852B;
  image-rendering: auto;
  font: bold 15px Tahoma, SimSun, "Songti SC", sans-serif;
  color: #FFFFFF;
  --xp-cursor-kind: link;
}

.xp-phone-call-icon {
  image-rendering: auto;
}

.xp-phone-call-button:hover {
  filter: brightness(1.06);
}

.xp-phone-call-button:active {
  filter: brightness(.94);
  box-shadow: inset 1px 1px #194B10, inset 2px 2px #2A6B1E,
    inset 3px 3px #39832B, inset -1px -1px #9ADA83;
}

.xp-phone-call-panel {
  position: absolute;
  left: 254px;
  top: 40px;
  box-sizing: border-box;
  width: 182px;
  height: 247px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: linear-gradient(#FFFFFF, #FDFDFC) padding-box,
    linear-gradient(#E1E4E7, #F0F1EF) border-box;
}

.xp-phone-avatar {
  width: 80px;
  height: 80px;
  margin: 34px auto 0;
  border-radius: 2px;
  background: url("../assets/phone/ref-avatar.webp") center / cover no-repeat;
  image-rendering: auto;
}

.xp-phone-call-status,
.xp-phone-call-number,
.xp-phone-call-timer {
  position: absolute;
  left: 0;
  width: 180px;
  font-size: 15px;
  line-height: 15px;
  text-align: center;
  color: #000000;
}

.xp-phone-call-status {
  top: 131px;
}

.xp-phone-call-number {
  top: 154px;
}

.xp-phone-call-timer {
  top: 181px;
  color: #5B626F;
}

.xp-phone-action-row {
  position: absolute;
  left: 177px;
  top: 348px;
  display: none;
  gap: 7px;
}

.xp-phone-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  width: 81px;
  height: 33px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: url("../assets/phone/xp-action-normal.webp") no-repeat;
  image-rendering: pixelated;
  font: 12px Tahoma, SimSun, "Songti SC", sans-serif;
  color: #2B323F;
  --xp-cursor-kind: link;
}

.xp-phone-action:hover {
  background-image: url("../assets/phone/xp-action-hover.webp");
}

.xp-phone-action:active {
  background-image: url("../assets/phone/xp-action-pressed.webp");
  box-shadow: inset 1px 1px #3C536B, inset 2px 2px #9DA8B0,
    inset -1px -1px #FFFFFF;
}

.xp-phone-action-icon {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
  image-rendering: auto;
}

.xp-phone-client button:focus-visible {
  outline: 1px dotted #334B6A;
  outline-offset: -4px;
}

.xp-phone-quality {
  display: none;
}

.xp-phone-field.is-invalid {
  border-color: #C63325;
}

.xp-phone-clear:disabled {
  opacity: .5;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-dial-heading,
.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-field,
.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-button {
  display: none;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-panel {
  left: 23px;
  top: 11px;
  width: 402px;
  height: 83px;
  border: 0;
  border-bottom: 1px solid #CDD3DC;
  border-radius: 0;
  background: transparent;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-avatar {
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 70px;
  margin: 0;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-number,
.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-status,
.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-timer {
  left: 82px;
  width: 220px;
  text-align: left;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-number {
  top: 9px;
  font-size: 15px;
  line-height: 20px;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-status {
  top: 34px;
  font-size: 13px;
  line-height: 17px;
  color: #414951;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-call-timer {
  top: 54px;
  font-size: 14px;
  line-height: 18px;
  color: #37414A;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-quality {
  position: absolute;
  right: 0;
  top: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  font-size: 11px;
  line-height: 14px;
  color: #50565E;
}

.xp-phone-signal {
  display: flex;
  width: 32px;
  height: 24px;
}

.xp-phone-signal-bar {
  width: 8px;
  height: 24px;
  background: url("../assets/phone/ref-signal.webp") 0 0 / 32px 24px no-repeat;
  image-rendering: auto;
  filter: grayscale(1);
}

.xp-phone-signal-bar:nth-child(2) { background-position-x: -8px; }
.xp-phone-signal-bar:nth-child(3) { background-position-x: -16px; }
.xp-phone-signal-bar:nth-child(4) { background-position-x: -24px; }

.xp-phone-signal-bar[data-xp-signal-active="true"] {
  filter: none;
}

.xp-phone-signal-bar:nth-child(4)[data-xp-signal-active="true"] {
  filter: sepia(1) saturate(6) hue-rotate(55deg) brightness(.75);
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-keypad {
  left: 23px;
  top: 115px;
  grid-template-columns: repeat(3, 70px);
  grid-auto-rows: 44px;
  gap: 8px;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-key {
  --xp-phone-key-normal: url("../assets/phone/xp-call-key-normal.webp");
  --xp-phone-key-hover: url("../assets/phone/xp-call-key-hover.webp");
  --xp-phone-key-pressed: url("../assets/phone/xp-call-key-pressed.webp");
  height: 44px;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-page::after {
  content: "";
  position: absolute;
  left: 274px;
  top: 108px;
  width: 1px;
  height: 226px;
  background: #CDD3DC;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action-row {
  display: flex;
  flex-direction: column;
  left: 303px;
  top: 128px;
  gap: 8px;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action {
  width: 123px;
  height: 37px;
  font-size: 13px;
  gap: 12px;
  background-image: url("../assets/phone/xp-call-action-normal.webp");
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action:hover {
  background-image: url("../assets/phone/xp-call-action-hover.webp");
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action:active,
.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action[aria-pressed="true"] {
  background-image: url("../assets/phone/xp-call-action-pressed.webp");
  box-shadow: inset 1px 1px #3C536B, inset 2px 2px #9DA8B0, inset -1px -1px #FFFFFF;
}

.xp-phone-action[aria-pressed="true"] > * {
  transform: translate(1px, 1px);
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action[data-xp-phone-action="end"] {
  height: 45px;
  margin-top: 7px;
  border-radius: 4px;
  background: url("../assets/phone/ref-end-button.webp") center / 100% 100% no-repeat;
  image-rendering: auto;
  font-size: 14px;
  color: #FFFFFF;
}

.xp-phone-action[data-xp-phone-action="end"] .xp-phone-action-icon {
  width: 31px;
  height: 20px;
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action[data-xp-phone-action="end"]:hover {
  filter: brightness(1.06);
}

.xp-phone-client[data-xp-phone-state="connected"] .xp-phone-action[data-xp-phone-action="end"]:active {
  filter: brightness(.94);
  box-shadow: inset 1px 1px #7D120C, inset 2px 2px #A82015, inset -1px -1px #FF8F7C;
}

.xp-phone-dialog-face {
  image-rendering: pixelated;
}

.xp-phone-dialog-close {
  background-position: 0 0;
}

.xp-phone-dialog-close:hover {
  background-position: 0 -21px;
}

.xp-phone-dialog-close:active {
  background-position: 0 -42px;
}

.xp-phone-dialog.is-inactive .xp-phone-dialog-close,
.xp-phone-dialog.is-inactive .xp-phone-dialog-close:hover,
.xp-phone-dialog.is-inactive .xp-phone-dialog-close:active {
  background-position: 0 -63px;
}

.xp-fantasy-house-site-loading,
.xp-fantasy-house-link-loading {
  position: absolute;
  right: 17px;
  bottom: 20px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}
.xp-fantasy-house-link-loading {
  background: #ADB9D8;
}
.xp-fantasy-house-spinner {
  position: relative;
  width: 28px;
  height: 28px;
}
.xp-fantasy-house-spinner i {
  position: absolute;
  width: 4px;
  height: 4px;
  background: #fff;
  visibility: hidden;
  animation: fantasy-house-flash .8s step-end infinite;
}
@keyframes fantasy-house-flash {
  0%, 37.5% { visibility: visible; }
  50%, 100% { visibility: hidden; }
}
.xp-fantasy-house-preloader {
  position: absolute;
  inset: 0;
  z-index: 175;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  transition: opacity .32s;
  --xp-cursor-kind: busy;
}
.xp-fantasy-house-preloader.is-leaving {
  opacity: 0;
}
.xp-fantasy-house-load-error {
  position: absolute;
  left: 0;
  right: 0;
  top: 45%;
  text-align: center;
  color: #fff;
  font: 12px SimSun, 'Songti SC', serif;
  line-height: 24px;
}
.xp-fantasy-house-load-error button {
  display: block;
  margin: 12px auto;
  padding: 3px 14px;
  border: 1px solid #aaa;
  color: #fff;
  --xp-cursor-kind: link;
}

.xp-tutorial-room { position: absolute; inset: 0; z-index: 110; overflow: hidden; background: #000; color: #333; font: 12px SimSun, "Songti SC", serif; }
.xp-tutorial-room [hidden] { display: none !important; }
.xp-tutorial-room-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; outline: none; }

.xp-tutorial-room-top { position: absolute; left: 0; top: 0; right: 0; z-index: 160; height: 36px; border-bottom: 3px solid #C2187A; background: linear-gradient(#FFD9F1 0%, #FFA6DA 48%, #FF7FC6 52%, #FF96D0 100%); box-shadow: inset 0 1px #FFFFFF, 0 2px 0 #00000040; }
.xp-tutorial-room-logo { position: absolute; left: 10px; top: 6px; color: #FFFFFF; font: bold 20px SimHei, "Microsoft YaHei", sans-serif; line-height: 24px; letter-spacing: 1px; text-shadow: -2px -2px 0 #D1006F, 2px -2px 0 #D1006F, -2px 2px 0 #D1006F, 2px 2px 0 #D1006F, 0 2px 0 #D1006F, 0 -2px 0 #D1006F, 2px 0 0 #D1006F, -2px 0 0 #D1006F, 3px 4px 0 #7A0046; }
.xp-tutorial-room-logo span { display: inline-block; position: relative; top: -3px; margin-left: 8px; padding: 0 5px; border: 2px solid #FF8A00; border-radius: 8px; color: #E60012; background: #FFF200; font: bold 12px SimHei, sans-serif; line-height: 16px; letter-spacing: 0; text-shadow: none; transform: rotate(-6deg); }
.xp-tutorial-room-goal { position: absolute; left: 50%; top: 6px; height: 20px; padding: 0 12px; transform: translateX(-50%); border: 2px solid #FF8A00; border-radius: 12px; color: #7A3B00; background: linear-gradient(#FFFBD0, #FFE45C); box-shadow: 1px 2px 0 #00000040; font: bold 12px SimSun, "Songti SC", serif; line-height: 20px; white-space: nowrap; pointer-events: none; }
.xp-tutorial-room-goal b, .xp-tutorial-room-guide-text b { color: #E60012; }

.xp-tutorial-room-candy { position: relative; height: 26px; padding: 0 14px; overflow: hidden; border: 2px solid #A23E00; border-radius: 13px; color: #FFFFFF; background: linear-gradient(#FFD27A, #FF9C1F 55%, #FF7A00); box-shadow: inset 0 -2px 0 #0000002e, 1px 2px 0 #0000004d; font: bold 13px SimHei, sans-serif; letter-spacing: 1px; white-space: nowrap; text-shadow: -1px -1px 0 #A23E00, 1px -1px 0 #A23E00, -1px 1px 0 #A23E00, 1px 1px 0 #A23E00, 0 1px 0 #A23E00, 0 -1px 0 #A23E00, 1px 0 0 #A23E00, -1px 0 0 #A23E00; --xp-cursor-kind: link; }
.xp-tutorial-room-candy::before { content: ""; position: absolute; left: 5px; right: 5px; top: 2px; height: 9px; border-radius: 8px; background: #FFFFFF8c; pointer-events: none; }
.xp-tutorial-room-candy:hover { filter: brightness(1.12); }
.xp-tutorial-room-candy:active { transform: translateY(1px); box-shadow: inset 0 1px 0 #00000033; }
.xp-tutorial-room-save, .xp-tutorial-room-picker-done { border-color: #2E7D00; background: linear-gradient(#D7FF8A, #7ED321 55%, #4CAF10); text-shadow: -1px -1px 0 #2E7D00, 1px -1px 0 #2E7D00, -1px 1px 0 #2E7D00, 1px 1px 0 #2E7D00, 0 1px 0 #2E7D00, 0 -1px 0 #2E7D00, 1px 0 0 #2E7D00, -1px 0 0 #2E7D00; }
.xp-tutorial-room-back { border-color: #6A1F80; background: linear-gradient(#F3C6FF, #C77DFF 55%, #A64DFF); text-shadow: -1px -1px 0 #6A1F80, 1px -1px 0 #6A1F80, -1px 1px 0 #6A1F80, 1px 1px 0 #6A1F80, 0 1px 0 #6A1F80, 0 -1px 0 #6A1F80, 1px 0 0 #6A1F80, -1px 0 0 #6A1F80; }
.xp-tutorial-room-save { position: absolute; right: 100px; top: 4px; }
.xp-tutorial-room-back { position: absolute; right: 8px; top: 4px; }
.xp-tutorial-room-music { position: absolute; right: 168px; top: 4px; width: 40px; padding: 0; border-color: #1F5FA8; background: linear-gradient(#C8ECFF, #5BB8FF 55%, #2A8CF0); }
.xp-tutorial-room-music svg { position: relative; display: block; margin: 1px auto 0; }
.xp-tutorial-room-music.is-off { filter: saturate(.35); }
.xp-tutorial-room-music.is-off:hover { filter: saturate(.35) brightness(1.12); }
.xp-tutorial-room-save.is-wanted { animation: xp-tutorial-room-blink .5s steps(1, end) infinite; }
.xp-tutorial-room-tool.is-wanted { animation: xp-tutorial-room-ring .5s steps(1, end) infinite; }

.xp-tutorial-room-toolbar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 150; display: flex; justify-content: center; align-items: center; gap: 10px; height: 76px; border-top: 3px solid #C2187A; background: radial-gradient(circle, #FFFFFF 2px, transparent 2.5px) 0 0 / 14px 14px, linear-gradient(#FFE3F4, #FFB8E1); box-shadow: inset 0 2px #FFFFFF, 0 -2px 0 #00000033; }
.xp-tutorial-room-tool { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 82px; height: 62px; padding: 4px 0 0; border: 3px solid var(--xp-tool, #FF4FA3); border-radius: 12px; background: linear-gradient(#FFFFFF, #FFF5C8); box-shadow: 2px 3px 0 #00000040; --xp-cursor-kind: link; }
.xp-tutorial-room-tool img { display: block; width: 48px; height: 32px; border: 2px solid #FFFFFF; outline: 1px solid #888888; image-rendering: auto; }
.xp-tutorial-room-tool span { padding: 0 8px; border-radius: 8px; color: #FFFFFF; background: var(--xp-tool); font: bold 12px SimHei, sans-serif; line-height: 16px; letter-spacing: 1px; text-shadow: 1px 1px 0 #00000059; }
.xp-tutorial-room-tool:hover { z-index: 1; transform: scale(1.1); border-color: #FFB400; }
.xp-tutorial-room-tool:active { transform: scale(1.04) translateY(1px); }
.xp-tutorial-room-tool.is-open { border-color: #FFB400; background: linear-gradient(#FFF9B0, #FFD84D); }
.xp-tutorial-room-tool[data-category="wall"] { --xp-tool: #FF4FA3; }
.xp-tutorial-room-tool[data-category="floor"] { --xp-tool: #FF8A00; }
.xp-tutorial-room-tool[data-category="view"] { --xp-tool: #2F9BFF; }
.xp-tutorial-room-tool[data-category="curtain"] { --xp-tool: #A34DFF; }
.xp-tutorial-room-tool[data-category="bedding"] { --xp-tool: #23B14D; }
.xp-tutorial-room-tool[data-category="wood"] { --xp-tool: #A0612B; }

.xp-tutorial-room-guide { position: absolute; left: 24px; right: 24px; bottom: 94px; z-index: 165; min-height: 40px; padding: 18px 18px 36px; border: 3px solid #FF9C00; border-radius: 14px; background: #FFFDE8; box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #C26A00, 4px 5px 0 #0000004d; animation: xp-tutorial-room-pop .3s steps(4, end); }
.xp-tutorial-room-guide::before { content: ""; position: absolute; inset: 5px; border: 1px dashed #FFC266; border-radius: 9px; pointer-events: none; }
.xp-tutorial-room-guide-tag { position: absolute; left: 12px; top: -15px; padding: 1px 12px; border: 2px solid #FFFFFF; border-radius: 10px; color: #FFFFFF; background: linear-gradient(#FF7A9C, #FF3366); box-shadow: 0 0 0 2px #B3003B; font: bold 13px SimHei, sans-serif; line-height: 18px; letter-spacing: 1px; transform: rotate(-3deg); text-shadow: -1px -1px 0 #B3003B, 1px -1px 0 #B3003B, -1px 1px 0 #B3003B, 1px 1px 0 #B3003B; }
.xp-tutorial-room-guide-text { position: relative; color: #333333; font: 12px SimSun, "Songti SC", serif; line-height: 20px; }
.xp-tutorial-room-next { position: absolute; right: 14px; bottom: 8px; }

.xp-tutorial-room-picker { position: absolute; left: 50%; bottom: 92px; z-index: 170; padding: 22px 16px 12px; transform: translateX(-50%); transform-origin: 50% 100%; border: 4px solid #FF7FC6; border-radius: 16px; background: #FFFFFF; box-shadow: 0 0 0 2px #C2187A, 4px 5px 0 #0000004d; animation: xp-tutorial-room-pop-centred .3s steps(4, end); }
.xp-tutorial-room-picker-title { position: absolute; left: 16px; top: -16px; padding: 2px 16px; border: 3px solid #FFFFFF; border-radius: 12px; color: #FFFFFF; background: linear-gradient(#FF9AD5, #FF4FA3); box-shadow: 0 0 0 2px #C2187A; font: bold 14px SimHei, sans-serif; letter-spacing: 2px; text-shadow: -1px -1px 0 #C2187A, 1px -1px 0 #C2187A, -1px 1px 0 #C2187A, 1px 1px 0 #C2187A; }
.xp-tutorial-room-picker-close { position: absolute; right: -13px; top: -13px; width: 26px; height: 26px; padding: 0; border: 2px solid #FFFFFF; border-radius: 50%; color: #FFFFFF; background: radial-gradient(circle at 35% 30%, #FF8A8A, #E60012 70%); box-shadow: 0 0 0 2px #8A0000, 1px 2px 0 #0000004d; font: bold 16px Arial, sans-serif; line-height: 20px; --xp-cursor-kind: link; }
.xp-tutorial-room-picker-list { display: flex; gap: 10px; }
.xp-tutorial-room-swatch { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 78px; padding: 6px 0 4px; border: 2px solid #FFB6DE; border-radius: 8px; color: #7A2A55; background: #FFF0F8; font: 12px SimSun, "Songti SC", serif; white-space: nowrap; --xp-cursor-kind: link; }
.xp-tutorial-room-swatch img { display: block; width: 60px; height: 45px; border: 1px solid #999999; image-rendering: auto; }
.xp-tutorial-room-swatch:hover { border-color: #FF4FA3; background: #FFE0F1; }
.xp-tutorial-room-swatch i { position: absolute; padding: 0 3px; border: 1px solid #FFFFFF; color: #FFFFFF; font: bold 11px SimHei, sans-serif; font-style: normal; line-height: 14px; white-space: nowrap; }
.xp-tutorial-room-swatch-free { right: -6px; top: -8px; border-radius: 3px; background: #E60012; transform: rotate(12deg); }
.xp-tutorial-room-swatch-using { display: none; left: -6px; top: -8px; border-radius: 3px; background: #23B14D; transform: rotate(-12deg); }
.xp-tutorial-room-swatch.is-current { padding: 5px 0 3px; border: 3px solid #FFB400; background: #FFF6C2; }
.xp-tutorial-room-swatch.is-current .xp-tutorial-room-swatch-using { display: block; }
.xp-tutorial-room-swatch.is-current .xp-tutorial-room-swatch-free { display: none; }
.xp-tutorial-room-picker-done { display: block; margin: 10px auto 0; }

.xp-tutorial-room-arrow { position: absolute; z-index: 175; width: 44px; height: 54px; pointer-events: none; animation: xp-tutorial-room-bob .6s steps(2, end) infinite alternate; }
.xp-tutorial-room-arrow svg { display: block; filter: drop-shadow(2px 2px 0 #00000059); }
.xp-tutorial-room-arrow.is-up { animation-name: xp-tutorial-room-bob-up; }
.xp-tutorial-room-arrow.is-up svg { transform: rotate(180deg); }
.xp-tutorial-room-drag { position: absolute; left: 50%; top: 44%; z-index: 140; transform: translate(-50%, -50%); color: #FFF200; font: bold 18px SimHei, sans-serif; white-space: nowrap; pointer-events: none; text-shadow: -2px -2px 0 #000000, 2px -2px 0 #000000, -2px 2px 0 #000000, 2px 2px 0 #000000, 0 2px 0 #000000, 0 -2px 0 #000000, 2px 0 0 #000000, -2px 0 0 #000000; animation: xp-tutorial-room-flicker 1s steps(1, end) infinite; }
.xp-tutorial-room-drag::before { content: "◀ "; }
.xp-tutorial-room-drag::after { content: " ▶"; }
.xp-tutorial-room-tip { position: absolute; z-index: 158; padding: 1px 4px; border: 1px solid #000000; color: #000000; background: #FFFFE1; font: 12px SimSun, "Songti SC", serif; line-height: 16px; white-space: nowrap; pointer-events: none; }
.xp-tutorial-room-burst { position: absolute; left: 50%; top: 36%; z-index: 190; isolation: isolate; display: flex; align-items: center; justify-content: center; width: 220px; height: 130px; margin: -65px 0 0 -110px; color: #E60012; font: bold 24px SimHei, sans-serif; white-space: nowrap; pointer-events: none; text-shadow: -2px -2px 0 #FFFFFF, 2px -2px 0 #FFFFFF, -2px 2px 0 #FFFFFF, 2px 2px 0 #FFFFFF, 0 2px 0 #FFFFFF, 0 -2px 0 #FFFFFF, 2px 0 0 #FFFFFF, -2px 0 0 #FFFFFF, 3px 3px 0 #8A0000; animation: xp-tutorial-room-pop .35s steps(4, end); }
.xp-tutorial-room-burst::before, .xp-tutorial-room-burst::after { content: ""; position: absolute; z-index: -1; clip-path: polygon(50% 0%, 57% 14.7%, 69.1% 3.8%, 70% 20.1%, 85.4% 14.6%, 79.9% 30%, 96.2% 30.9%, 85.3% 43%, 100% 50%, 85.3% 57%, 96.2% 69.1%, 79.9% 70%, 85.4% 85.4%, 70% 79.9%, 69.1% 96.2%, 57% 85.3%, 50% 100%, 43% 85.3%, 30.9% 96.2%, 30% 79.9%, 14.6% 85.4%, 20.1% 70%, 3.8% 69.1%, 14.7% 57%, 0% 50%, 14.7% 43%, 3.8% 30.9%, 20.1% 30%, 14.6% 14.6%, 30% 20.1%, 30.9% 3.8%, 43% 14.7%); }
.xp-tutorial-room-burst::before { inset: 0; background: #E60012; }
.xp-tutorial-room-burst::after { inset: 5px; background: radial-gradient(#FFFDE0 30%, #FFE600 75%); }

@keyframes xp-tutorial-room-ring { 50% { border-color: #FFF200; box-shadow: 0 0 0 3px #E60012, 2px 3px 0 #00000040; } }
@keyframes xp-tutorial-room-blink { 50% { filter: brightness(1.3); box-shadow: 0 0 0 3px #FFF200, 0 0 0 5px #E60012; } }
@keyframes xp-tutorial-room-pop { 0% { transform: scale(.3); } 60% { transform: scale(1.12); } 80% { transform: scale(.95); } 100% { transform: scale(1); } }
@keyframes xp-tutorial-room-pop-centred { 0% { transform: translateX(-50%) scale(.3); } 60% { transform: translateX(-50%) scale(1.12); } 80% { transform: translateX(-50%) scale(.95); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes xp-tutorial-room-bob { to { margin-top: -10px; } }
@keyframes xp-tutorial-room-bob-up { to { margin-top: 10px; } }
@keyframes xp-tutorial-room-flicker { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .xp-tutorial-room-save.is-wanted, .xp-tutorial-room-tool.is-wanted, .xp-tutorial-room-arrow, .xp-tutorial-room-drag { animation: none; } }

.xp-ie-fantasy-staff { background: #FFFFFF; }
.xp-ie-fantasy-staff ::selection { color: #FFFFFF; background: #316AC5; }
.xp-canvas .xp-fantasy-staff-link { --xp-cursor-kind: link; color: #0000EE; text-decoration: underline; }
.xp-fantasy-staff-training { padding: 8px 16px 28px; color: #000000; font: 16px "Times New Roman", SimSun, "Songti SC", serif; line-height: 26px; user-select: text; -webkit-user-select: text; }
.xp-fantasy-staff-nav { font-size: 14px; line-height: 20px; }
.xp-fantasy-staff-nav span { margin-right: 10px; }
.xp-fantasy-staff-nav .is-off { color: #808080; }
.xp-fantasy-staff-nav .is-current { font-family: SimHei, "Heiti SC", STHeiti, sans-serif; }
.xp-fantasy-staff-training h1 { margin: 12px 0 2px; font: 32px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 42px; }
.xp-fantasy-staff-issue { color: #666666; font-size: 14px; line-height: 20px; }
.xp-fantasy-staff-notice { margin: 12px 0 4px; padding: 6px 10px; border: 1px solid #000000; background: #FFFFE1; font-size: 14px; line-height: 22px; }
.xp-fantasy-staff-training hr { height: 0; margin: 20px 0 0; border: 0; border-top: 1px solid #A0A0A0; border-bottom: 1px solid #FFFFFF; }
.xp-fantasy-staff-training h2 { margin: 14px 0 8px; font: 22px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 30px; }
.xp-fantasy-staff-training h3 { margin: 16px 0 6px; font: 17px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 24px; }
.xp-fantasy-staff-training p { margin: 0 0 10px; }
.xp-fantasy-staff-grid { width: 100%; margin: 4px 0 14px; border-collapse: collapse; font-size: 14px; line-height: 21px; }
.xp-fantasy-staff-grid th, .xp-fantasy-staff-grid td { padding: 4px 7px; border: 1px solid #808080; text-align: left; vertical-align: top; }
.xp-fantasy-staff-grid th { background: #E0E0E0; font-family: SimHei, "Heiti SC", STHeiti, sans-serif; font-weight: normal; }
.xp-fantasy-staff-grid .xp-fantasy-staff-label { width: 96px; background: #F2F2F2; color: #333333; white-space: nowrap; }
.xp-fantasy-staff-grid .xp-fantasy-staff-mark { width: 64px; text-align: center; white-space: nowrap; }
.xp-fantasy-staff-grid .xp-fantasy-staff-step { width: 64px; white-space: nowrap; }
.xp-fantasy-staff-grid .xp-fantasy-staff-said { width: 44%; }
.xp-fantasy-staff-grid .xp-fantasy-staff-time { width: 150px; white-space: nowrap; }
.xp-fantasy-staff-training .is-yes, .xp-fantasy-staff-training .is-missing { color: #CC0000; }
.xp-fantasy-staff-training .is-no { color: #808080; }
.xp-fantasy-staff-training .is-none { color: #A0A0A0; }
.xp-fantasy-staff-question { margin: 12px 0 4px; }
.xp-fantasy-staff-options { display: flex; flex-wrap: wrap; gap: 4px 26px; margin: 0 0 6px 22px; font-size: 15px; user-select: none; -webkit-user-select: none; }
.xp-fantasy-staff-option { display: inline-flex; align-items: center; gap: 5px; }
.xp-fantasy-staff-box { flex: none; width: 13px; height: 13px; background: url("../assets/fantasy-house/staff/check-off.webp") no-repeat; }
.xp-fantasy-staff-option:hover .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-off-hover.webp"); }
.xp-fantasy-staff-option:active .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-off-pressed.webp"); }
.xp-fantasy-staff-option.is-checked .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-on.webp"); }
.xp-fantasy-staff-option.is-checked:hover .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-on-hover.webp"); }
.xp-fantasy-staff-option.is-checked:active .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-on-pressed.webp"); }
.xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option { color: #A0A0A0; }
.xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-off-disabled.webp"); }
.xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option.is-checked { color: #000000; }
.xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option.is-checked .xp-fantasy-staff-box { background-image: url("../assets/fantasy-house/staff/check-on-disabled.webp"); }
.xp-fantasy-staff-submit { display: block; width: 75px; height: 23px; margin: 10px 0 0 22px; padding: 0; border: 0; background: url("../assets/fantasy-house/staff/button-normal.webp") no-repeat; color: #000000; font: 12px SimSun, "Songti SC", serif; line-height: 23px; }
.xp-fantasy-staff-submit:hover { background-image: url("../assets/fantasy-house/staff/button-hover.webp"); }
.xp-fantasy-staff-submit:active { background-image: url("../assets/fantasy-house/staff/button-pressed.webp"); }
.xp-fantasy-staff-error { margin: 6px 0 0 22px; color: #CC0000; font-size: 14px; }
.xp-fantasy-staff-training .xp-fantasy-staff-done { margin: 14px 0 0; }
.xp-fantasy-staff-foot { margin-top: 30px; color: #666666; font-size: 13px; line-height: 20px; }
.xp-fantasy-chafang { position: relative; height: 365px; color: #000000; font: 14px "Times New Roman", SimSun, "Songti SC", serif; line-height: 20px; }
.xp-fantasy-chafang-video { position: absolute; left: 4px; top: 2px; display: block; width: 480px; height: 360px; background: #000000; }
.xp-canvas .xp-fantasy-chafang.is-quad .xp-fantasy-chafang-video { --xp-cursor-kind: link; }
.xp-fantasy-chafang-side { position: absolute; left: 496px; top: 2px; width: 245px; }
.xp-fantasy-chafang h2 { margin: 10px 0 6px; font: 22px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 30px; }
.xp-fantasy-chafang .xp-fantasy-staff-grid { margin: 0; }
.xp-fantasy-chafang .xp-fantasy-staff-grid th, .xp-fantasy-chafang .xp-fantasy-staff-grid td { white-space: nowrap; }
.xp-canvas .xp-fantasy-chafang tr[data-channel] { --xp-cursor-kind: link; }
.xp-fantasy-chafang tr.is-selected td { background: #316AC5; color: #FFFFFF; }
.xp-fantasy-chafang .xp-fantasy-chafang-quad { margin: 12px 0 0; }
.xp-fantasy-chafang .xp-fantasy-chafang-quad.is-pressed, .xp-fantasy-chafang .xp-fantasy-chafang-quad.is-pressed:hover { background-image: url("../assets/fantasy-house/staff/button-pressed.webp"); }

.xp-pdf { position: absolute; inset: 0; overflow: hidden; background: #333333; color: #000000; font: 11px Tahoma, SimSun, "Songti SC", sans-serif; user-select: none; -webkit-user-select: none; }
.xp-pdf-toolbar { position: absolute; left: 0; top: 0; right: 0; z-index: 3; height: 38px; background: url("../assets/ie/pdf/toolbar-fill.webp") repeat-x; }
.xp-pdf-art { position: absolute; top: 0; height: 38px; }
.xp-pdf-field { position: absolute; box-sizing: border-box; margin: 0; padding: 0 3px; border-style: solid; border-width: 1px; border-color: #ABADB3 #DBDFE6 #E3E9EF #E2E3EA; outline: none; color: #000000; background: #F5F5F5; box-shadow: inset 1px 1px #FFFFFF, inset -1px -1px #FFFFFF; font: 11px Tahoma, SimSun, sans-serif; line-height: 20px; --xp-cursor-kind: ibeam; }
.xp-pdf-page-field { text-align: center; }
.xp-pdf-find-field::placeholder { color: #A0A0A0; }
.xp-pdf-page-count { position: absolute; top: 12px; font: 11px Tahoma, SimSun, sans-serif; line-height: 14px; white-space: nowrap; }
.xp-pdf-nav { position: absolute; left: 0; top: 38px; bottom: 0; width: 40px; background: #333333; }
.xp-pdf-nav-icon { position: absolute; }
.xp-pdf-split { position: absolute; left: 40px; top: 38px; bottom: 0; width: 2px; background: linear-gradient(to right, #666666 0 1px, #000000 1px 2px); }
.xp-pdf-document { position: absolute; left: 42px; top: 38px; right: 17px; bottom: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: none; background: #333333; }
.xp-pdf-shade { position: absolute; left: 0; right: 17px; top: 38px; z-index: 1; height: 4px; background: linear-gradient(#00000066, #00000024); pointer-events: none; }
.xp-pdf-list { position: absolute; top: 31px; z-index: 5; width: 120px; padding: 1px 0; border: 1px solid #000000; background: #FFFFFF; font: 11px Tahoma, SimSun, sans-serif; line-height: 15px; }
.xp-pdf-list-item { padding: 0 4px; white-space: nowrap; }
.xp-pdf-list-item:hover { color: #FFFFFF; background: #316AC5; }

.xp-pdf-pages.xp-fantasy-staff-training { padding: 10px 0 0; font: 16px "Times New Roman", SimSun, "Songti SC", serif; line-height: 26px; user-select: text; -webkit-user-select: text; }
.xp-pdf-page { position: relative; width: 793px; height: 1122px; margin: 0 auto 10px; overflow: hidden; background: #FFFFFF; }
.xp-pdf-header { position: absolute; left: 113px; right: 113px; top: 52px; display: flex; justify-content: space-between; padding-bottom: 3px; border-bottom: 1px solid #000000; font: 12px SimSun, "Songti SC", serif; line-height: 16px; }
.xp-pdf-footer { position: absolute; left: 0; right: 0; bottom: 52px; text-align: center; font: 12px SimSun, "Songti SC", serif; line-height: 16px; }
.xp-pdf-body { position: absolute; left: 113px; top: 96px; width: 567px; --xp-cursor-kind: ibeam; }
.xp-pdf-measure { position: absolute; left: 0; top: 0; display: flow-root; visibility: hidden; }
.xp-pdf-body h1 { margin: 0 0 4px; text-align: center; font: 29px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 40px; }
.xp-pdf-body .xp-fantasy-staff-issue { margin-bottom: 18px; color: #000000; text-align: center; font-size: 14px; }
.xp-pdf-body .xp-fantasy-staff-notice { background: #FFFFFF; }
.xp-pdf-body h2 { margin: 24px 0 10px; font: 21px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 30px; }
.xp-pdf-body p { margin: 0 0 10px; text-indent: 2em; }
.xp-pdf-body .xp-fantasy-staff-item { margin: 0 0 8px; text-indent: 0; }
.xp-pdf-body .xp-fantasy-staff-done { text-indent: 0; }
.xp-pdf-body .xp-fantasy-staff-grid { margin: 6px 0 14px; }
.xp-pdf-body .xp-fantasy-staff-grid th, .xp-pdf-body .xp-fantasy-staff-grid td { border-color: #000000; }
.xp-pdf-body .xp-fantasy-staff-grid th { background: #FFFFFF; }
.xp-pdf-body .xp-fantasy-staff-grid .xp-fantasy-staff-label { background: #FFFFFF; color: #000000; }
.xp-pdf-body .xp-fantasy-staff-option { --xp-cursor-kind: link; }
.xp-pdf-body .xp-fantasy-staff-box, .xp-pdf-body .xp-fantasy-staff-option:hover .xp-fantasy-staff-box, .xp-pdf-body .xp-fantasy-staff-option:active .xp-fantasy-staff-box, .xp-pdf-body .xp-fantasy-staff-option.is-checked .xp-fantasy-staff-box, .xp-pdf-body .xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option .xp-fantasy-staff-box { box-sizing: border-box; width: 12px; height: 12px; border: 1px solid #000000; background: #FFFFFF; color: #000000; font: 11px "Segoe UI Symbol", "Arial Unicode MS", sans-serif; line-height: 10px; text-align: center; }
.xp-pdf-body .xp-fantasy-staff-option.is-checked .xp-fantasy-staff-box::after { content: "\2714"; }
.xp-pdf-body .xp-fantasy-staff-options.is-locked .xp-fantasy-staff-option { color: #000000; }
.xp-pdf-body .xp-fantasy-staff-submit, .xp-pdf-body .xp-fantasy-staff-submit:hover, .xp-pdf-body .xp-fantasy-staff-submit:active { width: 80px; height: 22px; border: 1px solid #000000; background: #C0C0C0; box-shadow: inset 1px 1px #FFFFFF, inset -1px -1px #808080; --xp-cursor-kind: link; }
.xp-pdf-body .xp-fantasy-staff-submit:active { box-shadow: inset 1px 1px #808080, inset -1px -1px #FFFFFF; }
.xp-pdf-body .xp-fantasy-staff-foot { margin-top: 30px; }

.xp-pdf-body .xp-fantasy-staff-exam { padding-top: 6px; }
.xp-pdf-body .xp-fantasy-staff-question { margin: 0 0 8px; font: 16px SimHei, "Heiti SC", STHeiti, sans-serif; line-height: 24px; }
.xp-pdf-body .xp-fantasy-staff-ask { margin: 12px 0 6px; line-height: 24px; }
.xp-staff-clip { width: 480px; margin: 0 auto; border: 1px solid #000000; background: #000000; user-select: none; -webkit-user-select: none; --xp-cursor-kind: arrow; }
.xp-staff-clip-screen { position: relative; height: 360px; overflow: hidden; background: #000000; }
.xp-staff-clip-frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.xp-staff-clip-stamp, .xp-staff-clip-camera { position: absolute; top: 8px; color: #FFFFFF; font: bold 14px "Courier New", monospace; line-height: 16px; letter-spacing: 1px; pointer-events: none; text-shadow: -1px -1px 0 #000000, 1px -1px 0 #000000, -1px 1px 0 #000000, 1px 1px 0 #000000; }
.xp-staff-clip-stamp { left: 10px; }
.xp-staff-clip-camera { right: 10px; }
.xp-staff-clip-poster { position: absolute; inset: 0; background: #00000080; --xp-cursor-kind: link; }
.xp-staff-clip-big-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border: 3px solid #FFFFFFCC; border-radius: 50%; background: #00000066; }
.xp-staff-clip-big-play::after { content: ""; position: absolute; left: 24px; top: 17px; border-style: solid; border-width: 15px 0 15px 22px; border-color: transparent transparent transparent #FFFFFFE6; }
.xp-staff-clip-loading { position: absolute; left: 0; right: 0; top: 50%; margin-top: -8px; color: #C0C0C0; text-align: center; font: 12px SimSun, "Songti SC", serif; line-height: 16px; }
.xp-staff-clip-bar { position: relative; height: 26px; border-top: 1px solid #4A4A4A; background: linear-gradient(#3C3C3C, #1E1E1E); }
.xp-staff-clip-toggle { position: absolute; left: 6px; top: 4px; width: 18px; height: 18px; --xp-cursor-kind: link; }
.xp-staff-clip-toggle::before { content: ""; position: absolute; left: 5px; top: 3px; border-style: solid; border-width: 6px 0 6px 9px; border-color: transparent transparent transparent #E0E0E0; }
.xp-staff-clip-toggle.is-playing::before { left: 4px; top: 3px; width: 3px; height: 12px; border: 0; border-left: 3px solid #E0E0E0; border-right: 3px solid #E0E0E0; padding-right: 3px; }
.xp-staff-clip-track { position: absolute; left: 32px; right: 92px; top: 10px; height: 6px; border: 1px solid #111111; background: #5A5A5A; --xp-cursor-kind: link; }
.xp-staff-clip-fill { height: 100%; background: linear-gradient(#E8E8E8, #A8A8A8); }
.xp-staff-clip-clock { position: absolute; right: 8px; top: 6px; color: #D0D0D0; font: 11px Tahoma, sans-serif; line-height: 14px; white-space: nowrap; }

.xp-room-dialogue { position: absolute; inset: 0; z-index: 160; color: #f4eee1; font: 15px/1.85 SimSun, "Songti SC", serif; pointer-events: none; }
.xp-room-dialogue.is-modal { pointer-events: auto; }
.xp-room-dialogue-portrait { position: absolute; left: 2%; bottom: 84px; width: 39%; height: 78%; object-fit: contain; object-position: bottom; image-rendering: auto; pointer-events: none; animation: room-portrait-in .7s ease-out both; }
.xp-room-dialogue-panel { position: absolute; left: 22px; right: 22px; bottom: 20px; min-height: 104px; box-sizing: border-box; padding: 23px 26px 29px; border: 1px solid #e5d9c9; outline: 2px solid #61554e; box-shadow: inset 0 0 0 3px #bbaa9366, 0 3px 10px #0006; background: rgba(38, 34, 33, .88); pointer-events: auto; }
.xp-room-dialogue-name { position: absolute; top: -29px; left: 12px; min-width: 91px; height: 29px; box-sizing: border-box; padding: 1px 17px; border: 1px solid #e5d9c9; background: #574c49ee; font-size: 14px; letter-spacing: 3px; }
.xp-room-dialogue-text { min-height: 44px; white-space: pre-wrap; letter-spacing: 1px; }
.xp-room-dialogue button { font-family: SimSun, "Songti SC", serif; cursor: pointer; }
.xp-room-dialogue-next { position: absolute; bottom: 9px; right: 18px; padding: 1px 5px; border: 0; background: transparent; color: #d9cdbd; font-size: 12px; }
.xp-room-dialogue button[hidden] { display: none; }
.xp-room-dialogue-next:hover { color: white; }
.xp-room-dialogue-skip { position: absolute; right: 18px; top: 16px; padding: 5px 10px; border: 1px solid #c5bca78c; color: #ebe2d3; background: #302c28ba; font-size: 12px; }
.xp-room-dialogue-choices { position: absolute; top: 32%; right: 5%; width: 48%; display: grid; gap: 12px; pointer-events: auto; }
.xp-room-dialogue-choice { padding: 12px 16px; border: 1px solid #d6c6b2; box-shadow: inset 0 0 0 2px #50463e; color: #eee8db; background: #36322cef; font-size: 14px; text-align: left; }
.xp-room-dialogue-choice:hover, .xp-room-dialogue-choice:focus-visible { background: #66584dee; }
.xp-room-dialogue button:focus-visible, .xp-room-document-viewer button:focus-visible { outline: 2px solid #ead1a0; outline-offset: 3px; }
.xp-room-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.xp-room-document-viewer { position: absolute; inset: 0; z-index: 150; background: #12111038; color: #ece9d8; font: 13px SimSun, serif; }
.xp-room-document-heading { position: absolute; top: 25px; left: 24%; width: 52%; text-align: center; letter-spacing: 3px; text-shadow: 0 1px 3px #000; }
.xp-room-document-content { position: absolute; left: 24%; width: 52%; top: 58px; bottom: 76px; display: flex; align-items: center; justify-content: center; }
.xp-room-document-content > img { max-width: 100%; max-height: 100%; object-fit: contain; image-rendering: auto; filter: drop-shadow(3px 7px 8px #0009); }
.xp-room-document-controls { position: absolute; bottom: 36px; left: 24%; width: 52%; display: flex; align-items: center; justify-content: center; gap: 9px; }
.xp-room-document-controls button { min-width: 64px; height: 25px; padding: 0 8px; color: #302d28; background: #e6deca; border: 1px solid #9c9281; box-shadow: inset 1px 1px #fff9, inset -1px -1px #7c7264; font: 12px SimSun, serif; cursor: pointer; }
.xp-room-document-controls button:disabled { opacity: .45; cursor: default; }
.xp-room-document-controls button[hidden] { display: none; }
.xp-room-diary-page {
  position: relative;
  width: 320px;
  height: 420px;
  max-width: 100%;
  max-height: 100%;
  overflow: auto;
  box-sizing: border-box;
  padding: 36px 25px 30px 39px;
  color: #344d73;
  background: linear-gradient(90deg, #dce1d7, #faf9ef 15px, #faf9ef);
  border: 1px solid #bfc9c9;
  border-left: 6px solid #7594a4;
  box-shadow: 2px 1px #e4e4d8, 3px 2px #a1b2b6, 4px 4px #e4e4d8, 6px 7px 10px #0006;
  font: 16px/28px KaiTi, STKaiti, SimSun, serif;
}
.xp-room-diary-page::before {
  content: "";
  position: absolute;
  left: 29px;
  top: 12px;
  bottom: 14px;
  border-left: 1px solid #c690905c;
}
.xp-room-diary-date { margin-bottom: 21px; text-align: right; font-size: 15px; }
.xp-room-diary-writing {
  min-height: 252px;
  background: repeating-linear-gradient(transparent 0 27px, #8cb5cf70 27px 28px);
}
.xp-room-diary-line { min-height: 28px; overflow-wrap: break-word; }
.xp-room-diary-folio { display: block; padding-top: 11px; color: #8797a2; text-align: center; font: 10px/16px SimSun, serif; }
.xp-diary-book { position: relative; width: 221px; height: 329px; flex-shrink: 0; perspective: 900px; filter: drop-shadow(6px 8px 8px #0008); }
.xp-diary-cover { position: absolute; inset: 0; background: url(../assets/room/documents/diary-cover.webp) center/100% 100%; border: 1px solid #638499; border-radius: 4px 7px 7px 4px; box-shadow: 2px 1px #faf9ee, 3px 2px #afbebf, 5px 3px #eeeee1, 6px 3px #7692a4; transform-origin: left center; }
.xp-diary-spine { position: absolute; left: 16px; top: 2px; bottom: 2px; border-left: 1px solid #5d83974d; }
.xp-diary-strap { position: absolute; width: 61px; right: -13px; top: 167px; height: 26px; background: #8dafc2; border: 1px solid #587e96; box-shadow: inset 0 2px #bed6e0, inset 0 -2px #6b94ab, 0 2px 3px #0005; }
.xp-diary-lock { position: absolute; right: -24px; top: 130px; width: 101px; box-sizing: border-box; padding: 6px 6px 5px; border: 1px solid #7c888d; border-radius: 4px; background: linear-gradient(100deg, #d6dbdc, #b8c1c5 78%, #d1d6d7); box-shadow: inset 1px 1px #fff, inset -1px -1px #8a969c, 2px 3px 4px #0006; font-family: Tahoma, SimSun, serif; }
.xp-diary-lock::before, .xp-diary-lock::after { content: "−"; position: absolute; top: 4px; font-size: 8px; color: #79888d; }
.xp-diary-lock::before { left: 4px; } .xp-diary-lock::after { right: 4px; }
.xp-diary-dots { display: flex; justify-content: center; gap: 5px; margin: 5px 0 7px; }
.xp-diary-dot { width: 5px; height: 4px; border: 1px solid #788990; background: #e4e9e6; box-shadow: inset 1px 1px 1px #0003; }
.xp-diary-dot.is-set { background: #3e5667; }
.xp-diary-keys { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px 3px; }
.xp-diary-key { width: 15px; height: 20px; padding: 0; border: 1px solid #839ba8; border-radius: 2px; background: #e1ebed; color: #384e5c; box-shadow: inset 1px 1px #fff, 0 1px #738793; font: 10px Tahoma, sans-serif; cursor: pointer; }
.xp-diary-key:hover { background: #f4f9fa; border-color: #527b92; }
.xp-diary-key:active, .xp-diary-key.is-pressed { transform: translateY(1px); box-shadow: inset 1px 1px 2px #687f8b; background: #a1b9c5; }
.xp-diary-release { width: 100%; margin-top: 8px; padding: 4px 1px; border: 1px solid #7d8e97; border-radius: 2px; background: #d8e1e3; box-shadow: inset 1px 1px #fff9, 0 1px #778790; color: #344c5a; font: 10px SimSun, serif; cursor: pointer; }
.xp-diary-release:hover { background: #eef4f5; }
.xp-diary-release:active { transform: translateX(1px); box-shadow: inset 1px 1px #7e929c; }
.xp-diary-reset { display: block; margin: 4px auto 0; padding: 1px 4px; background: transparent; border: 0; color: #526d7d; font: 10px SimSun, serif; cursor: pointer; }
.xp-diary-reset:hover { color: #163d58; text-decoration: underline; }
.xp-diary-caption { display: block; color: #5b727e; font: 8px SimSun, serif; letter-spacing: 1px; text-align: center; text-shadow: 0 1px #fff8; }
.xp-diary-book.is-wrong { animation: room-lock-shake .28s linear; }
.xp-diary-book.is-wrong .xp-diary-dot { background: #8c4940; }
.xp-diary-book.is-opening .xp-diary-lock, .xp-diary-book.is-opening .xp-diary-strap { transform: translateX(60px) rotate(8deg); opacity: 0; transition: transform .4s, opacity .4s; }
.xp-diary-book.is-opening .xp-diary-cover { transform: rotateY(-78deg); transition: transform .7s .1s ease-in; }
@keyframes room-portrait-in { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: none; } }
@keyframes room-lock-shake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .xp-room-dialogue-portrait, .xp-diary-book { animation: none !important; } .xp-diary-book * { transition: none !important; } }

.xp-snow-client { position:absolute; left:4px; top:30px; width:592px; height:370px; display:flex; flex-direction:column; background:#ece9d8; font:11px Tahoma,SimSun,"Songti SC",sans-serif; color:#111; overflow:hidden; }
.xp-snow-toolbar { display:flex; align-items:center; gap:2px; height:26px; flex-shrink:0; padding:2px 4px; border-bottom:1px solid #aca899; box-sizing:border-box; }
.xp-snow-toolbar button { font:inherit; color:inherit; border:1px solid transparent; background:transparent; height:22px; padding:2px 8px; border-radius:0; }
.xp-snow-toolbar button:hover,.xp-snow-toolbar button:focus-visible { border-color:#fff #aca899 #aca899 #fff; background:#f6f4eb; outline:none; }
.xp-snow-toolbar button:active,.xp-snow-toolbar button[aria-pressed="true"] { border-color:#aca899 #fff #fff #aca899; background:#dedbcd; }
.xp-snow-toolbar span { flex:1; text-align:right; color:#666; padding-right:4px; }
.xp-snow-viewport { position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; background:#080a0c; overflow:hidden; }
.xp-snow-canvas,.xp-snow-photo { display:block; position:absolute; width:100%; height:100%; object-fit:contain; outline:none; touch-action:none; image-rendering:auto; }
.xp-snow-photo[hidden] { display:none; }
.xp-snow-hint { position:absolute; bottom:13px; left:0; right:0; text-align:center; color:#a7aeb4; font-size:11px; pointer-events:none; text-shadow:0 1px 2px #000; transition:opacity .22s; }
.xp-snow-client.is-playing .xp-snow-hint { opacity:0; }
.xp-snow-status { display:flex; align-items:center; height:20px; flex-shrink:0; padding:0 6px; border-top:1px solid #aca899; box-sizing:border-box; color:#333; }
.xp-snow-status span:first-child { flex:1; }
.xp-snow-status span:last-child { border-left:1px solid #aca899; padding-left:9px; color:#555; }
.xp-snow-error { position:absolute; padding:20px; text-align:center; color:#c9cdd0; line-height:1.7; }
.xp-snow-error button { display:block; margin:12px auto; padding:4px 12px; }
.xp-snow-help { position:absolute; inset:0; background:rgba(8,11,14,.92); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; color:#c2c6c9; z-index:3; line-height:1.7; text-align:center; }
.xp-snow-help[hidden] { display:none; }
.xp-snow-help button { font:inherit; padding:3px 16px; }
.xp-window.is-snow-fullscreen { left:0!important; top:0!important; width:800px!important; height:600px!important; z-index:99999!important; }
.is-snow-fullscreen > .xp-window-shell,.is-snow-fullscreen > .xp-window-title,.is-snow-fullscreen > .xp-window-title-text,.is-snow-fullscreen > .xp-window-button { display:none; }
.is-snow-fullscreen .xp-snow-client { top:0; left:0; width:800px!important; height:600px!important; }
.is-snow-fullscreen .xp-snow-viewport { flex:none; position:absolute; inset:0; }
.is-snow-fullscreen .xp-snow-toolbar { position:absolute; left:8px; top:8px; z-index:4; background:#ece9d8; border:1px solid #aca899; box-shadow:1px 1px 2px #0006; }
.is-snow-fullscreen .xp-snow-toolbar span,.is-snow-fullscreen .xp-snow-status { display:none; }
.is-snow-fullscreen .is-playing .xp-snow-toolbar { visibility:hidden; }
.xp-stage.snow-pointer-locked .xp-synthetic-cursor { visibility:hidden!important; }
.xp-snow-touch { position:absolute; bottom:16px; left:16px; display:none; grid-template-columns:repeat(3,38px); grid-template-rows:repeat(2,34px); gap:3px; }
.xp-snow-touch button { background:#24292b99; color:#bbb; border:1px solid #62676a55; font:16px sans-serif; touch-action:none; }
.xp-snow-touch button:first-child { grid-column:2; }
.xp-snow-touch button:nth-child(2) { grid-column:1; }
@media (pointer:coarse) { .xp-snow-touch { display:grid; } .xp-snow-hint { bottom:100px; } }
.xp-snow-breakout { position:fixed; inset:0; z-index:2147483646; background:#000; cursor:none; overflow:hidden; }
.xp-snow-breakout .xp-snow-canvas { left:0; top:0; }
.xp-snow-ending { position:fixed; inset:0; z-index:2147483647; background:#000; cursor:none; display:flex; align-items:center; justify-content:center; user-select:none; transition:opacity 2s linear; }
.xp-snow-ending.is-fading { opacity:0; pointer-events:none; }
.xp-snow-ending.is-screen { background:transparent; }
.xp-snow-ending-screen { position:absolute; inset:0; z-index:2147483645; background:#000; pointer-events:none; transition:opacity 2s linear; }
.xp-snow-ending-screen.is-fading { opacity:0; }
.xp-snow-ending.is-credits { z-index:2147483646; }
.xp-stage:has(.xp-snow-ending.is-credits) .xp-synthetic-cursor { z-index:2147483647; }
.xp-ending-credits { position:relative; flex:none; width:800px; height:600px; overflow:hidden; transform-origin:50% 50%; --xp-cursor-kind:arrow; user-select:none; }
.xp-geo-page { position:absolute; left:0; top:0; width:800px; box-sizing:border-box; padding:8px; line-height:normal; will-change:transform; }
.xp-geo-page p { margin:16px 0; }
.xp-geo-page p:first-child { margin-top:0; }
.xp-geo-big { font-size:32px; }
.xp-geo-huge { font-size:48px; }
.xp-geo-marquee { position:relative; display:block; width:600px; height:56px; margin:0 auto; overflow:hidden; text-align:left; }
.xp-geo-marquee > font { position:absolute; left:0; top:0; white-space:nowrap; }
.xp-geo-page a { color:#FFFFCC; text-decoration:underline; --xp-cursor-kind:link; }
.xp-geo-page a:active { color:#FF6666; }
.xp-geo-page a.xp-geo-hop-link { text-decoration:none; border-bottom:2px solid currentColor; }
.xp-geo-hop { position:relative; display:inline-block; }
.xp-geo-art { display:inline; vertical-align:middle; border:0; box-sizing:content-box; image-rendering:auto; }
.xp-geo-popup { z-index:5; --xp-cursor-kind:arrow; }
.xp-geo-popup img, .xp-geo-popup video { display:block; }
.xp-geo-popup-title { font:bold 12px Tahoma, SimSun, "Songti SC", sans-serif; line-height:16px; color:#FFFFFF; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xp-geo-popup-close { background-position:0 0; }
.xp-geo-popup-close:hover { background-position:0 -21px; }
.xp-geo-popup-close.is-pressed { background-position:0 -42px; }
.xp-geo-popup-video { background:#000000; object-fit:fill; }
.xp-geo-popup-note { color:#FFFFFF; font:12px WQY12, SimSun, "Songti SC", serif; line-height:12px; text-align:left; white-space:nowrap; text-shadow:1px 1px 0 #000000; pointer-events:none; -webkit-font-smoothing:none; }
.xp-geo-veil { position:absolute; inset:0; z-index:10; }
.xp-geo-ask { box-sizing:border-box; overflow:hidden; background:#FFFFFF; color:#000000; font:12px/22px WQY12,SimSun,"Songti SC",serif; -webkit-font-smoothing:none; }
.xp-geo-letter { box-sizing:border-box; height:100%; padding:16px 24px; }
.xp-geo-ask h2 { margin:0; padding:0 0 10px; border-bottom:1px solid #C0C0C0; color:#000080; font:16px/24px WQY16,SimSun,"Songti SC",serif; }
.xp-geo-ask p { margin:0; }
.xp-geo-restart-main { display:flex; align-items:center; height:142px; }
.xp-geo-ask-art { display:block; flex:none; border:0; object-fit:contain; }
.xp-geo-ask-text { flex:1; }
.xp-geo-ask .xp-geo-question { margin-bottom:10px; font:16px/24px WQY16,SimSun,"Songti SC",serif; }
.xp-geo-ask-actions { display:flex; align-items:center; gap:28px; padding-top:8px; border-top:1px solid #C0C0C0; }
.xp-geo-text-link { border:0; border-radius:0; padding:0; background:none; box-shadow:none; color:#0000FF; font:inherit; text-decoration:underline; --xp-cursor-kind:link; }
.xp-geo-text-link:hover,.xp-geo-text-link:active { color:#FF0000; }
.xp-geo-text-link:focus-visible { outline:1px dotted #000000; outline-offset:3px; }
.xp-geo-support-intro { padding-top:16px; min-height:89px; }
.xp-geo-support-intro > img { float:right; border:0; }
.xp-geo-support-intro p + p { margin-top:10px; }
.xp-geo-follow { margin:0 0 12px; }
.xp-geo-follow-row { display:flex; line-height:24px; }
.xp-geo-follow dt { width:60px; }
.xp-geo-follow dd { margin:0; color:#000080; font:12px/24px Tahoma,SimSun,serif; user-select:text; --xp-cursor-kind:ibeam; }
.xp-geo-signature { text-align:right; font-family:Tahoma,SimSun,serif; }
.xp-geo-sheet-footer { margin-top:8px; padding-top:6px; border-top:1px solid #C0C0C0; text-align:center; }
.xp-geo-sponsor-main { display:flex; align-items:center; gap:20px; height:150px; padding:0 8px; }
.xp-geo-sponsor-main > img { display:block; flex:none; border:0; }
.xp-geo-ask .xp-geo-sponsor-main .xp-geo-question { margin:0; }
.xp-geo-bts-lock p + p { margin-top:4px; }
.xp-geo-bts-field { display:flex; align-items:center; margin-top:14px; }
.xp-geo-bts-input { box-sizing:border-box; width:120px; height:23px; margin:0; padding:2px 4px; border:1px solid #7F9DB9; border-radius:0; outline:none; background:#FFFFFF; color:#000000; font:14px Tahoma,SimSun,serif; letter-spacing:2px; caret-color:#000000; }
.xp-geo-bts-input::selection { background:#316AC5; color:#FFFFFF; }
.xp-geo-ask .xp-geo-bts-wrong { height:22px; margin-top:6px; color:#FF0000; }
.xp-geo-bts-lock .xp-geo-ask-actions { margin-top:12px; }
.xp-geo-bts-album { padding:8px 8px 0; }
.xp-geo-bts-photo { display:block; width:400px; height:300px; border:0; --xp-cursor-kind:link; }
.xp-geo-bts-nav { display:flex; align-items:center; gap:18px; margin-top:7px; line-height:18px; }
.xp-geo-bts-count { color:#808080; }
.xp-geo-bts-nav [data-bts=close] { margin-left:auto; }
.xp-ending-promo { flex:none; width:800px; height:600px; background:#000; transform-origin:50% 50%; }
.xp-ending-promo-hint { position:absolute; left:0; right:0; top:286px; text-align:center; font:12px WQY12,SimSun,"Songti SC",serif; color:#fff; -webkit-font-smoothing:none; --xp-cursor-kind:link; }
