*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;overflow-x:hidden}.hero{height:100dvh;position:relative;background:#fff;display:flex;justify-content:center;align-items:center;padding:1.5rem;overflow:hidden}.flower{position:absolute;width:160px;opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.flower-br{bottom:-20px;right:-10px}.flower-tr{top:-20px;right:-10px;transform:rotate(-90deg)}.flower-bl{bottom:-20px;left:-10px}.flower-tl{top:-20px;left:-10px}.hero-content{width:100%;max-width:380px;text-align:center;position:relative;z-index:2}.logo{width:110px;margin:0 auto .2rem;display:block}h1{font-size:2.1rem;font-weight:600;color:#222;margin-bottom:.5rem}.subtitle{font-size:.95rem;font-style:italic;color:#666;margin-bottom:2rem}input{width:100%;padding:.9rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;margin-bottom:1.2rem;transition:border-color .3s}input:focus{outline:none;border-color:#ff7aa8}button{width:100%;padding:.9rem;background:#ff7aa8;color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ff7aa866}button:active{transform:translateY(0)}.result{margin-top:1rem;padding:.75rem;border-radius:5px;text-align:center;font-size:.9rem;display:none}.result.error{background-color:#fee;color:#c33;border:1px solid #fcc;display:block}.result.success{background-color:#efe;color:#3c3;border:1px solid #cfc;display:block}.result.loading{display:block;color:#ff7aa8}.credits{background:#111;color:#eee;padding:2rem 1.5rem;text-align:center;font-size:.9rem}.credits p{margin-bottom:.5rem}.github-btn{display:inline-flex;align-items:center;gap:.6rem;background:#1f1f1f;border:1px solid;border-color:#3d3d3d;color:#ddd;padding:.7rem 1.2rem;border-radius:10px;font-weight:600;text-decoration:none;font-size:.95rem}.schedule{margin-bottom:2rem;text-align:left;font-size:.95rem;color:#333}.line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.day{font-weight:700;background:#e8d9ff;padding:.35rem .7rem;border-radius:8px;color:#000;border:none;white-space:nowrap;font-size:.9rem}.event{text-align:right;flex:1;margin-left:.8rem;color:#555}.separator{width:100%;height:1px;background:#ddd;margin:1.5rem 0;opacity:.8}
