:root{color:#163326;background:#edf7ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #153326;--muted: #61796b;--leaf: #1f7a4d;--leaf-deep: #123c2b;--mint: #dff4e4;--aqua: #dcefeb;--glass: rgba(255, 255, 255, .58);--glass-strong: rgba(255, 255, 255, .72);--stroke: rgba(255, 255, 255, .72);--shadow: 0 24px 70px rgba(37, 82, 55, .16)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(135deg,#ddf5e2f2,#f2f9efe6 42%,#dbefebeb),#edf7ef;overflow-x:hidden}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.page{position:relative;width:min(100%,520px);min-height:100vh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));isolation:isolate}.liquid-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.liquid-wave{position:absolute;left:-18%;width:136%;height:34%;border-radius:42% 58% 48% 52%;filter:blur(28px);opacity:.78;transform:translateZ(0) rotate(-5deg);will-change:transform}.wave-one{top:-9%;background:linear-gradient(110deg,#aee2bbb8,#ffffff6b,#b9e0d69e);animation:liquidDrift 14s ease-in-out infinite alternate}.wave-two{bottom:-12%;background:linear-gradient(120deg,#d3f2dad6,#c6e5e08a,#ffffff9e);animation:liquidDrift 18s ease-in-out infinite alternate-reverse}.glass-sheen{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.42) 45%,transparent 72%);opacity:.46}.glass-card,.glass-bar{border:1px solid var(--stroke);background:linear-gradient(145deg,#ffffffc7,#ffffff70),var(--glass);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25)}.login-page{display:grid;place-items:center}.login-panel{width:100%;padding:30px 22px;border-radius:8px;animation:floatIn .7s ease-out both}.brand-mark,.status-icon{display:grid;width:52px;height:52px;place-items:center;margin-bottom:18px;border:1px solid rgba(255,255,255,.62);border-radius:8px;color:#fff;background:linear-gradient(145deg,#1d7f51,#123c2b);box-shadow:0 16px 34px #1b66423d}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;color:var(--ink);letter-spacing:0}h1{font-size:28px;line-height:1.15}h2{font-size:26px}.login-form{display:grid;gap:15px;margin-top:26px}label span{display:block;margin-bottom:8px;color:#405549;font-size:14px;font-weight:760}input[type=text],input[type=password],.login-form input,select{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(181,211,184,.8);border-radius:8px;color:#12281e;background:#ffffff94;outline:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .32s ease-out,box-shadow .32s ease-out,background .32s ease-out}input:focus,select:focus{border-color:#2e7d54e6;background:#ffffffd1;box-shadow:0 0 0 4px #2e7d5424}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:14px;border-radius:8px;animation:floatIn .62s ease-out both}.topbar h1{font-size:24px}.top-meta{display:inline-block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:750}.icon-btn{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:8px;color:var(--leaf-deep);background:#ffffff94;box-shadow:0 10px 24px #29583c1c;transition:transform .32s ease-out,background .32s ease-out}.icon-btn:active,.action-tile:active,.model-option:active{transform:translateY(1px) scale(.99)}.capture-zone,.result-panel{padding:14px;border-radius:8px}.capture-zone{animation:floatIn .72s .06s ease-out both}.preview{display:grid;width:100%;aspect-ratio:4 / 3;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.76);border-radius:8px;background:linear-gradient(145deg,#e8f8e7db,#ffffff70),#edf7efb3;box-shadow:inset 0 1px 18px #ffffffc7}.preview img{width:100%;height:100%;object-fit:cover}.model-picker{display:grid;gap:10px;margin-bottom:14px}.model-picker label{display:flex;align-items:center;gap:8px;color:#405549;font-size:14px;font-weight:850}.model-picker label span{margin:0}.model-picker p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.model-grid{display:grid;gap:8px}.model-option{display:grid;gap:7px;width:100%;padding:12px;border:1px solid rgba(255,255,255,.7);border-radius:8px;color:var(--ink);text-align:left;background:#ffffff6b;box-shadow:inset 0 1px #ffffff9e;transition:transform .34s ease-out,border-color .34s ease-out,background .34s ease-out}.model-option.is-active{border-color:#1f7a4d7a;background:#e1f7e6c2}.model-option:disabled{cursor:not-allowed;opacity:.58}.model-option-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.model-option strong{font-size:14px}.model-option small{color:var(--muted);font-size:12px;line-height:1.35}.model-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;font-size:12px;font-weight:820}.model-status.is-ready{color:#17633e;background:#cbf0d4c2}.model-status.is-pending{color:#835018;background:#ffe9b9c2}.empty-preview{display:grid;gap:10px;place-items:center;padding:18px;color:#5f7569;font-weight:780;text-align:center}.empty-preview svg{color:var(--leaf)}.actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.action-tile{display:grid;min-height:88px;place-items:center;padding:14px 8px;border:1px solid rgba(255,255,255,.72);border-radius:8px;color:var(--leaf-deep);background:#ffffff80;box-shadow:inset 0 1px #ffffff9e;transition:transform .34s ease-out,background .34s ease-out}.action-tile svg{margin-bottom:8px;color:var(--leaf)}.action-tile input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.primary-btn,.ghost-btn{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;border-radius:8px;font-weight:860;transition:transform .34s ease-out,opacity .34s ease-out,background .34s ease-out}.primary-btn{border:1px solid rgba(255,255,255,.54);color:#fff;background:linear-gradient(145deg,#208150,#123c2b);box-shadow:0 16px 38px #15543338}.primary-btn:disabled{cursor:not-allowed;opacity:.55}.wide{width:100%}.ghost-btn{width:100%;margin-top:10px;border:1px solid rgba(255,255,255,.72);color:var(--leaf-deep);background:#ffffff7a}.message{margin:12px 2px 0;color:#52705f;font-size:14px;line-height:1.5}.message.error{color:#b33a2f}.result-panel{margin-top:16px;animation:floatIn .6s ease-out both}.result-head{display:flex;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(219,234,218,.78)}.result-head .status-icon{flex:0 0 auto;margin-bottom:0;background:linear-gradient(145deg,#2c9a61,#17643e)}.result-panel.is-warning{border-color:#e8c786db;background:linear-gradient(145deg,#fffdf6d1,#ffffff85),#fffdf6ad}.result-panel.is-warning .status-icon{background:linear-gradient(145deg,#bd7a24,#8d5718)}.result-head span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.confidence{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0}.warning-copy{margin:14px 0 0;color:#7a4d15;font-size:14px;line-height:1.5}.confidence span{color:#52695d;font-weight:820}.confidence strong{color:var(--leaf-deep);font-size:34px;line-height:1}.prob-list{display:grid;gap:14px}.prob-row{display:grid;gap:7px}.prob-label{display:flex;justify-content:space-between;gap:12px;color:#31483b;font-size:14px}.bar{height:9px;overflow:hidden;border-radius:99px;background:#d9ecdac2}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31a66b,#9bd9b0)}@media (hover: hover){.icon-btn:hover,.action-tile:hover,.model-option:not(:disabled):hover,.ghost-btn:hover{transform:translateY(-2px);background:#ffffffad}.primary-btn:not(:disabled):hover{transform:translateY(-2px)}}@media (min-width: 700px){.page{padding-top:34px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes floatIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes liquidDrift{0%{transform:translate3d(-2%,-1%,0) rotate(-5deg)}to{transform:translate3d(2%,2%,0) rotate(4deg)}}
