:root{--ink:#244b44;--muted:#63776c;--cream:#fffdf3;--orange:#ce6138;--line:#dce3d2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans TC',system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c8552f;outline-offset:5px}button{color:inherit}a{color:inherit}header{height:90px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5e2d8;background:#fffdf3f5;position:relative;z-index:5}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:23px;font-weight:900;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.brand-icon{display:grid;place-items:center;width:43px;height:43px;background:#e7ac53;color:#fffdf3;border-radius:50%;font-size:33px}.header-actions{display:flex;gap:12px}.header-actions button,#overview,#reset,#back{border:1px solid #cdd8ca;background:transparent;border-radius:30px;padding:10px 18px;font-size:12px}.header-actions button:last-child{background:var(--ink);color:white}.world{height:780px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#e4f3dc 0%,#c4e5dd 45%,#a6d7d2 100%)}.intro{position:absolute;left:5%;top:45px;z-index:2;pointer-events:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--orange)}h1{font-size:46px;line-height:1.42;margin:15px 0 16px;letter-spacing:4px}p{line-height:1.9}.intro>p:last-child{color:#55756b;font-size:13px}.scene{position:absolute;width:1050px;height:670px;left:50%;top:60px;transform:translateX(-42%)}.land{position:absolute;left:170px;top:160px;width:730px;height:380px;background:#c5da98;border:19px solid #f4dfaf;border-radius:48% 42% 46% 40%;transform:rotate(-9deg);box-shadow:0 17px 0 #dfc48f,0 30px 0 #8ab4a4,0 45px 0 #a0c8bc55,inset 0 0 0 6px #dae6ac}.island-shadow{position:absolute;left:170px;top:310px;width:740px;height:300px;border-radius:50%;background:#70a8a13b;filter:blur(12px)}.path{position:absolute;background:#f6ecc9;border:3px dashed #d4c89b;opacity:.9}.p1{width:460px;height:75px;top:110px;left:90px;border-radius:50%;transform:rotate(-8deg)}.p2{width:85px;height:240px;left:330px;top:50px;border-radius:45%;transform:rotate(36deg)}.pond{width:120px;height:64px;background:#98ceca;position:absolute;left:90px;top:220px;border:7px solid #e8e9c1;border-radius:50%}.tree{position:absolute;font-size:75px;color:#6f9970;filter:drop-shadow(6px 9px 0 #547d5f);transform:rotate(9deg)}.t1{left:40px;top:75px}.t2{left:240px;top:5px}.t3{right:65px;top:115px}.t4{right:150px;bottom:2px}.flower{position:absolute;color:#f8f0bf;font-size:28px}.f1{left:220px;top:220px}.f2{left:450px;top:30px}.f3{right:30px;top:190px}.spot{position:absolute;z-index:2;border:0;background:none;text-align:center;display:flex;align-items:center;flex-direction:column;transition:transform .2s;filter:drop-shadow(0 8px 6px #457e6a25)}.spot:hover,.spot[aria-pressed=true]{transform:translateY(-10px)}.spot strong{background:#fffdf3;border:1px solid #d3d9c2;padding:9px 17px;border-radius:22px;font-size:14px;box-shadow:0 4px 0 #d7cfb5}.spot small{font-size:10px;color:#41685e;margin-top:8px;font-weight:600}.landmark{font-size:65px;display:block;line-height:1.4;text-shadow:0 9px 0 #517c3e23}.spot-0{left:280px;top:175px}.spot-1{left:535px;top:95px}.spot-2{left:715px;top:220px}.spot-3{left:590px;top:390px}.spot-4{left:350px;top:355px}.guide{position:absolute;left:80px;bottom:5px;display:flex;align-items:center;z-index:3}.amai{width:165px;height:165px;background-image:url('assets/amai.png');background-size:300% 300%;background-position:0 0;border-radius:50%;box-shadow:0 10px 25px #426c4820;border:5px solid #fffdf3}.bubble{background:#fffdf3;padding:17px 24px;border-radius:22px 22px 22px 0;font-size:12px;line-height:1.9;box-shadow:0 5px 0 #95b6a653;transform:translate(-12px,-42px)}.cloud{position:absolute;width:145px;height:30px;background:#fffdf3b0;box-shadow:20px -18px 0 #fffdf399,-15px -10px 0 #fffdf3aa;border-radius:50%;animation:drift 8s ease-in-out infinite alternate}.c1{left:370px;top:35px}.c2{right:40px;bottom:70px;scale:.7;animation-delay:-4s}.sea-line{height:15px;width:100px;border-bottom:2px solid #f1ffff70;border-radius:50%;position:absolute}.s1{left:100px;top:300px}.s2{right:30px;top:400px}.boat{position:absolute;right:65px;top:120px;font-size:40px;animation:drift 5s ease-in-out infinite alternate}.compass{position:absolute;right:50px;bottom:0;font-size:30px;text-align:center;color:#5d8d80;font-family:serif}.world-footer{position:absolute;bottom:22px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#53786b}.world-footer button{background:#fffdf378}.library{max-width:1250px;margin:auto;padding:65px 40px 75px}.library-head{display:flex;align-items:center;justify-content:space-between}.library h2{font-size:30px;letter-spacing:2px;margin:10px 0}.count{background:#eceddc;border-radius:30px;padding:10px 20px;font-size:12px}.library #zone-description{color:var(--muted)}.search{display:flex;align-items:center;border:1px solid #cbd8c9;border-radius:14px;padding:8px 18px;background:white;margin-top:25px;gap:12px}.search>span{font-size:30px}.search input{width:100%;border:0;padding:10px;background:transparent;outline-offset:0}.search kbd{border:1px solid #d9dfd2;padding:2px 7px;border-radius:5px;color:#8b988b}.filters{display:flex;gap:15px;align-items:center;margin:16px 0}.filters label{display:flex;gap:8px;align-items:center;font-size:12px}.filters select{background:#f7f6e9;border:1px solid #d9decc;border-radius:8px;padding:9px;max-width:200px}.filters #reset{margin-left:auto}.source-note{font-size:11px;color:#677566}.library #status{font-size:12px;margin:25px 0 15px;color:#647563}#cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fffefa;border:1px solid #dce2d0;border-radius:15px;text-align:left;padding:23px;min-height:230px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 9px 0 #e9eada}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}time{font-size:10px;color:#7b8676}.verdict{background:#f9e8db;color:#a44b31;font-size:11px;border-radius:6px;padding:5px 9px;font-weight:700;display:inline-block;width:fit-content}.card h3{font-size:15px;line-height:1.9;font-weight:600;margin:17px 0 22px}.card-category{margin-top:auto;font-size:10px;color:#7a8b75}#more{display:block;margin:32px auto 0;border:1px solid #b7c8b5;padding:13px 40px;border-radius:40px;background:transparent}#more[hidden]{display:none}.empty{grid-column:1/-1;text-align:center;background:#f1f3e8;border-radius:18px;padding:45px}.empty>span{font-size:50px}.empty p{color:var(--muted)}footer{padding:45px 6%;background:#eaf0df;display:flex;justify-content:space-between;gap:35px;font-size:11px}footer strong{font-size:20px}footer p{margin:6px 0}footer details{max-width:700px}summary{cursor:pointer}dialog{border:1px solid #dce0cd;border-radius:24px;padding:40px;max-width:640px;width:calc(100% - 32px);color:var(--ink);background:var(--cream);max-height:90dvh;overflow:auto}dialog::backdrop{background:#193c35a0;backdrop-filter:blur(5px)}dialog h2{font-size:24px;line-height:1.75}dialog #detail-date{color:var(--muted);font-size:12px}.close{position:absolute;right:15px;top:12px;border:0;background:#edf0e2;border-radius:50%;width:35px;height:35px;font-size:25px}.notice{background:#f7ecd8;padding:17px;border-radius:10px;font-size:12px}.tag{display:inline-block;font-size:11px;border:1px solid #d9e0cc;padding:5px 10px;border-radius:20px;margin:4px}.primary{display:block;text-align:center;background:var(--ink);color:white;padding:15px;border-radius:10px;text-decoration:none;margin-top:25px}.external-note{text-align:center;color:var(--muted);font-size:10px}#back{display:block;margin:20px auto 0}.skip{position:fixed;top:-80px;left:10px;z-index:10;background:white;padding:15px}.skip:focus{top:5px}@keyframes drift{to{transform:translate(12px,-8px)}}.still *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1500px){.scene{transform:translateX(-40%) scale(1.1)}}@media(max-width:1000px){h1{font-size:36px}.scene{top:110px;transform:translateX(-50%) scale(.8)}.world{height:760px}.intro{top:25px}.intro>p:last-child{display:none}.spot strong{font-size:15px}#cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{height:75px;padding:0 20px}.brand{font-size:17px;letter-spacing:1px;gap:8px}.brand small{font-size:6px;letter-spacing:1px}.brand-icon{width:32px;height:32px;font-size:25px}.header-actions{gap:6px}.header-actions button{padding:9px;font-size:10px}.header-actions button:last-child{display:none}.world{height:760px}.intro{left:24px;top:20px}.intro .eyebrow{font-size:9px}h1{font-size:31px;line-height:1.5;margin-top:12px;letter-spacing:2px}.scene{left:50%;top:150px;width:700px;height:590px;transform:translateX(-50%) scale(.66);transform-origin:50% 30%}.land{left:35px;top:120px;width:640px;height:390px;transform:rotate(-15deg)}.island-shadow{left:35px;width:640px}.spot-0{left:90px;top:160px}.spot-1{left:320px;top:85px}.spot-2{left:510px;top:205px}.spot-3{left:380px;top:370px}.spot-4{left:160px;top:360px}.spot strong{font-size:18px;padding:10px 13px}.spot small{font-size:13px}.landmark{font-size:65px}.guide{left:110px;bottom:-140px}.amai{width:160px;height:160px}.bubble{font-size:16px;padding:18px 24px}.cloud.c1{left:430px;top:0}.boat{right:10px;top:25px}.compass{right:50px;bottom:-95px}.world-footer{font-size:9px;bottom:20px;gap:10px}.world-footer button{font-size:10px;padding:9px}.library{padding:35px 20px 45px}.library h2{font-size:24px;letter-spacing:1px}.library-head .eyebrow{font-size:8px}.count{font-size:10px;padding:8px 12px}.filters{gap:7px;flex-wrap:wrap}.filters label{font-size:10px;gap:4px}.filters select{font-size:11px;max-width:136px;padding:10px 5px}.filters #reset{padding:9px 12px;font-size:10px}.source-note{font-size:10px}#cards{grid-template-columns:1fr;gap:12px}.card{min-height:190px;padding:20px}.card h3{font-size:15px}.card-top time{font-size:11px}footer{flex-direction:column;padding:30px 24px;gap:18px}dialog{padding:28px 22px;border-radius:18px}dialog h2{font-size:20px}}
