:root{--ground: #edf1ef;--panel: #ffffff;--sunken: #f5f7f6;--ink: #12211c;--ink-soft: #54655e;--ink-faint: #5f7268;--rule: #d5deda;--brand: #2f7d63;--brand-dim: #e3f0ea;--brand-deep: #1f5a47;--danger: #b03a33}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:Noto Sans TC,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.page{max-width:40rem;margin:0 auto;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.screen{display:flex;flex-direction:column;height:100vh;height:100svh}html.kb-open .screen{position:fixed;top:var(--kb-top);left:0;right:0;height:var(--kb-h)}html.screen-lock,html.screen-lock body{height:100%;overflow:hidden;overscroll-behavior:none}.screen .thread-scroll{position:relative}.screen .thread-scroll:after{content:"";position:absolute;top:0;left:0;width:1px;height:calc(100% + 1px);visibility:hidden;pointer-events:none}.screen-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.screen-footer{flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0px)}html.kb-open .screen-footer{padding-bottom:0}.card{background:var(--panel);border:1px solid var(--rule);border-radius:.6rem;padding:.9rem 1rem}.btn{width:100%;border:0;border-radius:.6rem;background:var(--brand);color:#fff;font:inherit;font-weight:500;padding:.75rem 1rem;cursor:pointer}.btn:hover{background:var(--brand-deep)}.btn:disabled{background:var(--sunken);color:var(--ink-faint);cursor:not-allowed}.input{width:100%;border:1px solid var(--rule);border-radius:.45rem;background:var(--panel);color:var(--ink);font:inherit;padding:.65rem .7rem}.input:focus{outline:2px solid var(--brand);outline-offset:-1px}@supports (-webkit-touch-callout: none){input:not(.code),textarea,select{font-size:max(16px,1em)!important}}.error{color:var(--danger);font-size:.85rem}.hint{color:var(--ink-faint);font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
