:root{--bg-color:#050505;--surface-color:#ffffff0d;--border-color:#ffffff1a;--accent-color:#00f2ff;--accent-gradient:linear-gradient(135deg, #00f2ff 0%, #7000ff 100%);--text-primary:#fff;--text-secondary:#fff9;--header-height:48px;--nav-height:64px;--safe-area-bottom:env(safe-area-inset-bottom)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;margin:0;padding:0;position:fixed;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(circle at 10% 20%,#00f2ff0d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#7000ff0d 0%,#0000 40%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}h1,h2,h3,.outfit{letter-spacing:-.02em;font-family:Outfit,sans-serif}.glass-header{height:var(--header-height);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:100;background:#050505cc;position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;max-width:1200px;height:100%;margin:0 auto;padding:0 20px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo h1{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.status-badge{background:#00f2ff1a;border:1px solid #00f2ff33;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;display:flex}.status-dot{background:var(--accent-color);width:8px;height:8px;box-shadow:0 0 10px var(--accent-color);border-radius:50%;animation:2s infinite pulse}.status-text{letter-spacing:.1em;color:var(--accent-color);font-size:.7rem;font-weight:600}.view-container{padding-top:var(--header-height);height:calc(100% - var(--nav-height));-webkit-overflow-scrolling:touch;max-width:1200px;margin:0 auto;padding-bottom:5px;padding-left:15px;padding-right:15px;overflow-y:auto}.view-container::-webkit-scrollbar{width:4px}.view-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.glass-nav{height:var(--nav-height);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);z-index:100;background:#ffffff0d;border-radius:24px;justify-content:space-around;align-items:center;padding:0 10px;display:flex;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 10px 40px #00000080}.nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.nav-item.active{color:var(--accent-color)}.nav-icon{font-size:1.4rem}.nav-label{text-align:center;white-space:nowrap;font-size:.48rem;font-weight:600;line-height:1.1}.section-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.btn-settings-small{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-width:90px;padding:6px 10px;font-size:.65rem;display:flex}.pc-only{display:none}@media (width>=768px){.pc-only{display:flex}.glass-nav{width:600px;left:50%;transform:translate(-50%)}}.machine-card{background:#1a1a1a;border:2px solid #333;border-radius:12px;margin-bottom:15px;padding:12px}.feature-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:clamp(.9rem,4vw,1.2rem);line-height:1.3;display:flex}.display-box{color:#fff;text-align:center;background:#00008b;border-radius:6px;padding:6px;font-family:Courier New,monospace;font-weight:700}.result-tag{color:var(--accent-color);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:.55rem;font-weight:700}.simulator-layout{align-items:center;gap:15px;margin:10px 0;display:flex}@media (width<=650px){.simulator-layout{flex-direction:row;gap:10px}}.logic-summary{background:#00f2ff08;border:1px solid #00f2ff1a;border-radius:12px;gap:8px;width:100%;padding:10px;display:flex}.logic-summary>div{flex:1}.pf-container{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;width:90px;height:250px;padding-top:15px;display:flex;position:relative}.pf-shape{background:linear-gradient(90deg,#555,#888,#555);border:1px solid #444;border-radius:0 0 15px 15px;width:35px;margin-left:15px;transition:height .3s}.pf-ruler{color:#ff4d4d;border-left:2px solid #ff4d4d;flex-direction:column;justify-content:space-between;width:18px;padding-left:6px;font-size:10px;font-weight:700;display:flex;position:absolute;top:10px;bottom:10px;left:8px}.heater-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.heater-label{color:orange;width:30px;font-size:.8rem;font-weight:700}.heater-progress-bg{background:#222;border:1px solid #444;border-radius:6px;flex:1;height:12px;overflow:hidden}.heater-progress-fill{background:#0f0;height:100%;transition:width .3s}.heater-value{text-align:right;width:60px;font-family:monospace;font-size:.85rem}.btn-primary{background:var(--accent-gradient);color:#fff;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 24px;font-size:1rem;font-weight:600;transition:transform .2s;display:flex}.btn-primary:active{transform:scale(.98)}.inspection-overlay{z-index:100;pointer-events:none;position:absolute;inset:0}.defect-circle{border:2px solid #fff;border-radius:50%;animation:2s infinite detection-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 15px #ffffff80}.defect-circle.critical{background:#ff4d4d33;border-color:#ff4d4d;box-shadow:0 0 15px #ff4d4d}.defect-circle.warning{background:#ffa50033;border-color:orange;box-shadow:0 0 15px orange}.defect-circle.minor{background:#ff03;border-color:#ff0;box-shadow:0 0 15px #ff0}.defect-label{color:#fff;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:700;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.critical .defect-label{background:#ff4d4d}.warning .defect-label{background:orange}.minor .defect-label{color:#000;background:#ff0}@keyframes detection-pulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:.7;transform:translate(-50%,-50%)scale(1)}}.inspection-summary{color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:#000000d9;border-left:4px solid #ff4d4d;border-radius:12px;padding:15px;font-size:.85rem;position:absolute;bottom:20px;left:20px;right:20px}.zoom-viewer{z-index:2000;touch-action:none;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.zoom-content{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.zoom-image{transform-origin:50%;max-width:100%;max-height:100%;transition:transform .1s ease-out}.zoom-footer{background:linear-gradient(#0000,#000000e6);justify-content:center;align-items:center;height:100px;padding:20px;display:flex}.camera-guide{pointer-events:none;border:2px solid #00f2ff4d;border-radius:20px;width:200px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2000px #0006}.camera-guide:before,.camera-guide:after{content:"";border:3px solid var(--accent-color);width:20px;height:20px;position:absolute}.camera-guide:before{border-bottom:none;border-right:none;top:-2px;left:-2px}.camera-guide:after{border-top:none;border-left:none;bottom:-2px;right:-2px}.camera-viewport-portrait{aspect-ratio:9/16;background:#000;border:2px solid #333;border-radius:16px;width:100%;max-height:65vh;margin:8px 0;position:relative;overflow:hidden}.shutter-btn{cursor:pointer;background:#fff;border:5px solid #ffffff4d;border-radius:50%;width:68px;height:68px;margin:2px auto;display:block;box-shadow:0 0 20px #00000080}.shutter-btn:active{background:#00f2ff;transform:scale(.9)}.camera-controls{flex-direction:column;align-items:center;gap:8px;padding:5px 0;display:flex}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.input-group input{border:1px solid var(--border-color);color:#fff;background:#ffffff0d;border-radius:10px;padding:10px;font-family:Outfit,sans-serif;font-size:1rem}.input-group input:focus{border-color:var(--accent-color);background:#00f2ff0d;outline:none}.diagnosis-screen{z-index:200;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diagnosis-text{color:var(--accent-color);letter-spacing:.2em;font-size:1.2rem;font-weight:700;animation:1s infinite blink}.camera-top-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:30px;width:100%;padding:4px;display:flex}.toggle-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:25px;flex:1;padding:10px;font-size:.7rem;transition:all .3s}.toggle-btn.active{background:var(--accent-gradient);font-weight:700}.lot-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:15px;display:flex}.lot-info{flex-direction:column;gap:4px;display:flex}.lot-no{color:var(--accent-color);font-family:monospace;font-size:1.1rem;font-weight:700}.lot-meta{color:#fff6;font-size:.7rem}.btn-delete{color:#ff4d4d;cursor:pointer;background:#ff4d4d1a;border:none;border-radius:8px;padding:8px 12px;font-size:.7rem}.history-list{flex-direction:column;gap:12px;display:flex}.history-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.history-thumb{object-fit:cover;background:#111;border-radius:8px;width:60px;height:60px}.history-info{flex:1}.history-status{border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700}.status-ok{color:#0f0;background:#00ff001a}.status-ng{color:red;background:#ff00001a}.master-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.master-slot{text-align:center;background:#00f2ff08;border:1px dashed #00f2ff4d;border-radius:12px;padding:10px}.master-img-container{aspect-ratio:1;background:#000;border-radius:8px;justify-content:center;align-items:center;width:100%;margin-bottom:6px;display:flex;position:relative;overflow:hidden}.master-img-container img{object-fit:cover;width:100%;height:100%}.master-label{color:var(--accent-color);margin-bottom:8px;font-size:.75rem;font-weight:700}
