1007 lines
24 KiB
CSS
1007 lines
24 KiB
CSS
:root {
|
|
--create-bg-deep: #000511;
|
|
--create-cyan: #22d3ee;
|
|
--create-cyan-dim: rgba(34, 211, 238, 0.45);
|
|
--create-purple: #a855f7;
|
|
--create-magenta: #bc00ff;
|
|
--create-panel-bg: rgba(0, 5, 17, 0.72);
|
|
--create-text: #f8fafc;
|
|
}
|
|
|
|
* { box-sizing: border-box; }
|
|
|
|
html {
|
|
min-height: 100%;
|
|
-webkit-text-size-adjust: 100%;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-height: 100vh;
|
|
min-height: 100dvh;
|
|
overflow-x: hidden;
|
|
font-family: 'NotoSansThai', 'Kanit', 'Sarabun', 'Segoe UI', system-ui, sans-serif;
|
|
color: var(--create-text);
|
|
background: var(--create-bg-deep);
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'NotoSansThai';
|
|
src: url('FONTS/NotoSansThai-Medium.ttf') format('truetype');
|
|
font-weight: 500;
|
|
font-style: normal;
|
|
font-display: swap;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Background layers */
|
|
/* ================================================== */
|
|
.create-bg {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 0;
|
|
overflow: hidden;
|
|
background: radial-gradient(ellipse 80% 60% at 50% 20%, rgba(88, 28, 135, 0.25), transparent 55%),
|
|
radial-gradient(ellipse 70% 50% at 80% 80%, rgba(34, 211, 238, 0.08), transparent 50%),
|
|
var(--create-bg-deep);
|
|
}
|
|
|
|
.create-bg-grid {
|
|
position: absolute;
|
|
inset: 0;
|
|
opacity: 0.12;
|
|
background-image:
|
|
linear-gradient(rgba(34, 211, 238, 0.35) 1px, transparent 1px),
|
|
linear-gradient(90deg, rgba(168, 85, 247, 0.25) 1px, transparent 1px);
|
|
background-size: 48px 48px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.create-bg-img {
|
|
position: absolute;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
object-position: center;
|
|
opacity: 0.35;
|
|
mix-blend-mode: screen;
|
|
}
|
|
|
|
.create-char-layer {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 0;
|
|
pointer-events: none;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.create-char-img {
|
|
width: 100%;
|
|
height: 100%;
|
|
max-height: 72vh;
|
|
object-fit: contain;
|
|
object-position: center;
|
|
opacity: 0.85;
|
|
filter: brightness(0.62) drop-shadow(0 0 40px rgba(168, 85, 247, 0.35));
|
|
}
|
|
|
|
.create-vignette {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 2;
|
|
pointer-events: none;
|
|
background: radial-gradient(ellipse at center, transparent 0%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0.82) 100%);
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* UI container */
|
|
/* ================================================== */
|
|
.create-ui {
|
|
position: relative;
|
|
z-index: 3;
|
|
min-height: 100vh;
|
|
min-height: 100dvh;
|
|
padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Back button */
|
|
/* ================================================== */
|
|
.create-ui .menu-btn-back {
|
|
position: fixed;
|
|
top: max(clamp(0.5rem, 2vw, 2rem), env(safe-area-inset-top));
|
|
left: max(clamp(0.5rem, 2vw, 2rem), env(safe-area-inset-left));
|
|
padding: 0;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
z-index: 20;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
.create-ui .menu-btn-back-img {
|
|
display: block;
|
|
width: clamp(40px, 10vw, 60px);
|
|
height: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Content wrapper */
|
|
/* ================================================== */
|
|
.create-content {
|
|
width: 100%;
|
|
max-width: min(94vw, 680px);
|
|
margin: 0 auto;
|
|
padding: clamp(34px, 7.5vh, 72px) 0 clamp(16px, 3vh, 30px);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
@media (min-width: 900px) {
|
|
.create-content { max-width: min(88vw, 640px); }
|
|
}
|
|
@media (min-width: 1400px) {
|
|
.create-content { max-width: min(82vw, 720px); }
|
|
}
|
|
|
|
@media (min-width: 1025px) {
|
|
.create-content {
|
|
width: min(calc(90dvh * 640 / 657), calc(100vw - 20px));
|
|
max-width: none;
|
|
height: 90dvh;
|
|
min-height: 90dvh;
|
|
max-height: 90dvh;
|
|
aspect-ratio: 640 / 657;
|
|
margin: 0 auto;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.create-char-layer {
|
|
transform: translateY(10%);
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.create-char-img {
|
|
object-position: center center;
|
|
}
|
|
|
|
.create-ui .menu-btn-back-img {
|
|
width: 112px;
|
|
height: 139px;
|
|
}
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Title image */
|
|
/* ================================================== */
|
|
.create-title-img {
|
|
display: block;
|
|
width: clamp(250px, 38vw, 390px);
|
|
height: auto;
|
|
margin-inline: auto;
|
|
margin-bottom: clamp(0.3rem, 1vh, 0.8rem);
|
|
object-fit: contain;
|
|
filter: drop-shadow(0 0 16px rgba(188, 0, 255, 0.5));
|
|
}
|
|
|
|
.create-title-line {
|
|
display: block;
|
|
width: 72%;
|
|
max-width: 72%;
|
|
height: auto;
|
|
margin: 0 auto 1.4cqh;
|
|
opacity: 0.85;
|
|
filter: drop-shadow(0 0 10px rgba(34, 211, 238, 0.4));
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Panel (form container) */
|
|
/* ================================================== */
|
|
.create-panel {
|
|
width: 100%;
|
|
max-width: 640px;
|
|
min-height: clamp(460px, 62vh, 620px);
|
|
padding: clamp(14px, 2vh, 22px) clamp(10px, 1.4vw, 16px) clamp(14px, 2vh, 22px);
|
|
border: none;
|
|
background: transparent;
|
|
box-shadow: none;
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Label images */
|
|
/* ================================================== */
|
|
.create-label-img {
|
|
display: block;
|
|
height: clamp(24px, 6.2vw, 44px);
|
|
width: auto;
|
|
margin-bottom: 0;
|
|
object-fit: contain;
|
|
filter: drop-shadow(0 0 8px rgba(34, 211, 238, 0.5));
|
|
}
|
|
|
|
.create-label-img--password {
|
|
height: clamp(24px, 6.2vw, 44px);
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Line separator */
|
|
/* ================================================== */
|
|
.create-line {
|
|
display: block;
|
|
width: min(100%, 640px);
|
|
height: auto;
|
|
margin: clamp(5px, 1vh, 10px) 0;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.create-panel .create-line {
|
|
display: none;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Fields */
|
|
/* ================================================== */
|
|
.create-field {
|
|
margin-bottom: clamp(4px, 0.8vh, 9px);
|
|
}
|
|
|
|
.create-field--players {
|
|
margin-bottom: clamp(6px, 1vh, 10px);
|
|
}
|
|
|
|
.create-field--inline {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
gap: clamp(8px, 1.2vw, 14px);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.create-field--mode {
|
|
align-items: center;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Input shell (textfield background image) */
|
|
/* ================================================== */
|
|
.create-input-shell {
|
|
position: relative;
|
|
background: url('IMAGE/roomname-textfield.png') center / 100% 100% no-repeat;
|
|
border: none;
|
|
padding: 0;
|
|
transition: filter 0.2s;
|
|
width: 100%;
|
|
}
|
|
|
|
.create-field--room .create-input-shell {
|
|
width: 69%;
|
|
max-width: 69%;
|
|
}
|
|
|
|
.create-input-shell:focus-within {
|
|
filter: brightness(1.15);
|
|
}
|
|
|
|
.create-input-shell--pin {
|
|
background-image: url('IMAGE/password-textfield.png');
|
|
width: 30%;
|
|
max-width: 30%;
|
|
margin-top: 0.15rem;
|
|
}
|
|
|
|
.create-input {
|
|
width: 100%;
|
|
margin: 0;
|
|
padding: clamp(18px, 5vw, 25px) clamp(18px, 7vw, 40px);
|
|
border: none;
|
|
background: transparent;
|
|
color: #fff;
|
|
font-family: inherit;
|
|
font-size: clamp(1rem, 1.8vw, 1.2rem);
|
|
font-weight: 600;
|
|
outline: none;
|
|
}
|
|
|
|
.create-input::placeholder {
|
|
color: rgba(248, 250, 252, 0.35);
|
|
}
|
|
|
|
.create-input--pin {
|
|
text-align: center;
|
|
letter-spacing: 0.2em;
|
|
font-variant-numeric: tabular-nums;
|
|
font-family: ui-monospace, 'Courier New', monospace;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Mode buttons (image-based) */
|
|
/* ================================================== */
|
|
.create-mode-row {
|
|
display: flex;
|
|
gap: clamp(6px, 1.5vw, 12px);
|
|
justify-content: flex-end;
|
|
flex-wrap: nowrap;
|
|
width: 63%;
|
|
max-width: 63%;
|
|
}
|
|
|
|
.create-mode-btn {
|
|
flex: 1 1 0;
|
|
aspect-ratio: 338 / 143;
|
|
padding: 0;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
-webkit-tap-highlight-color: transparent;
|
|
transition: transform 0.15s, filter 0.2s;
|
|
}
|
|
|
|
.create-mode-btn:hover {
|
|
filter: brightness(1.15);
|
|
}
|
|
|
|
.create-mode-btn:active {
|
|
transform: scale(0.96);
|
|
}
|
|
|
|
.create-mode-btn-img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
aspect-ratio: 338 / 143;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Private block */
|
|
/* ================================================== */
|
|
.create-private-block {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
gap: clamp(8px, 1.2vw, 12px);
|
|
margin: clamp(-2px, -0.3vh, 0px) 0 clamp(5px, 0.8vh, 9px) 0;
|
|
width: 100%;
|
|
}
|
|
|
|
.create-view--hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Player number buttons (image-based) */
|
|
/* ================================================== */
|
|
.create-num-grid {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
gap: clamp(4px, 1vw, 10px);
|
|
justify-content: flex-end;
|
|
margin-top: 0.1rem;
|
|
width: 63%;
|
|
max-width: 63%;
|
|
}
|
|
|
|
.create-num-btn {
|
|
flex: 1 1 0;
|
|
padding: 0;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
-webkit-tap-highlight-color: transparent;
|
|
transition: transform 0.15s, filter 0.15s;
|
|
}
|
|
|
|
.create-num-btn:hover {
|
|
filter: brightness(1.15);
|
|
}
|
|
|
|
.create-num-btn:active {
|
|
transform: scale(0.92);
|
|
}
|
|
|
|
.create-num-btn-img {
|
|
display: block;
|
|
width: 100%;
|
|
height: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Summary (image background) */
|
|
/* ================================================== */
|
|
.create-summary-wrap {
|
|
position: relative;
|
|
margin-bottom: clamp(6px, 1vh, 10px);
|
|
width: 86%;
|
|
max-width: 86%;
|
|
}
|
|
|
|
.create-summary {
|
|
position: relative;
|
|
width: 100%;
|
|
padding: clamp(14px, 3.6vw, 24px) clamp(16px, 2.8vw, 28px);
|
|
text-align: center;
|
|
font-size: clamp(0.95rem, 1.9vw, 1.1rem);
|
|
font-weight: 700;
|
|
color: rgba(248, 250, 252, 0.95);
|
|
background: url('IMAGE/textbox-player.png') center / 100% 100% no-repeat;
|
|
text-shadow: 0 0 8px rgba(34, 211, 238, 0.25);
|
|
border: none;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Confirm button (image-based) */
|
|
/* ================================================== */
|
|
.create-confirm {
|
|
display: block;
|
|
width: 38%;
|
|
max-width: 38%;
|
|
margin: 0 auto;
|
|
padding: 0;
|
|
border: none;
|
|
background: transparent;
|
|
cursor: pointer;
|
|
-webkit-tap-highlight-color: transparent;
|
|
transition: transform 0.15s, filter 0.2s;
|
|
}
|
|
|
|
.create-confirm:hover {
|
|
filter: brightness(1.2);
|
|
}
|
|
|
|
.create-confirm:active {
|
|
transform: scale(0.97);
|
|
}
|
|
|
|
.create-confirm:disabled {
|
|
opacity: 0.4;
|
|
cursor: not-allowed;
|
|
filter: saturate(0.3);
|
|
}
|
|
|
|
.create-confirm-img {
|
|
display: block;
|
|
width: 100%;
|
|
height: auto;
|
|
object-fit: contain;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Status text */
|
|
/* ================================================== */
|
|
.create-status {
|
|
margin: 0.5rem 0 0;
|
|
min-height: 1.2em;
|
|
text-align: center;
|
|
font-size: clamp(0.82rem, 1.7vw, 0.95rem);
|
|
color: #fb7185;
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Small mobile */
|
|
/* ================================================== */
|
|
@media (max-width: 480px) {
|
|
.create-ui .menu-btn-back {
|
|
top: max(clamp(0.25rem, 1.5vw, 1rem), env(safe-area-inset-top));
|
|
left: max(clamp(0.25rem, 1.5vw, 1rem), env(safe-area-inset-left));
|
|
}
|
|
.create-ui .menu-btn-back-img {
|
|
width: clamp(36px, 10vw, 50px);
|
|
}
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Mobile Landscape */
|
|
/* ================================================== */
|
|
@media (max-width: 932px) and (orientation: landscape) {
|
|
body { overflow: hidden; }
|
|
|
|
.create-char-img {
|
|
max-height: 95vh;
|
|
opacity: 0.65;
|
|
}
|
|
|
|
.create-ui {
|
|
height: 100vh;
|
|
height: 100dvh;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
padding: max(4px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.create-ui .menu-btn-back {
|
|
position: absolute;
|
|
top: max(0.3rem, env(safe-area-inset-top));
|
|
left: max(0.3rem, env(safe-area-inset-left));
|
|
}
|
|
|
|
.create-ui .menu-btn-back-img {
|
|
width: clamp(28px, 5vw, 42px);
|
|
}
|
|
|
|
.create-content {
|
|
max-width: min(94vw, 720px);
|
|
padding: clamp(20px, 4.5vh, 34px) 0 clamp(8px, 1.2vh, 12px);
|
|
}
|
|
|
|
.create-title-img {
|
|
width: clamp(210px, 32vw, 340px);
|
|
margin-bottom: clamp(0.25rem, 0.9vh, 0.65rem);
|
|
}
|
|
|
|
.create-panel {
|
|
min-height: auto;
|
|
padding: clamp(10px, 1.6vh, 14px) clamp(10px, 1.8vw, 16px) clamp(10px, 1.6vh, 14px);
|
|
}
|
|
|
|
.create-field--inline {
|
|
gap: clamp(8px, 1.2vw, 12px);
|
|
}
|
|
|
|
.create-label-img {
|
|
height: clamp(24px, 3vw, 34px);
|
|
}
|
|
|
|
.create-label-img--password {
|
|
height: clamp(22px, 2.5vw, 30px);
|
|
margin-bottom: 0.1rem;
|
|
}
|
|
|
|
.create-line {
|
|
margin: clamp(3px, 0.8vh, 8px) 0;
|
|
}
|
|
|
|
.create-field {
|
|
margin-bottom: clamp(4px, 0.8vh, 8px);
|
|
}
|
|
|
|
.create-input {
|
|
padding: clamp(7px, 1.35vh, 11px) clamp(10px, 1.8vw, 14px);
|
|
font-size: clamp(0.88rem, 1.55vw, 0.98rem);
|
|
}
|
|
|
|
.create-input--pin {
|
|
padding: clamp(4px, 1vh, 8px) clamp(8px, 1.5vw, 14px);
|
|
}
|
|
|
|
.create-input-shell--pin {
|
|
width: 30%;
|
|
max-width: 30%;
|
|
}
|
|
|
|
.create-mode-btn-img {
|
|
width: 100%;
|
|
}
|
|
|
|
.create-num-grid {
|
|
gap: clamp(4px, 0.9vw, 8px);
|
|
margin-top: 0.05rem;
|
|
}
|
|
|
|
.create-num-btn-img {
|
|
width: 100%;
|
|
}
|
|
|
|
.create-private-block {
|
|
gap: clamp(6px, 1vw, 10px);
|
|
margin: clamp(-3px, -0.3vh, 0px) 0 clamp(5px, 0.8vh, 9px) 0;
|
|
}
|
|
|
|
.create-summary-wrap {
|
|
margin-bottom: clamp(5px, 1vh, 10px);
|
|
}
|
|
|
|
.create-summary {
|
|
padding: clamp(8px, 1.3vh, 12px) clamp(12px, 2vw, 18px);
|
|
font-size: clamp(0.9rem, 1.75vw, 1.02rem);
|
|
}
|
|
|
|
.create-confirm {
|
|
width: 38%;
|
|
max-width: 38%;
|
|
}
|
|
|
|
.create-status {
|
|
margin-top: 0.3rem;
|
|
font-size: clamp(0.7rem, 1.3vw, 0.82rem);
|
|
}
|
|
}
|
|
|
|
@media (max-height: 620px) and (orientation: landscape) {
|
|
body { overflow: hidden; }
|
|
|
|
.create-ui {
|
|
height: 100vh;
|
|
height: 100dvh;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
padding: max(4px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.create-content {
|
|
max-width: min(94vw, 680px);
|
|
padding: clamp(16px, 3.2vh, 24px) 0 clamp(6px, 1.1vh, 10px);
|
|
}
|
|
|
|
.create-title-img {
|
|
width: clamp(220px, 33vw, 340px);
|
|
margin-bottom: clamp(0.2rem, 0.6vh, 0.45rem);
|
|
}
|
|
|
|
.create-field--inline {
|
|
gap: clamp(8px, 1.2vw, 12px);
|
|
}
|
|
|
|
.create-field--room .create-input-shell { width: 69%; max-width: 69%; }
|
|
.create-mode-row,
|
|
.create-num-grid { width: 63%; max-width: 63%; }
|
|
|
|
.create-label-img { height: clamp(24px, 3.1vw, 34px); }
|
|
.create-label-img--password { height: clamp(20px, 2.4vw, 28px); }
|
|
|
|
.create-mode-btn-img { width: 100%; }
|
|
.create-num-btn-img { width: 100%; }
|
|
.create-input-shell--pin { width: 30%; max-width: 30%; }
|
|
.create-confirm { width: 38%; max-width: 38%; }
|
|
|
|
.create-summary {
|
|
font-size: clamp(0.88rem, 1.55vw, 1rem);
|
|
padding: clamp(8px, 1.25vh, 12px) clamp(12px, 1.8vw, 16px);
|
|
}
|
|
}
|
|
|
|
/* ---- Landscape height <= 400px ---- */
|
|
@media (max-height: 400px) and (orientation: landscape) {
|
|
.create-content {
|
|
max-width: min(92vw, 720px);
|
|
padding-top: clamp(20px, 4vh, 30px);
|
|
}
|
|
|
|
.create-title-img {
|
|
width: clamp(175px, 27vw, 260px);
|
|
margin-bottom: clamp(0.2rem, 0.8vh, 0.5rem);
|
|
}
|
|
|
|
.create-panel {
|
|
padding: clamp(8px, 1.8vh, 12px) clamp(10px, 2vw, 16px) clamp(8px, 1.8vh, 12px);
|
|
}
|
|
|
|
.create-label-img {
|
|
height: clamp(18px, 2.5vw, 24px);
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.create-mode-btn-img { width: 100%; }
|
|
|
|
.create-num-btn-img { width: 100%; }
|
|
|
|
.create-summary {
|
|
padding: clamp(7px, 1.15vh, 9px) clamp(10px, 1.5vw, 14px);
|
|
font-size: clamp(0.84rem, 1.35vw, 0.94rem);
|
|
}
|
|
|
|
.create-confirm { max-width: 38%; width: 38%; }
|
|
}
|
|
|
|
/* ---- Landscape height <= 360px ---- */
|
|
@media (max-height: 360px) and (orientation: landscape) {
|
|
.create-content {
|
|
max-width: min(94vw, 680px);
|
|
padding-top: clamp(20px, 4vh, 30px);
|
|
}
|
|
|
|
.create-title-img {
|
|
width: clamp(150px, 23vw, 220px);
|
|
}
|
|
|
|
.create-panel {
|
|
padding: clamp(4px, 1vh, 10px) clamp(8px, 1.5vw, 14px) clamp(6px, 1vh, 12px);
|
|
}
|
|
|
|
.create-num-btn-img { width: 100%; }
|
|
|
|
.create-num-grid {
|
|
gap: clamp(2px, 0.6vw, 6px);
|
|
}
|
|
|
|
.create-mode-btn-img { width: 100%; }
|
|
|
|
.create-input-shell--pin { width: 30%; max-width: 30%; }
|
|
|
|
.create-ui .menu-btn-back-img {
|
|
width: clamp(22px, 4vw, 32px);
|
|
}
|
|
|
|
.create-confirm { max-width: 38%; width: 38%; }
|
|
}
|
|
|
|
@media (max-width: 700px) and (orientation: portrait) {
|
|
.create-field--inline {
|
|
justify-content: flex-start;
|
|
flex-wrap: wrap;
|
|
white-space: normal;
|
|
}
|
|
|
|
.create-private-block {
|
|
justify-content: flex-start;
|
|
flex-wrap: wrap;
|
|
}
|
|
}
|
|
|
|
/* ================================================== */
|
|
/* Fullscreen no-scroll (height-first) */
|
|
/* ================================================== */
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
|
|
body {
|
|
min-height: 100dvh;
|
|
max-height: 100dvh;
|
|
}
|
|
|
|
.create-ui {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100dvh;
|
|
min-height: 100dvh;
|
|
max-height: 100dvh;
|
|
overflow: hidden !important;
|
|
}
|
|
|
|
.create-content {
|
|
width: min(calc(95dvh * 1), 90vw);
|
|
max-width: min(calc(95dvh * 1), 90vw);
|
|
height: auto;
|
|
min-height: 0;
|
|
max-height: none;
|
|
aspect-ratio: 1 / 1; /* width : height = 1.2 : 1 */
|
|
justify-content: flex-start;
|
|
container-type: size;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.create-title-img {
|
|
width: 50%;
|
|
max-width: 50%;
|
|
margin-top: 2cqh;
|
|
margin-bottom: 0.4cqh;
|
|
}
|
|
|
|
.create-title-line {
|
|
--line-height: 5cqh;
|
|
height: var(--line-height);
|
|
width: min(calc(var(--line-height) * 1018 / 6), 100%);
|
|
max-width: none;
|
|
aspect-ratio: 1018 / 6;
|
|
object-fit: contain;
|
|
margin: -2cqh auto -2cqh;
|
|
}
|
|
|
|
.create-panel {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
min-height: 0;
|
|
padding: 1.6cqh 2.4cqw;
|
|
}
|
|
|
|
.create-field {
|
|
margin-bottom: -2cqh;
|
|
}
|
|
|
|
.create-field--room .create-input-shell {
|
|
height: 14cqh; /* กำหนดสูงเอง */
|
|
width: calc(14cqh * 659 / 140); /* คงสัดส่วนเดิม */
|
|
max-width: 96%;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.create-field--room .create-input {
|
|
position: absolute;
|
|
inset: 18% 8% 18% 8%;
|
|
width: auto;
|
|
height: auto;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 2.7cqh;
|
|
line-height: 1.1;
|
|
}
|
|
|
|
.create-field--mode {
|
|
margin-bottom: -3cqh; /* ใกล้ขึ้น/ห่างขึ้น ปรับค่านี้ */
|
|
}
|
|
|
|
.create-mode-row {
|
|
width: 82%;
|
|
max-width: 82%;
|
|
gap: 0;
|
|
}
|
|
|
|
.create-mode-btn + .create-mode-btn {
|
|
margin-left: -0.4cqh;
|
|
}
|
|
|
|
.create-mode-btn {
|
|
flex: 0 0 auto;
|
|
height: 14cqh; /* match roomname-textfield height */
|
|
width: calc(14cqh * 338 / 143); /* keep mode button ratio */
|
|
}
|
|
|
|
.create-num-grid {
|
|
--num-btn-gap: 0.8cqh; /* ช่องว่างปกติ (ห้ามติดลบ) */
|
|
--num-btn-overlap: -5cqh; /* ซ้อนทับได้ ใส่ค่าติดลบ เช่น -1.2cqh */
|
|
gap: var(--num-btn-gap);
|
|
width: 82%;
|
|
max-width: 82%;
|
|
}
|
|
|
|
.create-num-btn {
|
|
--num-btn-height: 13.1cqh; /* ปรับความสูงปุ่มเลข 1-6 ที่นี่ */
|
|
flex: 0 0 auto;
|
|
height: var(--num-btn-height);
|
|
width: calc(var(--num-btn-height) * 151 / 137);
|
|
aspect-ratio: 151 / 137;
|
|
}
|
|
|
|
.create-num-btn + .create-num-btn {
|
|
margin-left: var(--num-btn-overlap);
|
|
}
|
|
|
|
.create-num-btn-img {
|
|
width: 100%;
|
|
height: 100%;
|
|
aspect-ratio: 151 / 137;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.create-input-shell--pin {
|
|
--pin-field-height: 10.5cqh; /* ปรับความสูงช่องรหัสที่นี่ */
|
|
position: relative;
|
|
overflow: hidden;
|
|
height: var(--pin-field-height);
|
|
width: calc(var(--pin-field-height) * 242 / 110);
|
|
max-width: 38%;
|
|
aspect-ratio: 242 / 110;
|
|
background-size: 100% 100%;
|
|
}
|
|
|
|
.create-input-shell--pin .create-input--pin {
|
|
position: absolute;
|
|
inset: 18% 10% 18% 10%;
|
|
width: auto;
|
|
height: auto;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-family: 'NotoSansThai', 'Kanit', 'Sarabun', sans-serif;
|
|
font-size: 2.5cqh;
|
|
line-height: 1;
|
|
letter-spacing: 0.16em;
|
|
}
|
|
|
|
.create-summary-wrap {
|
|
--summary-field-height: 20cqh; /* ปรับความสูง textbox-player ที่นี่ */
|
|
width: calc(var(--summary-field-height) * 947 / 200);
|
|
max-width: 100%;
|
|
height: var(--summary-field-height);
|
|
margin-bottom: -1cqh;
|
|
}
|
|
|
|
.create-confirm {
|
|
--confirm-btn-height: 15cqh; /* ปรับความสูง btn-confirm ที่นี่ */
|
|
height: var(--confirm-btn-height);
|
|
width: calc(var(--confirm-btn-height) * 404 / 141);
|
|
max-width: 46%;
|
|
aspect-ratio: 404 / 141;
|
|
display: block;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.create-confirm-img {
|
|
width: 100%;
|
|
height: 100%;
|
|
aspect-ratio: 404 / 141;
|
|
object-fit: contain;
|
|
}
|
|
|
|
.create-label-img {
|
|
height: 4.8cqh;
|
|
}
|
|
|
|
.create-field--room .create-label-img {
|
|
height: 10cqh;
|
|
width: calc(10cqh * 202 / 109);
|
|
max-width: 32%;
|
|
aspect-ratio: 202 / 109;
|
|
object-fit: contain;
|
|
transform: translateX(3cqw);
|
|
}
|
|
.create-field--mode .create-label-img {
|
|
height: 9.5cqh; /* ใช้ความสูงเดียวกัน */
|
|
width: calc(9.5cqh * 170 / 99); /* ใช้ความกว้างอ้างอิงเดียวกัน */
|
|
aspect-ratio: 170 / 99;
|
|
object-fit: contain;
|
|
object-position: right center;
|
|
transform: translateX(12.5cqw); /* ชิดขวาในกล่อง */
|
|
}
|
|
|
|
.create-field--players .create-label-img {
|
|
--players-label-height: 9.5cqh; /* ปรับความสูง txt-players ที่นี่ */
|
|
--players-label-offset-x: 2cqw; /* ปรับตำแหน่งให้ตรงกับ txt-roomname */
|
|
height: var(--players-label-height);
|
|
width: calc(var(--players-label-height) * 295 / 99);
|
|
max-width: 44%;
|
|
aspect-ratio: 295 / 99;
|
|
object-fit: contain;
|
|
object-position: right center;
|
|
transform: translateX(var(--players-label-offset-x));
|
|
}
|
|
|
|
.create-private-block {
|
|
margin-bottom: -1cqh; /* เพิ่ม = ห่างขึ้น, ลด/ติดลบ = ชิดขึ้น */
|
|
}
|
|
|
|
.create-field--players {
|
|
margin-bottom: 0cqh; /* เพิ่ม = ห่างขึ้น, ลด/ติดลบ = ชิดขึ้น */
|
|
}
|
|
|
|
.create-label-img--password {
|
|
--password-label-height: 10cqh; /* ปรับความสูง txt-password ที่นี่ */
|
|
height: var(--password-label-height);
|
|
width: calc(var(--password-label-height) * 224 / 110);
|
|
max-width: 34%;
|
|
aspect-ratio: 224 / 110;
|
|
object-fit: contain;
|
|
transform: translate(4cqw, 0.4cqh);
|
|
}
|
|
|
|
.create-input {
|
|
font-family: 'NotoSansThai', 'Kanit', 'Sarabun', sans-serif;
|
|
font-size: 2.8cqh;
|
|
padding: 2.1cqh 3.8cqw;
|
|
}
|
|
|
|
.create-summary {
|
|
--summary-font-size: 4cqh; /* ปรับขนาดฟอนต์ใน textbox-player ที่นี่ */
|
|
position: relative;
|
|
inset: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
font-size: var(--summary-font-size);
|
|
padding: 0 3.2cqw;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-size: 100% 100%;
|
|
aspect-ratio: 947 / 200;
|
|
}
|
|
|
|
.create-status {
|
|
font-family: 'NotoSansThai', sans-serif;
|
|
font-size: 2cqh;
|
|
margin-top: 0.5cqh;
|
|
}
|
|
|