:root{--primary-color:#ff9800;--secondary-color:#4a90e2;--accent-color:#f5f5f5;--text-dark:#222;--text-light:#fff;--color-left:#e74c3c;--color-right:#3498db;--font-family:"Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--primary-color);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex}.top-area{justify-content:center;align-items:center;height:15vh;display:flex;position:relative}.timer-text{letter-spacing:2px;font-size:3rem;font-weight:800}.settings-btn{color:var(--text-dark);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:10px;transition:transform .2s,background-color .2s;display:flex;position:absolute;top:2vh;right:2vw}.settings-btn:hover{background-color:#0000001a;transform:rotate(30deg)}.center-area{flex:1;justify-content:center;align-items:center;display:flex}.direction-display{text-align:center;font-size:30vmin;font-weight:900;line-height:1;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn}.bottom-area{background-color:var(--secondary-color);height:15vh;color:var(--text-light);justify-content:center;align-items:center;display:flex}.remaining-text{letter-spacing:1px;font-size:2.5rem;font-weight:700}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border-radius:20px;width:90%;max-width:500px;max-height:90vh;padding:30px;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.modal-header h2{color:#333;margin:0;font-size:1.8rem}.close-btn{cursor:pointer;color:#666;background:0 0;border:none;transition:color .2s}.close-btn:hover{color:#000}.setting-group{margin-bottom:20px}.setting-group label{color:#444;margin-bottom:8px;font-size:1.1rem;font-weight:700;display:block}.setting-group select,.setting-group input{border:2px solid #ccc;border-radius:8px;outline:none;width:100%;padding:10px;font-family:inherit;font-size:1.1rem}.setting-group select:focus,.setting-group input:focus{border-color:var(--secondary-color)}.modal-actions{justify-content:flex-end;margin-top:30px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:1.1rem;font-weight:700;transition:transform .1s,opacity .2s}.btn:active{transform:scale(.95)}.btn-primary{background-color:var(--secondary-color);color:#fff}.btn-primary:hover{opacity:.9}.timer-mode-container{color:#fff;background-color:#2c3e50;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.full-timer-text{font-variant-numeric:tabular-nums;font-size:18rem;font-weight:900;line-height:1}.timer-controls{gap:20px;margin-top:30px;display:flex}.timer-controls .btn{padding:15px 30px;font-size:1.5rem}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.color-block{border-radius:20px;width:50vw;max-width:400px;height:50vw;max-height:400px;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 10px 20px #0000001a}.left-color{background-color:var(--color-left)}.right-color{background-color:var(--color-right)}
