/* css/style.css */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;900&display=swap');

body {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    background-color: #FFF7ED;
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior-y: none;
    color: #4a4a4a;
}

/* 背景パターン */
.bg-pattern-donut {
    background-image: radial-gradient(#FDBA74 15%, transparent 16%),
                      radial-gradient(#FDBA74 15%, transparent 16%);
    background-size: 60px 60px;
    background-position: 0 0, 30px 30px;
    opacity: 0.1;
    position: fixed; inset: 0; pointer-events: none; z-index: 0;
}

/* 共通パーツのスタイル */
.page-container {
    position: relative;
    z-index: 10;
    max-w-md mx-auto;
    min-h-screen;
    display: flex;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(2px);
}

.btn-hover-effect { transition: transform 0.1s; }
.btn-hover-effect:active { transform: scale(0.96); }

/* ローディング */
#global-loading {
    position: fixed; inset: 0; z-index: 100;
    background-color: rgba(0,0,0,0.5);
    backdrop-filter: blur(4px);
    display: none;
    flex-direction: column;
    align-items: center; justify-content: center;
    color: white;
}

/* その他、ツールごとのスタイル */
.ad-space {
    width: 100%; background-color: #f3f4f6; border: 2px dashed #d1d5db;
    color: #9ca3af; display: flex; align-items: center; justify-content: center;
    padding: 1rem; margin: 1rem 0; border-radius: 0.5rem; font-size: 0.75rem; font-weight: bold; min-height: 100px;
}

/* パズル用などはそのまま記述 */
.puzzle-piece {
    position: absolute; transition: transform 0.1s ease-out; cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.3), 0 2px 4px rgba(0,0,0,0.2);
    border-radius: 6px; background-repeat: no-repeat; box-sizing: border-box;
    touch-action: none; user-select: none; z-index: 10;
}
#puzzle-board {
    position: relative; margin: 0 auto; background-color: #eee;
    border-radius: 8px; box-shadow: inset 0 0 10px rgba(0,0,0,0.1); overflow: hidden;
}

/* 罫線フォント */
.keisen-font {
    font-family: "MS Gothic", "Menlo", monospace; line-height: 1.0; letter-spacing: 0;
}