:root{font-family:system-ui,PingFang SC,Microsoft YaHei,sans-serif;color:#302e28;background:#e9e2cf;font-synthesis:none;--paper:rgba(253,251,246,.96);--line:#e3ddcf;--muted:#777163;--accent:#9a4a2f;--shadow:0 8px 32px #3e352414}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}#c{position:fixed;inset:0;touch-action:none;cursor:grab}#c:active{cursor:grabbing}header{position:fixed;inset:16px 16px auto;min-height:72px;padding:14px 20px;display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:20}.brand-mark{display:grid;place-items:center;width:40px;height:42px;border:1px solid #aa7659;border-radius:9px;color:var(--accent);font-family:serif;font-size:25px;background:#f5ede0}.brand{flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--muted)}header h1{font-size:19px;line-height:1.4;font-weight:650;letter-spacing:1px}header h1 span{font-size:13px;font-weight:400;letter-spacing:0;color:#777163}header .sub{font-size:12px;color:#777163;border-left:1px solid var(--line);padding-left:18px;flex:1}header .ver{font-size:10px;color:#777163}.legend{display:flex;align-items:center;gap:12px;font-size:11px;color:#686455}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}#dimstat{display:none}body .psm-panel{right:16px;top:148px;width:280px;max-height:calc(100dvh - 170px);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:0 16px 8px;scrollbar-width:thin;scrollbar-color:#c7beac transparent;overscroll-behavior:contain}.psm-panel-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 0 5px}.psm-panel-heading>span{font-size:15px;font-weight:650}.psm-panel-heading small{font-size:10px;color:var(--muted)}body .psm-card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;backdrop-filter:none;padding:16px 0}body .psm-card:last-child{border-bottom:0}body .psm-card h3{font-size:12px!important;font-weight:600;color:#777163;margin-bottom:10px!important}body .psm-btn{min-height:36px;padding:8px 6px;background:#f5f2ea;border:1px solid #ddd6c8;border-radius:8px;color:#454035;font-size:12px;transition:background .15s,border-color .15s}body .psm-btn:hover:not(:disabled){background:#ede6d8;border-color:#b9ab91}body .psm-btn.acc{background:#9a4a2f;border-color:#9a4a2f;color:#fffaf1}body .psm-btn.acc:hover{background:#843e27}body .psm-btn:disabled{opacity:.45}body .psm-row{gap:6px}body .psm-sep{background:var(--line);margin:10px 0}body .psm-switch{font-size:12px;color:#454035;padding:4px 0}body .psm-tog{border:0;background:#d1c9b9;min-height:24px;width:42px}body .psm-tog:after{top:4px;background:#fffdf7}body .psm-tog.on{background:#9a4a2f}body .psm-tog.on:after{left:23px}body .psm-dimstat{font-size:10px;margin-top:4px;color:#397456}body .psm-draft{font-size:10px;margin-top:6px}.psm-save-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:9px}body .psm-input{background:#fffdf8;border:1px solid #d8cfbe;padding:8px;color:#302e28;border-radius:7px}body .psm-lbl{margin-top:10px}body .psm-input:focus{outline:2px solid #9a4a2f;outline-offset:1px}body .psm-burger{display:block;top:102px;right:16px;width:auto;height:34px;padding:0 13px;font-family:inherit;font-size:12px;border:1px solid var(--line);border-radius:9px;color:#544a3c;background:var(--paper);box-shadow:var(--shadow)}body .psm-collapsed{display:none}body .psm-modal{background:#28231966;backdrop-filter:blur(5px)}body .psm-modal-inner{background:#fdfbf6;border:1px solid var(--line);box-shadow:var(--shadow);padding:24px;color:#302e28}body .psm-modal-inner pre{background:#eee8dc}body .psm-modal-inner h2{font-size:18px}body .psm-toast{bottom:76px;background:#fffaf0;border:1px solid #d6cbb8;color:#454035;box-shadow:var(--shadow)}body .psm-err{background:#fff7ed;color:#302e28}body .psm-warn{bottom:20px;left:20px;background:var(--paper);border:1px solid #d7c6a7;padding:0 36px 0 12px;color:#7a5a2d;box-shadow:var(--shadow);max-width:min(390px,calc(100vw - 32px));font-size:11px;line-height:1.7}body .psm-warn summary{padding:9px 0;cursor:pointer}.psm-warning-body{padding:3px 0 10px}#psm-warn-close{position:absolute;right:5px;top:4px;width:28px;height:28px;background:none;border:0;font-size:18px;color:#8c7756;cursor:pointer}#hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0 14px;z-index:21;box-shadow:var(--shadow);font-size:11px;color:#686455;max-width:calc(100vw - 32px)}#hint summary{display:flex;align-items:center;gap:24px;cursor:pointer;min-height:38px;list-style:none}summary::-webkit-details-marker{display:none}.help-label{color:#9a4a2f;white-space:nowrap}.help-body{padding:10px 0 14px;line-height:1.95;border-top:1px solid var(--line)}.mobile-help{display:none}button:focus-visible,summary:focus-visible{outline:2px solid #9a4a2f;outline-offset:3px}@media (min-width:821px) and (max-width:1200px){.legend{display:none}#hint{left:20px;transform:none;bottom:68px}}@media (max-width:820px){header{inset:10px 10px auto;min-height:64px;padding:10px 12px;gap:10px;border-radius:13px}.brand-mark{width:32px;height:36px;font-size:22px}header h1{font-size:17px}header h1 span{font-size:11px}.eyebrow{font-size:9px;letter-spacing:2px}header .sub{font-size:10px;padding-left:10px;text-align:right;line-height:1.6}.legend,header .ver{display:none}body .psm-burger{top:86px;right:12px;height:40px;padding:0 14px}body .psm-panel{inset:auto 8px 0;width:auto;max-height:57dvh;border-radius:18px 18px 0 0;padding:0 16px calc(12px + env(safe-area-inset-bottom));background:#fdfbf6}.psm-panel-heading{position:sticky;top:0;background:#fdfbf6;z-index:1;padding-top:16px;padding-bottom:12px}body .psm-btn{min-height:42px}body .psm-card{padding:12px 0}body .psm-tog{height:28px}body .psm-tog:after{top:6px}body .psm-switch{min-height:44px}body .psm-warn{top:86px;bottom:auto;left:12px;max-width:calc(100vw - 132px);max-height:25dvh}#hint{bottom:calc(14px + env(safe-area-inset-bottom));width:max-content}#hint summary{gap:20px;min-height:42px}.desktop-help{display:none}.mobile-help{display:inline}.psm-panel-open #hint{display:none}body .psm-toast{bottom:calc(59dvh + 12px);max-width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}#reference-tools{position:fixed;left:16px;top:102px;z-index:45;color:#443e32;font-size:12px;width:272px;pointer-events:none}#reference-tools button,#reference-tools select,#reference-tools input{font:inherit;color:inherit;border:1px solid #d9d0bf;background:#fffdf7;border-radius:7px;padding:8px;min-height:36px}#reference-tools button{cursor:pointer}#reference-tools button:hover{background:#eee5d5}#reference-tools button[aria-pressed=true]{background:#9a4a2f;color:#fff;border-color:#9a4a2f}.ref-toolbar{display:flex;gap:6px;pointer-events:auto;width:max-content}.ref-toolbar button{box-shadow:0 3px 15px #3e352418}#ref-panel{pointer-events:auto;margin-top:8px;padding:14px;background:#fdfbf6;border:1px solid #dfd5c4;border-radius:12px;box-shadow:0 8px 32px #3e352424;max-height:calc(100dvh - 168px);overflow:auto;overscroll-behavior:contain}#ref-panel[hidden],#ref-readout[hidden],#reference-overlay[hidden],#reference-overlay span[hidden]{display:none}.ref-heading{display:flex;align-items:center;justify-content:space-between;font-weight:650;margin:10px 0 7px}.ref-heading:first-child{margin-top:0}.ref-heading small{font-weight:400;color:#746a59}#ref-close{border:0!important;min-height:24px!important;padding:0 6px!important;font-size:20px!important}#ref-panel p{font-size:10.5px;line-height:1.7;color:#776e60;margin:6px 0}.ref-faces{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ref-diagonals{display:grid;grid-template-columns:1fr 1fr;gap:5px}#ref-pick,#ref-free,#ref-origin-form>button{width:100%;margin-top:7px}.ref-inputs{display:flex;gap:6px}.ref-inputs label{width:33%;font-size:11px}.ref-inputs input{width:100%;min-width:0;margin-top:4px;padding:6px!important}.ref-pair{display:flex;gap:6px;margin-top:7px}.ref-pair button{flex:1}.ref-spacing{display:block;margin-top:10px}.ref-spacing select{width:100%;margin-top:5px}#reference-overlay{position:fixed;inset:0;pointer-events:none;z-index:19}#reference-overlay span{position:absolute;transform:translate(5px,-17px);font:600 10px system-ui;white-space:nowrap;background:#fffaf0d9;border-radius:3px;padding:2px 3px}#ref-readout{position:fixed;left:16px;bottom:72px;z-index:25;pointer-events:none;max-width:calc(100vw - 32px);padding:9px 12px;border:1px solid #d9d0bf;border-radius:8px;background:#fffaf0ed;color:#51483b;font:11px system-ui;line-height:1.6}@media (max-width:820px){#reference-tools{left:12px;top:86px;width:min(272px,calc(100vw - 24px))}.ref-toolbar button{min-height:40px!important}#ref-panel{max-height:calc(100dvh - 155px)}#ref-readout{left:12px;bottom:68px;max-width:calc(100vw - 24px);font-size:10px}}
