@font-face{font-family:Archivo;font-weight:400;font-display:swap;src:url(/assets/archivo-400-C81ewxNO.woff2) format("woff2")}@font-face{font-family:Archivo;font-weight:700;font-display:swap;src:url(/assets/archivo-700-D9cHMWGj.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:300;font-display:swap;src:url(/assets/inter-300-BVlfKGgI.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/assets/inter-400-C38fXH4l.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(/assets/inter-700-Yt3aPRUw.woff2) format("woff2")}@font-face{font-family:Caveat;font-weight:400;font-display:swap;src:url(/assets/caveat-400-D6LQsQ_v.woff2) format("woff2")}:root{--cream: #f9f6f1;--cream-50: #fdfbf9;--white: #ffffff;--ink: #00342b;--green: #126254;--green-hover: #00342b;--muted: #49514b;--subtle: #7b877e;--coral: #d95838;--coral-soft: #ff886b;--yellow: #ffc85e;--mint-100: #eef4ee;--mint-200: #d3e2d7;--border: #e4dfd6;--success: #00b67a;--bad: #d95838;--neutral: #d9a419;--font-display: "Archivo", "Helvetica Neue", sans-serif;--font-body: "Inter", "Helvetica Neue", sans-serif;--font-script: "Caveat", cursive;--r-card: 16px;--r-lg: 20px;--r-pill: 999px;--shadow-card: 2px 6px 20px rgba(0,0,0,.08), 2px 2px 4px rgba(0,0,0,.03);--shadow-lg: 0 12px 40px rgba(0,52,43,.12);--ease: cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}body{margin:0;padding:1.5rem 1rem 3rem;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{max-width:900px;margin:0 auto}header{text-align:center;margin-bottom:1.25rem}.sunset-logo{display:inline-flex;align-items:center;gap:12px;margin:0 0 .5rem;font-family:var(--font-display);font-size:40px;line-height:1;letter-spacing:-.02em;font-weight:700}.sunset-logo .logo-dot{width:26px;height:26px;border-radius:var(--r-pill);background:var(--yellow);box-shadow:0 0 0 5px #ffc85e47}.sunset-logo .logo-sun{color:var(--green)}.sunset-logo .logo-set{color:var(--coral)}.subtitle{margin:0 0 .35rem;color:var(--muted);font-size:15px}.puzzle-info{margin:0;color:var(--subtle);font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.game-layout{display:flex;gap:2rem;align-items:flex-start;position:relative}.board-area{flex:1 1 auto;min-width:0}.found-area{flex:0 0 236px;background:var(--cream-50);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;box-shadow:0 1px 2px #00342b0d}.found-title{margin:0 0 .875rem;font-family:var(--font-body);font-weight:700;font-size:16px;color:var(--ink)}.status{display:flex;align-items:center;margin-bottom:1rem;min-height:1.75rem}.progress{display:flex;align-items:center;gap:7px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{position:relative;appearance:none;font:inherit;padding:0;background:var(--white);border:none;border-radius:var(--r-card);box-shadow:var(--shadow-card);cursor:pointer;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 2;overflow:hidden;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.card:active{transform:scale(.98)}.card.selected{box-shadow:inset 0 0 0 3px var(--green),0 0 0 4px #12625429,var(--shadow-card)}.card.shake{animation:sunset-shake .3s ease-in-out}@keyframes sunset-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.card-symbols{display:flex;align-items:center;justify-content:center;gap:5%;width:100%;height:100%;padding:12%}.card-symbol{width:22%;height:auto}.btn{appearance:none;font:inherit;font-weight:700;font-size:15px;border-radius:var(--r-pill);padding:13px 26px;cursor:pointer;transition:transform .14s var(--ease),background .2s var(--ease)}.btn:active{transform:scale(.97)}.btn.secondary{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn.secondary:hover{background:var(--mint-100)}.btn.secondary:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--yellow);color:var(--ink);border:none}.btn.primary:hover{filter:brightness(.97)}.post-game{margin-top:1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.875rem}.victory{margin:0;display:flex;flex-direction:column;gap:.3rem}.victory-title{font-family:var(--font-display);font-size:28px;color:var(--ink)}.victory-note{font-family:var(--font-body);font-size:15px;color:var(--muted)}.found-empty{margin:0;color:var(--subtle);font-size:14px}.found-sets{display:flex;flex-direction:column;gap:10px}.found-set{display:flex;gap:6px;padding:8px;background:var(--mint-100);border-radius:12px}.mini-card{flex:1 1 0;min-width:0;background:var(--white);border-radius:8px;box-shadow:0 1px 2px #00342b0f;display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 2;overflow:hidden}.mini-card .card-symbols{padding:9%}footer{margin-top:2rem;text-align:center;font-size:13px;color:var(--subtle)}footer a{color:var(--green);text-underline-offset:3px}.hidden{display:none!important}.confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:80}@media(max-width:720px){.game-layout{flex-direction:column}.found-area{flex:1 1 auto;width:100%}.found-sets{flex-direction:row;flex-wrap:wrap}.found-set{flex:1 1 45%}}@media(max-width:480px){.sunset-logo{font-size:30px}.sunset-logo .logo-dot{width:20px;height:20px;box-shadow:0 0 0 4px #ffc85e47}}.tut-overlay{position:fixed;inset:0;z-index:100;background:#00342b73;display:flex;align-items:center;justify-content:center;padding:1rem}.tut-panel{position:relative;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--cream-50);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.tut-close{position:absolute;top:10px;right:14px;z-index:2;appearance:none;border:none;background:transparent;font-size:26px;line-height:1;color:var(--subtle);cursor:pointer}.tut-close:hover{color:var(--ink)}.tut-head{padding:1.5rem 1.5rem .5rem}.tut-step-label{font-size:12px;color:var(--subtle);letter-spacing:.03em;margin-bottom:.5rem}.tut-progress-track{height:6px;border-radius:var(--r-pill);background:#efeae0;overflow:hidden}.tut-progress-fill{height:100%;background:var(--yellow);border-radius:var(--r-pill);transition:width .3s var(--ease)}.tut-title{margin:.9rem 0 0;font-family:var(--font-display);font-size:26px;color:var(--ink)}.tut-body{padding:1rem 1.5rem 1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.tut-lead{margin:0;color:var(--muted);font-size:15px}.tut-caption{margin:0;color:var(--muted);font-size:14px}.tut-subhead{margin:0;font-weight:700;font-size:15px}.c-green{color:var(--green)}.c-coral{color:var(--coral)}.tut-nav{display:flex;align-items:center;gap:12px;padding:1rem 1.5rem;border-top:1px solid var(--border)}.tut-nav .spacer{flex:1 1 auto}.tut-chips{display:flex;flex-wrap:wrap;gap:8px}.tut-chip{appearance:none;font:inherit;font-size:14px;font-weight:700;padding:8px 16px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:var(--white);color:var(--muted);cursor:pointer}.tut-chip.active{background:var(--green);border-color:var(--green);color:#fff}.tut-cardrow{display:flex;gap:12px;justify-content:center}.tut-cardrow.small{gap:8px}.tut-cardcell{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.tut-card-label{font-size:13px;color:var(--subtle)}.tut-card{aspect-ratio:3 / 2;background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;overflow:hidden}.tut-cardrow>.tut-card{flex:1 1 0;min-width:0}.tut-cardcell>.tut-card{width:100%}.tut-illus{display:flex;flex-direction:column;gap:14px}.tut-illus-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tut-illus-label{flex:0 0 118px;font-size:14px;font-weight:700}.tut-illus-row .tut-cardrow{flex:1 1 auto}.tut-allowed{font-size:13px;font-weight:700;color:var(--success)}.tut-table{width:100%;border-collapse:collapse;font-size:14px}.tut-table td{padding:9px 12px;border-bottom:1px solid var(--border)}.tut-table tr:last-child td{border-bottom:none}.tut-table .tf{width:34%;font-weight:700;color:var(--ink)}.tut-table .ti{width:2rem;text-align:right;font-weight:700}.tut-table tr.v-same .tv{color:var(--green)}.tut-table tr.v-diff .tv{color:var(--coral)}.tut-table tr.v-same .ti,.tut-table tr.v-diff .ti{color:var(--success)}.tut-table tr.v-fail{background:#fbe7df}.tut-table tr.v-fail .tv,.tut-table tr.v-fail .ti{color:#b23a1e}.tut-slot{flex:1 1 0;min-width:0;aspect-ratio:3 / 2;border:2px dashed var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:28px;color:var(--subtle)}.tut-cands{display:flex;gap:12px;justify-content:center}.tut-cand{flex:1 1 0;min-width:0;aspect-ratio:3 / 2;padding:0;appearance:none;border:none;background:var(--white);border-radius:12px;box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .14s var(--ease),box-shadow .14s var(--ease)}.tut-cand:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.tut-cand:disabled{cursor:default}.tut-cand.correct{box-shadow:inset 0 0 0 3px var(--success),0 0 0 4px #00b67a4d,var(--shadow-card)}.tut-cand.wrong{box-shadow:inset 0 0 0 3px var(--coral),0 0 0 4px #d958384d,var(--shadow-card);animation:sunset-shake .3s ease-in-out}.tut-hint{margin:0;color:var(--coral);font-size:14px}@media(max-width:480px){.tut-title{font-size:22px}.tut-illus-label{flex-basis:100%}}
