.palm-reader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background-color:#000;color:#fff;width:100%;height:100vh}.video-container{position:relative;width:600px;height:600px}.video-element{display:none}.canvas-element{border:2px solid #EEEEFC;border-radius:8px;max-width:100%;height:auto}.countdown-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:100px;font-weight:700;color:#eeeefc;pointer-events:none;z-index:1000}.palm-result-container{display:flex;flex-direction:column;align-items:center;padding:20px;background-color:#000;color:#eeeefc;justify-content:center;gap:30px;max-height:100vh;overflow:hidden}.palm-result-container header{text-align:center}.result-content{display:flex;flex-direction:row;gap:20px;flex-wrap:wrap;width:100%;max-width:1200px;justify-content:center}.images-section{flex:1;min-width:300px;max-width:500px;display:flex;justify-content:center}.image-box{padding:20px;border:#EEEEFC 1px solid}.image-box h3{margin-top:0;margin-bottom:10px}.image-box.original h3{color:#0f0}.captured-image{width:100%;height:auto;border:2px solid #00ff00;border-radius:8px}.palmline-image{width:100%;height:100%;max-height:500px;object-fit:cover;object-position:center}.image-caption{margin-top:10px;font-size:13px;color:#999;text-align:center}.threshold-control{padding:20px;border-radius:12px;border:2px solid #ff9900;margin-top:20px}.threshold-control h3{margin-top:0;color:#f90;margin-bottom:15px}.threshold-slider{display:flex;align-items:center;gap:15px}.threshold-slider span:first-child{font-size:14px;color:#999;min-width:80px}.threshold-slider input{flex:1}.threshold-slider span:last-child{font-size:16px;font-weight:700;color:#f90;min-width:70px}.threshold-info{margin-top:10px;font-size:12px;color:#999}.complexity-debug{margin-top:15px;padding:10px;border-radius:8px;font-size:13px;font-family:monospace}.complexity-debug-hint{margin-top:5px;font-size:11px;color:#666}.analysis-section{flex:1;min-width:300px;max-width:500px;display:flex;flex-direction:column;gap:15px}.complexity-card{padding:20px;border:#EEEEFC 1px solid}.complexity-card h3{margin-top:0;margin-bottom:15px}.complexity-value{font-size:32px;font-weight:700;margin-bottom:10px;text-align:right}.complexity-bar{height:30px;border-radius:15px;overflow:hidden;position:relative}.complexity-bar-fill{background:linear-gradient(90deg,#646cff,#0f0);height:100%;transition:width 1s ease-out}.complexity-label{margin-top:10px;font-size:14px;color:#999}.palette-card{padding:20px;border:#EEEEFC 1px solid}.palette-card h3{margin-top:0;margin-bottom:15px}.color-swatches{display:flex;gap:10px;justify-content:space-around;flex-wrap:wrap}.color-swatch{display:flex;width:100%;align-items:center;gap:12px;background-color:#eeeefc;color:#000;padding:8px}.color-box{width:100px;height:100px;border:#D09080 1px solid}.color-label{white-space:pre-line;text-align:center;font-size:1em}.calculation-info{margin-top:20px;padding:15px;background:#2a2a2a;border-radius:8px;font-size:13px;font-family:monospace}.calculation-info-title{color:#999;margin-bottom:8px;font-weight:700}.calculation-details{display:flex;flex-direction:column;gap:5px}.calculation-parameter{color:#0f0}.calculation-edgecount{color:#f0f}.calculation-formula{color:#fa0;margin-top:5px;font-size:11px}.loading-section{flex:1;min-width:400px;display:flex;align-items:center;justify-content:center}.loading-text{font-size:24px;color:#646cff;text-align:center}.action-buttons{display:flex;flex-direction:column;gap:24px}.btn-retake{background:transparent;border:none;color:#aaa;text-decoration:underline;cursor:pointer;font-weight:light;font-size:1em}.btn-save{padding:14px 120px;background:#fff;border:#EEEEFC 1px solid;color:#000;cursor:pointer;font-weight:700;font-size:1.2em}.btn-retake:hover,.btn-save:hover{opacity:.9}.btn-retake:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sent-modal{text-align:center;color:#eeeefc;padding:4rem 6rem;border:1px solid #EEEEFC;background:#1a1a1a;animation:modal-appear .4s ease-out}@keyframes modal-appear{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.checkmark{font-size:5rem;margin-bottom:2rem;color:#0f0;animation:checkmark-appear .5s ease-out .2s both}@keyframes checkmark-appear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.sent-modal p{font-size:1.5rem;margin:.5rem 0;font-weight:300;letter-spacing:.05em;color:#eeeefc}.sub-message{color:#999!important}.sequence-id{margin-bottom:1rem!important;font-size:.9em!important;font-weight:400!important;letter-spacing:.1em!important;color:#ffffffb3!important}.connection-status{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:4px 16px;border-radius:20px;font-size:14px;font-weight:700;letter-spacing:1px;z-index:9999;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.status-indicator{width:10px;height:10px;border-radius:50%;transition:all .3s ease}.connection-status.connected .status-indicator{background:#0f0;box-shadow:0 0 10px #0f0,0 0 20px #00ff0080;animation:pulse-green 2s infinite}.connection-status.connected .status-text{color:#0f0}.connection-status.disconnected .status-indicator{background:red;box-shadow:0 0 10px red,0 0 20px #ff000080;animation:pulse-red 2s infinite}.connection-status.disconnected .status-text{color:red}@keyframes pulse-green{0%,to{box-shadow:0 0 10px #0f0,0 0 20px #00ff0080;opacity:1}50%{box-shadow:0 0 15px #0f0,0 0 30px #0f0c;opacity:.8}}@keyframes pulse-red{0%,to{box-shadow:0 0 10px red,0 0 20px #ff000080;opacity:1}50%{box-shadow:0 0 15px red,0 0 30px #f00c;opacity:.8}}@media(max-width:768px){.connection-status{bottom:15px;right:15px;padding:8px 12px;font-size:12px}.status-indicator{width:8px;height:8px}}.refresh-button{position:fixed;bottom:20px;left:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:700;letter-spacing:1px;z-index:9999;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#eeeefc;transition:all .3s ease}.refresh-button:hover{background:#ffffff1a;border-color:#fff6;transform:scale(1.05)}.refresh-button:active{transform:scale(.95)}.refresh-button:hover svg{animation:rotate .6s ease-in-out}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-text{-webkit-user-select:none;user-select:none}@media(max-width:768px){.refresh-button{bottom:15px;left:15px;padding:8px 12px;font-size:12px}.refresh-button svg{width:16px;height:16px}}@font-face{font-family:Pretendard;src:url(/PretendardVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}body{padding:0;margin:0;background-color:#000;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:20px}h1,h2,h3,h4,h5,h6,p{margin:0}
