Files
goldenChart/frontend_golden/public/ui-mockups/pattern-matching-search.html
T
2026-05-23 15:11:48 +09:00

1188 lines
33 KiB
HTML

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>주식차트 패턴 매칭 검색 - UI 목업</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: #0a0a0f;
color: #e4e4e7;
min-height: 100vh;
}
.container {
display: grid;
grid-template-columns: 320px 1fr 360px;
height: 100vh;
gap: 1px;
background: #27272a;
}
/* 왼쪽 패널 - 패턴 선택 */
.left-panel {
background: #18181b;
display: flex;
flex-direction: column;
overflow: hidden;
}
.panel-header {
padding: 16px 20px;
border-bottom: 1px solid #27272a;
display: flex;
align-items: center;
justify-content: space-between;
}
.panel-title {
font-size: 14px;
font-weight: 600;
color: #fafafa;
display: flex;
align-items: center;
gap: 8px;
}
.panel-title .icon {
font-size: 16px;
}
.search-box {
padding: 12px 16px;
border-bottom: 1px solid #27272a;
}
.search-input {
width: 100%;
padding: 10px 14px;
background: #27272a;
border: 1px solid #3f3f46;
border-radius: 8px;
color: #fafafa;
font-size: 13px;
outline: none;
}
.search-input:focus {
border-color: #3b82f6;
}
.search-input::placeholder {
color: #71717a;
}
/* 패턴 카테고리 */
.pattern-categories {
flex: 1;
overflow-y: auto;
padding: 12px;
}
.category {
margin-bottom: 16px;
}
.category-header {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
font-size: 11px;
font-weight: 600;
color: #a1a1aa;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.category-header .badge {
background: #27272a;
padding: 2px 8px;
border-radius: 10px;
font-size: 10px;
}
.pattern-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}
.pattern-item {
background: #1f1f26;
border: 1px solid #27272a;
border-radius: 8px;
padding: 12px;
cursor: pointer;
transition: all 0.2s;
}
.pattern-item:hover {
border-color: #3b82f6;
background: #252530;
}
.pattern-item.selected {
border-color: #22c55e;
background: rgba(34, 197, 94, 0.1);
}
.pattern-icon {
width: 100%;
height: 40px;
background: #27272a;
border-radius: 4px;
margin-bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.pattern-icon svg {
width: 90%;
height: 30px;
}
.pattern-name {
font-size: 11px;
font-weight: 500;
color: #d4d4d8;
text-align: center;
}
/* 중앙 패널 - 차트 및 그리기 영역 */
.center-panel {
background: #0f0f14;
display: flex;
flex-direction: column;
}
.toolbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 20px;
background: #18181b;
border-bottom: 1px solid #27272a;
}
.toolbar-left {
display: flex;
align-items: center;
gap: 12px;
}
.toolbar-group {
display: flex;
align-items: center;
gap: 4px;
padding: 4px;
background: #27272a;
border-radius: 8px;
}
.tool-btn {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
border: none;
border-radius: 6px;
color: #a1a1aa;
cursor: pointer;
font-size: 16px;
transition: all 0.2s;
}
.tool-btn:hover {
background: #3f3f46;
color: #fafafa;
}
.tool-btn.active {
background: #3b82f6;
color: white;
}
.divider {
width: 1px;
height: 24px;
background: #3f3f46;
margin: 0 8px;
}
.mode-toggle {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
background: #27272a;
border-radius: 8px;
}
.mode-toggle label {
font-size: 12px;
color: #a1a1aa;
}
.toggle-switch {
width: 44px;
height: 24px;
background: #3f3f46;
border-radius: 12px;
position: relative;
cursor: pointer;
}
.toggle-switch.active {
background: #22c55e;
}
.toggle-switch::after {
content: '';
position: absolute;
width: 18px;
height: 18px;
background: white;
border-radius: 50%;
top: 3px;
left: 3px;
transition: left 0.2s;
}
.toggle-switch.active::after {
left: 23px;
}
.toolbar-right {
display: flex;
align-items: center;
gap: 12px;
}
.btn {
padding: 10px 20px;
border-radius: 8px;
font-size: 13px;
font-weight: 600;
border: none;
cursor: pointer;
display: flex;
align-items: center;
gap: 8px;
transition: all 0.2s;
}
.btn-primary {
background: linear-gradient(135deg, #3b82f6, #2563eb);
color: white;
}
.btn-primary:hover {
background: linear-gradient(135deg, #60a5fa, #3b82f6);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.btn-secondary {
background: #27272a;
color: #a1a1aa;
border: 1px solid #3f3f46;
}
.btn-secondary:hover {
background: #3f3f46;
color: #fafafa;
}
/* 차트 영역 */
.chart-area {
flex: 1;
position: relative;
display: flex;
flex-direction: column;
}
.chart-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 20px;
}
.chart-title {
display: flex;
align-items: center;
gap: 12px;
}
.chart-title h2 {
font-size: 16px;
font-weight: 600;
}
.chart-title .subtitle {
font-size: 12px;
color: #71717a;
}
.chart-tabs {
display: flex;
gap: 4px;
background: #27272a;
padding: 4px;
border-radius: 8px;
}
.chart-tab {
padding: 8px 16px;
font-size: 12px;
color: #a1a1aa;
background: transparent;
border: none;
border-radius: 6px;
cursor: pointer;
}
.chart-tab.active {
background: #3f3f46;
color: #fafafa;
}
.canvas-container {
flex: 1;
margin: 0 20px 20px;
background: #18181b;
border-radius: 12px;
border: 2px dashed #3f3f46;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.canvas-container.drawing-mode {
border-color: #3b82f6;
background: rgba(59, 130, 246, 0.05);
}
.canvas-hint {
text-align: center;
color: #71717a;
}
.canvas-hint .icon {
font-size: 48px;
margin-bottom: 16px;
}
.canvas-hint h3 {
font-size: 16px;
margin-bottom: 8px;
color: #a1a1aa;
}
.canvas-hint p {
font-size: 13px;
}
/* 샘플 차트 패턴 (SVG) */
.sample-pattern {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.sample-pattern svg {
width: 100%;
height: 100%;
}
/* 오른쪽 패널 - 검색 결과 */
.right-panel {
background: #18181b;
display: flex;
flex-direction: column;
overflow: hidden;
}
.search-options {
padding: 16px;
border-bottom: 1px solid #27272a;
}
.option-group {
margin-bottom: 16px;
}
.option-group:last-child {
margin-bottom: 0;
}
.option-label {
font-size: 11px;
font-weight: 600;
color: #71717a;
text-transform: uppercase;
margin-bottom: 8px;
display: block;
}
.option-select {
width: 100%;
padding: 10px 14px;
background: #27272a;
border: 1px solid #3f3f46;
border-radius: 8px;
color: #fafafa;
font-size: 13px;
outline: none;
cursor: pointer;
}
.slider-container {
display: flex;
align-items: center;
gap: 12px;
}
.slider {
flex: 1;
height: 6px;
background: #3f3f46;
border-radius: 3px;
appearance: none;
cursor: pointer;
}
.slider::-webkit-slider-thumb {
appearance: none;
width: 16px;
height: 16px;
background: #3b82f6;
border-radius: 50%;
cursor: pointer;
}
.slider-value {
font-size: 12px;
color: #a1a1aa;
min-width: 40px;
text-align: right;
}
/* 검색 결과 */
.results-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px;
border-bottom: 1px solid #27272a;
}
.results-count {
font-size: 13px;
color: #a1a1aa;
}
.results-count strong {
color: #22c55e;
font-weight: 600;
}
.sort-btn {
display: flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: #27272a;
border: none;
border-radius: 6px;
color: #a1a1aa;
font-size: 11px;
cursor: pointer;
}
.results-list {
flex: 1;
overflow-y: auto;
padding: 12px;
}
.result-item {
background: #1f1f26;
border: 1px solid #27272a;
border-radius: 12px;
padding: 16px;
margin-bottom: 12px;
cursor: pointer;
transition: all 0.2s;
}
.result-item:hover {
border-color: #3b82f6;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.result-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.result-symbol {
display: flex;
align-items: center;
gap: 10px;
}
.symbol-icon {
width: 36px;
height: 36px;
background: linear-gradient(135deg, #f59e0b, #d97706);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 700;
color: white;
}
.symbol-info h4 {
font-size: 14px;
font-weight: 600;
color: #fafafa;
}
.symbol-info span {
font-size: 11px;
color: #71717a;
}
.match-score {
text-align: right;
}
.score-value {
font-size: 20px;
font-weight: 700;
color: #22c55e;
}
.score-label {
font-size: 10px;
color: #71717a;
text-transform: uppercase;
}
.result-chart {
height: 80px;
background: #27272a;
border-radius: 8px;
margin-bottom: 12px;
overflow: hidden;
}
.result-chart svg {
width: 100%;
height: 100%;
}
.result-details {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}
.detail-item {
text-align: center;
padding: 8px;
background: #27272a;
border-radius: 6px;
}
.detail-value {
font-size: 13px;
font-weight: 600;
color: #fafafa;
}
.detail-value.up {
color: #22c55e;
}
.detail-value.down {
color: #ef4444;
}
.detail-label {
font-size: 9px;
color: #71717a;
text-transform: uppercase;
margin-top: 2px;
}
/* 하단 패턴 정보 */
.pattern-info {
padding: 16px;
background: #1f1f26;
border-top: 1px solid #27272a;
}
.pattern-info-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 12px;
}
.pattern-info-header h4 {
font-size: 13px;
font-weight: 600;
}
.pattern-tag {
padding: 4px 10px;
background: #22c55e20;
color: #22c55e;
border-radius: 12px;
font-size: 10px;
font-weight: 600;
}
.pattern-stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px;
}
.stat-item {
display: flex;
justify-content: space-between;
padding: 8px 12px;
background: #27272a;
border-radius: 6px;
}
.stat-label {
font-size: 11px;
color: #71717a;
}
.stat-value {
font-size: 11px;
font-weight: 600;
color: #fafafa;
}
/* 스크롤바 스타일 */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: #3f3f46;
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: #52525b;
}
</style>
</head>
<body>
<div class="container">
<!-- 왼쪽 패널 - 패턴 선택 -->
<div class="left-panel">
<div class="panel-header">
<div class="panel-title">
<span class="icon">📊</span>
패턴 라이브러리
</div>
</div>
<div class="search-box">
<input type="text" class="search-input" placeholder="패턴 검색...">
</div>
<div class="pattern-categories">
<!-- 반전 패턴 -->
<div class="category">
<div class="category-header">
🔄 반전 패턴
<span class="badge">8</span>
</div>
<div class="pattern-list">
<div class="pattern-item selected">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 35 L25 15 L45 25 L65 5 L85 20 L95 10" stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">헤드앤숄더</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 10 L25 30 L45 20 L65 35 L85 15 L95 25" stroke="#ef4444" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">역헤드앤숄더</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 30 L30 10 L55 30 L80 10 L95 30" stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">더블탑</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 10 L30 35 L55 10 L80 35 L95 15" stroke="#ef4444" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">더블바텀</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 30 L20 10 L35 28 L50 8 L65 26 L80 6 L95 20" stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">트리플탑</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 10 L20 32 L35 12 L50 34 L65 14 L80 36 L95 20" stroke="#ef4444" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">트리플바텀</div>
</div>
</div>
</div>
<!-- 지속 패턴 -->
<div class="category">
<div class="category-header">
➡️ 지속 패턴
<span class="badge">6</span>
</div>
<div class="pattern-list">
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 35 L25 20 L45 25 L65 15 L85 18 L95 5" stroke="#22c55e" stroke-width="2" fill="none"/>
<path d="M20 30 L80 12" stroke="#3b82f6" stroke-width="1" stroke-dasharray="3,3"/>
<path d="M20 15 L80 8" stroke="#3b82f6" stroke-width="1" stroke-dasharray="3,3"/>
</svg>
</div>
<div class="pattern-name">상승 플래그</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 5 L25 20 L45 15 L65 25 L85 22 L95 35" stroke="#ef4444" stroke-width="2" fill="none"/>
<path d="M20 10 L80 28" stroke="#3b82f6" stroke-width="1" stroke-dasharray="3,3"/>
<path d="M20 25 L80 32" stroke="#3b82f6" stroke-width="1" stroke-dasharray="3,3"/>
</svg>
</div>
<div class="pattern-name">하락 플래그</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 35 L20 10 L40 25 L55 12 L70 22 L85 15 L95 5" stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">상승 웨지</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 5 L20 30 L40 15 L55 28 L70 18 L85 25 L95 35" stroke="#ef4444" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">하락 웨지</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 20 L30 30 L50 10 L70 28 L95 20" stroke="#f59e0b" stroke-width="2" fill="none"/>
<path d="M5 20 L95 20" stroke="#3b82f6" stroke-width="1" stroke-dasharray="3,3"/>
</svg>
</div>
<div class="pattern-name">대칭 삼각형</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<path d="M5 20 L20 10 L35 20 L50 10 L65 20 L80 10 L95 20" stroke="#f59e0b" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="pattern-name">박스권</div>
</div>
</div>
</div>
<!-- 캔들 패턴 -->
<div class="category">
<div class="category-header">
🕯️ 캔들 패턴
<span class="badge">4</span>
</div>
<div class="pattern-list">
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<rect x="45" y="5" width="10" height="30" fill="#22c55e"/>
<line x1="50" y1="2" x2="50" y2="5" stroke="#22c55e" stroke-width="2"/>
<line x1="50" y1="35" x2="50" y2="38" stroke="#22c55e" stroke-width="2"/>
</svg>
</div>
<div class="pattern-name">망치형</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<rect x="30" y="15" width="8" height="15" fill="#ef4444"/>
<rect x="45" y="5" width="8" height="30" fill="#22c55e"/>
<rect x="60" y="10" width="8" height="20" fill="#22c55e"/>
</svg>
</div>
<div class="pattern-name">상승장악형</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<rect x="45" y="18" width="10" height="4" fill="#71717a"/>
<line x1="50" y1="5" x2="50" y2="35" stroke="#71717a" stroke-width="2"/>
</svg>
</div>
<div class="pattern-name">도지</div>
</div>
<div class="pattern-item">
<div class="pattern-icon">
<svg viewBox="0 0 100 40">
<rect x="25" y="8" width="8" height="24" fill="#22c55e"/>
<rect x="40" y="12" width="8" height="16" fill="#22c55e"/>
<rect x="55" y="16" width="8" height="8" fill="#22c55e"/>
</svg>
</div>
<div class="pattern-name">쓰리화이트솔저</div>
</div>
</div>
</div>
</div>
</div>
<!-- 중앙 패널 - 차트 및 그리기 영역 -->
<div class="center-panel">
<div class="toolbar">
<div class="toolbar-left">
<div class="toolbar-group">
<button class="tool-btn" title="선택">🔍</button>
<button class="tool-btn active" title="그리기">✏️</button>
<button class="tool-btn" title="지우기">🗑️</button>
</div>
<div class="divider"></div>
<div class="toolbar-group">
<button class="tool-btn" title="직선">📏</button>
<button class="tool-btn" title="자유 곡선">〰️</button>
<button class="tool-btn" title="추세선">📈</button>
</div>
<div class="divider"></div>
<div class="mode-toggle">
<label>미러링</label>
<div class="toggle-switch"></div>
</div>
</div>
<div class="toolbar-right">
<button class="btn btn-secondary">
초기화
</button>
<button class="btn btn-primary">
🔍 패턴 검색
</button>
</div>
</div>
<div class="chart-area">
<div class="chart-header">
<div class="chart-title">
<h2>패턴 입력</h2>
<span class="subtitle">원하는 패턴을 그리거나 왼쪽에서 선택하세요</span>
</div>
<div class="chart-tabs">
<button class="chart-tab active">직접 그리기</button>
<button class="chart-tab">패턴 선택</button>
<button class="chart-tab">이미지 업로드</button>
</div>
</div>
<div class="canvas-container drawing-mode">
<!-- 샘플 패턴 표시 -->
<div class="sample-pattern">
<svg viewBox="0 0 800 400">
<!-- 그리드 -->
<defs>
<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
<path d="M 40 0 L 0 0 0 40" fill="none" stroke="#27272a" stroke-width="1"/>
</pattern>
</defs>
<rect width="100%" height="100%" fill="url(#grid)"/>
<!-- 헤드앤숄더 패턴 -->
<path d="M 80 280
Q 120 280, 160 220
Q 200 160, 240 200
Q 280 240, 320 120
Q 360 40, 400 120
Q 440 200, 480 160
Q 520 120, 560 180
Q 600 240, 640 200
Q 680 160, 720 240"
stroke="#22c55e"
stroke-width="3"
fill="none"
stroke-linecap="round"
stroke-linejoin="round"/>
<!-- 넥라인 -->
<line x1="240" y1="200" x2="560" y2="180"
stroke="#3b82f6"
stroke-width="2"
stroke-dasharray="8,4"/>
<!-- 포인트 마커 -->
<circle cx="240" cy="200" r="6" fill="#3b82f6"/>
<circle cx="400" cy="120" r="8" fill="#ef4444"/>
<circle cx="560" cy="180" r="6" fill="#3b82f6"/>
<!-- 라벨 -->
<text x="230" y="225" fill="#a1a1aa" font-size="12">왼쪽 어깨</text>
<text x="380" y="105" fill="#ef4444" font-size="14" font-weight="bold">헤드</text>
<text x="540" y="205" fill="#a1a1aa" font-size="12">오른쪽 어깨</text>
<text x="380" y="210" fill="#3b82f6" font-size="12">넥라인</text>
</svg>
</div>
</div>
</div>
</div>
<!-- 오른쪽 패널 - 검색 결과 -->
<div class="right-panel">
<div class="panel-header">
<div class="panel-title">
<span class="icon">🎯</span>
검색 결과
</div>
</div>
<div class="search-options">
<div class="option-group">
<label class="option-label">검색 대상</label>
<select class="option-select">
<option>전체 시장 (암호화폐)</option>
<option>BTC 마켓</option>
<option>USDT 마켓</option>
<option>관심 종목만</option>
</select>
</div>
<div class="option-group">
<label class="option-label">시간 프레임</label>
<select class="option-select">
<option>일봉 (1D)</option>
<option>4시간 (4H)</option>
<option>1시간 (1H)</option>
<option>15분 (15M)</option>
</select>
</div>
<div class="option-group">
<label class="option-label">최소 유사도: 75%</label>
<div class="slider-container">
<input type="range" class="slider" min="50" max="100" value="75">
<span class="slider-value">75%</span>
</div>
</div>
</div>
<div class="results-header">
<span class="results-count"><strong>24</strong>개 종목 발견</span>
<button class="sort-btn">
유사도순 ▼
</button>
</div>
<div class="results-list">
<!-- 결과 아이템 1 -->
<div class="result-item">
<div class="result-header">
<div class="result-symbol">
<div class="symbol-icon">B</div>
<div class="symbol-info">
<h4>BTC/KRW</h4>
<span>비트코인</span>
</div>
</div>
<div class="match-score">
<div class="score-value">94%</div>
<div class="score-label">유사도</div>
</div>
</div>
<div class="result-chart">
<svg viewBox="0 0 320 80">
<path d="M 10 60 Q 40 60, 60 45 Q 80 30, 100 38 Q 120 46, 140 25 Q 160 10, 180 25 Q 200 40, 220 32 Q 240 24, 260 35 Q 280 46, 300 40"
stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="result-details">
<div class="detail-item">
<div class="detail-value up">+12.5%</div>
<div class="detail-label">예상 수익</div>
</div>
<div class="detail-item">
<div class="detail-value">3~5일</div>
<div class="detail-label">예상 기간</div>
</div>
<div class="detail-item">
<div class="detail-value">78%</div>
<div class="detail-label">성공률</div>
</div>
</div>
</div>
<!-- 결과 아이템 2 -->
<div class="result-item">
<div class="result-header">
<div class="result-symbol">
<div class="symbol-icon" style="background: linear-gradient(135deg, #8b5cf6, #6d28d9);">E</div>
<div class="symbol-info">
<h4>ETH/KRW</h4>
<span>이더리움</span>
</div>
</div>
<div class="match-score">
<div class="score-value">89%</div>
<div class="score-label">유사도</div>
</div>
</div>
<div class="result-chart">
<svg viewBox="0 0 320 80">
<path d="M 10 55 Q 40 55, 60 42 Q 80 28, 100 35 Q 120 42, 140 22 Q 160 8, 180 22 Q 200 36, 220 30 Q 240 24, 260 32 Q 280 40, 300 35"
stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="result-details">
<div class="detail-item">
<div class="detail-value up">+8.3%</div>
<div class="detail-label">예상 수익</div>
</div>
<div class="detail-item">
<div class="detail-value">2~4일</div>
<div class="detail-label">예상 기간</div>
</div>
<div class="detail-item">
<div class="detail-value">72%</div>
<div class="detail-label">성공률</div>
</div>
</div>
</div>
<!-- 결과 아이템 3 -->
<div class="result-item">
<div class="result-header">
<div class="result-symbol">
<div class="symbol-icon" style="background: linear-gradient(135deg, #06b6d4, #0891b2);">X</div>
<div class="symbol-info">
<h4>XRP/KRW</h4>
<span>리플</span>
</div>
</div>
<div class="match-score">
<div class="score-value">85%</div>
<div class="score-label">유사도</div>
</div>
</div>
<div class="result-chart">
<svg viewBox="0 0 320 80">
<path d="M 10 50 Q 40 50, 60 40 Q 80 30, 100 36 Q 120 42, 140 28 Q 160 15, 180 28 Q 200 42, 220 35 Q 240 28, 260 34 Q 280 40, 300 32"
stroke="#22c55e" stroke-width="2" fill="none"/>
</svg>
</div>
<div class="result-details">
<div class="detail-item">
<div class="detail-value up">+15.2%</div>
<div class="detail-label">예상 수익</div>
</div>
<div class="detail-item">
<div class="detail-value">4~7일</div>
<div class="detail-label">예상 기간</div>
</div>
<div class="detail-item">
<div class="detail-value">65%</div>
<div class="detail-label">성공률</div>
</div>
</div>
</div>
</div>
<!-- 선택한 패턴 정보 -->
<div class="pattern-info">
<div class="pattern-info-header">
<h4>📊 헤드앤숄더 패턴</h4>
<span class="pattern-tag">하락 반전</span>
</div>
<div class="pattern-stats">
<div class="stat-item">
<span class="stat-label">평균 수익률</span>
<span class="stat-value">+11.2%</span>
</div>
<div class="stat-item">
<span class="stat-label">평균 기간</span>
<span class="stat-value">4.5일</span>
</div>
<div class="stat-item">
<span class="stat-label">성공률</span>
<span class="stat-value">73%</span>
</div>
<div class="stat-item">
<span class="stat-label">발생 빈도</span>
<span class="stat-value">중간</span>
</div>
</div>
</div>
</div>
</div>
</body>
</html>