{"id":8290,"date":"2026-08-17T18:12:11","date_gmt":"2026-08-17T10:12:11","guid":{"rendered":"https:\/\/www.peachcp.com\/wro-hk\/?page_id=8290"},"modified":"2026-08-17T18:50:59","modified_gmt":"2026-08-17T10:50:59","slug":"hkrc-speed-scoresheet","status":"publish","type":"page","link":"https:\/\/www.peachcp.com\/wro-hk\/hkrc-speed-scoresheet\/","title":{"rendered":"HKRC SPEED CHALLENGE \u5faa\u7dda\u6311\u6230\u8cfd\u7dda\u4e0a\u8a08\u5206\u8868"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8290\" class=\"elementor elementor-8290\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5d7483e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d7483e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-996cbc4\" data-id=\"996cbc4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8a5e68e elementor-tabs-view-horizontal elementor-widget elementor-widget-tabs\" data-id=\"8a5e68e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1451\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1451\" aria-expanded=\"false\">\u521d\u5c0f\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1452\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1452\" aria-expanded=\"false\">\u9ad8\u5c0f\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1453\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1453\" aria-expanded=\"false\">\u4e2d\u5b78\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1451\" aria-expanded=\"false\">\u521d\u5c0f\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1451\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1451\" tabindex=\"0\" hidden=\"false\"><p><br \/><a href=\"https:\/\/docs.google.com\/document\/d\/15c-FzY3--nZYBPXDGhVxZ4gJfoofd8k7\/edit#heading=h.xomjlj71gq7i\" target=\"_blank\" rel=\"noopener\"><img data-opt-src=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:267\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-11-47.png\"   decoding=\"async\" decoding=async data-opt-id=1648891646   class=\"size-medium wp-image-8293 aligncenter\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20300%20267%22%20width%3D%22300%22%20height%3D%22267%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22300%22%20height%3D%22267%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"\" width=\"300\" height=\"267\" old-srcset=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:576\/h:512\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-11-47.png 576w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:267\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-11-47.png 300w\" \/><\/a><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1452\" aria-expanded=\"false\">\u9ad8\u5c0f\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1452\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1452\" tabindex=\"0\" hidden=\"hidden\"><p><a href=\"https:\/\/docs.google.com\/document\/d\/17DeQLpR3Tihj32s0M1-NcHZIWCrjqHGc\/edit\" target=\"_blank\" rel=\"noopener\"><img data-opt-src=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:132\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-12-20.png\"   decoding=\"async\" decoding=async data-opt-id=1048760007   class=\" wp-image-8295 aligncenter\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20300%20132%22%20width%3D%22300%22%20height%3D%22132%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22300%22%20height%3D%22132%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"\" width=\"626\" height=\"275\" old-srcset=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:1228\/h:542\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-12-20.png 1228w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:132\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-12-20.png 300w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:1024\/h:452\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-12-20.png 1024w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:768\/h:339\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-12-20.png 768w\" \/><\/a><\/p><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1453\" aria-expanded=\"false\">\u4e2d\u5b78\u7d44\u8def\u7dda<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1453\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1453\" tabindex=\"0\" hidden=\"hidden\"><p><a href=\"https:\/\/docs.google.com\/document\/d\/17DeQLpR3Tihj32s0M1-NcHZIWCrjqHGc\/edit\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" decoding=async data-opt-id=2082009740  data-opt-src=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:281\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-13-49.png\"  class=\" wp-image-8294 aligncenter\" src=\"data:image\/svg+xml,%3Csvg%20viewBox%3D%220%200%20300%20281%22%20width%3D%22300%22%20height%3D%22281%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22300%22%20height%3D%22281%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"\" width=\"472\" height=\"442\" srcset=\"https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:1222\/h:1144\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-13-49.png 1222w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:300\/h:281\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-13-49.png 300w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:1024\/h:959\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-13-49.png 1024w, https:\/\/ml4wzkob9jho.i.optimole.com\/cb:kW2f.79b\/w:768\/h:719\/q:mauto\/f:best\/https:\/\/www.peachcp.com\/wro-hk\/wp-content\/uploads\/2026\/08\/PixPin_2026-08-17_18-13-49.png 768w\" sizes=\"(max-width: 472px) 100vw, 472px\" \/><\/a><\/p><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e0404d0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e0404d0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-56dc00c\" data-id=\"56dc00c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3d70337 elementor-widget elementor-widget-html\" data-id=\"3d70337\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"zh-HK\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>HKRC Speed Challenge 2026 \u8a08\u6642\u53ca\u8a08\u5206\u5668<\/title>\n <style>\n        body {\n            font-family: Arial, sans-serif;\n            max-width: 600px;\n            margin: 10px auto;\n            padding: 15px;\n            padding-bottom: 160px;\n            background: #f4f4f9;\n        }\n        h1 {\n            text-align: center;\n            color: #333;\n            font-size: 20px;\n            margin-bottom: 12px;\n        }\n        \n        \/* \u7d44\u5225\u5207\u63db\u958b\u95dc (3\u500b\u7d44\u5225) *\/\n        .mode-toggle {\n            display: flex;\n            gap: 6px;\n            margin-bottom: 15px;\n        }\n        .mode-btn {\n            flex: 1;\n            padding: 8px 4px;\n            font-size: 13px;\n            font-weight: bold;\n            border: 2px solid #0288d1;\n            background: #fff;\n            color: #0288d1;\n            border-radius: 6px;\n            cursor: pointer;\n            text-align: center;\n        }\n        .mode-btn.active {\n            background: #0288d1;\n            color: #fff;\n        }\n\n        .section {\n            background: #fff;\n            padding: 15px;\n            margin-bottom: 12px;\n            border-radius: 8px;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        }\n        .section h3 {\n            margin-top: 0;\n            margin-bottom: 10px;\n            font-size: 15px;\n            color: #333;\n            border-bottom: 1px solid #eee;\n            padding-bottom: 6px;\n        }\n        .item-row {\n            margin-bottom: 12px;\n        }\n        .item-row:last-child {\n            margin-bottom: 0;\n        }\n        .item-title {\n            font-size: 13px;\n            color: #666;\n            margin-bottom: 5px;\n            font-weight: bold;\n        }\n        \n        \/* \u7db2\u683c\u6309\u9215\u6a23\u5f0f *\/\n        .grid-btn {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));\n            gap: 6px;\n        }\n        .btn-item {\n            padding: 10px 6px;\n            font-size: 12px;\n            font-weight: bold;\n            border: 2px solid #ccc;\n            border-radius: 6px;\n            background: #fff;\n            color: #444;\n            cursor: pointer;\n            text-align: center;\n            transition: 0.1s;\n            touch-action: manipulation;\n        }\n        .btn-item:active {\n            transform: scale(0.96);\n        }\n        .btn-item.active {\n            background: #4CAF50;\n            color: white;\n            border-color: #388E3C;\n        }\n\n        \/* \u9055\u898f\u52a0\u6642\u6309\u9215 *\/\n        .penalty-btn {\n            background: #fff3e0;\n            border-color: #ff9800;\n            color: #e65100;\n        }\n        .penalty-btn.active {\n            background: #ff9800;\n            color: white;\n        }\n\n        .reset-btn {\n            width: 100%;\n            padding: 10px;\n            font-size: 14px;\n            background: #6c757d;\n            color: white;\n            border: none;\n            border-radius: 6px;\n            cursor: pointer;\n        }\n\n        \/* \u8a08\u6642\u5668\u6a23\u5f0f *\/\n        .timer-box {\n            text-align: center;\n            background: #e3f2fd;\n            padding: 12px;\n            border-radius: 8px;\n            margin-bottom: 10px;\n        }\n        .timer-display {\n            font-size: 32px;\n            font-weight: bold;\n            color: #0288d1;\n            margin: 8px 0;\n        }\n        .timer-controls {\n            display: flex;\n            gap: 8px;\n            justify-content: center;\n        }\n        .timer-ctrl-btn {\n            padding: 6px 14px;\n            font-size: 13px;\n            font-weight: bold;\n            border: none;\n            border-radius: 4px;\n            cursor: pointer;\n        }\n        .btn-start { background: #4CAF50; color: white; }\n        .btn-pause { background: #ff9800; color: white; }\n        .btn-reset-timer { background: #757575; color: white; }\n\n        \/* \u56fa\u5b9a\u5e95\u90e8\u8a08\u5206\u5217 *\/\n        .fixed-score-bar {\n            position: fixed;\n            bottom: 0;\n            left: 0;\n            width: 100%;\n            background: #ffffff;\n            box-shadow: 0 -4px 10px rgba(0,0,0,0.15);\n            padding: 10px 15px;\n            box-sizing: border-box;\n            z-index: 1000;\n        }\n        .fixed-score-container {\n            max-width: 600px;\n            margin: 0 auto;\n        }\n        .score-info {\n            font-size: 12px;\n            color: #666;\n            margin-bottom: 4px;\n            line-height: 1.4;\n        }\n        .score-flex {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n        .score-display {\n            font-size: 18px;\n            font-weight: bold;\n            color: #d9534f;\n        }\n\n        \/* \u734e\u9805\u6a19\u7c64\u6a23\u5f0f *\/\n        .award-tag {\n            display: inline-block;\n            margin-left: 6px;\n            padding: 2px 8px;\n            border-radius: 12px;\n            font-size: 12px;\n            font-weight: bold;\n            transition: all 0.2s ease;\n        }\n <\/style>\n<\/head>\n<body>\n\n<h1>HKRC Speed Challenge 2026 \u8a08\u6642\u53ca\u8a08\u5206\u5668<\/h1>\n\n    \n<div class=\"mode-toggle\">\n <button id=\"btnJunior\" class=\"mode-btn active\" onclick=\"switchMode('junior')\">\u2b50 \u521d\u5c0f\u7d44<\/button>\n <button id=\"btnPrimary\" class=\"mode-btn\" onclick=\"switchMode('primary')\">\ud83c\udfeb \u9ad8\u5c0f\u7d44<\/button>\n <button id=\"btnSecondary\" class=\"mode-btn\" onclick=\"switchMode('secondary')\">\ud83c\udf93 \u4e2d\u5b78\u7d44<\/button>\n <\/div>\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n    \n<div class=\"section\">\n<h3>\u4efb\u52d9\u5b8c\u6210\u5ea6 \/ \u6700\u9ad8\u5230\u9054\u6aa2\u67e5\u9ede<\/h3>\n<div class=\"item-row\">\n<div class=\"grid-btn\" id=\"checkpointContainer\"><\/div>\n <\/div>\n <\/div>\n\n    \n<div class=\"section\">\n<h3>\u9055\u898f\u52a0\u6642 (\u76ee\u524d\u7e3d\u52a0\u6642: <span id=\"penaltyText\" style=\"color:#e65100; font-weight:bold;\">0<\/span> \u79d2)<\/h3>\n<div class=\"grid-btn\">\n <button class=\"btn-item penalty-btn\" onclick=\"togglePenalty('p3', this)\">\u8d77\u6b65\u8d85\u51fa\u57fa\u5730\u7bc4\u570d<br>(+3\u79d2)<\/button>\n <button class=\"btn-item penalty-btn\" onclick=\"togglePenalty('p5a', this)\">\u65b9\u584a\u672a\u653e\u5c0d\u61c9\u6a19\u8a18<br>(+5\u79d2)<\/button>\n <button class=\"btn-item penalty-btn\" onclick=\"togglePenalty('p5b', this)\">\u672a\u81ea\u52d5\u505c\u5b9a<br>(+5\u79d2)<\/button>\n <\/div>\n <\/div>\n\n    \n<div class=\"section\">\n <button class=\"reset-btn\" onclick=\"resetAll()\">\ud83d\udd04 \u6e05\u7a7a\u91cd\u65b0\u8a08\u5206<\/button>\n <\/div>\n\n    \n<div class=\"fixed-score-bar\">\n<div class=\"fixed-score-container\">\n<div class=\"score-info\">\n                \u57fa\u790e\u6642\u9593: <span id=\"scBaseTime\">0.0<\/span>s | \u52a0\u6642: +<span id=\"scPenaltyTime\">0<\/span>s | \u9054\u6210\u6aa2\u67e5\u9ede: <span id=\"scCheckpointDesc\">\u672a\u9054\u6a19<\/span>\n <\/div>\n<div class=\"score-flex\">\n<div>\n <span id=\"groupLabel\" style=\"font-weight: bold; color: #0288d1;\">[\u521d\u5c0f\u7d44]<\/span>\n <span id=\"awardDisplay\" class=\"award-tag\">\u672a\u9054\u6a19<\/span>\n <\/div>\n <span class=\"score-display\">\u6700\u7d42\u7e3d\u6642\u9593: <span id=\"totalScoreTime\">0.0<\/span> \u79d2<\/span>\n <\/div>\n <\/div>\n <\/div>\n\n <script>\n        let currentGroup = 'junior';\n        let baseTime = 0.0;\n        let activePenalties = { p3: false, p5a: false, p5b: false };\n        let timerInterval = null;\n        let timerSeconds = 0;\n        let timerRunning = false;\n\n        const checkpointsData = {\n            junior: [\n                { text: \"\u672a\u9054\u6a19<br>(0\u5206)\", level: 0, desc: \"\u672a\u9054\u6a19\", award: \"\u672a\u9054\u6a19\" },\n                { text: \"\u6a5f\u68b0\u4eba\u6210\u529f\u6cbf\u8def\u7dda\u884c\u99db<br>(\u5609\u8a31\u72c0)\", level: 1, desc: \"\u6210\u529f\u6cbf\u8def\u7dda\u884c\u99db\", award: \"\ud83d\udcdc \u5609\u8a31\u72c0\" },\n                { text: \"\u99db\u5b8c\u5168\u7a0b\uff0c\u63a5\u89f8\u57fa\u5730<br>(\u9285\u734e)\", level: 2, desc: \"\u99db\u5b8c\u5168\u7a0b\u63a5\u89f8\u57fa\u5730\", award: \"\ud83e\udd49 \u9285\u734e\" },\n                { text: \"\u99db\u5b8c\u5168\u7a0b\uff0c\u5e36\u56de\u4e00\u500b\u65b9\u584a<br>(\u9280\u734e)\", level: 3, desc: \"\u5e36\u56de\u4e00\u500b\u65b9\u584a\", award: \"\ud83e\udd48 \u9280\u734e\" },\n                { text: \"\u99db\u5b8c\u5168\u7a0b\uff0c\u5e36\u56de\u5169\u500b\u65b9\u584a<br>(\u91d1\u734e)\", level: 4, desc: \"\u5e36\u56de\u5169\u500b\u65b9\u584a\", award: \"\ud83e\udd47 \u91d1\u734e\" }\n            ],\n            primary: [\n                { text: \"\u672a\u9054\u6a19<br>(0\u5206)\", level: 0, desc: \"\u672a\u9054\u6a19\", award: \"\u672a\u9054\u6a19\" },\n                { text: \"\u5b8c\u5168\u7a7f\u8d8a\u85cd\u8272\u6aa2\u67e5\u7dda<br>(\u5609\u8a31\u72c0)\", level: 1, desc: \"\u85cd\u8272\u6aa2\u67e5\u7dda\", award: \"\ud83d\udcdc \u5609\u8a31\u72c0\" },\n                { text: \"\u5b8c\u5168\u7a7f\u8d8a\u7da0\u8272\u6aa2\u67e5\u7dda<br>(\u9285\u734e)\", level: 2, desc: \"\u7da0\u8272\u6aa2\u67e5\u7dda\", award: \"\ud83e\udd49 \u9285\u734e\" },\n                { text: \"\u5b8c\u5168\u7a7f\u8d8a\u7b2c\u4e8c\u689d\u9ec3\u8272\u6aa2\u67e5\u7dda<br>(\u9280\u734e)\", level: 3, desc: \"\u7b2c\u4e8c\u9ec3\u8272\u7dda\", award: \"\ud83e\udd48 \u9280\u734e\" },\n                { text: \"\u7a7f\u8d8a\u7d05\u8272\u7dda\u5f8c\u505c\u5b9a\u4e26\u90e8\u5206\u5165\u57fa\u5730<br>(\u91d1\u734e)\", level: 4, desc: \"\u7d05\u8272\u6aa2\u67e5\u7dda(\u91d1)\", award: \"\ud83e\udd47 \u91d1\u734e\" }\n            ],\n            secondary: [\n                { text: \"\u672a\u9054\u6a19<br>(0\u5206)\", level: 0, desc: \"\u672a\u9054\u6a19\", award: \"\u672a\u9054\u6a19\" },\n                { text: \"\u5b8c\u5168\u7a7f\u8d8a\u5317\u9762\u7b2c\u4e8c\u689d\u9ec3\u8272\u6aa2\u67e5\u7dda<br>(\u5609\u8a31\u72c0)\", level: 1, desc: \"\u5317\u9762\u7b2c\u4e8c\u9ec3\u8272\u7dda\", award: \"\ud83d\udcdc \u5609\u8a31\u72c0\" },\n                { text: \"\u8fd4\u56de\u7d05\u8272\u57fa\u5730\uff0c\u90e8\u5206\u9032\u5165\u7d05\u8272\u6aa2\u67e5\u7dda<br>(\u9285\u734e)\", level: 2, desc: \"\u56de\u57fa\u5730\u90e8\u5206\u5165\u7d05\u7dda\", award: \"\ud83e\udd49 \u9285\u734e\" },\n                { text: \"\u96e2\u958b\u57fa\u5730\uff0c\u5b8c\u5168\u7a7f\u8d8a\u7da0\u8272\u6aa2\u67e5\u7dda<br>(\u9280\u734e)\", level: 3, desc: \"\u96e2\u57fa\u5730\u904e\u7da0\u7dda\", award: \"\ud83e\udd48 \u9280\u734e\" },\n                { text: \"\u5b8c\u5168\u7a7f\u8d8a\u7d05\u8272\u7dda\u4e26\u5b8c\u5168\u9032\u5165\u57fa\u5730\u505c\u5b9a<br>(\u91d1\u734e)\", level: 4, desc: \"\u5b8c\u5168\u5165\u57fa\u5730\u505c\u5b9a(\u91d1)\", award: \"\ud83e\udd47 \u91d1\u734e\" }\n            ]\n        };\n\n        function renderUI() {\n            const data = checkpointsData[currentGroup];\n            let html = '';\n            data.forEach((opt, idx) => {\n                html += `<button class=\"btn-item ${idx===0?'active':''}\" onclick=\"selectCheckpoint(this)\" data-level=\"${opt.level}\" data-desc=\"${opt.desc}\" data-award=\"${opt.award}\">${opt.text}<\/button>`;\n            });\n            document.getElementById('checkpointContainer').innerHTML = html;\n            calculateTotal();\n        }\n\n        function switchMode(group) {\n            currentGroup = group;\n            document.getElementById('btnJunior').classList.toggle('active', group === 'junior');\n            document.getElementById('btnPrimary').classList.toggle('active', group === 'primary');\n            document.getElementById('btnSecondary').classList.toggle('active', group === 'secondary');\n            \n            const groupNames = { junior: '[\u521d\u5c0f\u7d44]', primary: '[\u9ad8\u5c0f\u7d44]', secondary: '[\u4e2d\u5b78\u7d44]' };\n            document.getElementById('groupLabel').innerText = groupNames[group];\n            renderUI();\n        }\n\n        function selectCheckpoint(btn) {\n            const container = btn.parentElement;\n            container.querySelectorAll('.btn-item').forEach(b => b.classList.remove('active'));\n            btn.classList.add('active');\n            calculateTotal();\n        }\n\n        function togglePenalty(key, btn) {\n            activePenalties[key] = !activePenalties[key];\n            btn.classList.toggle('active', activePenalties[key]);\n            calculateTotal();\n        }\n\n        function startTimer() {\n            if (timerRunning) return;\n            timerRunning = true;\n            const startTime = Date.now() - (timerSeconds * 1000);\n            timerInterval = setInterval(() => {\n                timerSeconds = (Date.now() - startTime) \/ 1000;\n                if (timerSeconds >= 90) {\n                    timerSeconds = 90;\n                    pauseTimer();\n                }\n                document.getElementById('timerDisplay').innerText = timerSeconds.toFixed(1) + 's';\n                document.getElementById('manualTime').value = timerSeconds.toFixed(1);\n                baseTime = timerSeconds;\n                calculateTotal();\n            }, 100);\n        }\n\n        function pauseTimer() {\n            timerRunning = false;\n            clearInterval(timerInterval);\n        }\n\n        function resetTimer() {\n            pauseTimer();\n            timerSeconds = 0;\n            document.getElementById('timerDisplay').innerText = '00.0s';\n            document.getElementById('manualTime').value = '0';\n            baseTime = 0.0;\n            calculateTotal();\n        }\n\n        function onManualTimeInput() {\n            const val = parseFloat(document.getElementById('manualTime').value) || 0;\n            timerSeconds = val;\n            baseTime = val;\n            document.getElementById('timerDisplay').innerText = val.toFixed(1) + 's';\n            calculateTotal();\n        }\n\n        function calculateTotal() {\n            let penaltySum = 0;\n            if (activePenalties.p3) penaltySum += 3;\n            if (activePenalties.p5a) penaltySum += 5;\n            if (activePenalties.p5b) penaltySum += 5;\n\n            document.getElementById('penaltyText').innerText = penaltySum;\n            document.getElementById('scBaseTime').innerText = baseTime.toFixed(1);\n            document.getElementById('scPenaltyTime').innerText = penaltySum;\n\n            let totalTime = baseTime + penaltySum;\n            document.getElementById('totalScoreTime').innerText = totalTime.toFixed(1);\n\n            const activeBtn = document.querySelector('#checkpointContainer .btn-item.active');\n            if (activeBtn) {\n                const level = parseInt(activeBtn.dataset.level);\n                const desc = activeBtn.dataset.desc;\n                const award = activeBtn.dataset.award;\n\n                document.getElementById('scCheckpointDesc').innerText = desc;\n                const awardTag = document.getElementById('awardDisplay');\n                awardTag.innerText = award;\n\n                if (level === 4) {\n                    awardTag.style.background = \"#fff8e1\";\n                    awardTag.style.color = \"#b78103\";\n                } else if (level === 3) {\n                    awardTag.style.background = \"#eceff1\";\n                    awardTag.style.color = \"#455a64\";\n                } else if (level === 2) {\n                    awardTag.style.background = \"#fbe9e7\";\n                    awardTag.style.color = \"#bf360c\";\n                } else if (level === 1) {\n                    awardTag.style.background = \"#e1f5fe\";\n                    awardTag.style.color = \"#0277bd\";\n                } else {\n                    awardTag.style.background = \"#f5f5f5\";\n                    awardTag.style.color = \"#9e9e9e\";\n                }\n            }\n        }\n\n        function resetAll() {\n            resetTimer();\n            activePenalties = { p3: false, p5a: false, p5b: false };\n            document.querySelectorAll('.penalty-btn').forEach(b => b.classList.remove('active'));\n            renderUI();\n        }\n\n        renderUI();\n <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f85cb78 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"f85cb78\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md elementor-animation-grow\" href=\"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLSfgTH2crqvLEfXmY3QNLUrK8o5fJ1nw3zKZoAaCWFP2P5Y8Pg\/viewform?usp=dialog\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u63d0\u4ea4\u4f5c\u54c1<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u521d\u5c0f\u7d44\u8def\u7dda \u9ad8\u5c0f\u7d44\u8def\u7dda \u4e2d\u5b78\u7d44\u8def\u7dda \u521d\u5c0f\u7d44\u8def\u7dda \u9ad8\u5c0f\u7d44\u8def\u7dda  &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8290","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/8290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/comments?post=8290"}],"version-history":[{"count":5,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/8290\/revisions"}],"predecessor-version":[{"id":8305,"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/pages\/8290\/revisions\/8305"}],"wp:attachment":[{"href":"https:\/\/www.peachcp.com\/wro-hk\/wp-json\/wp\/v2\/media?parent=8290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}