:root{color:#1f2a36;background:#fefaf0;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#facc1538,#0000 35%),radial-gradient(circle at 100% 20%,#0ea5e92e,#0000 40%),linear-gradient(#fff8e7 0%,#fff 65%);min-height:100vh;margin:0}#app{max-width:1100px;margin:0 auto;padding:28px 18px 40px}.page{gap:14px;display:grid}.header-back-btn{color:#fff;background:#ffffff2e;border:1px solid #fff6;border-radius:12px;flex-shrink:0;place-items:center;width:44px;min-width:44px;height:44px;text-decoration:none;transition:background .12s,transform .12s;display:grid}.header-back-btn:hover{background:#ffffff4d}.header-back-btn:active{transform:scale(.96)}.header-back-icon{font-size:1.45rem;font-weight:800;line-height:1}.masthead-title-group{align-items:center;gap:12px;min-width:0;display:flex}.masthead-title-group h1{margin:10px 0 0}.home-page .puzzle-catalog{gap:14px;display:grid}.puzzle-card{border-left:4px solid var(--puzzle-accent,#f97316);grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.puzzle-card--interactive{color:inherit;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s}.puzzle-card--interactive:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a1f}.puzzle-card--interactive:focus-visible{outline:2px solid var(--puzzle-accent,#f97316);outline-offset:2px}.puzzle-card-glyph{background:color-mix(in srgb, var(--puzzle-accent,#f97316) 16%, white);width:56px;height:56px;color:var(--puzzle-accent,#f97316);border-radius:14px;place-items:center;font-size:1.8rem;line-height:1;display:grid}.puzzle-card-body h2{margin:0;font-size:1.35rem;line-height:1.2}.puzzle-card-body p{color:#475569;margin:6px 0 0;line-height:1.45}.puzzle-card-badge{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;margin-top:10px;padding:8px 12px;font-size:.85rem;font-weight:700;display:inline-block}.puzzle-card.is-unavailable{opacity:.72}.masthead{color:#fff;background:linear-gradient(120deg,#f97316,#0891b2);border-radius:20px;padding:24px;animation:.45s ease-out drop-in;box-shadow:0 16px 30px #1f29372e}.eyebrow{text-transform:uppercase;letter-spacing:.13em;opacity:.92;margin:0;font-size:.78rem}h1{margin:10px 0 0;font-size:clamp(2rem,4.7vw,3.6rem);line-height:1}.subtitle{max-width:60ch;margin:10px 0 0;line-height:1.4}.panel{background:#ffffffe6;border:1px solid #ead8b8;border-radius:16px;padding:16px;box-shadow:0 8px 24px #0f172a14}.controls{grid-template-columns:repeat(2,minmax(180px,220px)) minmax(180px,1fr) minmax(140px,180px);align-items:end;gap:10px;display:grid}label{color:#334155;gap:6px;font-weight:700;display:grid}select,.btn{border:1px solid #cbd5e1;border-radius:12px;height:44px;padding:0 12px;font-size:1rem}select{background:#fff}.btn{color:#fff;cursor:pointer;background:linear-gradient(120deg,#ea580c,#0284c7);border:none;font-weight:700;transition:transform .12s,box-shadow .12s}.btn:hover:enabled{transform:translateY(-1px);box-shadow:0 8px 18px #0284c742}.btn:disabled{opacity:.56;cursor:not-allowed}.btn.secondary{color:#0f172a;background:#fff;border:1px solid #94a3b8}.desktop-controls .generate-btn{align-self:end;width:100%;margin-top:22px}.board-wrap{overflow-x:auto}.board-shell{justify-content:center;display:flex}.board{aspect-ratio:1;background:#fff;border:3px solid #0f172a;border-radius:8px;width:100%;height:100%;display:grid;overflow:hidden}.cell{color:#0f172a;cursor:pointer;border-style:solid;border-color:#0f172a80;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;font-size:clamp(1rem,2.2vw,1.5rem);font-weight:900;line-height:1;transition:transform .1s,filter .13s;display:grid}.cell:hover{filter:saturate(1.15)}.cell.is-active{transform:scale(.98)}.cell.is-conflict{box-shadow:inset 0 0 0 3px #dc2626}.cell.is-correct{box-shadow:inset 0 0 0 3px #16a34a}.cell.is-wrong{box-shadow:inset 0 0 0 3px #dc2626}.cell.is-missing{box-shadow:inset 0 0 0 3px #d97706}.cell.is-mark{color:#9ca3af}.star-glyph{color:#facc15;text-shadow:0 0 1px #92400e,0 1px 2px #0f172a73;font-size:clamp(1.4rem,3vw,2rem);line-height:1}.digit-glyph{font-size:clamp(1rem,2.4vw,1.45rem);line-height:1}.cell.is-given .digit-glyph{color:#0f172a;font-weight:900}.cell.has-value:not(.is-given) .digit-glyph{color:#5b21b6;font-weight:800}.cell.is-correct .digit-glyph,.cell.is-correct.has-value:not(.is-given) .digit-glyph{color:#15803d;font-weight:800}.cell.is-wrong .digit-glyph,.cell.is-wrong.has-value:not(.is-given) .digit-glyph{color:#dc2626;font-weight:800}.cell.is-missing .digit-glyph{color:#b45309}.cell.is-correct .star-glyph{color:#16a34a;text-shadow:0 0 1px #14532d,0 1px 2px #0f172a59}.cell.is-wrong .star-glyph{color:#dc2626;text-shadow:none}.masthead.suguru-masthead,.mobile-appbar.suguru-appbar{background:linear-gradient(120deg,#7c3aed,#0891b2)}.masthead.sudoku-masthead,.mobile-appbar.sudoku-appbar{background:linear-gradient(120deg,#2563eb,#0891b2)}.masthead.loops-masthead,.mobile-appbar.loops-appbar{background:linear-gradient(120deg,#059669,#0891b2)}.masthead.campsites-masthead,.mobile-appbar.campsites-appbar{background:linear-gradient(120deg,#16a34a,#0891b2)}.masthead-title-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.header-timer{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;margin:10px 0 0;display:flex}.header-timer-label{letter-spacing:.12em;text-transform:uppercase;opacity:.88;font-size:.72rem;font-weight:700}.header-timer-value{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:clamp(1.6rem,3.2vw,2.35rem);font-weight:800;line-height:1}.stars-appbar .appbar-main,.suguru-appbar .appbar-main,.sudoku-appbar .appbar-main,.loops-appbar .appbar-main,.campsites-appbar .appbar-main{flex:1;min-width:0}.stars-appbar .appbar-timer,.suguru-appbar .appbar-timer,.sudoku-appbar .appbar-timer,.loops-appbar .appbar-timer,.campsites-appbar .appbar-timer{align-items:flex-end;margin:0}.stars-appbar .header-timer-value,.suguru-appbar .header-timer-value,.sudoku-appbar .header-timer-value,.loops-appbar .header-timer-value,.campsites-appbar .header-timer-value{font-size:1.55rem}.stars-appbar .header-timer-label,.suguru-appbar .header-timer-label,.sudoku-appbar .header-timer-label,.loops-appbar .header-timer-label,.campsites-appbar .header-timer-label{font-size:.62rem}.info-icon-btn{flex:0 0 42px;width:42px;min-width:42px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;font-weight:800}.stars-page,.suguru-page,.sudoku-page,.loops-page,.campsites-page{--puzzle-edge-region-w:2px;--puzzle-edge-inner-w:1px;--puzzle-edge-region-c:#000;--puzzle-edge-inner-c:#d1d5db}.stars-page .board,.suguru-page .board,.sudoku-page .board,.loops-page .board,.campsites-page .board{border-width:2px;border-color:#000}.sudoku-page .cell.is-given .digit-glyph,.suguru-page .cell.is-given .digit-glyph{color:#000;font-size:clamp(1.12rem,2.75vw,1.62rem);font-weight:800}.sudoku-page .cell.has-value:not(.is-given) .digit-glyph,.suguru-page .cell.has-value:not(.is-given) .digit-glyph{color:#64748b;font-weight:500}.sudoku-page .cell.is-correct.is-given .digit-glyph,.suguru-page .cell.is-correct.is-given .digit-glyph{color:#000;font-weight:800}.sudoku-page .cell.is-correct.has-value:not(.is-given) .digit-glyph,.suguru-page .cell.is-correct.has-value:not(.is-given) .digit-glyph{color:#15803d;font-weight:600}.sudoku-page .cell.is-wrong.has-value:not(.is-given) .digit-glyph,.suguru-page .cell.is-wrong.has-value:not(.is-given) .digit-glyph{color:#dc2626;font-weight:600}.sudoku-page .btn.generate-btn,.sudoku-page .btn:not(.secondary){background:linear-gradient(120deg,#2563eb,#0284c7)}.sudoku-page .desktop-controls{grid-template-columns:minmax(200px,1.4fr) minmax(200px,1.2fr);gap:14px}.sudoku-page .desktop-controls select{width:100%}.sudoku-page .desktop-controls .generate-btn{margin-top:0}@media (width<=900px){.sudoku-page .desktop-controls{grid-template-columns:1fr 1fr}}.loops-page .btn.generate-btn,.loops-page .btn:not(.secondary){background:linear-gradient(120deg,#059669,#0284c7)}.loops-page .desktop-controls{grid-template-columns:minmax(130px,.9fr) minmax(200px,1.4fr) minmax(200px,1.2fr);gap:14px}.loops-page .desktop-controls select{width:100%}.loops-page .desktop-controls .generate-btn{margin-top:0}@media (width<=900px){.loops-page .desktop-controls{grid-template-columns:1fr 1fr}.loops-page .desktop-controls .generate-btn{grid-column:1/-1}}.campsites-page .btn.generate-btn,.campsites-page .btn:not(.secondary){background:linear-gradient(120deg,#16a34a,#0284c7)}.campsites-page .campsites-game-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.campsites-page .campsites-library-link{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.campsites-page .appbar-puzzle-info{color:#ffffffeb;margin:2px 0 0;font-size:.82rem;font-weight:700}.campsites-board-wrap{min-height:280px;overflow:hidden}.campsites-board-wrap .board-shell{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;overflow:hidden}.campsites-counts-layout{--campsites-count-track:clamp(1.35rem, 3vw, 2.25rem);grid-template-columns:var(--campsites-count-track) minmax(0, 1fr);grid-template-rows:var(--campsites-count-track) minmax(0, 1fr);aspect-ratio:1;gap:clamp(2px,.4vw,6px);width:min(100%,72vh);min-width:0;max-width:100%;margin:0 auto;display:grid}.count-corner{min-width:0;min-height:0}.count-row,.count-col{gap:0;min-width:0;min-height:0;display:grid}.count-row{align-items:stretch;width:100%;height:100%}.count-col{justify-items:stretch;width:100%;height:100%}.count-chip{color:#475569;white-space:nowrap;text-overflow:ellipsis;background:#f1f5f9;border-radius:4px;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0 1px;font-size:clamp(.42rem,1.6vw,.72rem);font-weight:700;display:grid;overflow:hidden}.count-chip.is-complete{color:#15803d;background:#dcfce7}.count-chip.is-over{color:#dc2626;background:#fee2e2}.count-chip.is-under{color:#b45309;background:#fef3c7}.campsites-board{width:100%;min-width:0;height:100%;min-height:0;aspect-ratio:unset;touch-action:none;-webkit-user-select:none;user-select:none}.campsites-board.is-drag-marking,.campsites-board.is-drag-marking .cell:not(.is-tree){cursor:crosshair}.campsites-board .cell{aspect-ratio:1;container-type:size}.tree-glyph{font-size:min(72cqw,72cqh,1.5rem);line-height:1}.tent-glyph{font-size:min(78cqw,78cqh,1.65rem);line-height:1}.campsites-board .mark-glyph{font-size:min(62cqw,62cqh,1.2rem);line-height:1}.cell.is-tree{cursor:default}.cell.is-tree:hover{filter:none}.cell.is-correct .tent-glyph{filter:hue-rotate(80deg)saturate(1.4)}.cell.is-wrong .tent-glyph,.cell.is-conflict .tent-glyph{filter:grayscale()brightness(.7)sepia()hue-rotate(-50deg)saturate(5)}.generation-error{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0;padding:10px 14px;font-weight:600}.empty-state{text-align:center;color:#475569}.loading-card.is-error{color:#b91c1c;border-color:#ef444473}.loading-card.is-error p{text-align:center;line-height:1.45}.loops-board-wrap .board-shell{touch-action:none;cursor:crosshair;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0}.loops-board{aspect-ratio:1;touch-action:none;background:#fffbeb;border:2px solid #0f172a;border-radius:8px;width:100%;max-width:min(100%,72vh);margin:0 auto;display:grid;overflow:hidden}.loops-page .pipe-cell{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#fffbeb;min-width:0;min-height:0;padding:0;position:relative}.loops-page .pipe-cell.is-clue{background:#ecfdf5}.loops-page .pipe-cell.is-clue .pipe-line,.loops-page .pipe-cell.is-clue .pipe-arc{stroke:#047857}.loops-page .pipe-cell.is-blocked{cursor:not-allowed;pointer-events:none;background:#cbd5e1}.loops-page .pipe-cell.is-blocked:after{content:"";opacity:.55;background:repeating-linear-gradient(-45deg,#94a3b8,#94a3b8 3px,#cbd5e1 3px 8px);border-radius:4px;position:absolute;inset:18%}.loops-page .pipe-cell.has-pipe{background:#fffef5}.loops-page .pipe-cell.is-active,.loops-page .pipe-cell.is-stroking{background:#fef9c3}.loops-page .pipe-edge-zone{z-index:2;pointer-events:none;position:absolute}.loops-page .pipe-edge-zone.is-edge-hot{background:#05966938}.loops-page .pipe-edge-n{height:34%;top:0;left:18%;right:18%}.loops-page .pipe-edge-s{height:34%;bottom:0;left:18%;right:18%}.loops-page .pipe-edge-w{width:34%;top:18%;bottom:18%;left:0}.loops-page .pipe-edge-e{width:34%;top:18%;bottom:18%;right:0}.loops-page .pipe-svg{pointer-events:none;z-index:1;width:84%;height:84%;position:absolute;inset:8%;overflow:visible}.loops-page .pipe-svg .pipe-line,.loops-page .pipe-svg .pipe-arc{fill:none;stroke:#0f172a;stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.loops-page .pipe-svg .pipe-preview{stroke:#059669;stroke-width:12px;stroke-dasharray:8 8;opacity:.85}.loops-page .pipe-cell.is-correct .pipe-line,.loops-page .pipe-cell.is-correct .pipe-arc{stroke:#16a34a}.loops-page .pipe-cell.is-wrong .pipe-line,.loops-page .pipe-cell.is-wrong .pipe-arc{stroke:#dc2626}.loops-page .pipe-cell.is-empty-hint{background:#fff7ed}.stars-page .desktop-controls{grid-template-columns:minmax(130px,.9fr) minmax(200px,1.4fr) minmax(200px,1.2fr);gap:14px}.stars-page .desktop-controls select{width:100%}.stars-page .desktop-controls .generate-btn{margin-top:0}@media (width<=900px){.stars-page .desktop-controls{grid-template-columns:1fr 1fr}.stars-page .desktop-controls .generate-btn{grid-column:1/-1}}.suguru-page .btn.generate-btn,.suguru-page .btn:not(.secondary){background:linear-gradient(120deg,#7c3aed,#0284c7)}.suguru-page .desktop-controls{grid-template-columns:minmax(130px,.9fr) minmax(200px,1.4fr) minmax(200px,1.2fr);gap:14px}.suguru-page .desktop-controls select{width:100%}.suguru-page .desktop-controls .generate-btn{margin-top:0}@media (width<=900px){.suguru-page .desktop-controls{grid-template-columns:1fr 1fr}.suguru-page .desktop-controls .generate-btn{grid-column:1/-1}}.mark-glyph{color:#9ca3af;font-size:clamp(.95rem,1.8vw,1.2rem);line-height:1}.cell.is-solution{outline-offset:-2px;outline:2px solid #0284c78c}.legend{color:#475569;flex-wrap:wrap;gap:12px;margin-top:12px;font-weight:600;display:flex}.legend p{margin:0}.bottom-actions{flex-wrap:wrap;gap:10px;display:flex}.bottom-actions .btn{flex:120px;height:42px}.bottom-actions .info-icon-btn{flex:0 0 42px;place-items:center;width:42px;min-width:42px;display:grid}.timer-panel{color:#0f172a;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:800;display:flex}.timer-panel p{margin:0;font-size:1rem}.loading-overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fff8e7b8;place-items:center;display:grid;position:fixed;inset:0}.loading-card{color:#0f172a;pointer-events:auto;background:#ffffffeb;border:1px solid #94a3b873;border-radius:18px;place-items:center;gap:14px;padding:22px 28px;font-weight:800;display:grid;box-shadow:0 18px 40px #0f172a2e}.loading-spinner{border:5px solid #facc15;border-color:#facc15 #f59e0b #94a3b84d #94a3b84d;border-radius:50%;width:52px;height:52px;animation:.9s linear infinite spin}.loading-progress{background:#94a3b840;border-radius:999px;width:min(240px,70vw);height:6px;overflow:hidden}.loading-progress-bar{border-radius:inherit;background:linear-gradient(120deg,#facc15,#f59e0b);width:40%;height:100%;animation:1.4s ease-in-out infinite loading-progress-slide;display:block}.loading-elapsed{color:#64748b;margin:0;font-size:.85rem;font-weight:600}.campsites-page .loading-progress-bar{background:linear-gradient(120deg,#16a34a,#0284c7)}.loops-page .loading-progress-bar{background:linear-gradient(120deg,#059669,#0891b2)}.stars-page .loading-progress-bar{background:linear-gradient(120deg,#facc15,#f59e0b)}.suguru-page .loading-progress-bar{background:linear-gradient(120deg,#7c3aed,#db2777)}.sudoku-page .loading-progress-bar{background:linear-gradient(120deg,#2563eb,#7c3aed)}@keyframes loading-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes spin{to{transform:rotate(360deg)}}.dialog-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a6b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog-card{text-align:center;background:#fffffffa;border:1px solid #94a3b873;border-radius:20px;gap:14px;width:min(92vw,420px);padding:24px;display:grid;box-shadow:0 22px 50px #0f172a47}.dialog-card h2{margin:0;font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.05}.dialog-card p{color:#334155;margin:0;line-height:1.45}.dialog-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#0284c7;font-size:.76rem;font-weight:800}.dialog-card .btn{justify-self:center;min-width:140px}@media (width<=900px){.controls{grid-template-columns:1fr 1fr}.board-shell{grid-template-rows:30px min(92vw,620px);grid-template-columns:44px min(92vw,620px)}}.mobile-appbar,.mobile-controls{display:none}@media (width<=700px){.home-page{height:auto;overflow:auto}body:has(.home-page){overflow:auto}body{overflow:hidden}#app{max-width:none;height:100dvh;padding:8px}.page{flex-direction:column;gap:8px;height:100%;display:flex;overflow:hidden}.masthead,.desktop-controls{display:none}.mobile-appbar{color:#fff;background:linear-gradient(120deg,#f97316,#0891b2);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 12px 24px #1f293729}.mobile-appbar .eyebrow{font-size:.68rem}.mobile-appbar h1{margin-top:6px;font-size:1.8rem}.appbar-info-btn{color:#0f172a;background:#ffffffeb;border-color:#ffffffa6;height:38px;padding:0 14px}.rules-dialog{text-align:left}.rules-list{color:#334155;margin:0;padding-left:1.2rem;line-height:1.45}.rules-list li+li{margin-top:6px}.appbar-info-btn{height:34px;padding:0 12px;font-size:.92rem}.mobile-controls{background:#fffffff0;border-radius:16px;flex:none;padding:12px;display:block}.mobile-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-controls-grid label{gap:4px;font-size:.9rem}.mobile-controls-grid .btn,.mobile-controls-grid select{height:40px;font-size:.94rem}.mobile-controls-grid .generate-btn{grid-column:1/-1;align-self:end;width:100%;margin-top:0}.bottom-actions{background:#fffffff5;border-radius:16px;flex:none;gap:10px;padding:10px;display:flex;box-shadow:0 -10px 28px #0f172a29}.bottom-actions .btn{flex:1 1 0;height:42px}.board-wrap{flex:1 1 0;min-width:0;min-height:min(42dvh,360px);padding:8px;display:flex;overflow:hidden}.loops-board-wrap{container-type:size}.campsites-board-wrap .board-shell{width:100%;height:auto}.campsites-counts-layout{--campsites-count-track:clamp(1rem, 3.5vw, 1.75rem);width:min(100%,100dvh - 15.5rem,72vh);max-width:100%;max-height:100%}.board-shell{justify-content:center;align-items:center;width:100%;min-width:0;height:auto;min-height:0;display:flex}.board{aspect-ratio:1;flex:none;width:min(100cqw,100cqh);max-width:100%;max-height:100%}.loops-board{aspect-ratio:1;width:min(100cqw,100cqh);max-width:100%;height:min(100cqw,100cqh);max-height:100%}.campsites-board .cell{font-size:unset}.count-chip{border-radius:3px;font-size:clamp(.38rem,2.8vw,.66rem)}.cell{font-size:clamp(.9rem,4.2vw,1.3rem)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.puzzle-info-label{color:#0f766e;margin:0;font-size:1rem;font-weight:800}.puzzle-info-label.is-muted{color:#64748b;font-weight:700}@media (width<=700px){.campsites-page .campsites-game-bar{padding:10px 12px}.campsites-page .campsites-game-bar .puzzle-info-label{display:none}.campsites-page .campsites-library-link{width:100%;height:40px;font-size:.94rem}}.campsites-archive-page .archive-filters{grid-template-columns:minmax(130px,1fr) minmax(200px,1.4fr);gap:14px}.campsites-archive-page .archive-filters select{width:100%}.campsites-archive-page .archive-clear-btn{white-space:nowrap;align-self:end}@media (width<=700px){.campsites-archive-page .archive-filters{grid-template-columns:1fr 1fr}.campsites-archive-page .archive-clear-btn{grid-column:1/-1;width:100%;height:44px}}.campsites-archive-page .archive-group{gap:12px;display:grid}.campsites-archive-page .archive-tile-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.campsites-archive-page .archive-tile-cell{min-width:0;display:flex}.campsites-archive-page .archive-tile{grid-template-rows:1fr auto;gap:0;width:100%;height:168px;padding:0;transition:transform .12s,box-shadow .12s;display:grid;overflow:hidden}.campsites-archive-page .archive-tile-link{min-height:0;color:inherit;grid-template-rows:auto auto auto auto;align-content:start;gap:8px;padding:14px;text-decoration:none;transition:background .12s;display:grid}.campsites-archive-page .archive-tile-link:hover{background:#0ea5e90f}.campsites-archive-page .archive-tile-link:focus-visible{outline-offset:-2px;outline:2px solid #0284c7}.campsites-archive-page .archive-tile-number{color:#0f766e;font-size:1.45rem;font-weight:800;line-height:1}.campsites-archive-page .archive-tile-progress{background:#94a3b847;border-radius:999px;width:100%;height:8px;overflow:hidden}.campsites-archive-page .archive-tile-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#0ea5e9,#0284c7);height:100%;transition:width .18s;display:block}.campsites-archive-page .archive-tile-progress-bar.solved{background:linear-gradient(90deg,#22c55e,#16a34a)}.campsites-archive-page .archive-tile-progress-label{color:#0369a1;font-size:.78rem;font-weight:700}.campsites-archive-page .archive-tile-time{color:#64748b;min-height:1.1em;font-size:.82rem;line-height:1.35}.campsites-archive-page .archive-tile-fresh{color:#0369a1;text-align:center;background:#f8fafce6;border-top:1px solid #94a3b859;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .12s,color .12s;display:flex}.campsites-archive-page .archive-tile-fresh:hover{color:#0c4a6e;background:#0ea5e91a}.campsites-archive-page .archive-tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a1a}.campsites-archive-page .archive-tile-add{width:100%;text-align:inherit;font:inherit;color:inherit;cursor:pointer;background:#fff;border:none;padding:0}.campsites-archive-page .archive-tile-add-body{justify-content:center;align-items:center;min-height:0;transition:background .12s;display:flex}.campsites-archive-page .archive-tile-add:hover .archive-tile-add-body{background:#0ea5e90f}.campsites-archive-page .archive-tile-add:hover .archive-tile-fresh{color:#0c4a6e;background:#0ea5e91a}@media (width<=700px){.campsites-archive-page .archive-tile-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.campsites-archive-page .archive-tile,.campsites-archive-page .archive-tile-add{height:160px}}
