175 lines
3.5 KiB
CSS
175 lines
3.5 KiB
CSS
:root {
|
|
--color-background-light-pink: #ffe0f0;
|
|
--color-text: #333;
|
|
--color-game-container-bg: white;
|
|
--color-game-container-shadow: rgba(0, 0, 0, 0.1);
|
|
--color-board-bg: #ffefff;
|
|
--color-board-border: #ffccff;
|
|
--color-grid-lines: #ff99ff;
|
|
--color-intersection-hover: rgba(255, 192, 203, 0.3);
|
|
--color-heart-pink: #FFB6C1;
|
|
--color-last-move-glow: rgba(255, 255, 0, 0.7);
|
|
--color-black: #000;
|
|
--color-white: #fff;
|
|
--color-success-purple: #e0b0ff;
|
|
}
|
|
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 100vh;
|
|
margin: 0;
|
|
background-color: var(--color-background-light-pink);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
#game-container {
|
|
background-color: var(--color-game-container-bg);
|
|
padding: 20px;
|
|
border-radius: 12px;
|
|
box-shadow: 0 0 20px var(--color-game-container-shadow);
|
|
text-align: center;
|
|
}
|
|
|
|
.game-board-grid {
|
|
position: relative;
|
|
width: calc(14 * 30px);
|
|
height: calc(14 * 30px);
|
|
margin-top: 20px;
|
|
background-color: var(--color-board-bg);
|
|
border: 2px solid var(--color-board-border);
|
|
}
|
|
|
|
.game-board-grid::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-image:
|
|
linear-gradient(to right, var(--color-grid-lines) 1px, transparent 1px),
|
|
linear-gradient(to bottom, var(--color-grid-lines) 1px, transparent 1px);
|
|
background-size: 30px 30px;
|
|
background-position: -1px -1px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.intersection {
|
|
position: absolute;
|
|
width: 30px;
|
|
height: 30px;
|
|
margin-left: -15px;
|
|
margin-top: -15px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
cursor: pointer;
|
|
z-index: 1;
|
|
}
|
|
|
|
.intersection:hover {
|
|
background-color: var(--color-intersection-hover);
|
|
}
|
|
|
|
.stone-black-heart, .stone-white-heart {
|
|
position: relative;
|
|
width: 24px;
|
|
height: 24px;
|
|
margin: auto;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.stone-black-heart::before,
|
|
.stone-black-heart::after,
|
|
.stone-white-heart::before,
|
|
.stone-white-heart::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 12px;
|
|
height: 20px;
|
|
border-radius: 50% 50% 0 0;
|
|
border: 1px solid var(--color-black);
|
|
box-sizing: border-box;
|
|
transform: rotate(-45deg);
|
|
transform-origin: 0 100%;
|
|
top: 0;
|
|
left: 12px;
|
|
}
|
|
|
|
.stone-black-heart::after,
|
|
.stone-white-heart::after {
|
|
left: 0;
|
|
transform: rotate(45deg);
|
|
transform-origin: 100% 100%;
|
|
}
|
|
|
|
.stone-black-heart::before, .stone-black-heart::after {
|
|
background-color: var(--color-heart-pink);
|
|
}
|
|
|
|
.stone-white-heart::before, .stone-white-heart::after {
|
|
background-color: var(--color-white);
|
|
}
|
|
|
|
.last-move {
|
|
box-shadow: 0 0 5px 3px var(--color-last-move-glow);
|
|
}
|
|
|
|
#messages {
|
|
margin-top: 10px;
|
|
font-size: 0.9em;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
#title-box {
|
|
font-weight: bold;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
#game-link-container {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 40px;
|
|
margin-top: 20px;
|
|
}
|
|
|
|
#copy-link-button {
|
|
position: absolute;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
transition: opacity 0.3s ease;
|
|
padding: 8px 15px;
|
|
border-radius: 5px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
#copy-link-button {
|
|
background-color: var(--color-board-border);
|
|
color: var(--color-text);
|
|
border: none;
|
|
cursor: pointer;
|
|
gap: 8px;
|
|
font-size: 1em;
|
|
}
|
|
|
|
#copy-link-button:hover {
|
|
background-color: var(--color-grid-lines);
|
|
}
|
|
|
|
#copy-link-button.copied-state {
|
|
background-color: var(--color-success-purple);
|
|
}
|
|
|
|
img.icon {
|
|
width: 1em;
|
|
height: 1em;
|
|
vertical-align: middle;
|
|
}
|