:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f4f6f8;line-height:1.4}*{box-sizing:border-box}body{width:100%;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;min-height:44px;padding:0 14px;color:#17202a;background:#e7ebef}button:disabled{opacity:.45}.primary{color:#fff;background:#116149}.ghost{min-height:36px;background:transparent;color:#4d5a66}.shell{width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:10px 10px 86px;background:#f4f6f8}.topbar{width:min(100%,430px);display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px}.topbar div{min-width:0;display:flex;flex-direction:column}.topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar span{color:#65717c;font-size:13px}.game-frame-wrap{width:min(100%,430px);flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.game-frame{width:min(100%,375px);aspect-ratio:375 / 600;max-height:calc(100dvh - 160px);border:1px solid #cfd6dd;border-radius:8px;background:#fff}.loading{width:min(100%,375px);aspect-ratio:375 / 600;display:grid;place-items:center;border:1px solid #cfd6dd;border-radius:8px;color:#65717c;background:#fff}.status-line{width:min(100%,430px);padding:8px 0 0;color:#40505f;font-size:13px}.bottom-actions{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px max(10px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));border-top:1px solid #d8dee4;background:#f8fafcf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro-shell{align-items:stretch;justify-content:center;padding:24px}.intro-panel{min-width:0;width:80vw;max-width:330px;margin:0 auto;display:grid;gap:14px}.intro-panel h1{margin:0}.intro-panel p{margin:0;color:#4d5a66;overflow-wrap:anywhere}input,select,textarea{width:100%;border:1px solid #cfd6dd;border-radius:8px;padding:11px 12px;color:#17202a;background:#fff}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;background:#0c121861;z-index:20}.vote-modal{width:min(100%,520px);max-height:92dvh;overflow:auto;padding:16px;border-radius:14px 14px 0 0;background:#fff}.modal-header,.admin-header,.result-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-header h2,.modal-header p,.field-group h3,.classification-card h3,.admin-header h1,.admin-header p,.result-card h2,.result-card p{margin:0}.modal-header p,.classification-card,.field-group,.result-card p,.admin-header p{color:#4d5a66}.icon-button{width:40px;min-height:40px;padding:0;font-size:24px;background:#edf1f4}.classification-card{margin-top:14px;padding:12px;border:1px solid #d8dee4;border-radius:8px;background:#f8fafc}.classification-card dl{display:grid;grid-template-columns:40px 1fr;gap:6px 10px;margin:10px 0}.classification-card dt{color:#7c8792}.classification-card dd{margin:0;color:#17202a}.field-group{margin-top:16px}.field-group h3{margin-bottom:8px;color:#17202a;font-size:15px}.segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.segmented button.active{color:#fff;background:#116149}.tag-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tag{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px;border:1px solid #d8dee4;border-radius:8px;color:#25313b;background:#fff}.tag input{width:auto}.tag.selected{border-color:#116149;background:#e8f4ef}.modal-actions{position:sticky;bottom:-16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #d8dee4;background:#fff}.admin-shell{max-width:1100px;margin:0 auto;padding:24px}.button-link{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;color:#fff;text-decoration:none;background:#116149}.result-list{display:grid;gap:12px;margin-top:20px}.result-card{padding:14px;border:1px solid #d8dee4;border-radius:8px;background:#fff}.result-card h2{font-size:17px}.metric-row{display:flex;align-items:baseline;gap:14px;margin-top:10px}.metric-row strong{font-size:28px}.risk,.error{color:#a43122}@media(min-width:760px){.bottom-actions{left:50%;width:430px;transform:translate(-50%);border:1px solid #d8dee4;border-bottom:0;border-radius:12px 12px 0 0}}
