:root{--mt-message-max-width:44rem;--mt-message-radius:12px;--mt-message-shadow:0 14px 40px #00000073;--mt-message-border:1px solid var(--brand-border,#ffffff1f);--mt-message-bg:var(--brand-panel-raised,#1a1722eb);--mt-message-text:#ffffffeb}.mt-message-center{pointer-events:none;z-index:10000;flex-direction:column;align-items:center;gap:10px;padding:14px 14px 0;display:flex;position:fixed;inset:0}.mt-banner{pointer-events:auto;width:100%;max-width:var(--mt-message-max-width)}.mt-toasts{pointer-events:none;flex-direction:column;gap:10px;width:min(520px,100%);display:flex}.mt-toast{pointer-events:auto}.mt-message{border-radius:var(--mt-message-radius);background:var(--mt-message-bg);border:var(--mt-message-border);color:var(--mt-message-text);box-shadow:var(--mt-message-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top-color:var(--brand-orange-border,#ff7a0057);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.mt-message-main{flex:auto;min-width:0}.mt-message-title{font-family:var(--font-body,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);margin-bottom:2px;font-size:.9rem;font-weight:700}.mt-message-body{font-family:var(--font-body,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);font-size:.9rem;line-height:1.25}.mt-message-dismiss{pointer-events:auto;appearance:none;color:#ffffffb3;cursor:pointer;background:0 0;border:0;flex:none;margin-top:1px;padding:0 6px;font-size:18px;line-height:1}.mt-message-dismiss:hover{color:var(--brand-orange-hover,#ffffffeb)}.mt-message-dismiss:focus-visible{outline:2px solid var(--brand-orange,#ff7a00);outline-offset:2px}.mt-message.is-error{border-color:#ff8a8a59}.mt-message.is-warning{border-color:#ffbf6b59}.mt-message.is-success{border-color:#56fea459}.mt-message.is-info{border-color:#00b1f759}.mt-message-center:not(.is-reduced-motion) .mt-toast{animation:.14s ease-out both mt-toast-in}@keyframes mt-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.mt-message-center{padding-left:14px;padding-right:14px}.mt-toasts{width:100%}}.mt-admin-failure-list{color:#ff8a8af2;gap:.35rem;margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.3;display:grid}
.castle-scene{color:#08ff00;background-color:#3a6ea5;background-image:repeating-linear-gradient(90deg,#00000009 0 1px,#0000 1px 4px);flex-direction:column;width:100%;min-height:100dvh;font-family:Courier New,Courier,monospace;display:flex;position:relative;overflow:hidden}.castle-scene *,.castle-scene :before,.castle-scene :after{box-sizing:border-box}.castle-scene img{max-width:100%;display:block}.castle-scene button{font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0}.castle-scene__crt{z-index:5;pointer-events:none;background:radial-gradient(#0000 55%,#00000014 80%,#0003 100%),linear-gradient(90deg,#ff000005,#00ff0002,#0000ff05) 0 0/3px 100%,repeating-linear-gradient(0deg,#0000001a 0 1px,#0000 1px 3px) 0 0/100% 3px;position:absolute;inset:0 0 2.75rem}.castle-scene__page{z-index:1;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:clamp(1.5rem,6vh,4rem) clamp(1rem,4vw,3rem) calc(2.75rem + clamp(1rem,3vh,2rem));display:flex;position:relative}.castle-scene .castle-grid{cursor:grab;grid-template:". . .flag-center. ."10.5%". . . . .flag-right"10.5%". . . . . ."0%".flag-left. . . ."25%". . . . . ."/9% auto 15.5% auto 20% auto;grid-auto-columns:1fr;place-items:end start;width:100%;max-width:1021px;margin-inline:auto;display:grid}.castle-scene .castle-grid.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.castle-scene .castle-player{grid-area:2/1/6/7;align-items:end;width:100%;display:grid;position:relative}.castle-scene .castle-mask{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;position:relative}.castle-scene .castle-interface-grid{z-index:0;grid-template:". . . ."". . .playlist"7%".song-details.playlist"25.5%".song-details. ."6%". . . ."5.5%/auto 39% 4% 25% 3%;gap:0;width:100%;height:100%;display:grid;position:absolute;inset:0}.castle-scene .castle-window{color:#08ff00;background:#000;overflow:hidden}.castle-scene .castle-window.is-current-song{border:1px solid #030;grid-area:song-details;padding:clamp(.4rem,1.4vw,1.1rem) clamp(1.75rem,4.5vw,3.5rem);position:relative;box-shadow:inset 0 0 0 1px #002800e6,inset 0 2px 10px #000000d9,inset 0 -1px #00ff5014}.castle-scene .castle-window.is-current-song:after{content:"";z-index:1;pointer-events:none;opacity:.55;background:repeating-linear-gradient(0deg,#00000024 0 1px,#0000 1px 3px);position:absolute;inset:0}.castle-scene .current-song-inner{z-index:2;text-align:left;flex-direction:column;justify-content:center;align-items:stretch;gap:.2em;min-width:0;height:100%;display:flex;position:relative}.castle-scene .castle-lcd-row{width:100%;min-width:0}.castle-scene .castle-lcd-clip{width:100%;min-width:0;overflow:hidden}.castle-scene .castle-lcd-text{white-space:nowrap;color:#08ff00;letter-spacing:.02em;text-shadow:0 0 4px #00ff3cd9,0 0 10px #00ff3c59;max-width:none;font-size:clamp(.5rem,1.25vw,1.05rem);line-height:1.2;display:inline-block}.castle-scene .castle-lcd-row[data-scroll=false] .castle-lcd-clip{text-align:center}.castle-scene .castle-lcd-row[data-scroll=true] .castle-lcd-text{animation:14s cubic-bezier(.4,0,.2,1) infinite castle-lcd-scroll}.castle-scene .castle-lcd-time{color:#08ff00;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 0 4px #00ff3cd9,0 0 10px #00ff3c59;justify-content:center;align-items:baseline;margin-top:.15em;font-size:clamp(.65rem,1.55vw,1.3rem);line-height:1.1;display:flex}.castle-scene .castle-lcd-time-sep{color:#00ff0073;padding:0 .05em}@keyframes castle-lcd-scroll{0%,12%{transform:translate(0)}38%{transform:translateX(var(--scroll-distance,0))}62%{transform:translateX(var(--scroll-distance,0))}88%,to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.castle-scene .castle-lcd-row[data-scroll=true] .castle-lcd-text{animation:none}}.castle-scene .castle-window.playlist{color:#4ed94b;cursor:auto;touch-action:pan-y;flex-direction:column;grid-area:playlist;gap:.15rem;padding:clamp(.35rem,1.5vw,1.5rem);display:flex;overflow:hidden auto}.castle-scene .playlist-song{width:100%;color:inherit;text-align:left;cursor:pointer;text-shadow:0 0 4px #00ff3ccc,0 0 9px #00ff3c66;justify-content:space-between;align-items:flex-start;gap:.3rem;font-size:clamp(.45rem,1.2vw,1rem);text-decoration:none;display:flex}.castle-scene .playlist-song:hover,.castle-scene .playlist-song.is-active{color:#b6ffb4;background:#00ff3c1f}.castle-scene .playlist-song-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.castle-scene .playlist-song-duration{flex:none}.castle-scene .castle-mouth-container{z-index:3;width:19%;position:absolute;bottom:-6%;left:39%}.castle-scene .castle-mouth{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.castle-scene .castle-mouth-power{z-index:4;aspect-ratio:1;cursor:pointer;background:0 0;border-radius:50%;outline:none;width:42%;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.castle-scene .castle-mouth-power:focus,.castle-scene .castle-mouth-power:focus-visible{outline:none}.castle-scene .player-controls{z-index:3;grid-template-columns:repeat(4,1fr);gap:0;width:22%;display:grid;position:absolute;bottom:49%;right:4.5%}.castle-scene .player-control{cursor:pointer;outline:none;width:100%;position:relative}.castle-scene .player-control:focus,.castle-scene .player-control:focus-visible{outline:none}.castle-scene .player-control:disabled{cursor:default;opacity:.55}.castle-scene .player-control img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.castle-scene .castle-flag{z-index:4;pointer-events:none;position:relative;top:10%}.castle-scene .castle-flag img,.castle-scene .castle-flag video{-webkit-user-select:none;user-select:none;width:100%;height:auto}.castle-scene .castle-flag-left{grid-area:flag-left;place-self:end start}.castle-scene .castle-flag-center{grid-area:flag-center;place-self:end start}.castle-scene .castle-flag-right{grid-area:flag-right;place-self:end start}.castle-scene .task-bar{z-index:10;color:#000;background:silver;border-top:2px solid #fff;align-items:center;gap:.35rem;width:100%;min-height:2.75rem;padding:.3rem .45rem;font-family:MS Sans Serif,Segoe UI,Tahoma,sans-serif;font-size:.75rem;display:flex;position:relative;box-shadow:inset 0 1px #dfdfdf}.castle-scene .taskbar-divider{background:gray;border-right:1px solid #fff;align-self:stretch;width:2px;margin:.15rem .25rem}.castle-scene .taskbar-main{flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.castle-scene .taskbar-actions{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.castle-scene .system-info-block{white-space:nowrap;background:silver;border:1px solid #fff;border-color:gray #fff #fff gray;align-items:center;gap:.4rem;padding:.2rem .45rem;display:flex}.castle-scene .system-flag{color:#000;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:1.35rem;min-height:1.35rem;padding:0;font-size:1.15rem;line-height:1;display:inline-flex}.castle-scene .system-flag:hover{color:navy}.castle-scene .system-flag:active{transform:translateY(1px)}.castle-scene .taskbar-clock{font-variant-numeric:tabular-nums}.castle-scene .task-bar-button,.castle-scene .tape-actions-taskbar .task-bar-button{color:#000;min-height:1.85rem;font:inherit;cursor:pointer;white-space:nowrap;background:silver;border:2px solid gray;border-color:#fff gray gray #fff;justify-content:center;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;line-height:1.2;text-decoration:none;display:inline-flex}.castle-scene .task-bar-button:hover,.castle-scene .tape-actions-taskbar .task-bar-button:hover{background:#d4d4d4}.castle-scene .task-bar-button:active,.castle-scene .tape-actions-taskbar .task-bar-button:active{border-color:gray #fff #fff gray;padding:.25rem .5rem .15rem .6rem}.castle-scene .task-bar-button:disabled,.castle-scene .tape-actions-taskbar .task-bar-button:disabled{color:gray;cursor:default}.castle-scene .tape-actions-taskbar{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.castle-scene .taskbar-key{color:#000;letter-spacing:.03em;border:1px solid #000;border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;height:.95rem;padding:0 .28rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.castle-scene .taskbar-share-icon{flex:none;width:16px;height:16px;display:block}.castle-scene .taskbar-share-icon img{width:16px;height:16px;display:block}@media (max-width:767px){.castle-scene__page{padding-inline:.5rem}}@media (prefers-reduced-motion:reduce){.castle-scene *,.castle-scene :before,.castle-scene :after{scroll-behavior:auto!important}}.play-scene-shell{transition:opacity .2s}.play-scene-shell[data-active=false]{opacity:0;pointer-events:none;visibility:hidden;position:absolute;inset:0}.play-scene-shell[data-active=true]{opacity:1;pointer-events:auto;visibility:visible;position:relative}.play-scene-root{width:100%;position:relative}.play-scene-root[data-scene=castle]{min-height:100dvh}.play-scene-root[data-scene=castle] .play-scene-shell[data-scene=bedroom]{max-height:100dvh;overflow:hidden}.win-dialog-backdrop{z-index:90;background:#00000073;justify-content:safe center;align-items:safe center;padding:1rem;display:flex;position:fixed;inset:0 0 2.75rem}.win-dialog-backdrop--raised{z-index:96}.win-dialog{box-sizing:border-box;color:#000;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;flex-direction:column;width:min(22rem,100%);max-height:calc(100dvh - 4.75rem);font-family:Tahoma,MS Sans Serif,sans-serif;font-size:11px;line-height:1.35;display:flex;box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px gray}.win-dialog--wide{width:min(32rem,100%)}.win-dialog__titlebar{color:#fff;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;background:navy;flex:none;justify-content:space-between;align-items:center;gap:.5rem;margin:2px 2px 0;padding:2px 3px 2px 4px;font-size:11px;font-weight:700;line-height:1.2;display:flex}.win-dialog.is-dragging .win-dialog__titlebar{cursor:grabbing}.win-dialog button.win-dialog__close{color:#000;cursor:pointer;background:silver;border:1px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;justify-content:center;align-items:center;width:16px;height:14px;margin:0;padding:0 0 1px;font-family:Tahoma,MS Sans Serif,sans-serif;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 1px 1px #dfdfdf}.win-dialog button.win-dialog__close:hover{color:#000;background:#d4d4d4}.win-dialog button.win-dialog__close:active{box-shadow:none;background:silver;border-color:#404040 #fff #fff #404040;padding:1px 0 0}.win-dialog button.win-dialog__close:focus-visible{outline-offset:1px;outline:1px dotted #000}.win-dialog__body{color:#000;padding:12px 12px 10px;overflow:auto}.win-dialog__lead,.win-dialog__note{color:#000;margin:0 0 10px}.win-dialog__preview{background:#fff;border:2px solid #fff;border-color:gray #fff #fff gray;margin:0 0 4px;padding:4px;box-shadow:inset 1px 1px #404040}.win-dialog__preview img{width:auto;max-width:100%;height:auto;max-height:min(46vh,380px);margin:0 auto;display:block}.win-dialog__form{flex-direction:column;gap:10px;display:flex}.win-dialog__label{color:#000;margin:0 0 4px;font-weight:400;display:block}.win-dialog .win-dialog__field{color:#000;background:#fff;border:2px solid #fff;border-color:gray #fff #fff gray;border-radius:0;width:100%;margin:0;padding:2px 4px;font-family:Tahoma,MS Sans Serif,sans-serif;font-size:11px;line-height:1.35;display:block;box-shadow:inset 1px 1px #404040}.win-dialog select.win-dialog__field{height:1.7rem}.win-dialog textarea.win-dialog__field{resize:vertical;min-height:4.5rem}.win-dialog__field::placeholder{color:gray}.win-dialog__field:focus-visible{outline-offset:-3px;outline:1px dotted #000}.win-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:10px;display:flex}.win-dialog button.win-dialog__button,.win-dialog a.win-dialog__button{color:#000;white-space:nowrap;cursor:pointer;background:silver;border:2px solid gray;border-color:#fff gray gray #fff;border-radius:0;justify-content:center;align-items:center;min-width:4.75rem;min-height:1.85rem;margin:0;padding:.2rem .7rem;font-family:Tahoma,MS Sans Serif,sans-serif;font-size:11px;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex}.win-dialog button.win-dialog__button:hover,.win-dialog a.win-dialog__button:hover{color:#000;background:#d4d4d4;text-decoration:none}.win-dialog button.win-dialog__button:active,.win-dialog a.win-dialog__button:active{background:silver;border-color:gray #fff #fff gray;padding:.25rem .65rem .15rem .75rem}.win-dialog button.win-dialog__button:disabled{color:gray;cursor:default;background:silver}.win-dialog button.win-dialog__button:focus-visible,.win-dialog a.win-dialog__button:focus-visible{outline-offset:-4px;outline:1px dotted #000}
