.d99-game,.dialogue-admin{--d99-text:var(--site-text,#edf0f6);--d99-muted:var(--site-muted,#aaa7c9);--d99-line:var(--site-line,#41445e);--d99-panel:var(--site-panel,#162133);--d99-accent:var(--site-accent,#b0a0e3);color:var(--d99-text);font:15px/1.65 "Microsoft YaHei",system-ui,sans-serif;min-width:0}
.d99-game button,.dialogue-admin button{font:inherit;color:var(--d99-text);background:var(--d99-panel);border:1px solid var(--d99-line);border-radius:10px;padding:8px 16px;cursor:pointer;transition:border-color .2s,background .2s}
.d99-game button:hover,.dialogue-admin button:hover{border-color:#a49be0}.d99-game button:focus-visible,.dialogue-admin :is(button,input,select,textarea):focus-visible{outline:3px solid #a69cff;outline-offset:4px}.d99-game button:disabled,.dialogue-admin button:disabled{cursor:default;opacity:.55}
.d99-game a{color:var(--d99-muted)}.d99-top{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--d99-line);padding-bottom:18px}.d99-top h1{font:600 26px/1.3 "STZhongsong","Songti SC",serif;letter-spacing:.12em;margin:0}.d99-back{text-decoration:none}.d99-tools{display:flex;gap:8px;margin-left:auto}.d99-tools button{padding:6px 13px;font-size:13px}
.d99-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 0 20px}.d99-level{font:400 22px/1.2 "STZhongsong","Songti SC",serif;margin:0;display:flex;align-items:baseline;gap:12px}.d99-level strong{font-size:76px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.d99-level span{font:14px/1 system-ui;color:var(--d99-muted)}.d99-rule{margin:12px 0 0;color:var(--d99-muted);font-size:13px;letter-spacing:.08em}.d99-record{font-size:13px;color:var(--d99-muted);display:grid;gap:5px;text-align:right}.d99-record strong{font-size:19px;color:var(--d99-text);font-weight:500}
.d99-scene{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;position:relative;align-items:center;min-height:380px;padding:16px 0 30px}.d99-scene:before{content:"";position:absolute;left:0;right:140px;bottom:12px;height:70px;border-radius:50%;background:radial-gradient(ellipse,rgba(159,147,202,.16),transparent 70%);pointer-events:none}.d99-doors{width:100%;max-width:calc(var(--d99-cols)*240px);justify-self:center;display:grid;grid-template-columns:repeat(var(--d99-cols),minmax(0,1fr));gap:16px 20px;align-items:end;position:relative}.d99-game .d99-door{display:block;background:transparent!important;box-shadow:none!important;border:0!important;padding:0;min-width:0;border-radius:90px 90px 8px 8px;opacity:1;perspective:900px;transition:filter .2s,transform .2s}.d99-game .d99-door:disabled{opacity:1}.d99-door:not(:disabled):hover{filter:drop-shadow(0 0 10px #8e83bf66);transform:translateY(-4px)}.d99-door-art{display:block;position:relative;aspect-ratio:220/314}.d99-frame{position:relative;display:block;width:100%;height:100%;z-index:2;pointer-events:none;filter:drop-shadow(0 9px 7px #080d2144)}.d99-door-well{position:absolute;inset:12% 15% 6%;border-radius:50% 50% 0 0/34% 34% 0 0;background:#111220;overflow:hidden;isolation:isolate;perspective:650px}.d99-door-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#d9dbff,transparent 65%);opacity:0}.d99-leaf{position:absolute;top:0;bottom:0;width:50%;display:block;transform-style:preserve-3d;backface-visibility:hidden;transition:transform .75s cubic-bezier(.2,.65,.25,1);z-index:1}.d99-leaf svg{display:block;width:100%;height:100%}.d99-leaf.left{left:0;transform-origin:left center}.d99-leaf.right{right:0;transform-origin:right center}.is-opening .d99-leaf.left{transform:rotateY(84deg)}.is-opening .d99-leaf.right{transform:rotateY(-84deg)}.is-opening .d99-door-glow{opacity:1;transition:opacity .5s}.is-opening.advance .d99-door-glow,.is-opening.cleared .d99-door-glow{background:radial-gradient(ellipse,#f4e9ff 10%,#ac9cde99 50%,#292343)}.is-opening.death .d99-door-glow{background:radial-gradient(ellipse,#281d35,#090b13 70%)}.is-opening.death{animation:d99-shudder .4s .45s}.is-opening.stay .d99-door-glow{background:repeating-radial-gradient(ellipse,#bdd4ed55 0 6%,#9388bf66 10% 16%,#22243d 21% 27%);animation:d99-loop 1.1s linear infinite}.d99-door-number{position:absolute;z-index:3;bottom:10%;left:50%;transform:translateX(-50%);font:600 clamp(11px,1.5vw,17px)/1.2 Georgia,serif;letter-spacing:.1em;color:#e4d7b8;text-shadow:0 1px 2px #000;background:#30303b;border:1px solid #9c8a70;border-radius:3px;padding:3px 8px;box-shadow:0 2px 4px #0005;pointer-events:none}
.d99-parrot{width:180px;align-self:end;position:relative;text-align:center}.d99-parrot-art{width:150px;max-width:100%;display:block;margin:0 auto}.d99-speech{position:relative;text-align:left;font-size:13px;min-height:66px;padding:13px 15px;color:var(--d99-text);background:var(--d99-panel);border:1px solid var(--d99-line);border-radius:15px 15px 15px 4px;overflow-wrap:anywhere;box-shadow:0 8px 25px #080d2114}.d99-speech:after{content:"";position:absolute;bottom:-8px;left:33px;width:12px;height:12px;background:var(--d99-panel);border:solid var(--d99-line);border-width:0 1px 1px 0;transform:rotate(45deg)}.d99-game .d99-mute{font-size:11px;border:0;background:transparent;padding:0 8px;color:var(--d99-muted)}.d99-bird-head{transform-origin:107px 100px;animation:d99-bird 5s ease-in-out infinite}.talking .d99-bird-head{animation:d99-talk .28s ease-in-out 5}.talking .d99-bird-wing{transform-origin:65px 125px;animation:d99-wing .45s 3}.d99-muted .d99-speech{visibility:hidden}.d99-bottom{border-top:1px solid var(--d99-line);padding:14px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--d99-muted);font-size:12px}
.d99-game dialog,.dialogue-admin dialog{background:var(--d99-panel);color:var(--d99-text);border:1px solid var(--d99-line);border-radius:22px;padding:28px;width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;box-shadow:0 25px 100px #080d2166;overflow:auto}.d99-game dialog::backdrop,.dialogue-admin dialog::backdrop{background:#080c20b8;backdrop-filter:blur(5px)}.d99-game dialog h2,.dialogue-admin dialog h2{font:600 25px/1.4 "STZhongsong","Songti SC",serif;margin:0 0 20px}.d99-game dialog label,.dialogue-admin label{display:grid;gap:7px;font-size:13px}.d99-game dialog p,.dialogue-admin dialog p{color:var(--d99-muted);font-size:13px}.d99-game input,.dialogue-admin :is(input,select,textarea){font:inherit;color:var(--d99-text);background:var(--site-bg,#0e192a);border:1px solid var(--d99-line);border-radius:9px;min-width:0;box-sizing:border-box;width:100%;padding:10px 12px;color-scheme:dark}.dialogue-admin option{background:#162133;color:#edf0f6}.d99-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:24px}.d99-game button.d99-primary,.dialogue-admin button.d99-primary{background:#aca0d7;border-color:#bbb0e2;color:#171d32;font-weight:600}.d99-error{color:#e7a6b3!important;font-size:13px;overflow-wrap:anywhere}.d99-error:empty{display:none}.d99-dialog-top{display:flex;align-items:start;justify-content:space-between;gap:14px}.d99-dialog-top button{padding:1px 11px;font-size:22px;line-height:1.5}.d99-settlement{text-align:center}.d99-result-icon{display:block;font:54px/1.3 Georgia,serif;color:#a9a0cc}.d99-settlement h2{margin:12px 0!important}.d99-result-level{font-size:18px!important}.d99-settlement blockquote{font:21px/1.7 "STZhongsong","Songti SC",serif;margin:25px 0;padding:22px 8px;border-top:1px solid var(--d99-line);border-bottom:1px solid var(--d99-line);overflow-wrap:anywhere}.d99-board ol{list-style:none;padding:0}.d99-board li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;padding:12px 8px;border-bottom:1px solid var(--d99-line)}.d99-board li strong{overflow-wrap:anywhere;font-weight:500}.d99-board li b{font-size:13px;font-weight:500}.d99-board li.is-current{background:#a99dd31a;border-radius:8px}.d99-own-rank{padding:12px 0}.d99-game:fullscreen{background:var(--site-bg,#0e192a);overflow:auto;padding:28px;box-sizing:border-box}
.dialogue-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialogue-heading h1{font-size:25px}.dialogue-filters{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:14px;align-items:end;padding:16px 0 24px}.dialogue-table-wrap{overflow-x:auto}.dialogue-admin table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.dialogue-admin th{color:var(--d99-muted);font-weight:500}.dialogue-admin :is(th,td){padding:13px 10px;border-bottom:1px solid var(--d99-line)}.dialogue-text{min-width:160px;max-width:420px;overflow-wrap:anywhere}.dialogue-row-actions{display:flex;gap:6px;white-space:nowrap}.dialogue-row-actions button{font-size:12px;padding:4px 9px}.dialogue-pagination{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:20px;font-size:13px}.dialogue-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.dialogue-admin .dialogue-check{display:flex;align-items:center;gap:8px}.dialogue-check input{width:18px;height:18px;accent-color:#a99bd9}.dialogue-preview{padding:16px;background:#a99bd318;border:1px dashed var(--d99-line);border-radius:12px;margin-top:12px;overflow-wrap:anywhere;min-height:32px}.dialogue-admin label[hidden]{display:none}
[data-theme="sakura"] :is(.d99-game,.dialogue-admin){--d99-panel:#fff8fc;--d99-text:#473744;--d99-muted:#856978;--d99-line:#ddc4d1}[data-theme="sakura"] .d99-game input,[data-theme="sakura"] .dialogue-admin :is(input,select,textarea,option){background:#fffafd;color:#473744;color-scheme:light}[data-theme="sakura"] .d99-error{color:#ab315e!important}
.d99-game dialog,.dialogue-admin dialog{margin:auto;inset:0;height:fit-content}
@keyframes d99-shudder{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes d99-loop{to{filter:hue-rotate(40deg)}}@keyframes d99-bird{50%{transform:rotate(-5deg)}}@keyframes d99-talk{50%{transform:rotate(5deg) translateY(-2px)}}@keyframes d99-wing{50%{transform:rotate(8deg)}}
@media(min-width:1100px){.d99-doors{gap:18px 24px}.d99-scene{padding-left:30px;padding-right:10px}.d99-game:has(.d99-doors[style*="--d99-count:2"]) .d99-doors{max-width:540px}}
@media(max-width:700px){.d99-top{gap:12px}.d99-top h1{font-size:22px}.d99-tools{gap:6px;margin-left:0;width:100%;flex-wrap:wrap}.d99-tools button{flex:1}.d99-stage-heading{padding-top:24px}.d99-level{gap:8px;font-size:17px}.d99-level strong{font-size:58px}.d99-record strong{font-size:15px}.d99-rule{font-size:11px;letter-spacing:0}.d99-scene{grid-template-columns:minmax(0,1fr);min-height:0;gap:28px;padding-top:10px}.d99-doors{grid-template-columns:repeat(min(var(--d99-cols),3),minmax(0,1fr));gap:16px 10px;max-width:540px}.d99-parrot{display:grid;grid-template-columns:1fr 90px;width:100%;align-items:center;gap:4px 10px}.d99-parrot-art{grid-column:2;grid-row:1/3;width:90px}.d99-speech{min-height:48px}.d99-speech:after{display:none}.d99-game .d99-mute{text-align:left}.d99-door-number{font-size:11px;padding:2px 6px}.d99-bottom{font-size:11px}.d99-game dialog,.dialogue-admin dialog{padding:22px}.d99-dialog-actions{gap:10px}.dialogue-filters{grid-template-columns:1fr 1fr}.dialogue-filters label:nth-child(3){grid-column:1/-1}.dialogue-heading{align-items:start}.dialogue-heading h1{font-size:21px}.dialogue-form-grid{grid-template-columns:1fr}.dialogue-admin table{min-width:650px}.d99-game:fullscreen{padding:18px}.d99-scene:before{right:0;bottom:140px}}
@media(prefers-reduced-motion:reduce){.d99-game *{animation:none!important;transition:none!important}.d99-game .d99-door:hover{transform:none}}
