:root{--primary-color: #008c8c;--secondary-color: #0055aa;--accent-color: #ffcc00;--text-color: #333;--bg-gradient: linear-gradient(135deg, #e0f2f1 0%, #e3f2fd 100%);--card-bg: rgba(255, 255, 255, .95);--font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-color);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;-webkit-font-smoothing:antialiased}.app-container{width:100%;max-width:600px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;position:relative}.screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.start-screen .title{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;line-height:1.1;color:var(--secondary-color);letter-spacing:-.02em}.start-screen .title span{color:var(--primary-color);background:-webkit-linear-gradient(45deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.start-screen .subtitle{font-size:1.2rem;margin-bottom:3.5rem;color:#666;font-weight:500}.btn-primary,.btn-secondary,.btn-back,.btn-back-absolute{font-weight:700;border:none;border-radius:50px;cursor:pointer;letter-spacing:.05em;outline:none}.btn-primary{padding:1.2rem 3.5rem;font-size:1.2rem;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 10px 25px #008c8c4d}.btn-secondary{padding:1rem 3rem;font-size:1rem;background:transparent;color:var(--secondary-color);border:2px solid var(--secondary-color);margin-top:1rem}.btn-back-absolute{position:absolute;top:-50px;left:0;background:transparent;color:var(--secondary-color);font-size:.9rem;padding:.5rem 1rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;transition:opacity .3s;z-index:10}.btn-back-absolute:hover{background:#0000000d}.question-screen .question-content{background:var(--card-bg);padding:3rem;border-radius:30px;box-shadow:0 20px 60px #00326414;width:100%;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative}.question-text{font-size:1.6rem;font-weight:700;margin-bottom:1.2rem;color:var(--secondary-color);line-height:1.4}.options-container{display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem}.option-btn{display:flex;align-items:center;background:#fff;border:2px solid transparent;border-radius:16px;padding:1.2rem;cursor:pointer;text-align:left;box-shadow:0 4px 15px #00000008}.option-btn:hover{border-color:#008c8c4d}.option-label{font-weight:800;font-size:1.2rem;color:#fff;background:var(--primary-color);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;margin-right:1.2rem;flex-shrink:0;box-shadow:0 4px 10px #008c8c33}.option-text{font-size:1.1rem;font-weight:600;color:#444}.result-card{background:#fff;padding:4rem 3rem;border-radius:32px;box-shadow:0 25px 80px #003c781f;width:100%;max-width:500px;text-align:center;position:relative;overflow:hidden;border-top:10px solid var(--primary-color)}.result-label{font-size:.9rem;color:#999;letter-spacing:.15em;text-transform:uppercase;font-weight:600;display:block;margin-bottom:.5rem}.result-title{font-size:2.2rem;font-weight:800;color:var(--secondary-color);margin-bottom:2rem;line-height:1.2}.result-quote{font-style:italic;font-size:1.3rem;color:var(--primary-color);margin-bottom:2.5rem;position:relative;padding:1.5rem;background:linear-gradient(to right,#f0fbfb,#fff);border-left:5px solid var(--accent-color);border-radius:0 12px 12px 0;font-weight:500;box-shadow:0 5px 15px #00000008;text-align:left}.result-description{margin-bottom:2rem;line-height:1.8;color:#555;background:#f8f9fa;padding:2rem;border-radius:20px;font-size:1rem;text-align:left}.tags-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:2rem;margin-bottom:3rem}.tag{background:#e1f5fe;color:var(--secondary-color);padding:.6rem 1.2rem;border-radius:30px;font-size:.9rem;font-weight:700;letter-spacing:.02em}.schedule-container{margin-top:4rem;margin-bottom:3rem;text-align:left;border-top:1px solid #eee;padding-top:3rem}.schedule-title{font-size:1.8rem;font-weight:800;color:var(--secondary-color);margin-bottom:3rem;text-align:center;letter-spacing:.05em}.schedule-grid{display:flex;flex-direction:column;gap:0;position:relative}.schedule-row{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;align-items:start;position:relative;padding-bottom:3rem}.schedule-row:last-child{padding-bottom:0}.schedule-row:before{content:"";position:absolute;left:39px;top:0;bottom:0;width:2px;background:#e0e0e0;z-index:1}.schedule-row:first-child:before{top:20px}.schedule-row:last-child:before{bottom:auto;height:20px}.schedule-time{position:relative;z-index:2;text-align:center}.time-sticky{background:#fff;border:3px solid var(--primary-color);border-radius:50%;width:60px;height:60px;margin:0 auto;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000001a}.time-text{font-weight:800;font-size:.9rem;color:var(--secondary-color)}.schedule-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 5px 20px #0000000d;border:1px solid #f0f0f0}.schedule-desc{font-size:1rem;line-height:1.6;color:#444;margin:0}@media(max-width:480px){.app-container{padding:16px}.start-screen .title{font-size:2.5rem}.start-screen .subtitle{font-size:1rem;margin-bottom:2.5rem}.btn-primary{width:100%;font-size:1.1rem;padding:1rem}.btn-back-absolute{top:-40px;font-size:.8rem}.question-screen .question-content{padding:2rem 1.5rem}.question-text{font-size:1.35rem;margin-bottom:1.5rem}.option-btn{padding:1rem}.option-label{width:36px;height:36px;font-size:1rem;margin-right:1rem}.option-text{font-size:1rem}.result-card{padding:2.5rem 1.5rem}.result-title{font-size:1.8rem}.result-quote{font-size:1.1rem;padding:1rem}.result-description{font-size:.95rem;padding:1.5rem 1.2rem}.tag{font-size:.8rem;padding:.5rem .9rem}.btn-secondary{width:100%}.schedule-container{margin-top:2.5rem}.schedule-row{grid-template-columns:60px 1fr;gap:1rem;padding-bottom:2rem}.schedule-row:before{left:29px}.time-sticky{width:45px;height:45px;border-width:2px}.time-text{font-size:.75rem}.schedule-content{padding:1rem}}
