:root{font-family:Arial,Helvetica,Microsoft YaHei,sans-serif;font-synthesis:none;color:#ddd9cd;background:#1b1d1a;--ink:#ddd9cd;--muted:#929285;--red:#ed663b;--line:#41443b;--paper:#282b26}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0}button:focus-visible,select:focus-visible,textarea:focus-visible,[role=slider]:focus-visible{outline:2px solid var(--red);outline-offset:3px}button:disabled{opacity:.6;cursor:wait}button:active{filter:brightness(.88)}button,input,textarea,select{-webkit-tap-highlight-color:transparent}.app{height:100vh;height:100dvh;width:100%;padding:18px;background:repeating-linear-gradient(90deg,#20231e 0,#20231e 2px,#242721 2px,#242721 5px)}.app main,.console{height:100%;width:100%}.viewer{height:100%;position:relative;overflow:hidden;isolation:isolate;border-radius:12px 5px;background:radial-gradient(ellipse at 52% 45%,#343831,#22251f 75%);box-shadow:0 14px 35px #0a0b09,inset 0 0 0 1px #42463a}.viewer:before{content:"";position:absolute;left:30px;right:30px;top:105px;height:5px;pointer-events:none;background:linear-gradient(90deg,var(--red) 0 12%,transparent 12% 15%,#999784 15% 16%,transparent 16% 19%,#494d40 19% 82%,transparent 82% 85%,#999784 85% 86%,transparent 86%)}.screen-label{position:absolute;left:30px;top:27px;pointer-events:none;display:grid;grid-template-columns:auto auto;column-gap:22px;align-items:center}.screen-label:before{content:"TTI / INTERNATIONAL · FIELD MEDICAL";grid-column:1/-1;font:9px ui-monospace,monospace;letter-spacing:.14em;margin-bottom:8px;color:#aaa792}.screen-label strong{font-size:clamp(25px,2.5vw,40px);font-weight:900;line-height:1;letter-spacing:-.06em;color:#f0ecde}.screen-status{font:9px ui-monospace,monospace;letter-spacing:.1em;color:#aaa792}.led{display:none}.scene-tools{display:contents}.scene-controls{position:absolute;right:30px;top:28px;z-index:7;display:flex;gap:9px}.scene-controls button{height:45px;min-width:46px;padding:0 14px;border-radius:8px 3px;background:#2d3028;box-shadow:4px 5px #0e100d;font:700 10px ui-monospace,monospace}.scene-controls button:hover{background:#41453a}.model-layers{position:absolute;top:125px;left:94px;display:flex;gap:10px;z-index:7}.layer-dot{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:130px;min-height:43px;background:#2d3028;border-radius:8px 3px;padding:10px 15px;box-shadow:4px 5px #0e100d;font-weight:700}.layer-icon{font-size:16px;color:#aaa792}.layer-name{font-size:12px}.layer-dot.active{background:var(--red);color:#181b16}.layer-dot.active .layer-icon{color:inherit}.layer-dot:hover:not(.active){background:#404437}.anatomy-canvas{position:absolute!important;top:188px;bottom:110px;left:94px;right:30px;width:auto!important;height:auto!important;overflow:hidden;border-radius:6px;background:#2d302d;box-shadow:inset 0 0 0 1px #45493f,0 0 0 3px #191c17;touch-action:none}.anatomy-canvas canvas{display:block;touch-action:none}.viewer:has(.sticker-sheet) .anatomy-canvas{right:455px}.part-selection{position:absolute;left:113px;top:205px;max-width:calc(100% - 155px);height:auto;font-size:36px;font-weight:700;letter-spacing:-.04em;line-height:1.12;color:#fff;pointer-events:none;z-index:3;overflow-wrap:anywhere}.part-selection b{display:block;color:#fff}.part-selection.multiple{font-size:25px}.part-selection small{font:12px ui-monospace,monospace;letter-spacing:0}.viewer:has(.sticker-sheet) .part-selection{max-width:calc(100% - 565px)}.hardware-strip{position:absolute;left:27px;top:200px;bottom:310px;width:38px;display:flex;flex-direction:column;align-items:center;gap:20px;pointer-events:none;opacity:.7}.hardware-strip span{writing-mode:vertical-rl;font:8px ui-monospace,monospace;letter-spacing:.18em;color:#b3ac97}.hardware-strip i{display:block;width:22px;flex:1;background:repeating-linear-gradient(0deg,transparent 0 9px,#727460 9px 10px);min-height:20px;position:relative}.hardware-strip i:after{content:"";position:absolute;left:9px;top:0;bottom:0;width:4px;background:#242721}.console-footer{position:absolute;left:94px;right:30px;bottom:91px;display:flex;justify-content:space-between;gap:8px;font:8px ui-monospace,monospace;letter-spacing:.09em;color:#a19e88;pointer-events:none}.console-footer span:first-child{color:var(--red)}.vertical-control{position:absolute;left:29px;bottom:121px;width:33px;height:174px;border-radius:7px;background:#2e3229;box-shadow:4px 5px #0e100d;z-index:4;display:flex;align-items:center;justify-content:center}.vertical-control:before{content:"Y";position:absolute;top:8px;font:9px ui-monospace,monospace;color:#aca68f}.vertical-control:after{content:"↕";position:absolute;bottom:5px;font-size:17px;color:#aca68f}.vertical-track{position:relative;width:29px;height:121px;touch-action:none;cursor:ns-resize}.vertical-track:after{content:"";position:absolute;top:5px;bottom:5px;left:14px;width:2px;background:#817763}.lift-thumb{position:absolute;left:3px;width:24px;height:11px;background:var(--red);box-shadow:2px 2px #151710;z-index:1;pointer-events:none}.sticker-dock{position:absolute;left:94px;right:30px;bottom:26px;display:grid;grid-template-columns:1fr 1fr 1.22fr;gap:14px;z-index:7}.sticker-card{display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:12px 18px;background:#2c3027;border-radius:9px 3px;box-shadow:5px 6px #0d100c;font-size:14px;font-weight:700}.sticker-card span{font:12px ui-monospace,monospace}.sticker-card.active{background:#484c3d}.sticker-card.diagnosis{background:var(--red);color:#181b15}.sticker-card:hover:not(.diagnosis){background:#3f4435}.sticker-sheet{position:absolute;right:30px;top:188px;bottom:110px;width:396px;padding:17px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;z-index:20;background:#22261f;border-radius:7px 3px;border-top:3px solid var(--red);box-shadow:6px 8px #0e100d;scrollbar-width:thin;scrollbar-color:#70715d #24281f}.sheet-head{position:sticky;top:-17px;z-index:1;margin:-1px -1px 14px;padding:7px 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#22261f}.sheet-head b{font-size:15px;letter-spacing:-.02em}.sheet-head button{width:36px;height:36px;flex-shrink:0;border-radius:7px 2px;background:#34392b;box-shadow:3px 3px #0d100b;font-size:24px}.sheet-head button:hover{background:#464b39}.sticker-grid,.location-grid{display:flex;flex-wrap:wrap;gap:8px;padding:2px 3px 5px 0}.sheet-sticker,.location-chip{min-height:40px;padding:9px 11px;border-radius:7px 3px;background:#303528;color:#d3ceb9;box-shadow:3px 3px #11140e;font-size:12px}.sheet-sticker.selected,.location-chip.selected{background:var(--red);color:#181a14;box-shadow:3px 3px #10130c}.sheet-sticker:hover:not(.selected),.location-chip:hover:not(.selected){background:#424935}.location-control{margin-bottom:16px}.location-control>b,.editor-section>b,.narrative-label>b{display:block;font-size:11px;font-weight:500;color:#ada48c;letter-spacing:.04em;margin-bottom:10px}.editor-section{margin-top:20px;padding-top:14px;border-top:1px solid #444937}.report-target{display:block;margin-bottom:17px}.report-target>span{display:block;font:9px ui-monospace,monospace;letter-spacing:.09em;color:#9e9e8a;margin-bottom:7px}.report-target select{width:100%;min-height:43px;border:0;border-radius:5px;background:#363c2c;padding:8px 10px;font-size:13px}.report-target option{background:#242920}.narrative-label{display:block;margin-top:20px}.narrative-label textarea{display:block;width:100%;resize:vertical;min-height:90px;max-height:180px;background:#181d16;border:0;border-radius:5px;padding:11px;font-size:13px;line-height:1.6}.narrative-label textarea::placeholder{color:#858873}.recognized{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.recognized small{width:100%;color:#909581;font-size:10px}.recognized span{font-size:10px;background:#38412d;padding:3px 6px;border-radius:3px}.text-hint{font-size:11px;color:#9da38c}.cards{display:grid;gap:12px}.compact-card{background:#2b3025;padding:14px;border-radius:6px;box-shadow:3px 4px #11150d}.card-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.rank{font:10px ui-monospace,monospace;color:var(--red);flex:none}.field-label{display:block;color:#999c88;font-size:9px;letter-spacing:.08em;margin-bottom:5px}.condition{font-size:17px;font-weight:700;line-height:1.4;color:#eeeadb}.affected-parts{display:block;margin-top:5px;color:#aaad97;font-size:10px;line-height:1.5}.card-field{display:grid;grid-template-columns:51px minmax(0,1fr);gap:9px;margin-top:10px;font-size:12px;line-height:1.6}.card-field>b{color:#999d87;font-weight:500}.card-field p{margin:0;color:#d7d7c6;overflow-wrap:anywhere}.evidence-line>div{display:flex;flex-wrap:wrap;gap:4px}.evidence-line span{padding:2px 6px;background:#3c4332;border-radius:3px;font-size:11px;color:#e2e4cf}.threshold-field{border-top:1px solid #454c36;padding-top:10px}.threshold-field>b,.threshold-field p{color:#f0a17d}.urgent-strip{padding:11px;margin-bottom:13px;background:#ed663b18;border-left:3px solid var(--red);color:#f3aa88;font-size:12px;line-height:1.6}.urgent-strip p{margin:6px 0 0}.error{font-size:13px;line-height:1.6;color:#f2a18b}.evidence-empty{margin:0;padding:14px;border-radius:5px;background:#2d3426;font-size:13px;line-height:1.7}.missing-line{display:block;margin-top:9px;color:#b3b99e}.return-input{display:block;margin-top:14px;padding:10px;border-radius:5px;background:#e2643b;color:#181d15;font-weight:700;font-size:12px}.tutorial-copy{font-size:13px;line-height:1.8}.tutorial-copy p{margin-top:0}.tutorial-copy ol{padding-left:21px}.tutorial-copy li+li{margin-top:12px}.model-loading,.model-error{background:#2e3427;color:#dedbc8;padding:14px;font-size:12px;line-height:1.6;max-width:260px;border-radius:6px}.scene-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.model-error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.model-error button{display:block;margin-top:10px;padding:10px;background:var(--red);color:#1b1e16;border-radius:4px}.app-error{padding:24px!important;color:#e8ddc4}.app-error pre{white-space:pre-wrap}@media (min-width:1200px){.diagnosis-sheet{width:452px}.viewer:has(.diagnosis-sheet) .anatomy-canvas{right:514px}.viewer:has(.diagnosis-sheet) .part-selection{max-width:calc(100% - 624px)}}@media (max-width:1000px){.screen-status{display:none}.sticker-sheet{width:345px}.viewer:has(.sticker-sheet) .anatomy-canvas{right:405px}.viewer:has(.sticker-sheet) .part-selection{max-width:calc(100% - 515px)}}@media (max-width:700px){.app{padding:6px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom))}.viewer{border-radius:8px 3px}.screen-label{left:17px;top:20px;display:block;max-width:calc(100% - 162px)}.screen-label:before{display:block;content:"TTI / FIELD MEDICAL";font-size:7px;letter-spacing:.08em;margin-bottom:8px}.screen-label strong{font-size:23px;white-space:nowrap}.scene-controls{top:20px;right:14px;gap:5px}.scene-controls button{height:40px;min-width:35px;padding:0 7px;font-size:9px;box-shadow:3px 4px #0e100d}.viewer:before{left:17px;right:17px;top:83px;height:3px}.model-layers{top:99px;left:17px;right:17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.layer-dot{min-width:0;min-height:43px;gap:7px;padding:8px 12px;box-shadow:3px 4px #0e100d}.layer-name{font-size:12px}.layer-icon{font-size:15px}.anatomy-canvas{left:49px;right:17px;top:164px;bottom:108px}.viewer:has(.sticker-sheet) .anatomy-canvas{right:17px}.part-selection{left:63px;top:178px;right:26px;max-width:none!important;font-size:30px;line-height:1.12}.part-selection.multiple{font-size:22px}.hardware-strip{left:18px;top:178px;bottom:320px;width:17px;gap:12px}.hardware-strip span{font-size:6px;letter-spacing:.12em}.hardware-strip span:last-child{display:none}.hardware-strip i{width:12px}.hardware-strip i:after{width:2px;left:5px}.vertical-control{left:15px;bottom:127px;width:25px;height:153px;box-shadow:3px 4px #0e100d}.vertical-track{width:25px;height:103px}.vertical-track:after{left:12px}.lift-thumb{left:2px;width:21px;height:10px}.vertical-control:before{font-size:8px}.sticker-dock{left:17px;right:17px;bottom:24px;gap:9px;grid-template-columns:1fr 1fr 1.2fr}.sticker-card{min-height:48px;padding:11px;font-size:13px;box-shadow:3px 5px #0d100c}.console-footer{left:49px;right:17px;bottom:91px;font-size:7px;letter-spacing:0}.console-footer span:last-child{display:none}.sticker-sheet{left:17px;right:17px;top:auto;bottom:86px;width:auto;height:min(560px,65vh);height:min(560px,65dvh);max-height:calc(100% - 160px);padding:13px;box-shadow:0 -10px 30px #0c100bbd}.sheet-head{top:-13px}.sheet-head b{font-size:14px}.sheet-sticker,.location-chip{min-height:42px}.compact-card{padding:12px}.condition{font-size:16px}.card-field{grid-template-columns:48px minmax(0,1fr)}}@media (max-width:700px){.report-target select,.narrative-label textarea{font-size:16px}}@media (max-width:350px){.screen-label{left:14px;max-width:calc(100% - 151px)}.screen-label strong{font-size:20px}.screen-label:before{font-size:6px}.scene-controls{right:12px;gap:4px}.scene-controls button{min-width:32px;font-size:8px;padding:0 5px}.layer-dot{padding:8px}.layer-name{font-size:11px}.part-selection{font-size:28px}.part-selection.multiple{font-size:20px}.sticker-card{font-size:12px}}@media (max-height:590px){.app{padding:5px}.screen-label{top:13px}.screen-label strong{font-size:22px}.scene-controls{top:12px}.viewer:before{top:66px}.model-layers{top:79px;left:60px}.layer-dot{min-height:36px}.anatomy-canvas{top:131px;bottom:97px;left:60px}.part-selection{top:144px;left:74px}.sticker-sheet{top:131px;bottom:97px;height:auto;max-height:none}.hardware-strip{top:142px;bottom:265px;left:19px}.vertical-control{left:19px;bottom:112px;height:126px}.vertical-track{height:81px}.sticker-dock{left:60px;bottom:24px}.sticker-card{min-height:43px}.console-footer{left:60px;bottom:80px}}@media (max-height:590px) and (max-width:700px){.model-layers{left:17px}.anatomy-canvas{left:45px}.part-selection{left:57px;font-size:25px}.part-selection.multiple{font-size:18px}.sticker-dock{left:17px}.console-footer{left:45px}.hardware-strip{left:15px;bottom:255px}.vertical-control{left:13px}.sticker-sheet{top:131px;bottom:86px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
