:root{color:#4a6072;font-synthesis:none;--green:#5f7a94;--line:#e7ddcd;--paper:#fffaf0;background:#f5efe4;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:620px;margin:auto;padding:20px 18px 28px}h1{letter-spacing:2px;margin:0 0 6px;font-size:23px}h2{margin:0;font-size:18px}p{line-height:1.6}header,.chat-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}header{margin-bottom:14px}header p{color:#8394a5;margin:0;font-size:13px}button,input{font:inherit}button{border:1px solid var(--line);background:var(--paper);color:#526d84;cursor:pointer;touch-action:manipulation;border-radius:12px;min-height:42px;padding:10px 12px}button:hover{background:#f0e6d7}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button[aria-pressed=true]{background:#e6e7df;border-color:#99aec4}input{border:1px solid var(--line);color:#40566b;background:#fffdf6;border-radius:12px;min-width:0;padding:12px}#game{aspect-ratio:3/4;background:#eaddc9;border-radius:26px;width:100%;position:relative;overflow:hidden;box-shadow:0 8px 32px #6b70571c}#game canvas{display:block;width:100%!important;height:100%!important}.loading{text-align:center;position:absolute;inset:40% 0}.room-info{color:#86927c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 2px;font-size:11px;display:flex}.actions{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.actions button{background:var(--green);color:#fff9e8;letter-spacing:1px;border:0;padding:16px 3px;font-size:13px}.needs{background:var(--paper);border:1px solid var(--line);border-radius:18px;gap:15px;margin:14px 0;padding:16px;display:flex}.needs label{flex:1;grid-template-columns:1fr auto;gap:8px;min-width:0;font-size:12px;display:grid}.needs meter{appearance:none;grid-area:2/1/auto/3;width:100%;height:9px}.needs meter::-webkit-meter-bar{background:#e3e6de;border:0;border-radius:8px}.needs meter::-webkit-meter-optimum-value{background:#7e98af;border-radius:8px}.tools{flex-wrap:wrap;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.tools button{white-space:nowrap;flex:1;padding:8px;font-size:12px}.chat{border-top:1px solid var(--line);margin-top:14px;padding-top:20px}.chat-heading{margin-bottom:12px}.chat-heading button{font-size:12px}#chatLog{flex-direction:column;gap:10px;max-height:280px;margin-bottom:12px;display:flex;overflow:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#fffdf6;border-radius:14px;max-width:90%;padding:10px 14px;font-size:14px;line-height:1.7}.bubble.user{background:#e8ece7;align-self:flex-end}form{gap:8px;display:flex}form input{flex:1}form button{background:var(--green);color:#fff}#notice{color:#8e7257;min-height:20px;margin:12px 0;font-size:13px}footer{text-align:center;margin-top:24px;font-size:11px}a{color:#8c997c}dialog{color:#52654e;background:#fffbf2;border:1px solid #d1d8c6;border-radius:24px;width:min(520px,100vw - 24px);max-height:85dvh;padding:22px;box-shadow:0 16px 60px #23332f44}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#30443a88}dialog header{z-index:2;background:#fffbf2;padding:8px 0;position:sticky;top:-22px}#panelBody{line-height:1.8}.food-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.food-slot{text-align:center;background:#f1f0e3;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:10px 3px;font-size:12px;display:flex}.food-slot img{width:68px;height:54px}.food-slot button{min-height:36px;padding:7px;font-size:12px}.pack-item{border-bottom:1px dashed var(--line);align-items:center;gap:12px;padding:12px;display:flex}.pack-item input{accent-color:var(--green);width:20px;height:20px}.album-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.album-grid button{padding:7px}.album-grid img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.photo-large{border-radius:12px;width:100%;display:block}.diary-page{white-space:pre-wrap;background:repeating-linear-gradient(#fffaf0 0 34px,#e8dcc7 35px,#fffaf0 36px);border-left:5px solid #91a57e;padding:24px 18px;font-family:KaiTi,STKaiti,serif;font-size:18px;line-height:2.2}.subtle{color:#8796a5;font-size:12px}.settings-row{align-items:center;gap:12px;padding:12px 0;display:flex}@media (min-width:960px){main{grid-template-columns:540px 1fr;gap:0 30px;max-width:1040px;display:grid}main>header{grid-column:1/3}#game{grid-area:2/1/9}.room-info{grid-area:9/1}.actions,.needs,.tools,#notice,.chat{grid-column:2}.actions{align-self:start}.chat{margin-top:10px}footer{grid-column:1/3}.tools button{flex:none}#chatLog{max-height:360px}}@media (max-width:380px){main{padding:14px 10px}.actions{gap:5px}.needs{gap:8px;padding:12px}.tools{gap:4px}.tools button{padding:7px 5px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.actions button{flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.actions img{width:26px;height:26px;display:block}.entry-choices{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.entry-choices button{min-height:58px;font-weight:600}.entry-primary{background:var(--green);color:#fff9e8}.entry-primary:hover{background:#43684b}.verify-form{flex-direction:column;margin:18px 0}.verify-form[hidden],.verification-result[hidden]{display:none}.verification-result{border-top:1px dashed var(--line);padding-top:8px}.verification-result button{width:100%;margin:10px 0;display:block}.verification-command{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font:inherit;background:#f1f2e6;border:1px dashed #b4c3a5;border-radius:12px;padding:14px}.copy-fallback{opacity:.01;width:1px;height:1px;position:fixed;top:0;left:0}.travel-note-paper{background:repeating-linear-gradient(#fff6d7 0 31px,#e9dfbf 32px,#fff6d7 33px);border:1px solid #e4d4a8;border-radius:3px 3px 18px;margin:24px 5px 14px;padding:27px 24px 20px;position:relative;transform:rotate(-1deg);box-shadow:3px 6px #d7c9a340,0 9px 22px #67533115}.travel-note-paper:before{content:"";background:#dfaf956e;width:56px;height:23px;position:absolute;top:-12px;left:calc(50% - 28px);transform:rotate(4deg)}.travel-note-paper:after{content:"";border-top:0 solid #0000;border-bottom:18px solid #ddc899;border-left:18px solid #0000;border-right:0 solid #0000;position:absolute;bottom:0;right:0}.travel-note-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#705d4d;min-height:100px;margin:12px 0;font:21px/1.9 KaiTi,STKaiti,Microsoft YaHei,serif}.travel-note-sign{text-align:right;color:#a18a6b;font:15px/2 KaiTi,STKaiti,serif}#panel.diary-mode{background:#8398aa;border:2px solid #b3bea2;border-radius:18px;width:min(640px,100vw - 24px,70.4dvh);max-width:none;height:min(800px,88dvh,125vw - 30px);max-height:none;padding:15px 15px 15px 30px;overflow:hidden;box-shadow:0 20px 70px #142c3266,inset 0 0 0 5px #cad3b02b}#panel.diary-mode[open]{flex-direction:column;display:flex}.diary-mode:before{content:"";z-index:4;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);pointer-events:none;background:#d39b7c;width:22px;height:54px;position:absolute;top:0;right:32px}.diary-mode>header{background:#fffaee;border-radius:4px 8px 0 0;flex:none;margin:0;padding:18px 20px 12px;position:relative;top:auto}.diary-mode h2{color:#718668;font:600 26px/1.4 KaiTi,STKaiti,serif}.diary-mode #closePanel{color:#72856a;background:#e9eddf;border:0;border-radius:50%;min-height:40px;margin-right:12px;padding:8px 12px}.diary-mode #panelBody{background:#fffaee;border-radius:0 0 8px 4px;flex:1;min-height:0;box-shadow:3px 4px #e7dfc9,6px 7px #c9c2aa}.diary-paper{flex-direction:column;height:100%;min-height:0;padding:0 22px 10px;display:flex;position:relative}.diary-page-meta{color:#8796a5;border-bottom:1px dashed #d6ceb6;flex:none;align-items:center;gap:10px;min-height:42px;padding-bottom:8px;font-size:14px;display:flex}.diary-mood{background:#e7edda;border-radius:20px;padding:2px 10px}.diary-mood:empty{display:none}.diary-copy{white-space:pre-wrap;overflow-wrap:anywhere;color:#78644f;background:repeating-linear-gradient(#0000 0 39px,#e8dfc9 39px 40px);flex:1;min-height:0;margin:10px 0 0;padding:0;font:26px/40px KaiTi,STKaiti,Microsoft YaHei,serif;overflow:hidden}.diary-navigation{border-top:1px dashed #d6ceb6;flex:0 0 46px;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.diary-navigation button{background:0 0;border:0;min-height:38px;padding:6px 0;font-size:12px}.diary-navigation button:disabled{cursor:default;opacity:.35}.diary-count{color:#a2997f;white-space:nowrap;font:italic 12px/1 Georgia,serif}.diary-footer{text-align:center;color:#bea787;flex:0 0 24px;font-size:12px}.diary-rings{z-index:5;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:-35px;bottom:10px;left:-23px}.diary-rings i{background:linear-gradient(#eee3bf,#d4bc8b,#e8d9ad);border:1px solid #a39372;border-radius:5px;width:18px;height:7px;box-shadow:0 1px 2px #6b5b4733}@media (max-width:500px){.diary-mode>header{padding:12px 14px 8px}.diary-mode h2{font-size:23px}.diary-paper{padding:0 14px 7px}.diary-copy{background-image:repeating-linear-gradient(#0000 0 27px,#e8dfc9 27px 28px);background-size:auto 28px;font-size:17px;line-height:28px}.diary-page-meta{min-height:36px}.diary-footer{flex-basis:15px}}@media (prefers-reduced-motion:no-preference){.diary-copy{animation:.18s ease-out diary-page-in}@keyframes diary-page-in{0%{opacity:.5;transform:translate(4px)}to{opacity:1;transform:none}}}.arcade-mode{width:min(490px,100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 8px);box-shadow:none;scrollbar-width:none;color:#34586c;background:0 0;border:0;border-radius:0;padding:0;font-family:Microsoft YaHei,PingFang SC,sans-serif;overflow:hidden auto}.arcade-mode>header{display:none}.arcade-mode::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#6c604d44}.arcade-mode #panelBody{line-height:1.3}.arcade-shell{isolation:isolate;min-height:min(100dvh - 8px,196vw - 23.52px);padding:0 14px 26px;position:relative}.arcade-shell:before{content:"";z-index:-1;pointer-events:none;background:url(/assets/tv-shell-v1.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.arcade-head{height:106px;position:relative}.arcade-title{white-space:nowrap;letter-spacing:.6px;text-shadow:0 1px #fff8e7;justify-content:center;align-items:center;gap:4px;margin:0;font-size:clamp(20px,5.7vw,29px);font-weight:900;line-height:34px;display:flex;position:absolute;top:57px;left:9%;right:9%}.arcade-title-splash{object-fit:contain;width:16px;height:19px}.arcade-title-splash.reverse{transform:scaleX(-1)}.arcade-mode button{color:#34586c;min-height:44px;box-shadow:none;touch-action:manipulation;background:0 0;border:10px solid #0000;border-image:url(/assets/ui-button-cream-v1.webp) 32 fill;border-radius:0;padding:0 4px;font-weight:800}.arcade-mode button:hover{filter:brightness(1.035);background:0 0}.arcade-mode button:active:not(:disabled){transform:translateY(2px)}.arcade-mode button:disabled{opacity:.6}.arcade-mode button.arcade-close{background:url(/assets/ui-close-v1.webp) 50%/contain no-repeat;border:0;width:40px;height:40px;min-height:40px;padding:0;position:absolute;top:66px;right:1px}.arcade-tabs{grid-template-columns:1fr 1fr;gap:7px;margin:0 7px;display:grid}.arcade-mode .arcade-tabs button{min-height:49px;padding-bottom:4px;font-size:22px}.arcade-mode button[aria-pressed=true],.arcade-mode button.arcade-primary{color:#fff7e7;border-image-source:url(/assets/ui-button-blue-v1.webp)}.arcade-face{border:8px solid #0000;border-image:url(/assets/ui-button-cream-v1.webp) 32 fill;margin:-7px 0 0;padding:4px 2px 8px;position:relative}.arcade-game-title{clip-path:inset(0 round 17px);background:0 0;border:6px solid #0000;border-image:url(/assets/ui-button-cream-v1.webp) 60 fill;justify-content:center;align-items:center;gap:6px;width:192px;max-width:80%;min-height:34px;margin:-16px auto 7px;padding:0 7px;font-size:18px;font-weight:900;display:flex}.arcade-game-title img{object-fit:contain;width:21px;height:24px}.arcade-banner{justify-content:flex-start;align-items:center;gap:clamp(40px,18vw,85px);margin:4px 0 7px;display:flex}.arcade-pill{isolation:isolate;background:0 0;padding:7px 14px;font-size:15px;font-weight:900;position:relative}.arcade-pill:before{content:"";filter:grayscale();opacity:.5;z-index:-1;background:url(/assets/ui-button-cream-v1.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.arcade-turn{isolation:isolate;background:0 0;padding:5px 13px;font-size:22px;font-weight:900;position:relative}.arcade-turn:after{content:"";z-index:-1;opacity:.35;background:url(/assets/ui-badge-v1.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.arcade-turn-ray{object-fit:contain;pointer-events:none;width:13px;height:23px;position:absolute;top:50%;transform:translateY(-50%)}.arcade-turn-ray.left{left:-16px}.arcade-turn-ray.right{right:-16px}.arcade-speech{text-align:center;background:url(/assets/ui-speech-v1.webp) 50%/100% 100% no-repeat;width:66%;min-height:42px;margin:5px auto 10px;padding:9px 14px 14px;font-size:17px;font-weight:700;line-height:1.25}.arcade-board{clip-path:inset(0 round 16px);border:12px solid #0000;border-image:url(/assets/ui-button-blue-v1.webp) 60 fill;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 8px;padding:4px;display:grid}.arcade-disc{aspect-ratio:1;cursor:pointer;background:url(/assets/ui-disc-empty-v2.webp) 50%/100% 100% no-repeat;display:block}.arcade-disc.piece-1{background-color:#f58e78;background-image:url(/assets/ui-disc-coral-v1.webp);border-radius:50%}.arcade-disc.piece-2{background-color:#74a6ca;background-image:url(/assets/ui-disc-blue-v1.webp);border-radius:50%}.arcade-disc.winning{outline-offset:-3px;border-radius:50%;outline:2px solid #ffe9a4}.arcade-disc.new-piece:not(.piece-0){animation:.26s ease-out arcade-drop}@keyframes arcade-drop{0%{opacity:.5;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.arcade-columns{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:6px;display:grid}.arcade-mode .arcade-columns button{border-width:7px;flex-direction:column;align-items:center;min-width:0;min-height:50px;padding:0;font-size:20px;line-height:20px;display:flex;position:relative}.arcade-columns img{object-fit:contain;width:12px;height:14px;margin-top:1px}.arcade-footer{justify-content:space-between;align-items:center;gap:5px;min-height:42px;margin:5px 0;display:flex}.arcade-legend{white-space:nowrap;align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.arcade-legend img{object-fit:contain;width:12px;height:12px}.arcade-legend img:nth-of-type(2){margin-left:3px}.arcade-sharing{white-space:nowrap;flex-direction:row-reverse;align-items:center;gap:4px;min-height:44px;margin:0;font-size:14px;font-weight:800;display:flex}.arcade-switch{width:46px;height:27px;display:inline-flex;position:relative}.arcade-mode .arcade-sharing input{appearance:none;cursor:pointer;background:url(/assets/ui-toggle-off-v1.webp) 50%/100% 100% no-repeat;border:0;border-radius:0;width:46px;min-width:46px;height:27px;margin:0;padding:0}.arcade-mode .arcade-sharing input:checked{background-image:url(/assets/ui-toggle-on-v1.webp)}.arcade-switch small{color:#fff8e7;pointer-events:none;font-size:9px;font-weight:900;position:absolute;top:7px;right:5px}.arcade-switch input:checked+small{left:5px;right:auto}.arcade-bottom{gap:7px;margin:6px 0 0;display:flex}.arcade-bottom button{white-space:nowrap;flex:1;min-height:48px;font-size:22px}.arcade-mode .arcade-review-button{width:100%;min-height:44px;margin:4px 0;font-size:14px;display:block}.arcade-error{color:#a45f43;margin:5px 0 0;font-size:12px}.arcade-error:empty{display:none}.arcade-heading{text-align:center;margin:16px 0;font-size:21px}.arcade-modes{gap:8px;margin:10px 0;display:flex}.arcade-modes button{flex:1}.arcade-face>.arcade-sharing{justify-content:flex-end;margin:10px 0}.arcade-choices{gap:12px;margin:16px 0;display:grid}.arcade-game-choice{flex-direction:column;align-items:center;gap:7px;display:flex;min-height:105px!important}.arcade-game-choice strong{font-size:23px}.arcade-game-choice small{color:#8d7658;font-size:12px;font-weight:400}.arcade-muted{color:#887152;margin:9px 0;font-size:12px;line-height:1.6}.arcade-score{text-align:center;margin:20px 0;font-size:23px;font-weight:900}.arcade-reveal{background:url(/assets/ui-button-cream-v1.webp) 50%/100% 100% no-repeat;justify-content:space-around;align-items:center;min-height:130px;padding:20px 10px;display:flex}.arcade-reveal img{object-fit:contain;width:70px;height:85px}.arcade-reveal span{font-size:54px}.arcade-reveal small{color:#9a805f;font-size:14px;font-weight:800}.arcade-hands{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.arcade-hands button{min-height:54px;font-size:18px}.arcade-fair{color:#897257;margin:12px 0;font-size:12px}.arcade-fair summary{cursor:pointer;padding:8px 0}.arcade-fair code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;display:block}.arcade-watch-row{text-align:center;width:100%;margin:13px 0;display:block}.arcade-review,.arcade-confirm{border:10px solid #0000;border-image:url(/assets/ui-button-cream-v1.webp) 32 fill;padding:7px;font-size:14px;line-height:1.7}.arcade-confirm{margin-top:10px}.arcade-confirm button{margin:3px}@media (min-width:700px){.arcade-shell{min-height:0}.arcade-title{top:60px}.arcade-head{height:115px}.arcade-legend{font-size:13px}.arcade-sharing{font-size:14px}}@media (max-width:360px){.arcade-banner{gap:28px}.arcade-turn{font-size:20px}.arcade-title{gap:2px;font-size:19px}.arcade-title-splash{width:12px}.arcade-mode .arcade-tabs button{font-size:18px}.arcade-head{height:104px}.arcade-legend{gap:2px;font-size:10px}.arcade-sharing{font-size:11px}.arcade-legend img{width:10px}.arcade-board{column-gap:6px;padding:6px}.arcade-bottom button{font-size:18px}}@media (prefers-reduced-motion:reduce){.arcade-disc.new-piece{animation:none}}.arcade-record-filters,.arcade-replay{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:10px 0;display:flex}.arcade-mode .arcade-record-filters button,.arcade-mode .arcade-replay button{min-width:0;padding:8px 10px;font-size:14px}.arcade-record-filters button[aria-pressed=true]{color:#fff8e8;background:#527d94}.arcade-record-row{text-align:left;flex-direction:column;align-items:flex-start;gap:5px;display:flex}.arcade-record-row strong{font-size:16px}.arcade-record-row small{opacity:.8;font-size:12px}.arcade-replay span{white-space:nowrap;font-size:13px}.arcade-bottom .arcade-record-back{grid-column:1/-1}.arcade-bottom{flex-wrap:wrap}.arcade-bottom .arcade-record-back{flex:1 0 100%}@media (max-width:360px){.arcade-mode .arcade-tabs button{white-space:nowrap;padding-left:4px;padding-right:4px;font-size:16px}}
