:root{font-family:"Noto Serif SC",Songti SC,SimSun,serif;color:#e4e2d9;background:#101714;font-synthesis:none;--gold:#baa578;--muted:#a1aaa3;--line:rgba(190,170,121,.19);--ink:#101815;--panel:rgba(15,23,21,.92)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{color:inherit}button{border:0;background:none}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:none;border-color:#baa578!important}::selection{background:#6b6249;color:#fff}small{font-size:11px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.gold{color:var(--gold)}.atmosphere,.scene,.shade,.vignette,.fog,.atmosphere canvas{position:fixed;inset:0;pointer-events:none}.atmosphere{z-index:-1;overflow:hidden}.scene{background:url(/art/castle.png) center/cover no-repeat;transform:scale(1.035);animation:breathe 28s ease-in-out infinite alternate}.shade{background:linear-gradient(90deg,#060c0b30,#060c0b61 48%,#060c0b61)}.vignette{background:radial-gradient(ellipse at 50% 40%,transparent 15%,rgba(2,8,7,.5) 100%)}.fog{inset:auto -25% -32%;height:65%;filter:blur(38px);opacity:.17;background:radial-gradient(ellipse at 25% 40%,#c4d5ca 0,transparent 50%),radial-gradient(ellipse at 75% 70%,#7f9e97 0,transparent 45%);animation:drift 46s ease-in-out infinite alternate}.fog-two{opacity:.1;bottom:-8%;animation-delay:-20s;animation-duration:70s}.motion-off .scene,.motion-off .fog{animation:none}.motion-low .fog-two{display:none}.app-shell{min-height:100dvh}.brand{display:flex;align-items:center;gap:14px;letter-spacing:4px;font-size:20px;white-space:nowrap}.sigil{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;position:relative;color:var(--gold);flex-shrink:0}.sigil:before,.sigil:after{content:"";position:absolute;inset:5px;border:1px solid rgba(186,165,120,.5);transform:rotate(45deg)}.sigil:after{inset:10px;transform:rotate(0);border-color:#baa5784d}.sigil i{position:absolute;inset:0;border:1px solid rgba(186,165,120,.25);border-radius:50%}.sigil.small{width:36px;height:36px}.sigil.small:before{inset:4px}.sigil.small:after{inset:7px}.micro,.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:3px;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{width:22px;height:1px;background:var(--gold)}.entrance{min-height:100dvh;max-width:1600px;padding:38px 6vw 28px;margin:auto;display:grid;grid-template-columns:1fr minmax(360px,440px);grid-template-rows:60px 1fr 42px;column-gap:9vw;align-items:center}.entrance-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.intro{padding:60px 0 100px}.intro h1{font-weight:400;font-size:clamp(45px,4.4vw,70px);letter-spacing:6px;line-height:1.7;margin:30px 0 22px;text-shadow:0 4px 30px #000}.intro h1>span{color:#d0bf97}.intro>p{font-size:15px;line-height:2.4;letter-spacing:2px;color:#bbc3bc}.intro-bottom{display:flex;align-items:center;gap:16px;margin-top:50px;color:#98a59e;letter-spacing:2px;font-size:12px}.fine-line{height:1px;width:40px;background:var(--gold)}.gate{position:relative;background:linear-gradient(145deg,#18201ced,#0a110ff2);border:1px solid rgba(185,164,120,.35);box-shadow:0 28px 100px #0006,inset 0 0 45px #c8ae7610;padding:36px 36px 25px;margin:35px 0}.gate:before,.gate:after{position:absolute;content:"";width:30px;height:30px;border:1px solid var(--gold);pointer-events:none}.gate:before{top:7px;left:7px;border-right:0;border-bottom:0}.gate:after{bottom:7px;right:7px;border-left:0;border-top:0}.gate>.sigil{display:flex;margin:0 auto 28px}.gate>.eyebrow{font-size:8px;justify-content:center;letter-spacing:2px}.gate h2{font-weight:400;font-size:26px;text-align:center;letter-spacing:3px;margin:18px 0 10px}.gate-sub{font-size:12px;color:var(--muted);line-height:1.8;text-align:center;margin:0 0 25px}.gate-ornament{position:absolute;top:-13px;left:calc(50% - 15px);width:30px;text-align:center;color:var(--gold);background:#17211c}.tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;margin-bottom:22px}.tabs button{padding:9px 0 13px;font-size:13px;color:#8d9a92;position:relative}.tabs button.active{color:#d5c39c}.tabs button.active:after{content:"";position:absolute;bottom:-1px;height:1px;background:var(--gold);left:0;right:0}.gate label{display:block;font-size:12px;letter-spacing:1px;color:#c5c9be;margin-bottom:16px}.gate input{display:block;width:100%;border:1px solid rgba(165,175,158,.19);background:#080f0d7d;border-radius:3px;padding:13px 14px;color:#e7e5db;margin-top:8px;font-family:system-ui,sans-serif;font-size:13px;transition:border-color .2s}.gate small{display:block;color:#87978e;line-height:1.7;letter-spacing:0;margin-top:7px}.gate input::placeholder{color:#697a70}.primary{display:flex;gap:12px;align-items:center;justify-content:center;background:linear-gradient(120deg,#c4b18b,#a89268);color:#17201b;min-height:46px;padding:12px 20px;border:1px solid #e1cda269;border-radius:3px;font-size:13px;font-weight:600;letter-spacing:1px;transition:filter .2s,transform .2s}.primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.gate .primary{width:100%;margin-top:22px}.forgot{font-size:11px;line-height:1.8;color:#85968a;text-align:center;margin:17px 0}.gate-seal{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:10px;letter-spacing:1px;color:#8f9f92}.entrance-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:#8c998e;font-size:9px;letter-spacing:2px;font-family:Georgia,serif}.entrance-footer .gold{margin:0 9px}.motion-control{display:flex;align-items:center;gap:8px;font-family:system-ui,sans-serif;font-size:11px;color:#a3ad9f;letter-spacing:0}.motion-control select{background:#13201a;color:#c3b48f;border:1px solid var(--line);padding:5px;border-radius:3px;font-size:11px}.form-error{font-size:12px;color:#efb3a2;background:#4b262756;border:1px solid #bd766344;padding:10px 12px;line-height:1.8;display:flex;justify-content:space-between;align-items:center;gap:10px}.form-notice{font-size:12px;color:#bed5b1}.loading{display:flex;min-height:100dvh;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:var(--gold);letter-spacing:3px}.chamber{display:flex;max-width:1440px;margin:24px auto;height:calc(100dvh - 48px);border:1px solid var(--line);background:#0d1612cc;box-shadow:0 20px 100px #0005;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:6px;overflow:hidden}.sidebar{width:248px;flex-shrink:0;border-right:1px solid var(--line);padding:32px 22px 20px;background:linear-gradient(#16231cdd,#101b17e8);display:flex;flex-direction:column}.sidebar .brand{font-size:18px;gap:10px;letter-spacing:2px}.sidebar-caption{font-size:9px;letter-spacing:2.5px;color:#788e7c;margin:52px 10px 18px;font-family:Georgia,serif}.room-active{border:1px solid #a98c5940;background:linear-gradient(100deg,#b69f6e17,#b69f6e05);padding:16px 12px;display:flex;align-items:center;gap:12px;border-radius:4px;color:#d7c59e}.room-active>span{font-size:13px;letter-spacing:1px}.room-active small{display:block;color:#819783;font-size:9px;margin-top:7px;letter-spacing:1px}.room-dot{margin-left:auto;width:5px;height:5px;background:#bfad80;border-radius:50%;box-shadow:0 0 14px #c9b57988}.side-poem{margin:auto 12px;text-align:center;color:#92a08e}.side-poem>span{color:#b49b68;font-size:24px}.side-poem p{font-size:13px;line-height:2.4;letter-spacing:2px}.side-rule{width:28px;height:1px;background:var(--line);margin:20px auto}.side-poem small{color:#718674;line-height:2.2;letter-spacing:1px}.identity{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;align-items:center}.avatar{display:flex;align-items:center;justify-content:center;border:1px solid #b59c6645;background:linear-gradient(135deg,#3c4938,#192e25);color:#d1bd90;border-radius:50%;width:36px;height:36px;font-size:15px;flex-shrink:0}.identity b{font-size:12px;font-weight:400}.identity small{display:block;font-family:system-ui,sans-serif;color:#789080;font-size:10px;margin-top:4px}.identity button{margin-left:auto;color:#849381}.conversation{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;background:linear-gradient(110deg,#101b17e6,#152019bb)}.room-header{display:flex;justify-content:space-between;align-items:center;padding:25px 36px 22px;border-bottom:1px solid var(--line);flex-shrink:0;background:#0f1a1580}.room-header .eyebrow{font-size:8px;letter-spacing:2px;color:#80957f}.room-header h1{font-size:23px;font-weight:400;letter-spacing:4px;margin:9px 0 0}.room-header h1 span{color:#ad9569;font-size:14px;margin-left:8px}.connection{font-size:11px;display:flex;gap:8px;align-items:center;color:#81967f;font-family:system-ui,sans-serif}.connection i{width:5px;height:5px;background:#a98b62;border-radius:50%}.connection i.online{background:#a1b694;box-shadow:0 0 9px #9fb8985c}.message-scroll{flex:1;overflow-y:auto;padding:0 36px 25px;scrollbar-width:thin;scrollbar-color:#5d654a transparent;overscroll-behavior:contain}.room-welcome{text-align:center;padding:34px 0 28px}.room-welcome .sigil{opacity:.7;width:50px;height:50px}.room-welcome h2{font-weight:400;letter-spacing:3px;font-size:19px;color:#cfbf98;margin:18px 0 12px}.room-welcome p{color:#8b9a87;font-size:11px;line-height:2;letter-spacing:1px}.room-welcome>span{display:block;font-size:8px;letter-spacing:2.2px;color:#657b69;margin-top:18px}.room-welcome:after{content:"✦";display:block;color:#8f8059;margin:25px 0 0;opacity:.6}.messages{display:flex;flex-direction:column;gap:24px}.message{display:flex;gap:13px;animation:arrive .4s ease both}.message>.avatar{width:34px;height:34px;font-size:13px;margin-top:1px}.message-content{max-width:min(85%,650px);min-width:100px}.message-meta{display:flex;gap:12px;align-items:center;margin:0 0 8px;font-family:system-ui,sans-serif}.message-meta b{font-size:12px;font-weight:400;color:#bfc8b5}.message-meta time,.message-meta small{font-size:9px;color:#6c8472}.message-body{background:#e5dfc908;border:1px solid #9ba78719;border-radius:0 9px 9px;padding:12px 16px;overflow-wrap:anywhere}.mine .message-body{background:linear-gradient(120deg,#b09c6b14,#899f8014);border-color:#b6a37936}.message-body>p{margin:0;font-family:system-ui,sans-serif;font-size:14px;line-height:1.9;white-space:pre-wrap;color:#d1d8ca}.message-actions{display:flex;gap:14px;padding-top:6px;opacity:.25;transition:opacity .2s}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}.message-actions button{font-size:10px;display:flex;gap:4px;align-items:center;color:#9aab93;padding:3px 0}.message-images{display:flex;flex-wrap:wrap;gap:8px}.message-body>p+.message-images{margin-top:10px}.message-images button{padding:0;border-radius:4px;overflow:hidden;max-width:230px}.message-images img{display:block;max-width:100%;height:auto;max-height:230px;object-fit:cover}.older{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;color:#a7a283;font-size:11px;margin:0 0 24px;padding:12px}.composer-wrap{padding:15px 36px 20px;border-top:1px solid #b29f7214;background:linear-gradient(transparent,#101b17cc);flex-shrink:0}.composer{border:1px solid #ab9f724a;border-radius:6px;background:#0a1510ba;box-shadow:inset 0 1px 12px #0001}.composer:focus-within{border-color:#baaa775e}.composer textarea{border:0;resize:none;width:100%;height:72px;color:#d9dfcf;background:none;padding:17px 18px 8px;line-height:1.7;font-family:system-ui,sans-serif;font-size:13px}.composer textarea::placeholder{color:#6d816d}.composer-bottom{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 11px}.composer-bottom>div{display:flex;align-items:center;gap:10px}.composer-bottom span{font-size:10px;color:#6c816d;font-family:system-ui,sans-serif}.image-button{padding:7px;color:#9d9f7e;display:flex}.send-button{display:flex;align-items:center;gap:12px;padding:10px 15px;border-radius:3px;border:1px solid #c6af7655;background:linear-gradient(110deg,#b3a078,#9a8a63);color:#17231b;font-size:12px;letter-spacing:1px}.send-button:not(:disabled):hover{filter:brightness(1.12)}.composer-foot{display:flex;align-items:center;gap:6px;color:#6c806c;font-size:9px;font-family:system-ui,sans-serif;margin-top:10px}.shortcut{margin-left:auto}.draft-images{display:flex;gap:10px;padding:12px 15px 0}.draft-images>div{position:relative}.draft-images img{width:62px;height:62px;object-fit:cover;border-radius:4px}.draft-images button{position:absolute;right:-5px;top:-5px;border:1px solid var(--line);background:#1c2b22;padding:3px;border-radius:50%;display:flex}.new-messages{position:absolute;bottom:170px;right:35px;display:flex;align-items:center;gap:8px;border:1px solid #d2b87c55;border-radius:20px;background:#334638;box-shadow:0 4px 20px #0004;padding:9px 14px;color:#e1d3a8;font-size:11px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#020a08bf;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{position:relative;width:420px;max-width:100%;padding:32px;border:1px solid #b3a26f60;background:#15231b;box-shadow:0 25px 100px #0008}.modal h2{font-size:23px;font-weight:400;letter-spacing:2px}.modal p{font-size:13px;line-height:1.9;color:#a4b09d}.modal-close{position:absolute;right:13px;top:13px;color:#babd9f;z-index:1}.modal .motion-control{margin:25px 0}.modal textarea{width:100%;height:140px;resize:vertical;background:#0c1711;color:#e0e1d2;border:1px solid var(--line);padding:12px;font-family:system-ui,sans-serif}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.secondary{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--line);border-radius:3px;font-size:12px;color:#c1c4aa;min-height:44px}.lightbox>img{max-width:95vw;max-height:90dvh;object-fit:contain}.lightbox .modal-close{position:fixed;right:24px;top:20px;background:#111e17;border-radius:50%;padding:8px}.motion-off .message{animation:none}@keyframes drift{0%{transform:translate(-10%) rotate(-3deg)}to{transform:translate(10%) rotate(3deg)}}@keyframes breathe{0%{transform:scale(1.035)}to{transform:scale(1.07)}}@keyframes arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.chamber{margin:38px auto;height:calc(100dvh - 76px)}}@media(max-width:1100px){.chamber{margin:15px;height:calc(100dvh - 30px)}.sidebar{width:218px;padding:25px 17px}.entrance{column-gap:5vw;padding-left:5vw;padding-right:5vw}.intro h1{font-size:44px;letter-spacing:3px}.gate{padding:30px}.room-header{padding:22px 25px}.message-scroll,.composer-wrap{padding-left:25px;padding-right:25px}}@media(max-width:760px){.entrance{display:flex;flex-direction:column;padding:22px 22px 15px;min-height:100dvh}.entrance-top{width:100%;height:45px}.entrance-top .micro{display:none}.brand{font-size:19px;letter-spacing:3px}.intro{padding:35px 0 12px;width:100%}.intro>.eyebrow{font-size:8px;letter-spacing:2px}.intro h1{font-size:30px;line-height:1.6;letter-spacing:4px;margin:15px 0}.intro h1 br{display:none}.intro>p,.intro-bottom{display:none}.gate{width:100%;max-width:440px;padding:28px 25px 22px;margin:18px 0 28px}.gate>.sigil{width:48px;height:48px;margin-bottom:20px}.gate h2{font-size:24px}.entrance-footer{width:100%;gap:20px;margin-top:auto;flex-wrap:wrap;justify-content:center;font-size:8px}.chamber{margin:0;height:100dvh;border:0;border-radius:0}.sidebar{display:none}.room-header{padding:18px 20px 16px}.room-header h1{font-size:21px}.room-header .eyebrow{font-size:7px;letter-spacing:1.8px}.connection{font-size:10px}.message-scroll{padding:0 17px 20px}.room-welcome{padding-top:24px}.room-welcome h2{font-size:17px;letter-spacing:2px}.room-welcome p{font-size:10px;max-width:280px;margin:12px auto}.room-welcome>span{font-size:6px}.message{gap:9px}.message>.avatar{width:29px;height:29px;font-size:12px}.message-content{max-width:calc(100% - 40px)}.message-body{padding:10px 13px}.message-body>p{font-size:13px}.message-images button{max-width:180px}.message-meta{gap:8px}.message-meta b{font-size:11px}.message-actions{opacity:.7}.composer-wrap{padding:12px 14px max(12px,env(safe-area-inset-bottom))}.composer textarea{height:67px;padding:13px 14px 5px;font-size:13px}.composer-bottom{padding:3px 8px 8px}.composer-bottom span{font-size:8px}.send-button{font-size:11px;padding:9px 12px;gap:8px}.composer-foot{font-size:8px}.shortcut{display:none}.conversation:before{content:"灰雾之上";position:absolute;right:20px;top:54px;font-size:9px;letter-spacing:2px;color:#82977b;pointer-events:none}.new-messages{right:17px;bottom:158px}.scene{background-position:70% center}.modal{padding:25px}.fog{opacity:.1}.room-header{cursor:pointer}.conversation>.room-header:after{content:""}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.atmosphere canvas{display:none}}.header-tools{display:flex;align-items:center;gap:18px}.header-tools>button{color:#9aac90;padding:5px;display:flex}.atmosphere.paused *{animation-play-state:paused!important}.scene{translate:var(--scene-x,0px) var(--scene-y,0px);transition:translate 1.4s ease-out}.candle-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 4% 63%,#d69a391c,transparent 23%),radial-gradient(ellipse at 91% 59%,#e6a95417,transparent 21%);mix-blend-mode:screen;animation:candlelight 5.7s ease-in-out infinite alternate}@keyframes candlelight{0%,to{opacity:.35}22%{opacity:.7}37%{opacity:.5}61%{opacity:1}80%{opacity:.65}}.sigil{transition:filter .5s}.brand:hover .sigil,.gate:focus-within>.sigil{filter:drop-shadow(0 0 10px #d0b06966)}.motion-off .candle-glow{animation:none;opacity:.4}.motion-low .candle-glow{animation-duration:10s}.chamber{background:#070f0e4d;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#beaa7952}.sidebar{background:linear-gradient(180deg,#0d1714e6,#0a1311b8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.conversation{isolation:isolate;background:linear-gradient(90deg,#050d0db3,#07111147 65%,#070e0f7a),url(/art/castle.png) 66% center/cover no-repeat}.conversation:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 84% 18%,rgba(164,195,199,.1),transparent 44%),radial-gradient(ellipse at 17% 80%,rgba(205,152,70,.06),transparent 40%)}.room-header{background:linear-gradient(90deg,#0a1412e8,#0a1412a1);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.message-scroll{background:linear-gradient(90deg,rgba(6,15,13,.22),transparent)}.message-body{background:#0c1815d6;border-color:#b0b69b38;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 5px 18px #0002}.mine .message-body{background:linear-gradient(120deg,#262f21e6,#172620db);border-color:#c2ab735c}.message-meta{filter:drop-shadow(0 1px 3px #000)}.message-meta b{color:#d6ddcd}.message-meta time,.message-meta small{color:#9eafa1}.message-actions{opacity:.6}.message-actions button{color:#b3c0a7}.composer-wrap{background:linear-gradient(0deg,#091310f5,#091310b8);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.composer{background:#07110dd1}.room-welcome h2,.room-welcome p{text-shadow:0 2px 8px #000}@media(max-width:760px){.conversation{background-position:center,64% center}.message-body{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0c1815e8}.mine .message-body{background:#1f2c20ed}}
