File size: 3,460 Bytes
e221c83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/* [๊ธฐ๋ณธ ์„ค์ •] */
body {
    background: #f0f2f5;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    font-family: "Spoqa Han Sans Neo", sans-serif;
}

/* --- ๋ฉ”์ธ ์ปจํ…Œ์ด๋„ˆ --- */
.book-container {
    width: 800px;
    height: 500px;
    position: relative;
    perspective: 1500px; /* 3D ์›๊ทผ๊ฐ */
    background-color: #fff; /* ํผ ๋ฐฐ๊ฒฝ์ƒ‰ */
    border-radius: 20px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.15), 0 10px 10px rgba(0,0,0,0.12);
    overflow: hidden; /* ๋‘ฅ๊ทผ ๋ชจ์„œ๋ฆฌ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ ๋ฐฉ์ง€ */
}

/* [๋ ˆ์ด์–ด 1] ๋ฐ”๋‹ฅ์— ๊น”๋ฆฐ ํผ๋“ค */
.layer-base {
    width: 100%;
    height: 100%;
    display: flex; /* ์ขŒ์šฐ ๋ฐฐ์น˜ */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.base-box {
    width: 50%;
    height: 100%;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* [๋ ˆ์ด์–ด 2] ์›€์ง์ด๋Š” ํŽ˜์ด์ง€ (Flipper) */
.layer-flipper {
    width: 50%; /* ์ „์ฒด ๋„ˆ๋น„์˜ ์ ˆ๋ฐ˜ */
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%; /* ์˜ค๋ฅธ์ชฝ ์ ˆ๋ฐ˜์—์„œ ์‹œ์ž‘ */
    
    
    transform-origin: left center;
    transform-style: preserve-3d;
    transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1.000); /* ๋ถ€๋“œ๋Ÿฌ์šด ์ข…์ด ๋„˜๊น€ ํšจ๊ณผ */
    z-index: 10;
}

/* ํŽ˜์ด์ง€๊ฐ€ ๋„˜์–ด๊ฐ„ ์ƒํƒœ (์™ผ์ชฝ์œผ๋กœ -180๋„ ํšŒ์ „) */
.layer-flipper.flipped {
    transform: rotateY(-180deg);
}

/* --- ํŽ˜์ด์ง€์˜ ์•ž๋ฉด/๋’ท๋ฉด ๋””์ž์ธ --- */
.page-face {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    backface-visibility: hidden; /* ๋’ท๋ฉด ์•ˆ ๋ณด์ด๊ฒŒ */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 40px;
    box-sizing: border-box;
    
    /* ์•ˆ๋‚ด ๋ฌธ๊ตฌ ๋ฐฐ๊ฒฝ (ํŒŒ๋ž€์ƒ‰ ๊ทธ๋ผ๋ฐ์ด์…˜) */
    background: linear-gradient(135deg, #6598e5, #5540a3);
    color: white;
}

/* ์•ž๋ฉด (ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค) - ๊ธฐ๋ณธ ์ƒํƒœ */
.front-face {
    z-index: 2;
    transform: rotateY(0deg);
}

/* ๋’ท๋ฉด (๋Œ์•„์˜ค์…จ๊ตฐ์š”) - ๋ฏธ๋ฆฌ 180๋„ ๋Œ๋ ค๋†“์Œ */
.back-face {
    z-index: 1;
    transform: rotateY(180deg);
}

/* --- ๋‚ด๋ถ€ ์š”์†Œ ์Šคํƒ€์ผ (๋ฒ„ํŠผ, ์ž…๋ ฅ์ฐฝ ๋“ฑ) --- */
h2 { margin-bottom: 20px; font-size: 2rem; font-weight: 700; }
.input-group { width: 100%; margin-bottom: 15px; text-align: left; }
.input-group label { display: block; margin-bottom: 5px; font-size: 0.9rem; color: #666; }
.input-group input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; background: #f4f4f4; box-sizing: border-box; }

/* ๋กœ๊ทธ์ธ/๊ฐ€์ž… ์•ก์…˜ ๋ฒ„ํŠผ */
.action-btn {
    width: 100%; padding: 12px; background-color: #5540a3; color: white;
    border: none; border-radius: 8px; font-size: 1rem; font-weight: bold;
    cursor: pointer; margin-top: 10px; transition: 0.3s;
}
.action-btn:hover { background-color: #443383; }

/* ์œ ๋ น ๋ฒ„ํŠผ (ํŽ˜์ด์ง€ ๋„˜๊ธฐ๊ธฐ์šฉ) */
.ghost-btn {
    background: transparent; border: 2px solid white; color: white;
    padding: 10px 30px; border-radius: 25px; font-weight: bold;
    cursor: pointer; margin-top: 20px; transition: 0.2s;
}
.ghost-btn:hover { background: white; color: #5540a3; }
.content-wrapper p { font-size: 1.1rem; margin-bottom: 20px; line-height: 1.5; }