@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";body,html{color:#333;background:#f0f2f5;margin:0;padding:0;font-family:Outfit,sans-serif}*{box-sizing:border-box}@media print{@page{size:auto;margin:0}body,html{background:0 0}.no-print{display:none!important}.main-preview{box-shadow:none!important;background:0 0!important;height:auto!important;padding:0!important}.print-area{box-shadow:none!important;padding:0!important}}.app-container{height:100vh;display:flex;overflow:hidden}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#ffffffd9;border-right:1px solid #0000001a;flex-direction:column;width:400px;padding:24px;display:flex;overflow-y:auto;box-shadow:2px 0 20px #0000000d}.sidebar h2{background:linear-gradient(135deg,#2b5876 0%,#4e4376 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-top:0;margin-bottom:24px;font-family:Playfair Display,serif;font-size:2rem}.section{background:#fff;border-radius:12px;margin-bottom:16px;padding:16px;box-shadow:0 4px 12px #00000008}.section h3{text-transform:uppercase;color:#888;letter-spacing:1px;margin:0 0 12px;font-size:14px}.section label{color:#555;margin-top:12px;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.section input,.section select{border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 12px;font-family:inherit;transition:all .2s}.section input:focus,.section select:focus{border-color:#4e4376;outline:none;box-shadow:0 0 0 3px #4e437633}.clue-list{max-height:250px;margin-bottom:12px;overflow-y:auto}.clue-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:8px;font-size:13px;transition:background .3s;display:flex}.clue-row.unplaced{opacity:.8;background:#fff0f0;border-left:3px solid #ff4d4f}.clue-info strong{color:#4e4376}.del-btn{color:#ff4d4f;cursor:pointer;background:0 0;border:none;font-weight:700}.add-clue{flex-direction:column;gap:8px;display:flex}.add-clue input{font-size:13px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2b5876 0%,#4e4376 100%);border:none;border-radius:6px;padding:12px;font-weight:700;transition:transform .1s,box-shadow .2s}.btn-secondary{color:#333;cursor:pointer;background:#eee;border:none;border-radius:6px;padding:8px;font-weight:700;transition:background .1s}.btn-secondary:hover{background:#ddd}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4e437666}.actions{flex-direction:column;display:flex}.main-preview{background:radial-gradient(circle,#fff 0%,#e6e9f0 100%);flex:1;justify-content:center;align-items:center;padding:40px;display:flex;overflow:auto}.print-area{text-align:center;background:#fff;padding:60px;box-shadow:0 20px 40px #0000001a}.print-area h1.main-title{margin:0 0 10px;font-family:Playfair Display,serif}.main-subtitle{color:#666;margin-bottom:50px;font-family:Playfair Display,serif;font-style:italic}.crossword-wrapper{justify-content:center;align-items:flex-start;gap:60px;display:flex}.layout-portrait .crossword-wrapper{flex-direction:column;align-items:center}.portrait-clues{justify-content:space-around;gap:60px;width:100%;margin-top:40px;display:flex}.clues-column{text-align:left;flex:1}.clues-column h2{text-transform:uppercase;border-bottom:2px solid #eaeaea;margin-bottom:20px;padding-bottom:10px;font-family:Playfair Display,serif;font-size:1.6rem}.clue-text{margin-bottom:15px;line-height:1.4}.clue-text strong{text-align:right;min-width:20px;margin-right:12px;display:inline-block}.crossword-grid{background:0 0}.grid-cell{box-sizing:border-box;position:relative}.grid-cell.active{background:#fff;border:1.5px solid #333}.grid-cell.empty{background:0 0}.cell-num{color:#333;font-size:10px;font-weight:700;position:absolute;top:2px;left:2px}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#00000073;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:16px;width:90%;max-width:420px;padding:32px 36px;animation:.25s slideUp;box-shadow:0 24px 48px #0003,inset 0 0 0 1px #ffffff4d}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{background:linear-gradient(135deg,#2b5876 0%,#4e4376 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 12px;font-family:Playfair Display,serif;font-size:1.4rem}.modal-message{color:#555;margin:0 0 24px;font-size:.95rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 22px;font-size:.9rem;font-weight:600;transition:all .15s}.modal-btn-cancel{color:#555;background:#f0f0f0}.modal-btn-cancel:hover{background:#e0e0e0}.modal-btn-confirm{color:#fff;background:linear-gradient(135deg,#ff4d4f 0%,#d32f2f 100%)}.modal-btn-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d32f2f66}.modal-btn-ok{color:#fff;background:linear-gradient(135deg,#2b5876 0%,#4e4376 100%)}.modal-btn-ok:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4e437666}
