*{box-sizing:border-box}html{background:#f3f7fa;color:#16374b;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ff9e36;outline-offset:4px}button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}a{color:inherit}body>header,main,.dock{max-width:600px;margin:auto}.hero{position:relative;aspect-ratio:4/5;overflow:hidden;background:#278ed0}.hero>img{width:100%;height:100%;object-fit:cover;display:block}.top-actions{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;z-index:1}.top-actions button{background:#fffdf2e8;padding:8px 15px;border-radius:25px;color:#173c58;font-size:14px;font-weight:650}.top-actions button:first-child{background:#f87542;color:#fff}.hero-title{position:absolute;top:16%;left:7%;right:5%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;margin:0 0 15px}.hero h1{font-size:clamp(58px,16vw,98px);font-weight:950;line-height:1.08;letter-spacing:-4px;color:#fff;margin:0;text-shadow:1px 3px 0 #286ca8}.hero h2{font-size:clamp(23px,6vw,37px);line-height:1.35;margin:10px 0;color:#133951;letter-spacing:1px}.hero h2 span{display:block;font-size:14px;font-weight:550;letter-spacing:.5px;margin-top:8px}.hero-caption{position:absolute;bottom:35px;left:7%;right:7%;display:flex;justify-content:space-between;color:white;text-shadow:0 1px 4px #16374b;font-size:12px;font-weight:800}.identity{position:relative;margin:-21px 16px 0;background:#fff;border:1px solid #e8edf1;border-radius:20px;padding:17px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px #17374b0a}.identity-symbol{height:42px;width:42px;border-radius:50%;background:#e5f6fc;color:#1684bd;display:grid;place-items:center;font-size:28px;flex:none}.identity strong{font-size:17px}.identity p{margin:5px 0 0;font-size:12px;color:#687e89}.text-button{margin-left:auto;white-space:nowrap;color:#177bae;background:transparent;font-size:14px;font-weight:700;padding:8px 0 8px 8px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:24px 20px}.tabs button{padding:12px 4px;border-radius:24px;background:#fff;color:#32566c;font-weight:700;font-size:14px;box-shadow:0 3px 10px #143c5010}.tabs [aria-selected=true]{background:#137db4;color:#fff}.intro{padding:20px 26px 13px}.orange{color:#e06538}.intro h2,.board-head h2{font-size:34px;line-height:1.3;letter-spacing:-1px;margin:0 0 16px;font-weight:850}.intro>p:last-child,.board-head>p{font-size:16px;line-height:1.9;color:#5b7483}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 20px 30px}.stats>div{background:#e3f2f9;border-radius:15px;padding:18px 6px;text-align:center}.stats>div:nth-child(2){background:#fff0e6}.stats>div:nth-child(3){background:#efecfa}.stats b{font-size:32px;line-height:1.2;display:block;color:#147caf;font-weight:850}.stats>div:nth-child(2) b{color:#e56c36}.stats>div:nth-child(3) b{color:#7b5da8}.stats small{font-size:12px;margin-left:3px}.stats span{display:block;font-size:11px;margin-top:7px;color:#5d7480}.rule-card{margin:0 16px 30px;border-radius:22px;padding:24px;background:#fff;box-shadow:0 10px 30px #1e516408}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid #dce8ed;padding-bottom:15px;font-size:10px;letter-spacing:1px;color:#78909b}.section-label b{color:#e16b3b;letter-spacing:1px;font-size:12px}.rule-card h2{font-size:30px;line-height:1.35;margin:23px 0}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:15px;margin:0 0 24px}.steps li>b{font-size:15px;font-weight:900;color:#ef7843;border-top:2px solid #ef7843;padding-top:4px;flex:none}.steps h3{font-size:17px;margin:0 0 7px}.steps p{font-size:15px;color:#5c7581;line-height:1.8;margin:0}.rule-note{background:#fff4e8;border-left:3px solid #e88b46;font-size:13px;line-height:1.8;padding:13px 14px;border-radius:4px 12px 12px 4px;color:#94612d}.scoring{background:#153c58;color:white;padding:32px 27px;position:relative;overflow:hidden}.scoring:after{content:"↗";position:absolute;right:-17px;top:2px;font-size:190px;color:#ffffff08;pointer-events:none}.scoring h2{font-size:31px;line-height:1.35;margin:0 0 26px}.scoring .eyebrow{color:#9bd9ef}.score-equation{display:flex;gap:20px;align-items:center}.score-equation b{display:block;font-size:46px;font-weight:850;color:#ffb269;line-height:1.2}.score-equation span{font-size:12px}.score-equation em{font-size:25px;font-style:normal;color:#73b7d9}.scoring>p:last-child{font-size:14px;line-height:1.9;color:#c3d8e4;margin-top:24px}.notice{padding:29px 26px}.notice h3{font-size:17px}.notice p{font-size:14px;line-height:1.9;color:#6c818d}.notice strong{color:#284b5f}.compact{padding-top:10px}.compact h2{font-size:29px}.map-frame{display:block;position:relative;padding:0;width:calc(100% - 32px);margin:4px 16px 25px;border-radius:15px;overflow:hidden;box-shadow:0 5px 25px #133e6312}.map-frame img{width:100%;height:auto;display:block}.map-frame span{position:absolute;bottom:12px;right:12px;background:#153c58;color:#fff;padding:9px 14px;border-radius:20px;font-size:12px}.point-list{margin:0 22px}.point{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #dce6ec}.point i{font-style:normal;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:12px;font-weight:800;flex:none}.point strong{font-size:16px}.point small{margin-left:auto;color:#7d8e97;font-size:13px;white-space:nowrap}.map-note{font-size:13px;line-height:1.9;margin:25px;color:#788c97}.board-head{padding:20px 25px}.board-head h2{font-size:29px}.board-head p{font-size:14px}.outline-button{border:1px solid #83b5ce;background:#fff;color:#147daf;padding:10px 17px;border-radius:25px;font-size:14px}.board-columns{display:grid;grid-template-columns:1fr 80px 55px;font-size:12px;padding:12px 23px;color:#758c99;background:#e6eff5}.board-columns span:not(:first-child){text-align:right}.rank-row{display:grid;grid-template-columns:25px 1fr 80px 55px;align-items:center;gap:4px;padding:19px 22px;border-bottom:1px solid #dfe9ef;background:#fff}.rank-row strong{font-size:15px;word-break:break-word}.rank-row>span:first-child{font-size:15px;color:#e57840;font-weight:800}.rank-row>span:nth-child(3){text-align:right;font-size:13px;color:#6c8390}.rank-row>b{text-align:right;color:#107eac;font-size:20px}.empty{text-align:center;padding:42px 24px;background:#fff;min-height:180px}.empty b{display:block;font-size:20px;line-height:1.5}.empty p{font-size:14px;line-height:1.8;color:#78909b}.empty button{margin-top:12px}footer{background:#173c53;color:#a9c5d5;padding:30px 25px 120px}footer>span{font-size:10px;letter-spacing:2px}footer p{font-size:17px;color:#fff;margin:13px 0}footer small{font-size:10px}.dock{position:fixed;z-index:4;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #dbe4e9;display:flex;align-items:center;padding:13px 20px calc(13px + env(safe-area-inset-bottom));gap:14px}.dock>div{min-width:0}.dock b{display:block;font-size:17px}.dock>div>span{font-size:10px;display:block;color:#7d8e98;margin-top:4px;white-space:nowrap}.dock>button{background:#f57942;color:#fff;border-radius:30px;font-size:19px;font-weight:800;min-height:53px;margin-left:auto;padding:12px 20px;display:flex;align-items:center;gap:20px;white-space:nowrap}.dock button span{font-size:28px;line-height:1}dialog{border:0;border-radius:24px;color:#16374b;padding:32px 25px;width:calc(100% - 32px);max-width:500px;max-height:85dvh;box-shadow:0 15px 100px #14395160}dialog::backdrop{background:#153b5599;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:10px;top:10px;background:#edf3f7;color:#496e85;border-radius:50%;width:30px;height:30px;font-size:24px}dialog h2{font-size:27px;line-height:1.4;margin:12px 0}dialog p{font-size:15px;line-height:1.9;color:#6b8290}.form-label{display:block;margin:25px 0 10px;font-size:15px;font-weight:700}.name-field{width:100%;border:1px solid #c8dce7;border-radius:12px;padding:15px;font-size:18px;color:#16374b;background:#f5f9fb;outline-color:#168ac4}.agreement{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;color:#758a95;margin:20px 0}.agreement input{width:20px;height:20px;flex:none;accent-color:#168ac4}.primary-button{background:#ee7841;border-radius:30px;color:#fff;padding:14px 20px;font-weight:800;display:block;width:100%;font-size:17px;margin-top:20px;text-align:center;text-decoration:none}.form-error{color:#ae362e!important;font-size:14px!important}.form-hint{font-size:12px!important}.modal-map{width:100%;height:auto;display:block}.map-scroll{overflow:auto;max-height:55vh;background:#f1f5f8}.share-preview{border-radius:12px;overflow:hidden;background:#edf5fa}.share-preview img{display:block;width:100%}.share-preview h3,.share-preview p{padding:0 15px}#toast{position:fixed;z-index:8;bottom:120px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);background:#163b53ef;color:white;padding:12px 18px;border-radius:12px;font-size:14px;line-height:1.6;box-shadow:0 5px 20px #163b5330;display:none}#toast.visible{display:block}[hidden]{display:none!important}@media(min-width:600px){.hero h1{font-size:98px}.hero h2{font-size:37px}.hero h2 span{font-size:19px}.hero .eyebrow{font-size:13px}.hero-caption{font-size:16px}.intro,.board-head{padding-left:34px;padding-right:34px}}@media(max-width:340px){.dock{padding-left:14px;padding-right:14px;gap:8px}.dock>button{font-size:17px;padding:12px 16px;gap:13px}.hero h2 span{font-size:12px}.identity{padding:14px 11px;gap:7px}.identity strong{font-size:16px}.text-button{font-size:13px}.hero-title{top:17%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
