diff --git a/2025/.DS_Store b/2025/.DS_Store new file mode 100644 index 0000000..a72cb23 Binary files /dev/null and b/2025/.DS_Store differ diff --git a/2025/index.php b/2025/index.php index a277616..451a708 100644 --- a/2025/index.php +++ b/2025/index.php @@ -3,14 +3,54 @@ require_once __DIR__ . '/vendor/autoload.php'; use Aoc2025\Days\Day1; +use Aoc2025\Days\Day2; use Aoc2025\Services\Template; + +// First check if this is solution page request. +$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); +if (str_starts_with($path, '/solutions')) { + $path_exploded = explode('/', $path); + if (count($path_exploded) < 3) { + header('Location: /'); + } + $day = str_replace("-", '', $path_exploded[2]); + $day = ucfirst($day); + try { + $code = @file_get_contents(__DIR__ . '/src/Days/' . $day . '.php'); + if (!$code) { + throw new Exception('File not found'); + } + else { + echo "
" . htmlspecialchars($code) . "
"; + } + } + catch (Exception $e) { + header('Location: /'); + } + return; +} + +if ($path != '/') { + header('Location: /'); +} + +// Day 1. $day_1 = new Day1(); $day_1_answer = $day_1->run(); +// Day 2. +$day_2 = new Day2(); +$day_2_answer = $day_2->run(); + + +// Render the template. $template = new Template('main.html'); $substitutions = [ - 'day_1_answer' => $day_1_answer, + 'day_1_answer' => $day_1_answer['part_1'], + 'day_1_answer_2' => $day_1_answer['part_2'], + 'day_2_answer' => $day_2_answer['part_1'], + 'day_2_answer_2' => $day_2_answer['part_2'], ]; $response = $template->render($substitutions); diff --git a/2025/inputs/day_1_input.txt b/2025/inputs/day_1_input.txt index 53287c7..74c215e 100644 --- a/2025/inputs/day_1_input.txt +++ b/2025/inputs/day_1_input.txt @@ -1,10 +1,4545 @@ -L68 -L30 -R48 -L5 -R60 +R27 +R13 +L8 +R30 +R22 +L9 +L32 +R22 +R20 +R16 +R4 +R25 +L34 +L40 +L31 +R34 +R44 +R43 +L23 +L8 +L44 +L16 +R31 +L16 +L48 +L29 +L38 +L31 +L41 +L36 +R36 +L9 +L8 +L33 +R30 +R29 +R17 +L46 +L31 +L27 +L46 +R13 +L50 +L40 +L23 +R3 +R11 +L25 +L50 +R95 +L44 +L48 +L87 +R7 +L87 +R96 +L19 +R51 +R33 +L74 +R29 +L64 +R81 +L22 +L28 +L54 +R4 +R3 +R27 +R54 +L11 L55 +L35 +R10 +L58 +L4 +R52 +R66 +L66 +L92 +L42 +L17 +R51 +R57 +L44 +R87 +L54 +L14 +R56 +L2 +L86 +R15 +R85 +L44 +R86 +L56 +R62 +L82 +L47 +R81 +L15 +L685 +L18 +L7 +R20 +L95 +L33 +R33 +R59 +L358 +R73 +L274 +R690 +R669 +R40 +R886 +L21 +L54 +R90 +R866 +L16 +L66 +R86 +R89 +R41 +R13 +R79 +R408 +L16 +R68 +R99 +R53 +L795 +L12 +L40 +L357 +R33 +L2 +R69 +L63 +R43 +L22 +L58 +R35 +L35 +R89 +L91 +L198 +L64 +R64 +R89 +L20 +R22 +L74 +L49 +R88 +R6 +L62 +L88 +R88 +L15 +R202 +R52 +R175 +L60 +R10 +R36 +R26 +L28 +R85 +L52 +L60 +L71 +R899 +R20 +L99 +L30 +L793 +R69 +R34 +L82 +L372 +L45 +L149 +L52 +L30 +R782 +L56 +R4 +L53 +L36 +L61 +R51 +R79 +R69 +L79 +R75 +L45 +R74 +L43 +L975 +R51 +R36 +R353 +L69 +L427 +L19 +L352 +L12 +L23 +R6 +L45 +R545 +R84 +L24 +R93 +L45 +R114 +L22 +R801 +R846 +R864 +R189 +L68 +R396 +L521 +R93 +R23 +L823 +R50 +L50 +R76 +L40 +L39 +R203 +L77 +R177 +L50 +L867 +L52 +L531 +R79 +L79 +R95 +R9 +L71 +R67 +L46 +L54 +R558 +L694 +R36 +L35 +L71 +R6 +R62 +R38 +L19 +R29 +R95 +L9 +L43 +L853 +L861 +R79 +L262 +L42 +R86 +L21 +L125 +R75 +L29 +L95 +R24 +L429 +L72 +R41 +L623 +R954 +R15 +L30 +R15 +L68 +L88 +L60 +L716 +L11 +L357 +R85 +R65 +L50 +R89 +L89 +L30 +L70 +L26 +R44 +L18 +R22 +R78 +L69 +R38 +R31 +R69 +L7 +R538 +R726 +L44 +R18 +L923 +L377 +R225 +L25 +R24 +R69 +R57 +L45 +R44 +R13 +L62 +R10 +R21 +R11 +L550 +L90 +R178 +R920 +R46 +L46 +L494 +L6 +L3 +R31 +R72 +R109 +R91 +R585 +R746 +L31 +L79 +L39 +L38 +R120 +R48 +R61 +R8 +L93 +L89 +R47 +L98 +R52 +R4 +L114 +L67 +L308 +L99 +L274 +L116 +L22 +R66 +R51 +L63 +L71 +R46 +R130 +L56 +R95 +L42 +R392 +R978 +R33 +R537 +R53 +R49 +L66 +R639 +R25 +R388 +L9 +R875 +L56 +L98 +R20 +R57 +R59 +R64 +R79 +L60 +L55 +R30 +R84 +R22 +R396 +L81 +L26 +L47 +R35 +R23 +R13 +L70 +L76 +R62 +L29 +R306 +L22 +L795 +L20 +L83 +R64 +L80 +L436 +R566 +L915 +L61 +L24 +R85 +L405 +L80 +L18 +R98 +L353 +L27 +L96 +R296 +L66 +R50 +L50 +L805 +R581 +L10 +R71 +L64 +R121 +L34 +R27 +L490 +L427 +L4 +L98 +L80 +R82 +L57 +R48 +R5 +L432 +R32 +L17 +R17 +L32 +R32 +R22 +R19 +L41 +R580 +L68 +R29 +L41 +L51 +R79 +R72 +L82 +L630 +R67 +R609 +R30 +R706 +L78 +R78 +R6 +L72 +L97 +L19 +R77 +R21 +R84 +R55 +L50 +L5 +R1 +R96 +R141 +L733 +R884 +L89 +L18 +L8 +L68 +R92 +R2 +R34 +L260 +R174 +L37 +R46 +R13 +R16 +R14 +R7 +L65 +R558 +R934 +L99 +L88 +L47 +R991 +L94 +R368 +L65 +R31 +R91 +L48 +R15 +R62 +R51 +R566 +L6 +L462 +R55 +R84 +L39 +L53 +L6 +R448 +R11 +R765 +L4 +R32 +R38 +L49 +R21 +L23 +L80 +R787 +L79 +R92 +R78 +L27 +L20 +L31 +R72 +L37 +R334 +L42 +R34 +R39 +R737 +R65 +L2 +R324 +L24 +L15 +L985 +L53 +L47 +L95 +L49 +R167 +L23 +L220 +L35 +R27 +L64 +L41 +R33 +R38 +R94 +R59 +R664 +R43 +R64 +R38 +L80 +R80 +L94 +R44 +L59 +L84 +L7 +L15 +L30 +L13 +R58 +R53 +R89 +L458 +L55 +L429 +R34 +R38 +R52 +L30 +R6 +R68 +L94 +R33 +R93 +R9 +L9 +L80 +R45 +L65 +R11 +R89 +L46 +R25 +L44 +L11 +L53 +L66 +R995 +R279 +L47 +R60 +L96 +R24 +L15 +L3 +L71 +R3 +R21 +R25 +R1 +L8 +R27 +R939 +R61 +L234 +R54 +R66 +L786 +L39 +R27 +L524 +R89 +L61 +R16 +R97 +R95 +R19 +L19 +L49 +L35 +L12 +L804 +R81 +L81 +R140 +R94 +L57 +R61 +L64 +L74 +R82 +L92 +R10 L1 +L41 +L70 +L213 +L47 +L31 +R768 +L20 +L4 +L541 +R3 +R594 +R3 +R45 +R83 +R32 +L60 +L61 +L67 +L72 +L33 +L495 +L86 +R426 +R88 +L12 +L88 +R70 +L70 +R28 +L28 +L21 +R24 +R85 +R12 +R879 +R721 +R2 +R98 +L904 +L121 +R25 +L985 +R38 +R83 +L36 +L640 +R354 +L14 +L2 +R2 +L232 +L18 +R450 +L30 +R96 +R58 +L91 +R67 +R26 +R974 +R45 +L45 +L278 +R17 +R61 +L658 +L42 +L95 +L52 +L53 +L59 +L641 +R89 +L42 +L49 +L468 +R81 +R55 +L50 +L369 +L47 +L72 +R64 +R12 +L94 +R37 +L47 +R85 +L85 +R876 +L26 +R3 +R8 +L61 +R15 +L612 +R40 +L37 +R894 +R10 +R790 +R8 +L40 +L268 +L515 +R15 +L383 +R83 +R317 +L175 +L21 +L1 +R777 +R83 +R36 +L63 +R161 +L14 +R40 +R91 +R11 +R51 +R64 +L392 +L46 +L19 +R2 +L81 +L57 +R24 +R94 +L82 +L30 +R256 +R389 +R65 +R20 +L403 +R3 +R8 +R92 +R13 +R51 +L50 +L14 +R36 +R64 +R77 +R484 +L54 +L97 +L10 +L53 +L58 +L89 +L38 +L62 +R45 +R91 +L36 +R36 +R364 +R540 +L40 +R17 +L686 +R5 +L118 +R79 +L97 +L55 +R14 +L89 +R34 +L5 +L99 +L15 +L88 +R3 +R55 +L177 +L888 +L490 +L97 +L42 +R39 +R77 +L77 +L14 +L86 +R9 +L9 +R77 +L77 +R639 +R43 +R396 +R22 +L84 +R84 +L5 +R905 +R50 +R52 +R98 +L99 +L407 +R7 +L27 +R31 +R89 +R6 +R173 +R87 +R40 +L83 +R75 +L792 +R96 +L73 +R577 +R33 +L91 +R158 +L64 +R64 +L746 +R46 +L311 +R828 +L96 +R63 +L484 +R887 +R13 +L86 +L75 +R34 +L39 +L5 +R71 +R644 +L12 +R68 +R366 +L32 +R87 +L1 +R18 +L53 +R15 +L16 +R8 +R79 +R20 +L35 +L31 +R920 +L445 +R60 +L71 +L64 +R75 +R68 +R732 +L11 +L8 +L3 +L34 +L44 +L43 +R43 +R10 +R774 +L36 +R52 +R61 +L61 +R36 +L36 +R4 +L208 +L96 +L39 +L561 +L47 +L53 +L76 +L29 +R58 +R81 +R66 +R26 +L426 +L4 +R904 +R40 +L40 +L70 +R55 +R63 +R566 +R2 +L92 +L97 +L967 +L38 +R29 +L54 +L99 +R19 +L17 +R6 +L206 +R830 +R21 +L72 +R597 +L78 +L298 +L22 +R783 +L32 +R636 +R971 +L274 +L74 +L48 +L27 +R87 +R48 +L783 +L65 +R393 +L93 +L824 +L45 +R15 +L630 +L60 +R8 +R36 +R43 +L6 +R80 +R83 +L86 +L613 +R21 +R8 +R98 +L47 +L81 +L24 +R57 +R94 +R495 +L89 +R67 +R4 +R96 +L34 +L66 +R90 +L90 +L654 +L36 +R44 +R156 +L97 +R68 +L137 +L94 +R4 +L624 +L30 +R274 +L74 +L19 +R10 +R9 +L330 +R379 +R63 +L77 +L35 +L69 +L96 +R26 +R29 +L53 +L34 +R97 +L594 +L769 +R30 +L67 +L74 +R7 +R67 +R92 +R8 +R537 +L68 +R731 +R19 +L719 +L89 +L29 +L82 +R85 +R53 +R46 +R16 +R20 +L34 +R30 +R84 +R56 +L46 +R81 +L57 +L10 +R84 +L8 +R52 +L752 +R28 +L28 +L63 +L40 +R3 +R3 +R72 +L10 +L40 +L381 +L44 +R55 +R745 +R73 +L614 +R630 +L89 +R79 +R97 +L84 +R814 +R26 +L91 +L77 +L464 +L6 +R39 +R52 +L46 +L75 +L59 +L5 +L452 +R16 +L24 +L40 +R826 +L26 +L90 +R34 +R56 +L99 +L1 +L81 +L137 +L382 +R758 +L10 +R637 +R13 +R33 +L22 +R63 +L72 +R88 +R72 +L5 +L87 +R64 +R95 +L12 +R85 +R58 +R22 +L24 +L79 +R238 +R85 +L863 +L318 +R81 +R25 +R71 +R4 +R21 +L13 +L63 +L52 +R83 +L5 +R556 +L27 +L58 +R725 +L82 +R710 +L99 +R4 +L23 +L84 +R170 +R503 +L69 +L31 +R98 +R25 +R311 +R52 +L52 +R54 +R46 +R8 +L81 +L27 +L51 +R33 +R60 +L42 +R94 +L294 +L65 +L81 +L249 +R32 +R74 +L69 +R258 +L29 +L97 +R44 +L85 +R215 +L48 +L91 +L24 +R49 +L34 +R73 +R65 +R98 +L36 +L39 +L2 +L59 +R18 +L67 +L351 +L506 +L94 +L821 +R66 +L638 +R84 +R75 +L66 +R16 +R84 +R27 +R73 +R77 +L877 +R654 +R49 +L853 +L693 +L57 +L26 +R26 +R290 +L29 +L67 +L75 +R38 +L57 +L19 +R19 +L65 +R65 +L47 +R48 +R25 +L39 +R396 +R24 +L45 +L62 +R53 +R47 +R85 +L31 +L54 +R414 +L18 +L92 +R96 +R74 +R26 +L6 +R6 +L37 +L63 +R475 +R25 +L7 +L93 +R79 +R21 +L72 +R87 +L15 +L31 +L805 +L30 +R66 +L78 +R51 +L73 +R737 +R95 +R68 +R509 +R865 +R36 +L12 +R2 +R40 +L40 +R639 +R19 +R42 +L66 +L191 +L43 +L73 +R55 +R18 +R22 +L22 +R34 +L34 +R50 +R50 +R60 +L760 +L56 +L45 +R171 +R30 +L70 +L30 +L86 +L14 +L76 +L421 +L3 +R66 +L56 +L404 +L1 +L5 +R22 +R395 +R86 +L49 +R55 +L95 +L88 +R74 +R593 +L93 +L82 +L68 +R56 +R665 +R29 +L34 +R782 +L48 +R89 +L89 +R507 +R93 +R17 +L92 +R75 +L58 +L620 +L64 +L58 +R923 +L171 +R31 +R17 +R74 +R26 +R50 +R50 +L65 +R33 +L668 +L229 +L97 +R26 +L37 +R937 +R61 +L8 +R991 +R51 +L33 +L15 +L757 +L692 +R90 +L94 +R6 +R22 +L88 +L434 +L76 +R76 +L57 +L45 +R98 +L93 +L3 +L56 +L48 +L32 +L564 +R39 +L39 +R28 +L428 +L78 +L22 +R97 +L74 +R77 +R76 +R96 +R28 +L3 +R29 +L95 +L87 +R56 +R35 +R11 +L46 +R56 +L42 +R21 +R65 +L54 +L23 +R54 +L79 +L630 +R32 +L37 +L89 +L74 +R41 +L1 +L61 +R92 +R29 +R942 +L42 +L78 +R93 +R9 +R331 +L55 +R18 +R96 +R86 +L1 +L6 +L73 +L20 +R39 +R980 +L853 +L66 +R25 +R83 +R22 +L38 +R8 +R894 +L893 +R802 +L89 +R86 +L41 +L32 +R266 +R95 +R39 +R12 +L39 +L85 +R378 +L9 +L22 +L56 +R47 +L12 +R23 +R73 +L37 +L23 +L677 +L36 +R498 +L23 +L72 +R533 +R31 +L70 +R87 +L88 +L18 +R15 +R701 +L58 +R825 +L25 +L6 +R6 +R65 +L81 +R147 +L42 +R56 +R98 +L1 +L833 +R91 +R47 +R53 +R5 +R52 +L57 +R10 +R51 +L37 +R72 +L96 +R93 +L75 +R282 +R64 +R36 +R39 +L39 +R84 +L69 +L81 +R66 +L53 +L47 +L55 +L38 +R13 +R13 +R441 +R33 +L22 +L936 +L18 +L39 +L678 +R86 +R79 +L29 +L50 +R873 +L23 +L79 +L70 +L43 +L58 +L89 +R89 +R20 +R480 +L50 +R8 +R29 +R69 +L74 +R18 +L8 +L92 +R26 +R23 +R451 +R206 +R94 +L844 +L56 +R21 +L80 +L25 +R784 +L68 +R52 +R88 +L25 +R53 +L170 +L70 +L44 +L516 +R45 +L42 +L3 +L37 +R97 +R61 +R79 +R26 +L49 +R23 +L23 +L75 +R47 +R94 +R57 +R9 +L36 +R49 +L94 +L71 +R43 +L544 +R80 +R22 +R988 +L20 +L75 +R5 +R401 +R30 +L11 +R24 +R57 +R59 +L71 +R77 +L89 +L23 +L10 +L91 +R85 +L608 +R12 +R89 +R42 +R41 +L70 +L52 +R252 +R8 +R49 +R43 +R59 +L99 +L17 +L43 +R908 +L90 +R51 +R74 +R56 L99 R14 +L14 +R425 +R75 +R25 +R75 +R96 +R62 +L58 +L932 +L78 +R54 +L55 +L92 +L97 +L31 +L51 +R882 +L56 +R96 +L40 +R44 +L19 +R75 +L93 +L803 +L750 +R32 +R97 +R217 +L59 +L396 +L545 +L51 +R51 +L168 +L88 +L544 +L20 +R20 +L1 +L402 +R59 +L982 +L74 +L2 +L98 +L4 +R63 +L59 +L430 +L84 +R84 +L622 +L48 +R15 +L327 L82 +R94 +R903 +R404 +L29 +L78 +R87 +L58 +L51 +L78 +R37 +R734 +L4 +R33 +R23 +R82 +L5 +R56 +L20 +R437 +R27 +L907 +L18 +R25 +L87 +R44 +L70 +R13 +L39 +L61 +R42 +R63 +R7 +L212 +R955 +L922 +R56 +R24 +L13 +R63 +R960 +L23 +L547 +L74 +R21 +R54 +L77 +R42 +R88 +R3 +R90 +L62 +L72 +R34 +L94 +L58 +L48 +R86 +R14 +L562 +R56 +L94 +L214 +L59 +R929 +R44 +L913 +R862 +L49 +R19 +L19 +L67 +R8 +L31 +L310 +R28 +L28 +L45 +L32 +L76 +L5 +L42 +L17 +R49 +L932 +L14 +L3 +R17 +R450 +R289 +R61 +L827 +L17 +L56 +R33 +R67 +L796 +L4 +L901 +L41 +L58 +R21 +R12 +L25 +R50 +R42 +L81 +L19 +R454 +L54 +L9 +L91 +L481 +R10 +R771 +R58 +L58 +L32 +L13 +R36 +L82 +L87 +L25 +R40 +L580 +R43 +R76 +R24 +L984 +R655 +R46 +R83 +R23 +R77 +R25 +L10 +R85 +L28 +R39 +L60 +L51 +L32 +R34 +R91 +L73 +R43 +L81 +L82 +L850 +L50 +L91 +L65 +R56 +L76 +L70 +R46 +L39 +R80 +L508 +R3 +R92 +L88 +R438 +R22 +L841 +L40 +L770 +L2 +L57 +R87 +L53 +R3 +R94 +R25 +R54 +R982 +L88 +L96 +R2 +R16 +R53 +R890 +R504 +R871 +L34 +R933 +L20 +L13 +R13 +L84 +L29 +R44 +L58 +L86 +R121 +L21 +L98 +R72 +R26 +L6 +L563 +L86 +L365 +R76 +R74 +L64 +L18 +R52 +L84 +L516 +L426 +L80 +L96 +R45 +R557 +L22 +R22 +R877 +R23 +L489 +R657 +R741 +L9 +L2 +L374 +L24 +R93 +L15 +R15 +L76 +R83 +L233 +L25 +L14 +R72 +L51 +L49 +L12 +L41 +L7 +L40 +L88 +R13 +R75 +L31 +L42 +L27 +R35 +R62 +R80 +R10 +L87 +L48 +R62 +R31 +L45 +L851 +R15 +R36 +L975 +R75 +L38 +L62 +R79 +L70 +R68 +L124 +L55 +L60 +R62 +R43 +R38 +L53 +L99 +R10 +R18 +L51 +R94 +L763 +L724 +R87 +R80 +R20 +R82 +L82 +R68 +L968 +R51 +L90 +R39 +L38 +L562 +L28 +R19 +R86 +R23 +R85 +R15 +L4 +L77 +L19 +R27 +L327 +L50 +R50 +L16 +R16 +R7 +L52 +L25 +R570 +R44 +L92 +L302 +L50 +L44 +L56 +L39 +R24 +R15 +L37 +R12 +L7 +R91 +L459 +L60 +L40 +L83 +L96 +R94 +L7 +R92 +R44 +L86 +R42 +L54 +R88 +R38 +L86 +R20 +R602 +R72 +R1 +L96 +L9 +R545 +L21 +L78 +L22 +L53 +R53 +R5 +L5 +R26 +R74 +R763 +R48 +L11 +R98 +L85 +R94 +L35 +L72 +L52 +R70 +L63 +R412 +L467 +R4 +R26 +R270 +L672 +R72 +L61 +L51 +L44 +R944 +L78 +R5 +R785 +L60 +L40 +R36 +R35 +L40 +R55 +L77 +L863 +R54 +L94 +R94 +R443 +L56 +R12 +R1 +R38 +L27 +R70 +L776 +R65 +L70 +L71 +R75 +L254 +R82 +R635 +R12 +L79 +R62 +R180 +L110 +L19 +R87 +L54 +L46 +R984 +R34 +L18 +L465 +R48 +L83 +L72 +L68 +R40 +R33 +L141 +L192 +R84 +R16 +R59 +R317 +L76 +L53 +R12 +R22 +L67 +R86 +R83 +L391 +R908 +L85 +L15 +R226 +L26 +L7 +R7 +L77 +L20 +L3 +L97 +R145 +L248 +R17 +L59 +L317 +R23 +L83 +L81 +L55 +L45 +R96 +L96 +R12 +L98 +R35 +R51 +R6 +L52 +R46 +R592 +R8 +L39 +R39 +L49 +L49 +L90 +L39 +R92 +R6 +R29 +L6 +L72 +R98 +R77 +L97 +L848 +L92 +R8 +L68 +L96 +L12 +R8 +R36 +L36 +R8 +R6 +R86 +L919 +R26 +L95 +L59 +R47 +L398 +R56 +R76 +R22 +R44 +L23 +L48 +R59 +R12 +L72 +L93 +L52 +L52 +L31 +L28 +L72 +R25 +R38 +L32 +R73 +L887 +L711 +L6 +R44 +R3 +R13 +R13 +R60 +R22 +R70 +R65 +L26 +R994 +L58 +L19 +L81 +R63 +R237 +L9 +L91 +R72 +L982 +L656 +R17 +R41 +L92 +L5 +L72 +R55 +R3 +L81 +R97 +R103 +R106 +L24 +R718 +R55 +L55 +L35 +R94 +R82 +L42 +R39 +R8 +R83 +R71 +R675 +L75 +L620 +L79 +L39 +L62 +L21 +L529 +L13 +L40 +R98 +R71 +L547 +R62 +R417 +R3 +R99 +R88 +R32 +L20 +R67 +L54 +R50 +L21 +R763 +R27 +R468 +R14 +L70 +R856 +L76 +R76 +R636 +L91 +L46 +L99 +L12 +R212 +R5 +L905 +R462 +R463 +L25 +L40 +R10 +R251 +R73 +L34 +L860 +R41 +R74 +R182 +L96 +R71 +L757 +R85 +L156 +L715 +R25 +R70 +R76 +L41 +L78 +L10 +R40 +R63 +L36 +R62 +L12 +R12 +L47 +R47 +R33 +L7 +R456 +L82 +L26 +L674 +R62 +R46 +L974 +L234 +L9 +L91 +R34 +R974 +R58 +L46 +L19 +L68 +L20 +R93 +R7 +R32 +R55 +L40 +L4 +L9 +L84 +R24 +L887 +L57 +L58 +L5 +R61 +R64 +L5 +L83 +L17 +L662 +R62 +L80 +R4 +L24 +R30 +L51 +R721 +R67 +R33 +R80 +R308 +L88 +R558 +L17 +L32 +L97 +R88 +L152 +L848 +L67 +R37 +L70 +R32 +L32 +R86 +R643 +R83 +L12 +L812 +L582 +R29 +L625 +R26 +R20 +L251 +L5 +R14 +R26 +R60 +R90 +R57 +L96 +L51 +L56 +L62 +L82 +R60 +L61 +L99 +L30 +R56 +R39 +L565 +L40 +R10 +L70 +R56 +L56 +L68 +L47 +R15 +R499 +R70 +L75 +L25 +L353 +L516 +R39 +R61 +L41 +R66 +L19 +L6 +L44 +R13 +L14 +R78 +R89 +L90 +L25 +R93 +L11 +R73 +R38 +R9 +R23 +R20 +R62 +R24 +R24 +L41 +L56 +L65 +L309 +L656 +R65 +L87 +R842 +L55 +L31 +L20 +L49 +R407 +L807 +R11 +R87 +R43 +L93 +R41 +L89 +R30 +R70 +R325 +R95 +L79 +L41 +L699 +L656 +L45 +L266 +L168 +R94 +L60 +R61 +L61 +R40 +R60 +L16 +L325 +R41 +L37 +R58 +L21 +R66 +R71 +R24 +L61 +R90 +R56 +L20 +R65 +R65 +R84 +L40 +R703 +R45 +R52 +L95 +L56 +L935 +L84 +L247 +L569 +L26 +R812 +L45 +R372 +L327 +R574 +L98 +L691 +L109 +L176 +L626 +L11 +R37 +L10 +L26 +L64 +L7 +R7 +L72 +L28 +L88 +L12 +R23 +L11 +L566 +L34 +L15 +L673 +L92 +R68 +R726 +R184 +R91 +R26 +L528 +L70 +L94 +L25 +R616 +L40 +L966 +R180 +L48 +R48 +L945 +R146 +R99 +L87 +R55 +R1 +R1 +R12 +L61 +L21 +L16 +R16 +L99 +R99 +L70 +L30 +R36 +L436 +R94 +R6 +L323 +R1 +L186 +R8 +L78 +L29 +L93 +L30 +L63 +L7 +L98 +R98 +R14 +R11 +R75 +R36 +L963 +R127 +L60 +L258 +R89 +L89 +R918 +R6 +R94 +R68 +R53 +L62 +R5 +R36 +R899 +R27 +L37 +R95 +L884 +L23 +L70 +L24 +L36 +L747 +R32 +L9 +L56 +L20 +L54 +R7 +L47 +L53 +R68 +L36 +L77 +R45 +L79 +L8 +R74 +L76 +R96 +L7 +L19 +R19 +R782 +R59 +L94 +R93 +L40 +R5 +L5 +L39 +L61 +R40 +R260 +L199 +R390 +L50 +L41 +L901 +R33 +L81 +R49 +R75 +R51 +R28 +R46 +R355 +R45 +R14 +R52 +R34 +R56 +L58 +R2 +L76 +L28 +L96 +L982 +L18 +L13 +L87 +L12 +R12 +R660 +R40 +L591 +R91 +R32 +R80 +R55 +L61 +R232 +L38 +R79 +R11 +R10 +L31 +R85 +L54 +R44 +R39 +R59 +L42 +L28 +L72 +R43 +L43 +L77 +R77 +R29 +R334 +L63 +L4 +R4 +L18 +L441 +L29 +L12 +R684 +L54 +L6 +R97 +R96 +R592 +L193 +R55 +R866 +L37 +R12 +R540 +R2 +L85 +L11 +R18 +R89 +L81 +L384 +L94 +L65 +R87 +R72 +R92 +L86 +R36 +R33 +R25 +L9 +L70 +L101 +L36 +R98 +R88 +R54 +L951 +L67 +L6 +L36 +R29 +R7 +L51 +L26 +R6 +R71 +R34 +L5 +L18 +R89 +L34 +R91 +R999 +R80 +L336 +R87 +R13 +R76 +R644 +L20 +L75 +L25 +R142 +R54 +L596 +R86 +R14 +L956 +R90 +R29 +L63 +R74 +R26 +R1 +R99 +R84 +R78 +L62 +L902 +R69 +L67 +L31 +L569 +L824 +L76 +L80 +L91 +L29 +L22 +R22 +L82 +R17 +R65 +R325 +L22 +R15 +L18 +L29 +R29 +R94 +L35 +L89 +R69 +L94 +L864 +R37 +R782 +R32 +L904 +L590 +L81 +R26 +R417 +L4 +L2 +R19 +L96 +R383 +R67 +L67 +L62 +R62 +L6 +R845 +R12 +R49 +R37 +L37 +R7 +R293 +L32 +R732 +R58 +R256 +R85 +L8 +R25 +R15 +L31 +L92 +L840 +L462 +L6 +R58 +L58 +R98 +L98 +R19 +L26 +L68 +L80 +L77 +R62 +L35 +L13 +R16 +R5 +R27 +L72 +L8 +L70 +R83 +L15 +R54 +L2 +R53 +R47 +R84 +R816 +L30 +R64 +L84 +L50 +R62 +L82 +R54 +R36 +R73 +L78 +R35 +L639 +L54 +L70 +R548 +L17 +R33 +R881 +R118 +L33 +L53 +R86 +L80 +R43 +L338 +L313 +L65 +R82 +R62 +R347 +R72 +R681 +R9 +L493 +L6 +R99 +L69 +L52 +L906 +R27 +L74 +L96 +R70 +L102 +R48 +L485 +R39 +R19 +L657 +R738 +L29 +R332 +R97 +L209 +R9 +L64 +R48 +L84 +R57 +L14 +R50 +L693 +L58 +R75 +R42 +L21 +R262 +L64 +L36 +L98 +R857 +L37 +R99 +L34 +R92 +L79 +L24 +L67 +L17 +L61 +R70 +L1 +R44 +L9 +L77 +R85 +L43 +R735 +L38 +L51 +R309 +R284 +R61 +L89 +R997 +R73 +L61 +R80 +L43 +R82 +R64 +R89 +R78 +L70 +L49 +R649 +L88 +L70 +R118 +L9 +L23 +R84 +R99 +L99 +L11 +R899 +R2 +R6 +R44 +R48 +L91 +R48 +R64 +R63 +R416 +L10 +R510 +L67 +R47 +R10 +L602 +R12 +R98 +L198 +L43 +R43 +R10 +R30 +R5 +L83 +R57 +R81 +L45 +R70 +R7 +R785 +L10 +R39 +L46 +L14 +R39 +L151 +R626 +L99 +R72 +L77 +R30 +R737 +L63 +R16 +R27 +L20 +R57 +L80 +R81 +L48 +R67 +R662 +R15 +R35 +L658 +L54 +L97 +R63 +L66 +R54 +R28 +L82 +L89 +R17 +R457 +R815 +L601 +L40 +R41 +R850 +R81 +R68 +L99 +R58 +R7 +L65 +L704 +L90 +R622 +L84 +R840 +R16 +R39 +L39 +R95 +L795 +R82 +L382 +R9 +L47 +R79 +L7 +R66 +R622 +R878 +R51 +R59 +R78 +R2 +R110 +R94 +R89 +L83 +L56 +R94 +L338 +R864 +L52 +R75 +L87 +R793 +L37 +L2 +L50 +L4 +L99 +R12 +L81 +R68 +L99 +L1 +R53 +L54 +L348 +R87 +L68 +L54 +L98 +L462 +R276 +L32 +R69 +L12 +L96 +R39 +R85 +R15 +R30 +L30 +R723 +R60 +L83 +R81 +L94 +L46 +L69 +L8 +L64 +R41 +L492 +L49 +R58 +L58 +L11 +R73 +R38 +R49 +L306 +R567 +R60 +L37 +L91 +R56 +L364 +R785 +L45 +L74 +L39 +L53 +L808 +R580 +R66 +R64 +L10 +L801 +R77 +R52 +L28 +L68 +L32 +R98 +L37 +L15 +R8 +R16 +L70 +L770 +R898 +R36 +R93 +L492 +R22 +R44 +L31 +L69 +L25 +L73 +R57 +R296 +R13 +L13 +R78 +R36 +L79 +R521 +L704 +L38 +L75 +L25 +R597 +L97 +L715 +R67 +L19 +L4 +R71 +L99 +L124 +L177 +L70 +R8 +R63 +L1 +L909 +L91 +L18 +L30 +L94 +L62 +L96 +R73 +L73 +R31 +R39 +L1 +L707 +R60 +L9 +L751 +L580 +R18 +R46 +L86 +L60 +R71 +L592 +L678 +L16 +R15 +R71 +L6 +R35 +R48 +L48 +R40 +L712 +L355 +L99 +R72 +R22 +L68 +L90 +R32 +R52 +R6 +L12 +R94 +R31 +L4 +R61 +R30 +L472 +R676 +R96 +L21 +L79 +L70 +R25 +R45 +L21 +R21 +L92 +R23 +L31 +L47 +R47 +L57 +R68 +L73 +L74 +R35 +R8 +R93 +L759 +L33 +R71 +R73 +R4 +L76 +R20 +L29 +L71 +R79 +L55 +R76 +R89 +R691 +L33 +L68 +R613 +L34 +L52 +L81 +L6 +L131 +R86 +L774 +L96 +L976 +R172 +R64 +R94 +R83 +R59 +L11 +L96 +L29 +R24 +L78 +R90 +R169 +L79 +R27 +R97 +R586 +R12 +L79 +L95 +L238 +L587 +L545 +R95 +L63 +L97 +L3 +L65 +R56 +R34 +R25 +R933 +R10 +R159 +R948 +L48 +R84 +L358 +R22 +R22 +L65 +L89 +R47 +R6 +R21 +L42 +R87 +L12 +R25 +R38 +L11 +R44 +L71 +R43 +L43 +R18 +R93 +L56 +R45 +R66 +R34 +R8 +L613 +L46 +L53 +R38 +L68 +R91 +L57 +L81 +R575 +R2 +L980 +L39 +R5 +R18 +R87 +L87 +L87 +R887 +L31 +L93 +R24 +L960 +L40 +R76 +L726 +L272 +L78 +L6 +R34 +L6 +R93 +L437 +L78 +R9 +L2 +R15 +L22 +L246 +L9 +L78 +R25 +L92 +L993 +R479 +R30 +R8 +R88 +L295 +L98 +L19 +L31 +L80 +L89 +L35 +R35 +R91 +R9 +R228 +R84 +L12 +R432 +L57 +L75 +L49 +R17 +R57 +L10 +L15 +R11 +R54 +R90 +R845 +L89 +R19 +L11 +L54 +R35 +L76 +L24 +R121 +R79 +L14 +L86 +R57 +L558 +L40 +R841 +L90 +R90 +L115 +R15 +R39 +L83 +R82 +R15 +R56 +L819 +L1 +L989 +R3 +L51 +R38 +R74 +L64 +R64 +R36 +L36 +R28 +L67 +L203 +L976 +L46 +R41 +R36 +L77 +L93 +R48 +R32 +L50 +L37 +L105 +L21 +R26 +R339 +L96 +L43 +R25 +L294 +R369 +L542 +L58 +L854 +R54 +L70 +L30 +L8 +R64 +R44 +L97 +R796 +R5 +R10 +R86 +R3 +R97 +R7 +L7 +L53 +R67 +R51 +L365 +R67 +R41 +R392 +R70 +R25 +L88 +R93 +L79 +L24 +R3 +R36 +L231 +L5 +R51 +R280 +R569 +L58 +L742 +R699 +R43 +L71 +R229 +L11 +R41 +R70 +R730 +R70 +L786 +L11 +R72 +L464 +R82 +L945 +L91 +R243 +R36 +R121 +L39 +L18 +L3 +L99 +L97 +R99 +R58 +L58 +R40 +R94 +R81 +L33 +L82 +L37 +R937 +R61 +L390 +R83 +R46 +R92 +L95 +L436 +L36 +R875 +L986 +L81 +R526 +L59 +R372 +R59 +R69 +R32 +R68 +L17 +L83 +R49 +L1 +L28 +R80 +R54 +L64 +R63 +R47 +R6 +R83 +R44 +R15 +L48 +R12 +L22 +R14 +R841 +L77 +R432 +L93 +R93 +L72 +R52 +R87 +L56 +R89 +R11 +R76 +L87 +L36 +R836 +R10 +L310 +R74 +L11 +R37 +R1 +R99 +L444 +R75 +L746 +R60 +L618 +L227 +L59 +L58 +R69 +L59 +R324 +R69 +L6 +R20 +R38 +L538 +R97 +L70 +L60 +R4 +L71 +R165 +L8 +L57 +R42 +R656 +R46 +R58 +R59 +R1 +R50 +R88 +L120 +R50 +L15 +L70 +L346 +L99 +L68 +R97 +R33 +R49 +L11 +R47 +R7 +L51 +R513 +R412 +R47 +R825 +R2 +R770 +L45 +R403 +R67 +R60 +R43 +L70 +L30 +L964 +R35 +R29 +R38 +R62 +R26 +R74 +R58 +L51 +R911 +L736 +R37 +L876 +R84 +R55 +L38 +L52 +R446 +R82 +L20 +R865 +R73 +L23 +L20 +R312 +R93 +L95 +L5 +L65 +R82 +R83 +R59 +R41 +L53 +L56 +L91 +R54 +L2 +R18 +L19 +R449 +R34 +L34 +L31 +R29 +L417 +R54 +L36 +R35 +L83 +L33 +R82 +L68 +R85 +R43 +R80 +R36 +L56 +R80 +R91 +R9 +R93 +L93 +R982 +R1 +R34 +L32 +L45 +L644 +R4 +L596 +L4 +L52 +R852 +L28 +R3 +L89 +R7 +L93 +R15 +R876 +L50 +L75 +R95 +L68 +L52 +R23 +R79 +L476 +L86 +L94 +L186 +L20 +R97 +R922 +L89 +R889 +R128 +L89 +L23 +L865 +L60 +L753 +R62 +R153 +R111 +R65 +R12 +R341 +R18 +R746 +L37 +L9 +L95 +L5 +R514 +R717 +L76 +L87 +R32 +R77 +R4 +R11 +R19 +L11 +R608 +R97 +L19 +L86 +R71 +L25 +L46 +R94 +L68 +L26 +R20 +R91 +R94 +L5 +R196 +L35 +R39 +L23 +R41 +L182 +R534 +R30 +R840 +L39 +L17 +L66 +L18 +R319 +L19 +R92 +R27 +R850 +L69 +R783 +L83 +R58 +R64 +L85 +R5 +R9 +R522 +R26 +L299 +L193 +L7 +L42 +L12 +L746 +R82 +L10 +R54 +R174 +L84 +R84 +R95 +L95 +L40 +L60 +L77 +L27 +L96 +R64 +R57 +L668 +R47 +R178 +R322 +L76 +L24 +L69 +R69 +L181 +R81 +R58 +L87 +R66 +L258 +L32 +L47 +R41 +L841 +L36 +R36 +R67 +L67 +R71 +L71 +L286 +L849 +R244 +R42 +R69 +R74 +L381 +R57 +R30 +L304 +L50 +L46 +R96 +L64 +L432 +R75 +R98 +R27 +L418 +L127 +R63 +L22 +L794 +R87 +L751 +R901 +R23 +R36 +R90 +R12 +R17 +L17 +L91 +L154 +L283 +R50 +L22 +L756 +R756 +L81 +R32 +R74 +L25 +R149 +L459 +L768 +R11 +R84 +L91 +R74 +L58 +L42 +L77 +L23 +R30 +R62 +L84 +R64 +R69 +L5 +L90 +L846 +R98 +L52 +L8 +R27 +R962 +R73 +R51 +L261 +R410 +R4 +R45 +R591 +R39 +L85 +L11 +L8 +L11 +R96 +L60 +L451 +R51 +L61 +R14 +R64 +L335 +R379 +L36 +L17 +L27 +L81 +R9 +R131 +R631 +L72 +R1 +R79 +L28 +L51 +R132 +R33 +L78 +L649 +L43 +L74 +R79 +L6 +R74 +L68 +L20 +R520 +L84 +R34 +L28 +L11 +R589 +L23 +L34 +R82 +R717 +L594 +R91 +L34 +L5 +L2 +R2 +L35 +L39 +R74 +R11 +R73 +L584 +L10 +L90 +R364 +L71 +R9 +R17 +R10 +L36 +L693 +R23 +R77 +R529 +R171 +R88 +L246 +R58 +R468 +L48 +R98 +L18 +L63 +L940 +L97 +L353 +R549 +L56 +L40 +L14 +R14 +L2 +L23 +L41 +L99 +R930 +R74 +R61 +R476 +R124 +L60 +L40 +R974 +L86 +R12 +R9 +L52 +L657 +R63 +L63 +R56 +R23 +L79 +L59 +R17 +R73 +L31 +L2 +R2 +L21 +R93 +R91 +R168 +R48 +R71 +L50 +L78 +R828 +R67 +R83 +L142 +L84 +L174 +R794 +L60 +L34 +R595 +L872 +L75 +R19 +R7 +R474 +L45 +L8 +L25 +L70 +L95 +L35 +L55 +L15 +L31 +L69 +L813 +R50 +L66 +R29 +R11 +L47 +L64 +L48 +L952 +L93 +R43 +L741 +L21 +L78 +R4 +L14 +R821 +L664 +R24 +L97 +R53 +L41 +R45 +L55 +L9 +L77 +R70 +R628 +L98 +R8 +R46 +L96 +R49 +L57 +R64 +R486 +R12 +L12 +L86 +R86 +L27 +L34 +R47 +L14 +R28 +L38 +L530 +L39 +R37 +L30 +R7 +R52 +R55 +R70 +L26 +L56 +L858 +R56 +L148 +R61 +R25 +L38 +L21 +R42 +L21 +L90 +L11 +L83 +R95 +R52 +R60 +L44 +R121 +R64 +R36 +L383 +L79 +R34 +L72 +L50 +R19 +L4 +L65 +R2 +R198 +R49 +L95 +R346 +L4 +R4 +R60 +L22 +L13 +L30 +R705 +L121 +L12 +R78 +L18 +R614 +L255 +R714 +L13 +R73 +L59 +L701 +R43 +R813 +L32 +R76 +L73 +L97 +L30 +R548 +R70 +L63 +R47 +L36 +R3 +L69 +R501 +R563 +L39 +R675 +L17 +R90 +L73 +L130 +L2 +L68 +L60 +R60 +L258 +R19 +R86 +L41 +L20 +R83 +R31 +L51 +L149 +R53 +L1 +R6 +L58 +L83 +R83 +R60 +R40 +R65 +L65 +R74 +R86 +R40 +R466 +L393 +R42 +L87 +L28 +R393 +L77 +R84 +L28 +R24 +R4 +R40 +R16 +R8 +R36 +R63 +R7 +R49 +R46 +R35 +L61 +R61 +R921 +L93 +R61 +L89 +L73 +R96 +L23 +L58 +R37 +L98 +R41 +R78 +R52 +R19 +L71 +L42 +L67 +L512 +L45 +L797 +R21 +R77 +R415 +L50 +R40 +R10 +R99 +L94 +R81 +L153 +L83 +R22 +L16 +L306 +L67 +L633 +L51 +R51 +L19 +R97 +R22 +R68 +L3 +R93 +L74 +L59 +R75 +R29 +L29 +L11 +R11 +L14 +R14 +L346 +L54 +R47 +R653 +L40 +L29 +R15 +L39 +R39 +R154 +L75 +L25 +R21 +L22 +R43 +R23 +R3 +L68 +R3 +L103 +R756 +R75 +R69 +R41 +R10 +R8 +R19 +L78 +R157 +L57 +L264 +L50 +R2 +R82 +R62 +R68 +L45 +R82 +L37 +L698 +R13 +R10 +R15 +R960 +L78 +R78 +R89 +R19 +L61 +L28 +L1 +R13 +L79 +R43 +L59 +L82 +L62 +L40 +R48 +L7 +R24 +L28 +R91 +R70 +R33 +L85 +R89 +R50 +R93 +R83 +L16 +R56 +R1 +R46 +L94 +R11 +R83 +L65 +L35 +L25 +R66 +L41 +L11 +R9 +L62 +L98 +L20 +R82 +L4 +L96 +R83 +R44 +R57 +R16 +L10 +R10 +L62 +L38 +R32 +L93 +L39 +R44 +L29 +R98 +L13 +L70 +R70 +L42 +R28 +R47 +R3 +L2 +L24 +R21 +L29 +L12 +R42 +R37 +R24 +L33 +R21 +L2 +R15 +R39 +L31 +L23 +R18 +L43 +R30 +R42 +L27 +R21 +L13 +R32 +L38 +L28 +L7 +L31 +R44 +R42 +L13 +L26 +L31 +R4 +L20 +R31 +L33 +L44 +L35 +L4 +L32 +R8 +R1 +R19 +R3 +R6 +L15 +L3 diff --git a/2025/inputs/day_2_input.txt b/2025/inputs/day_2_input.txt new file mode 100644 index 0000000..e69de29 diff --git a/2025/src/Days/Day1.php b/2025/src/Days/Day1.php index d7412ea..fc318f0 100644 --- a/2025/src/Days/Day1.php +++ b/2025/src/Days/Day1.php @@ -3,16 +3,66 @@ namespace Aoc2025\Days; use Aoc2025\Day; +use Aoc2025\Services\Dial; class Day1 extends Day { + /** + * Count of zeroes ended on. + * + * @var int + */ + protected $zeroCount = 0; + + /** + * Count of zeroes encountered and ended on. + * + * @var int + */ + protected $zeroCount2 = 0; + /** * Run the day's challenge. */ public function run() { $input = $this->getInputFile('day_1_input.txt'); - return "12345"; + $input = explode("\n", $input); + $instructions = array_filter($input); + + $dial = new Dial(); + $dial->setPosition(50); + + foreach ($instructions as $instruction) { + $distance = substr($instruction, 1); + $direction = substr($instruction, 0, 1); + if ($direction == 'L') { + for ($i = 0; $i < $distance; $i++) { + $dial->moveLeft(); + if ($dial->getPosition() == 0 && $i < $distance - 1) { + $this->zeroCount2++; + } + } + } + if ($direction == 'R') { + for ($i = 0; $i < $distance; $i++) { + $dial->moveRight(); + if ($dial->getPosition() == 0 && $i < $distance - 1) { + $this->zeroCount2++; + } + } + } + if ($dial->getPosition() == 0) { + $this->zeroCount++; + $this->zeroCount2++; + } + } + + return [ + 'part_1' => $this->zeroCount, + 'part_2' => $this->zeroCount2, + ]; + + return $dial->getHitZero(); } - } diff --git a/2025/src/Days/Day2.php b/2025/src/Days/Day2.php new file mode 100644 index 0000000..7733e12 --- /dev/null +++ b/2025/src/Days/Day2.php @@ -0,0 +1,17 @@ +getInputFile('day_2_input.txt'); + + return [ + 'part_1' => 0, + 'part_2' => 0, + ]; + } +} diff --git a/2025/src/Services/Dial.php b/2025/src/Services/Dial.php new file mode 100644 index 0000000..8090924 --- /dev/null +++ b/2025/src/Services/Dial.php @@ -0,0 +1,60 @@ +position == self::MIN_NUMBER) { + $this->position = self::MAX_NUMBER; + } + else { + $this->position = $this->position - 1; + } + } + + /** + * Moves the dial right. + */ + public function moveRight() { + if ($this->position == self::MAX_NUMBER) { + $this->position = self::MIN_NUMBER; + } + else { + $this->position = $this->position + 1; + } + } + + /** + * Sets the position of the dial. + */ + public function setPosition($position) { + $this->position = $position; + } + + /** + * Returns the position of the dial. + */ + public function getPosition() { + return $this->position; + } + +} diff --git a/2025/templates/main.html b/2025/templates/main.html index 56ba7de..d1590d3 100644 --- a/2025/templates/main.html +++ b/2025/templates/main.html @@ -13,8 +13,8 @@

Part 1: {{ day_1_answer }}

-

Part 2:

- +

Part 2: {{ day_1_answer_2 }}

+ View Code
@@ -23,9 +23,9 @@

Day 2

-

Part 1:

-

Part 2:

- +

Part 1: {{ day_2_answer }}

+

Part 2: {{ day_2_answer_2 }}

+ View Code
diff --git a/2025/theme/style.css b/2025/theme/style.css index 1e2cda3..e8f4be3 100644 --- a/2025/theme/style.css +++ b/2025/theme/style.css @@ -110,7 +110,12 @@ ul { padding: 0; } -button { +a.btn { + display: block; + text-decoration: none; +} + +button, .btn { background-color: var(--primary-0); border: none; border-radius: 4px; @@ -125,10 +130,10 @@ button { text-decoration: none; transition: background-color 0.2s ease-in-out; } -button:hover { +button:hover, .btn:hover { background-color: var(--primary-1); } -button:active { +button:active, .btn:active { background-color: var(--primary-2); } diff --git a/2025/theme/style.css.map b/2025/theme/style.css.map index 329d22f..3e5ffd2 100644 --- a/2025/theme/style.css.map +++ b/2025/theme/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["style.scss","partials/font-scale.scss","partials/cards.scss"],"names":[],"mappings":"AACQ;AAGR;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA,yBACE;;;AAYJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAXF;IAYI;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;;AAEA;EATF;AAAA;AAAA;AAAA;AAAA;IAUI;;;;AAIJ;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;ACpJF;EACE;EACA;;AAEA;EAJF;IAKI;IACA;;;AAGF;EATF;IAUI;IACA;;;;ACXJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["style.scss","partials/font-scale.scss","partials/cards.scss"],"names":[],"mappings":"AACQ;AAGR;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA,yBACE;;;AAYJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAXF;IAYI;IACA;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;;AAEA;EATF;AAAA;AAAA;AAAA;AAAA;IAUI;;;;AAIJ;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;ACzJF;EACE;EACA;;AAEA;EAJF;IAKI;IACA;;;AAGF;EATF;IAUI;IACA;;;;ACXJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE","file":"style.css"} \ No newline at end of file diff --git a/2025/theme/style.scss b/2025/theme/style.scss index 041986e..f8c260d 100644 --- a/2025/theme/style.scss +++ b/2025/theme/style.scss @@ -119,7 +119,12 @@ ul { padding: 0; } -button { +a.btn { + display: block; + text-decoration: none; +} + +button, .btn { background-color: var(--primary-0); border: none; border-radius: 4px;