MikaFil commited on
Commit
911c400
·
verified ·
1 Parent(s): 6e435df

Create css/style.css

Browse files
Files changed (1) hide show
  1. css/style.css +190 -0
css/style.css ADDED
@@ -0,0 +1,190 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* ===========================
2
+ Global overlay scaffolding
3
+ =========================== */
4
+ #xr-overlay-root {
5
+ position: fixed;
6
+ inset: 0;
7
+ z-index: 9999; /* Above site chrome */
8
+ pointer-events: none; /* Let underlying elements receive events unless explicitly enabled */
9
+ }
10
+
11
+ /* Message toast (bottom center) */
12
+ .pc-ar-msg {
13
+ position: fixed;
14
+ left: 50%;
15
+ transform: translateX(-50%);
16
+ bottom: 16px;
17
+ z-index: 2;
18
+ padding: 10px 14px;
19
+ background: rgba(0, 0, 0, 0.65);
20
+ color: #fff;
21
+ border-radius: 12px;
22
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
23
+ font-size: 14px;
24
+ line-height: 1.3;
25
+ text-align: center;
26
+ max-width: min(90vw, 640px);
27
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
28
+ backdrop-filter: blur(4px);
29
+ pointer-events: none; /* Non-clickable */
30
+ user-select: none;
31
+ }
32
+
33
+ /* ===========================
34
+ AR Launch Button
35
+ =========================== */
36
+ #ar-launch-btn {
37
+ position: fixed;
38
+ left: 50%;
39
+ transform: translateX(-50%);
40
+ bottom: 72px; /* Sits above the message toast */
41
+ z-index: 10001;
42
+ pointer-events: auto;
43
+
44
+ appearance: none;
45
+ border: none;
46
+ border-radius: 14px;
47
+ padding: 12px 18px;
48
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
49
+ font-size: 15px;
50
+ font-weight: 600;
51
+ color: #fff;
52
+ background: rgba(0, 0, 0, 0.85);
53
+ box-shadow: 0 6px 18px rgba(0,0,0,.25);
54
+ backdrop-filter: blur(6px);
55
+ cursor: pointer;
56
+ touch-action: manipulation;
57
+ -webkit-tap-highlight-color: transparent;
58
+ }
59
+ #ar-launch-btn:active { transform: translateX(-50%) scale(0.98); }
60
+ #ar-launch-btn:disabled {
61
+ opacity: 0.5;
62
+ cursor: not-allowed;
63
+ }
64
+
65
+ /* Hidden anchor used for iOS Quick Look trigger (kept invisible) */
66
+ #ios-quicklook-anchor {
67
+ position: absolute !important;
68
+ width: 1px !important;
69
+ height: 1px !important;
70
+ overflow: hidden !important;
71
+ clip-path: inset(50%) !important;
72
+ pointer-events: none !important;
73
+ }
74
+
75
+ /* ===========================
76
+ Vertical Rotation Slider UI
77
+ =========================== */
78
+ /* Panel container */
79
+ .ar-ui {
80
+ position: absolute; /* inside #xr-overlay-root space */
81
+ right: 12px;
82
+ top: 50%;
83
+ transform: translateY(-50%);
84
+ z-index: 10000;
85
+ pointer-events: auto; /* Make this panel interactive */
86
+ display: flex;
87
+ flex-direction: column;
88
+ align-items: center;
89
+ gap: 8px;
90
+
91
+ width: 56px;
92
+ padding: 12px 10px;
93
+ border-radius: 16px;
94
+
95
+ font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
96
+ color: #fff;
97
+ background: rgba(0, 0, 0, 0.55);
98
+ box-shadow: 0 6px 18px rgba(0,0,0,.25);
99
+ backdrop-filter: blur(6px);
100
+
101
+ touch-action: none; /* Prevent page scroll while sliding */
102
+ -webkit-tap-highlight-color: transparent;
103
+ user-select: none;
104
+ }
105
+
106
+ .ar-ui .label {
107
+ font-size: 12px;
108
+ text-align: center;
109
+ opacity: 0.95;
110
+ }
111
+
112
+ /* Big touch area for the slider */
113
+ .rotY-wrap {
114
+ position: relative;
115
+ width: 48px;
116
+ height: 200px;
117
+ display: flex;
118
+ align-items: center;
119
+ justify-content: center;
120
+
121
+ /* Critical: ensure slider grabs interactions and blocks scene drag beneath */
122
+ pointer-events: auto;
123
+ touch-action: none;
124
+ overflow: visible;
125
+ }
126
+
127
+ /* The vertical rail (full height) */
128
+ .rotY-rail {
129
+ position: absolute;
130
+ left: 50%;
131
+ transform: translateX(-50%);
132
+ width: 4px;
133
+ height: 100%;
134
+ background: rgba(255, 255, 255, 0.35);
135
+ border-radius: 2px;
136
+ pointer-events: none; /* visual only */
137
+ }
138
+
139
+ /* The knob — centered on the rail */
140
+ .rotY-knob {
141
+ position: absolute;
142
+ left: 50%;
143
+ transform: translate(-50%, -50%); /* perfectly centered */
144
+ top: 50%;
145
+ width: 24px;
146
+ height: 24px;
147
+ border-radius: 50%;
148
+ background: #ffffff;
149
+ box-shadow: 0 2px 8px rgba(0,0,0,.35);
150
+
151
+ will-change: top;
152
+ pointer-events: none; /* moved by JS, wrapper handles input */
153
+ }
154
+
155
+ /* Input range is hidden (we use it only to store the numeric value) */
156
+ .ar-ui input[type="range"].rotY {
157
+ position: absolute;
158
+ opacity: 0;
159
+ pointer-events: none;
160
+ width: 0;
161
+ height: 0;
162
+ }
163
+
164
+ /* Degree label below slider */
165
+ .ar-ui .val {
166
+ font-size: 12px;
167
+ opacity: 0.95;
168
+ }
169
+
170
+ /* ===========================
171
+ Optional: container hints
172
+ =========================== */
173
+ /* If you mount the canvas in a custom container (e.g., #my-ar), you can set a min height */
174
+ #ar-mount-fallback {
175
+ position: relative;
176
+ width: 100%;
177
+ min-height: 70vh; /* can be overridden inline on your site */
178
+ touch-action: manipulation;
179
+ -webkit-tap-highlight-color: transparent;
180
+ }
181
+
182
+ /* Make sure the canvas fills its mount container */
183
+ #ar-mount-fallback > #application-canvas,
184
+ #application-canvas {
185
+ position: absolute;
186
+ inset: 0;
187
+ width: 100%;
188
+ height: 100%;
189
+ display: block;
190
+ }