:root{--hunt-primary: #1d5c4a;--hunt-primary-light: #2d7a5f;--hunt-primary-lighter: #3d9b78;--hunt-accent: #d4a853;--hunt-accent-light: #e8c77a;--hunt-dark: #0f3d32;--hunt-light: #e8f5e9;--hunt-lightest: #f5f9f6;--parchment: #faf6ef;--parchment-dark: #f0e6d3;--parchment-border: #d4c4a8;--ink: #2c1810;--ink-light: #5c4033;--treasure-gold: #d4a853;--treasure-gold-dark: #b8923f;--compass-red: #c44536;--ocean-blue: #3d7ea6;--forest-moss: #6b8e4e;--hunt-gray-100: #f8f9fa;--hunt-gray-200: #e9ecef;--hunt-gray-300: #dee2e6;--hunt-gray-500: #6c757d;--hunt-gray-700: #495057;--hunt-gray-900: #212529;--hunt-success: #2d7a5f;--hunt-warning: #d4a853;--hunt-danger: #c44536;--hunt-info: #3d7ea6;--shadow-sm: 0 1px 3px rgba(44, 24, 16, .08);--shadow-md: 0 4px 12px rgba(44, 24, 16, .12);--shadow-lg: 0 8px 24px rgba(44, 24, 16, .16);--shadow-glow: 0 0 20px rgba(212, 168, 83, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font-display: "Playfair Display", Georgia, serif;--font-handwritten: "Caveat", cursive;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--parchment);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(ellipse at 20% 30%,rgba(212,168,83,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(29,92,74,.03) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);font-weight:700;color:var(--ink);letter-spacing:-.02em}.display-heading,.landing-page h1,.landing-page h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;color:var(--hunt-dark)}.handwritten{font-family:var(--font-handwritten);font-weight:600}.navbar{background:linear-gradient(135deg,var(--hunt-dark) 0%,var(--hunt-primary) 100%)!important;box-shadow:var(--shadow-md);padding:.75rem 0;border-bottom:3px solid var(--treasure-gold);position:relative}.navbar:after{content:"";position:absolute;bottom:-6px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(212,168,83,.5) 20%,var(--treasure-gold) 50%,rgba(212,168,83,.5) 80%,transparent)}.navbar-brand{font-weight:700;letter-spacing:-.5px;transition:var(--transition-normal)}.navbar-brand:hover{transform:scale(1.02)}.navbar .nav-link{font-weight:600;font-size:.95rem;transition:var(--transition-fast);position:relative}.navbar .nav-link:hover{color:var(--treasure-gold)!important}.navbar .btn-outline-light{border-width:2px;font-weight:600;border-radius:var(--radius-full);padding:.5rem 1.25rem;transition:var(--transition-normal)}.navbar .btn-outline-light:hover{background-color:var(--treasure-gold);border-color:var(--treasure-gold);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.landing-page{overflow-x:hidden}.landing-page section{position:relative}.landing-page section:first-of-type{background:radial-gradient(ellipse at 50% 0%,rgba(212,168,83,.08) 0%,transparent 60%),var(--parchment);padding:4rem 0 5rem}.landing-page section:first-of-type:before{content:"";position:absolute;top:20px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(90deg,transparent,var(--treasure-gold),transparent)}.landing-page h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1.5rem;line-height:1.2;animation:fadeInUp .8s ease-out}.landing-page .lead{font-size:1.25rem;color:var(--ink-light);max-width:600px;margin:0 auto 2rem;animation:fadeInUp .8s ease-out .1s backwards}.landing-page .bg-light{background:linear-gradient(180deg,var(--parchment-dark) 0%,var(--parchment) 100%)!important;border-top:1px solid var(--parchment-border);border-bottom:1px solid var(--parchment-border);position:relative}.landing-page .bg-light:before,.landing-page .bg-light:after{content:"~";position:absolute;font-family:var(--font-handwritten);font-size:3rem;color:var(--parchment-border);opacity:.5}.landing-page .bg-light:before{top:1rem;left:2rem}.landing-page .bg-light:after{bottom:1rem;right:2rem}.landing-page .card{background:var(--parchment);border:2px solid var(--parchment-border);border-radius:var(--radius-lg);transition:var(--transition-normal);position:relative;overflow:hidden}.landing-page .card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--hunt-primary),var(--treasure-gold));transform:scaleX(0);transition:var(--transition-normal)}.landing-page .card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--hunt-primary-light)}.landing-page .card:hover:before{transform:scaleX(1)}.landing-page .card .display-4{font-size:3rem;transition:var(--transition-normal)}.landing-page .card:hover .display-4{transform:scale(1.1) rotate(-5deg)}.landing-page .col-6.col-md-4.col-lg-2 .card{border:none;transition:var(--transition-bounce)}.landing-page .col-6.col-md-4.col-lg-2 .card:hover{transform:translateY(-4px) scale(1.05)}.landing-page .card-header.bg-success{background:linear-gradient(135deg,var(--hunt-primary),var(--hunt-dark))!important;border-bottom:2px solid var(--treasure-gold)}.landing-page .card-header.bg-warning{background:linear-gradient(135deg,var(--treasure-gold),var(--treasure-gold-dark))!important;border-bottom:2px solid var(--hunt-dark)}.landing-page .border-success{border-color:var(--treasure-gold)!important}.landing-page .display-5{font-family:var(--font-display);color:var(--hunt-dark)}.landing-page .bg-success{background:linear-gradient(135deg,var(--hunt-primary) 0%,var(--hunt-dark) 100%)!important;position:relative;overflow:hidden}.landing-page .bg-success:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(212,168,83,.1) 0%,transparent 50%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.btn{font-family:var(--font-body);font-weight:600;border-radius:var(--radius-md);transition:var(--transition-normal);position:relative;overflow:hidden}.btn-success,.btn-hunt-primary{background:linear-gradient(135deg,var(--hunt-primary) 0%,var(--hunt-dark) 100%);border:none;color:#fff;box-shadow:0 4px 12px #1d5c4a40}.btn-success:hover,.btn-hunt-primary:hover{background:linear-gradient(135deg,var(--hunt-primary-light) 0%,var(--hunt-primary) 100%);transform:translateY(-2px);box-shadow:0 6px 20px #1d5c4a59}.btn-success:active,.btn-hunt-primary:active{transform:translateY(0)}.btn-warning{background:linear-gradient(135deg,var(--treasure-gold) 0%,var(--treasure-gold-dark) 100%);border:none;color:var(--ink);box-shadow:0 4px 12px #d4a85340}.btn-warning:hover{background:linear-gradient(135deg,var(--treasure-gold-dark) 0%,#a07830 100%);transform:translateY(-2px);box-shadow:0 6px 20px #d4a85359;color:#fff}.btn-outline-success{color:var(--hunt-primary);border:2px solid var(--hunt-primary);background:transparent}.btn-outline-success:hover{background:var(--hunt-primary);border-color:var(--hunt-primary);color:#fff;transform:translateY(-2px)}.btn-lg{padding:.875rem 2rem;font-size:1.1rem;border-radius:var(--radius-lg)}.hunt-wizard{max-width:1100px;margin:0 auto;padding:2rem 1rem}.wizard-progress{padding:0 1rem;margin-bottom:2rem}.wizard-step{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:var(--transition-normal);opacity:.4}.wizard-step.active{opacity:1}.wizard-step.current .step-icon{background:linear-gradient(135deg,var(--treasure-gold) 0%,var(--treasure-gold-dark) 100%);color:var(--ink);transform:scale(1.2);box-shadow:0 0 0 4px var(--parchment),0 0 0 6px var(--treasure-gold),var(--shadow-glow);animation:waypoint-pulse 2s ease-in-out infinite}@keyframes waypoint-pulse{0%,to{box-shadow:0 0 0 4px var(--parchment),0 0 0 6px var(--treasure-gold),0 0 20px #d4a8534d}50%{box-shadow:0 0 0 4px var(--parchment),0 0 0 8px var(--treasure-gold),0 0 30px #d4a85380}}.step-icon{width:48px;height:48px;border-radius:var(--radius-full);background:var(--parchment-dark);border:2px solid var(--parchment-border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:var(--transition-normal);margin-bottom:.5rem;color:var(--ink-light)}.wizard-step.active .step-icon{background:linear-gradient(135deg,var(--hunt-primary-light) 0%,var(--hunt-primary) 100%);border-color:var(--hunt-primary);color:#fff}.step-name{font-size:.75rem;font-weight:600;color:var(--hunt-gray-500);text-transform:uppercase;letter-spacing:.05em}.wizard-step.active .step-name{color:var(--hunt-primary)}.wizard-step.current .step-name{color:var(--treasure-gold-dark);font-weight:700;margin-top:.5rem}.wizard-progress .progress{height:6px;background:var(--parchment-dark);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--parchment-border)}.wizard-progress .progress-bar{background:linear-gradient(90deg,var(--hunt-primary),var(--treasure-gold));border-radius:var(--radius-full);position:relative}.wizard-progress .progress-bar:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--treasure-gold);border-radius:50%;border:2px solid var(--parchment);box-shadow:var(--shadow-sm)}.wizard-content{border:2px solid var(--parchment-border);border-radius:var(--radius-xl);background:var(--parchment);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.wizard-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--hunt-primary),var(--treasure-gold),var(--hunt-primary))}.wizard-content .card-body{min-height:400px;padding:2rem}.wizard-content .card-footer{background:var(--parchment-dark);border-top:2px dashed var(--parchment-border);padding:1.25rem 2rem}.hunt-wizard h3{font-family:var(--font-display);font-size:1.75rem;color:var(--hunt-dark);margin-bottom:1.5rem}.hunt-wizard h3 i{color:var(--treasure-gold)}.location-selector .nav-pills .nav-link{color:var(--ink-light);border-radius:var(--radius-full);padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:var(--transition-fast);border:2px solid transparent}.location-selector .nav-pills .nav-link.active{background:linear-gradient(135deg,var(--hunt-primary) 0%,var(--hunt-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.location-selector .nav-pills .nav-link:hover:not(.active){background:var(--hunt-light);border-color:var(--hunt-primary-light)}.preset-options .btn{border-radius:var(--radius-full);font-size:.8rem;padding:.4rem .875rem;border:2px solid var(--parchment-border);background:var(--parchment);color:var(--ink-light);transition:var(--transition-fast)}.preset-options .btn:hover{border-color:var(--hunt-primary);background:var(--hunt-light);color:var(--hunt-primary)}.location-item{background:var(--parchment);border:2px solid var(--parchment-border)!important;border-radius:var(--radius-md)!important;transition:var(--transition-fast);position:relative}.location-item:hover{background:var(--hunt-lightest);border-color:var(--hunt-primary-light)!important;transform:translate(4px)}.location-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:0;background:var(--hunt-primary);border-radius:0 2px 2px 0;transition:var(--transition-fast)}.location-item:hover:before{height:60%}.location-order .badge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;background:linear-gradient(135deg,var(--hunt-primary) 0%,var(--hunt-dark) 100%)!important;border:2px solid var(--parchment);box-shadow:var(--shadow-sm)}.theme-picker .row{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 991.98px){.theme-picker .row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767.98px){.theme-picker .row{grid-template-columns:1fr}}.theme-card{cursor:pointer;transition:var(--transition-normal);border:2px solid var(--parchment-border);border-radius:var(--radius-lg);height:160px;overflow:hidden;background:var(--parchment);position:relative}.theme-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(212,168,83,.1) 100%);opacity:0;transition:var(--transition-normal)}.theme-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg);border-color:var(--hunt-primary-light)}.theme-card:hover:after{opacity:1}.theme-card.selected{border-color:var(--treasure-gold);box-shadow:0 0 0 2px var(--parchment),0 0 0 4px var(--treasure-gold),var(--shadow-lg)}.theme-card.selected:before{content:"✓";position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;background:var(--treasure-gold);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;z-index:10}.theme-card .card-header{padding:.75rem 1rem;background:transparent;border-bottom:1px dashed var(--parchment-border)}.theme-icon{font-size:1.5rem}.theme-example{font-family:var(--font-handwritten);font-size:1rem;line-height:1.5;color:var(--ink-light)}.clue-card{transition:var(--transition-normal);border:2px solid var(--parchment-border);border-radius:var(--radius-lg);background:var(--parchment);overflow:hidden;position:relative}.clue-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--hunt-primary),var(--treasure-gold))}.clue-card .card-body{min-height:auto;padding:1.25rem}.clue-card:hover{border-color:var(--hunt-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.clue-card .card-header{background:linear-gradient(135deg,var(--hunt-lightest) 0%,var(--parchment) 100%);border-bottom:1px dashed var(--parchment-border);padding:.75rem 1rem}.clue-text{font-family:var(--font-handwritten);font-size:1.1rem;line-height:1.8;color:var(--ink);white-space:pre-wrap}.puzzle-option{cursor:pointer;transition:var(--transition-fast);border:2px solid var(--parchment-border)!important;border-radius:var(--radius-md)!important;margin-bottom:.5rem}.puzzle-option:hover{background:var(--hunt-lightest)!important;border-color:var(--hunt-primary-light)!important}.puzzle-preview{font-family:Courier New,monospace;background:var(--parchment-dark);border-radius:var(--radius-md);border:1px dashed var(--parchment-border);padding:1rem}.play-container{max-width:600px;margin:2rem auto;padding:0 1rem}.play-clue-card{background:var(--parchment);border:3px solid var(--parchment-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.play-clue-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--hunt-primary),var(--treasure-gold),var(--hunt-primary))}.play-clue-card .card-header{background:linear-gradient(135deg,var(--hunt-lightest) 0%,var(--parchment) 100%);border-bottom:2px dashed var(--parchment-border);padding:1rem}.play-clue-card .card-footer{background:var(--parchment-dark);border-top:2px dashed var(--parchment-border)}.play-clue-text{font-family:var(--font-handwritten);font-size:1.4rem;line-height:2;color:var(--ink);text-align:center;padding:2rem}.completion-screen{text-align:center;padding:3rem 1rem;background:radial-gradient(ellipse at center,rgba(212,168,83,.1) 0%,transparent 70%)}.trophy-animation{font-size:5rem;animation:trophy-bounce 1s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(212,168,83,.4))}@keyframes trophy-bounce{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}}.completion-screen h2{font-family:var(--font-display);font-size:2.5rem;color:var(--hunt-primary)}.home-page .hunt-card{border:2px solid var(--parchment-border);border-radius:var(--radius-lg);background:var(--parchment);transition:var(--transition-normal);overflow:hidden}.home-page .hunt-card:hover{border-color:var(--hunt-primary-light);box-shadow:var(--shadow-md);transform:translateY(-4px)}.home-page .hunt-card .card-header{background:linear-gradient(135deg,var(--hunt-lightest) 0%,var(--parchment) 100%);border-bottom:1px dashed var(--parchment-border)}.home-page .hunt-card .card-footer{background:var(--parchment-dark);border-top:1px dashed var(--parchment-border)}.home-page .hunt-card.border-warning{border-color:var(--treasure-gold)!important}.form-control,.form-select{border:2px solid var(--parchment-border);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:1rem;background:var(--parchment);color:var(--ink);transition:var(--transition-fast)}.form-control:focus,.form-select:focus{border-color:var(--hunt-primary);box-shadow:0 0 0 3px #1d5c4a26;background:#fff}.form-control::placeholder{color:var(--hunt-gray-500)}.form-label{font-weight:600;color:var(--ink);margin-bottom:.5rem}.form-text{color:var(--hunt-gray-500);font-size:.875rem;margin-top:.5rem}.form-control-lg{font-size:1.125rem;padding:1rem 1.25rem}.form-range::-webkit-slider-thumb{background:var(--hunt-primary);border:2px solid white;box-shadow:var(--shadow-sm)}.form-range::-moz-range-thumb{background:var(--hunt-primary);border:2px solid white;box-shadow:var(--shadow-sm)}.form-range::-webkit-slider-runnable-track{background:var(--parchment-dark);border:1px solid var(--parchment-border)}.badge.bg-success{background:linear-gradient(135deg,var(--hunt-primary) 0%,var(--hunt-dark) 100%)!important}.badge.bg-warning{background:linear-gradient(135deg,var(--treasure-gold) 0%,var(--treasure-gold-dark) 100%)!important;color:var(--ink)!important}.badge.bg-primary{background:linear-gradient(135deg,var(--ocean-blue) 0%,#2d5f7a 100%)!important}.badge.bg-info{background:linear-gradient(135deg,#5ba3c4 0%,var(--ocean-blue) 100%)!important}.progress{background:var(--parchment-dark);border:1px solid var(--parchment-border);border-radius:var(--radius-full);height:8px}.progress-bar.bg-success{background:linear-gradient(90deg,var(--hunt-primary),var(--hunt-primary-light))!important}.alert{border-radius:var(--radius-md);border:2px solid}.alert-success{background:#2d7a5f1a;border-color:var(--hunt-primary-light);color:var(--hunt-dark)}.alert-warning{background:#d4a8531a;border-color:var(--treasure-gold);color:var(--ink)}.alert-info{background:#3d7ea61a;border-color:var(--ocean-blue);color:#1d4a5e}.alert-light{background:var(--parchment);border-color:var(--parchment-border)}.modal-content{border:2px solid var(--parchment-border);border-radius:var(--radius-xl);background:var(--parchment);box-shadow:var(--shadow-lg)}.modal-header{border-bottom:2px dashed var(--parchment-border);background:linear-gradient(135deg,var(--hunt-lightest) 0%,var(--parchment) 100%)}.modal-footer{border-top:2px dashed var(--parchment-border);background:var(--parchment-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.fade-in{animation:fadeInUp .4s ease-out}.slide-in{animation:slideInLeft .4s ease-out}.stagger-children>*:nth-child(1){animation-delay:0s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.2s}.stagger-children>*:nth-child(4){animation-delay:.3s}.stagger-children>*:nth-child(5){animation-delay:.4s}.stagger-children>*:nth-child(6){animation-delay:.5s}.cursor-pointer{cursor:pointer}.text-hunt-primary{color:var(--hunt-primary)}.text-treasure{color:var(--treasure-gold)}.bg-hunt-light{background-color:var(--hunt-light)}.bg-parchment{background-color:var(--parchment)}.border-hunt-primary{border-color:var(--hunt-primary)!important}.border-treasure{border-color:var(--treasure-gold)!important}.font-display{font-family:var(--font-display)}.font-handwritten{font-family:var(--font-handwritten)}@media (max-width: 768px){.hunt-wizard{padding:1rem .5rem}.wizard-step{flex:1}.step-icon{width:40px;height:40px;font-size:1rem}.wizard-content .card-body{padding:1.25rem}.hunt-wizard h3{font-size:1.5rem}.clue-text{font-size:1rem}.play-clue-text{font-size:1.2rem;padding:1.5rem}.play-container{padding:0 .75rem;margin-top:1rem}.landing-page h1{font-size:1.75rem}.landing-page .lead{font-size:1.1rem}.trophy-animation{font-size:4rem}.completion-screen h2{font-size:2rem}}@media print{body{background:#fff}.navbar,.wizard-progress,.card-footer,.btn{display:none!important}.card{border:1px solid #ddd;box-shadow:none;break-inside:avoid}}footer{background:var(--parchment-dark);border-top:2px dashed var(--parchment-border);color:var(--ink-light)}footer p{font-family:var(--font-handwritten);font-size:1.1rem}
