*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;background:linear-gradient(135deg,#5199ae,#405b5e);padding:20px}.layout-wrapper{display:flex;max-width:1400px;margin:0 auto;gap:30px}.poem-sidebar{width:280px;flex-shrink:0;display:flex;align-items:center}.poem-content{background:#fff;border-radius:12px;padding:32px 24px;box-shadow:0 8px 24px #0003;border-left:4px solid #5199ae}.poem-title{color:#5199ae;font-size:1.5rem;margin-bottom:20px;text-align:center;font-weight:600}.poem{color:#405b5e;font-style:italic;line-height:1.8;margin:0 0 24px;padding:0;border:none;font-size:.95rem}.poem-attribution{color:#5199ae;font-size:.85rem;line-height:1.6;padding-top:16px;border-top:1px solid #9ECFCA}.poem-attribution em{color:#405b5e;display:block;margin-bottom:8px}.container{flex:1;max-width:1000px}.header{text-align:center;color:#fff;margin-bottom:30px}.header h1{font-size:3rem;margin-bottom:8px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:1.2rem;opacity:.9}.card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;max-height:85vh;overflow-y:auto}.card h2{color:#5199ae;margin-bottom:24px;font-size:2rem;text-align:center}.image-preview{text-align:center;margin-bottom:32px}.image-preview img{box-shadow:0 4px 12px #00000026}.info-block{margin-bottom:32px;padding:24px;background:#f8fafa;border-radius:12px;border-left:4px solid #5199ae}.info-block h3{color:#5199ae;margin-bottom:16px;font-size:1.4rem}.info-block p{color:#4a5568;line-height:1.7;margin-bottom:12px}.info-block ul{margin-left:24px;margin-bottom:12px}.info-block li{color:#4a5568;line-height:1.7;margin-bottom:8px}.info-block a{color:#5199ae;text-decoration:none;font-weight:600}.info-block a:hover{text-decoration:underline}.tiling-selector{background:#f7fafc;border-radius:12px;padding:24px;margin:24px 0}.tiling-selector h3{color:#2d3748;margin-bottom:16px;font-size:1.2rem}.radio-option{display:flex;align-items:center;gap:12px;cursor:pointer;padding:14px;border-radius:8px;transition:background .2s;margin-bottom:8px}.radio-option:hover{background:#edf2f7}.radio-option input[type=radio]{cursor:pointer;width:20px;height:20px}.radio-option span{font-size:1.05rem;color:#2d3748;font-weight:500}.primary-button{background:linear-gradient(135deg,#5199ae,#3d8165);color:#fff;border:none;padding:16px 32px;font-size:1.2rem;font-weight:700;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #5199ae66;width:100%;margin-top:16px}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5199ae99}.primary-button:active{transform:translateY(0)}.back-to-franklab{display:inline-block;background:#fff;color:#5199ae;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;margin-bottom:20px;transition:all .2s;box-shadow:0 4px 12px #00000026}.back-to-franklab:hover{background:#f8fafa;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.game-screen{background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d}.back-button{background:#64748b;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;margin-bottom:20px;transition:background .2s}.back-button:hover{background:#475569}@media(max-width:768px){.layout-wrapper{flex-direction:column}.poem-sidebar{width:100%;order:1}.container{order:2}.header h1{font-size:2rem}.card{padding:24px}.image-preview img{max-width:100%!important}.info-block{padding:16px}.poem-content{padding:24px 20px}}
