:root{--ink:#e9e9e5;--bg:#090a0a;--paper:#dfdfda;--dim:#888a85;--line:#ffffff30;--accent:#e7f500;--ease:cubic-bezier(.18,.84,.21,1);--base:clamp(13px,1.03vw,18px)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:var(--base);background:#090a0a;color:#e9e9e5;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:#e7f500;color:#111}.app{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:580px;overflow:hidden;background:var(--bg);color:var(--ink)}.topographic{position:absolute;inset:0;z-index:0;opacity:.32;pointer-events:none}.topographic svg{width:100%;height:100%}.texture{position:absolute;inset:0;pointer-events:none;opacity:.11;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.edge-cross{position:absolute;color:#90918d;font-size:1rem;z-index:3}.top-edge{left:2.4%;top:17%}.bottom-edge{right:2.8%;bottom:19%}
.site-head{position:absolute;inset:0 0 auto;z-index:12;height:91px;display:flex;align-items:center;padding:0 3.25%;border-bottom:1px solid var(--line);gap:3.7vw}.brand{display:flex;align-items:center;text-align:left;gap:13px;min-width:220px;padding:0}.brand-symbol{font-size:43px;font-weight:100;line-height:1;transform:rotate(-20deg);color:var(--accent)}.brand strong{display:block;font-weight:1000;font-size:23px;letter-spacing:-.085em;line-height:.91}.brand small{font-size:10px;letter-spacing:.25em;display:block;margin-top:8px;color:#b4b4af}.header-mid{display:flex;align-items:center;gap:12px;color:#a8a9a4;font-size:10px;letter-spacing:.22em;white-space:nowrap}.accent-mark{width:20px;height:3px;background:var(--accent)}.muted{color:#555750}.top-actions{margin-left:auto;display:flex;align-items:center;gap:23px;white-space:nowrap}.text-button{font-size:11px;letter-spacing:.08em;padding:10px 1px;transition:color .25s}.text-button:hover,.close-btn:hover{color:var(--accent)}.button-plus{color:var(--accent)}.index-button{display:flex;gap:14px;align-items:center;border:1px solid #d8d8d36b;padding:12px 15px;font-size:11px;transition:background .25s,color .25s}.index-button b{color:var(--accent);font-size:12px}.index-button:hover{background:var(--accent);color:#080808}.index-button:hover b{color:#111}
.category-nav{position:absolute;z-index:10;top:30%;left:3.25%;width:18%;max-width:265px}.section-label,.eyebrow{color:#8f918b;font-size:10px;letter-spacing:.26em;font-weight:500}.category-buttons{display:grid;margin-top:34px;gap:6px}.category-buttons button{position:relative;display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;text-align:left;width:100%;border-bottom:1px solid #45484367;padding:14px 0;color:#777a75;transition:color .3s,padding-left .3s}.category-buttons button span{font-size:10px;letter-spacing:.1em}.category-buttons button strong{font-size:15px;font-weight:500;letter-spacing:.03em}.category-buttons button .cat-arrow{opacity:0}.category-buttons button.active,.category-buttons button:hover{color:#f5f5f0;padding-left:8px}.category-buttons button.active:before{content:"";position:absolute;left:-12px;top:50%;width:3px;height:15px;transform:translateY(-50%);background:var(--accent)}.category-buttons button.active .cat-arrow,.category-buttons button:hover .cat-arrow{opacity:1;color:var(--accent)}.side-indicator{display:flex;align-items:center;gap:14px;margin-top:55px;color:#666963;font-size:9px;letter-spacing:.18em;line-height:1.8}.yellow-square{width:7px;height:7px;background:var(--accent)}
.main-scene{position:absolute;inset:91px 24% 100px 18%;z-index:2;user-select:none}.main-scene canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:4;outline:none}.main-scene canvas:active{cursor:grabbing}.graphic-ring{width:min(53vw,69vh);height:min(53vw,69vh);position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) rotateX(56deg) rotate(-25deg);border:1px solid #d5d8d01b;border-radius:50%;pointer-events:none}.graphic-ring:before{content:"";position:absolute;inset:14%;border:1px dashed #e1e3dc1c;border-radius:50%}.graphic-ring:after{content:"";position:absolute;inset:34%;border:1px solid #e1e3dc10;border-radius:50%}.ring-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);top:14%;left:16%}.crosshairs{position:absolute;inset:13% 10%;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - .5px),#dededc17 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#dededc17 50%,transparent calc(50% + .5px))}.scene-cap{position:absolute;font-size:9px;letter-spacing:.18em;color:#666964;z-index:5;pointer-events:none}.left-cap{top:11%;left:13%}.right-cap{top:11%;right:8%}.scene-hit-info{position:absolute;z-index:5;bottom:10%;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.16em;color:#959792;white-space:nowrap;transition:color .3s}.scene-hit-info:hover{color:var(--accent)}.scene-hit-info span{color:var(--accent);font-size:18px;margin-right:10px;vertical-align:-1px}.scene-baseline{position:absolute;z-index:4;bottom:6%;left:17%;right:17%;display:flex;align-items:center;gap:10px;color:#777;font-size:8px;letter-spacing:.2em;pointer-events:none}.scene-baseline div{flex:1;height:8px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#6664,#6664) center/100% 1px no-repeat}.scene-baseline i{height:6px;width:1px;background:#6668;display:block}
.archive-sheet{position:absolute;z-index:8;right:3.25%;top:18%;bottom:19%;width:clamp(300px,25.6vw,430px);min-height:420px;padding:26px 29px 22px;display:flex;flex-direction:column;background:#dfdfdaeE;color:#131514;backdrop-filter:blur(9px);box-shadow:0 30px 110px #0008;transition:transform .6s var(--ease),width .6s var(--ease),opacity .4s}.archive-sheet.collapsed{transform:translateX(calc(100% - 45px))}.sheet-accent{position:absolute;left:0;top:0;width:50px;height:4px;background:var(--accent)}.sheet-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;letter-spacing:.19em;border-bottom:1px solid #17191845;padding-bottom:20px}.status{font-size:9px;display:flex;align-items:center;gap:7px}.status i{height:5px;width:5px;background:#515e29;display:inline-block;border-radius:50%}.sheet-main{position:relative;padding-top:35px;flex:1;min-height:0}.sheet-main .eyebrow{color:#74776f}.sheet-number{position:absolute;right:0;top:32px;font-size:clamp(78px,8.5vw,150px);letter-spacing:-.13em;line-height:1;color:#0808080c;font-weight:900;pointer-events:none}.sheet-main h1{position:relative;font-size:clamp(35px,3.35vw,60px);letter-spacing:-.055em;line-height:1.13;font-weight:900;margin:35px 0 9px}.english-title{letter-spacing:.19em;font-size:12px;font-weight:700;color:#555850;margin:0}.rule-with-marker{height:1px;background:#24282352;margin:32px 0 23px;position:relative}.rule-with-marker span{position:absolute;left:0;top:-1px;width:42px;height:3px;background:#141513}.body-copy{font-size:clamp(12px,.95vw,15px);line-height:1.95;color:#50534c;max-width:320px;white-space:pre-wrap;margin:0 0 20px}.facts{display:grid;gap:9px;margin-top:20px}.fact{display:flex;align-items:baseline;gap:7px;border-bottom:1px dashed #27292731;padding-bottom:7px;font-size:10px;color:#333}.fact b{font-size:9px;font-weight:500;letter-spacing:.04em}.fact .dots{flex:1;border-bottom:1px dotted #5555;transform:translateY(-3px)}.fact span{color:#747771;font-size:10px;text-align:right}.sheet-bottom{display:flex;justify-content:space-between;align-items:end;gap:8px;padding-top:16px}.file-footnote{display:flex;gap:10px;align-items:center;font-size:9px;letter-spacing:.08em;color:#777}.small-cross{font-size:22px;color:#181818}.primary-button{background:#131512;color:#f6f7f2;padding:15px 19px;letter-spacing:.15em;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;white-space:nowrap;transition:background .25s,color .25s}.primary-button:hover{background:var(--accent);color:#090909}.primary-button span{font-size:18px}.collapse-sheet{position:absolute;left:-29px;top:48%;height:57px;width:30px;background:#d8d8d3;color:#151515;font-size:25px}.archive-sheet.collapsed .collapse-sheet{transform:rotate(180deg)}
.presentation-footer{position:absolute;z-index:12;bottom:0;left:0;right:0;height:94px;background:#0b0c0bea;border-top:1px solid #9d9e933f;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.25%;gap:25px}.footer-left{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.16em;color:#a1a29e;white-space:nowrap}.square-key{width:7px;height:7px;border:1px solid var(--accent)}.footer-notation{color:#565a55}.view-control{display:flex;align-items:center;gap:20px}.view-control span{font-size:13px;letter-spacing:.22em;font-weight:700}.square-button{border:1px solid #8b8c8366;width:37px;height:37px;font-size:18px;transition:background .25s,color .25s}.square-button:hover{background:var(--accent);color:#101010}.footer-right{display:flex;justify-content:flex-end;gap:20px;align-items:center}.footer-right button{white-space:nowrap}.floating-tool{position:absolute;z-index:13;right:3.25%;bottom:106px;display:flex;gap:12px}.floating-tool button{font-size:10px;letter-spacing:.1em;color:#81847f}.floating-tool button:hover{color:var(--accent)}
.modal{position:absolute;inset:0;z-index:30;overflow:auto;visibility:hidden;opacity:0;transform:translateY(22px);pointer-events:none;background:#0c0d0d;color:#f0f0ed;transition:opacity .45s var(--ease),transform .6s var(--ease),visibility .5s}.modal.show{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.modal-head{padding:42px max(5%,35px) 10px;display:flex;justify-content:space-between;align-items:start;gap:25px}.modal-head h2{font-size:clamp(45px,6vw,91px);font-weight:900;letter-spacing:-.065em;line-height:1;margin:19px 0 20px}.modal-head h2 small{font-size:12px;letter-spacing:.1em;font-weight:400;vertical-align:middle;color:#8b8c86}.close-btn{letter-spacing:.12em;font-size:12px;padding:12px 0;white-space:nowrap}.index-list{margin:3vh max(5%,35px) 0}.index-entry{position:relative;border-top:1px solid #ddd4;padding:27px 0;width:100%;display:grid;grid-template-columns:10% 32% 37% 1fr;align-items:center;text-align:left;gap:15px;transition:padding-left .3s,color .3s}.index-entry:last-child{border-bottom:1px solid #ddd4}.index-entry .index-code{color:#868883;font-size:12px}.index-entry strong{font-size:clamp(27px,3.2vw,52px);letter-spacing:-.04em}.index-entry small{color:#888a84;letter-spacing:.14em;font-size:12px}.index-entry .index-arr{text-align:right;font-size:22px}.index-entry:hover,.index-entry:focus-visible{padding-left:16px;color:var(--accent)}.modal-foot{padding:4vh 5%;font-size:10px;letter-spacing:.16em;color:#848681}
.modal-light{background:#e4e4df;color:#111}.detail-copy{height:100%;min-height:650px;width:55%;display:flex;flex-direction:column;justify-content:space-between}.detail-copy .modal-head{padding:34px 8%}.detail-body{padding:0 10%}.detail-tag{font-size:11px;letter-spacing:.15em;color:#666}.detail-body h2{font-size:clamp(48px,7.6vw,110px);margin:24px 0 4px;letter-spacing:-.065em}.detail-en{font-weight:700;font-size:13px;letter-spacing:.22em;color:#4a4b46}.black-rule{height:1px;width:100%;background:#3336;margin:35px 0 28px}.detail-lead{max-width:650px;font-size:clamp(14px,1.2vw,19px);line-height:1.9;color:#4c4e49}.detail-blocks{margin-top:34px;max-width:660px;display:grid;gap:12px}.detail-block{display:grid;grid-template-columns:110px 1fr;border-top:1px solid #a3a49e;padding-top:13px;gap:20px}.detail-block b{font-size:11px}.detail-block span{font-size:13px;color:#656963;line-height:1.6}.detail-nav{display:flex;align-items:center;gap:34px;padding:30px 10%;border-top:1px solid #7774}.detail-nav button{border-bottom:1px solid #333;padding:10px 0;font-size:12px}.detail-nav span{margin:auto;letter-spacing:.15em;font-size:11px}.detail-art{position:absolute;right:0;top:0;width:45%;height:100%;background:#080909;display:flex;align-items:center;justify-content:center}.detail-outline{width:86%;height:80%;display:flex;align-items:center;justify-content:center}.detail-outline svg{width:100%;max-height:100%;height:auto}.detail-art-index{position:absolute;top:45px;left:8%;font-size:10px;letter-spacing:.2em;color:#aaa}.light-outline{position:absolute;bottom:8%;right:9%;border:1px solid #aaa7;font-size:12px;padding:14px 23px}.light-outline:hover{background:var(--accent);color:black;border-color:var(--accent)}
.simple-modal-body{padding:8vh 10%;max-width:1000px;position:relative}.simple-modal-body .huge-ghost{font-size:clamp(120px,18vw,330px);font-weight:1000;line-height:.7;letter-spacing:-.13em;color:#ffffff08;position:absolute;top:20px;left:8%;pointer-events:none}.simple-modal-body h2{font-size:clamp(60px,9vw,130px);position:relative;letter-spacing:-.07em;margin:5vh 0 3vh}.simple-modal-body p{font-size:clamp(15px,1.5vw,21px);line-height:2;max-width:720px;position:relative;white-space:pre-wrap}.simple-modal-body .small-note{font-size:12px;color:#949792}.thin-divider{height:1px;background:#ffffff4d;margin:55px 0}.contact-copy{background:var(--accent);color:#111;padding:18px 30px;font-size:12px}
#entityModal{background:#0c0d0d}#entityCanvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none;cursor:grab}#entityCanvas:active{cursor:grabbing}.entity-head{position:absolute;z-index:3;left:0;right:0;top:0;height:97px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9994;letter-spacing:.16em;font-size:12px;pointer-events:none}.entity-head button{pointer-events:auto;font-size:11px}.entity-head button:hover{color:var(--accent)}.entity-head b{color:#7c807a;font-weight:400}.entity-tools{position:absolute;z-index:3;bottom:5%;left:5%;right:5%;display:flex;align-items:center;gap:25px;font-size:12px}.entity-tools button{border:1px solid #7778;padding:13px 18px;font-size:11px}.entity-tools button:hover{background:#ededeb;color:#111}.entity-tools span{margin-left:auto;color:#7e807b;font-size:11px}
.editor-modal{z-index:33;background:#dfdfdb;color:#171916;padding:33px max(4%,24px)}.editor-head{display:flex;justify-content:space-between;align-items:start}.editor-head h2{font-size:clamp(43px,6vw,78px);margin:10px 0 16px;letter-spacing:-.07em}.editor-tip{color:#5c6159;font-size:12px;line-height:1.6;max-width:700px}.editor-scroll{height:min(62vh,650px);overflow:auto;margin-top:25px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 25px;padding:4px 4px 60px}.editor-field{display:flex;flex-direction:column;gap:8px}.editor-field label{font-size:11px;color:#555a53}.editor-field input,.editor-field textarea{font-size:13px;color:#171816;border:1px solid #686a6577;background:#efefeb;border-radius:0;padding:12px 13px;width:100%;resize:vertical}.editor-field textarea{min-height:90px;line-height:1.7}.editor-section{grid-column:1/-1;border-top:1px solid #7777;margin:16px 0 -8px;padding-top:15px;font-size:17px;font-weight:700}.editor-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #9998;padding-top:20px}.editor-actions button,.import-file{font-size:11px;border:1px solid #777;padding:14px 18px;cursor:pointer}.editor-actions .primary-button{border-color:#161616}.editor-actions #editNotice{color:#39702e;font-size:11px}
.intro{position:absolute;inset:0;z-index:45;background:#090909;color:#f1f1ec;display:flex;flex-direction:column;overflow:hidden;transition:opacity .9s var(--ease),visibility .9s}.intro.dismissed{opacity:0;visibility:hidden;pointer-events:none}.intro-top{padding:38px 5%;font-size:11px;letter-spacing:.18em;display:flex;justify-content:space-between;border-bottom:1px solid #5554}.intro-top span{color:#aaa}.skip-intro{position:absolute;right:5%;top:92px;font-size:12px;z-index:3}.skip-intro:hover{color:var(--accent)}.intro-center{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:min(95vw,650px)}.intro-insignia{width:min(48vw,400px);height:min(41vh,350px);animation:riseLogo 1.5s var(--ease) both}.intro-word{font-size:clamp(54px,10.5vw,127px);font-weight:1000;letter-spacing:-.12em;line-height:.8;margin-top:-67px;z-index:2;white-space:nowrap;text-shadow:0 8px 0 #090909}.intro-word span{color:var(--accent)}.intro-sub{font-size:11px;letter-spacing:.26em;text-align:center;color:#aaa;margin-top:28px}.intro-enter{margin-top:39px;border:1px solid #f1f1ec88;padding:17px 35px;font-size:12px;letter-spacing:.15em;display:flex;gap:40px;transition:background .3s,color .3s}.intro-enter:hover{background:var(--accent);border-color:var(--accent);color:#0a0a0a}.intro-band{position:absolute;bottom:5%;right:-12%;height:65px;width:46%;background:var(--accent);transform:rotate(-22deg)}.intro-bottom{display:flex;justify-content:space-between;margin-top:auto;padding:22px 5%;font-size:10px;letter-spacing:.2em;z-index:2}.intro-bottom span:last-child{color:#999}@keyframes riseLogo{from{opacity:0;transform:translateY(35px) scale(.91)}to{opacity:1;transform:translateY(0) scale(1)}}
.app.reduce-motion *, .app.reduce-motion *:before,.app.reduce-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media(max-width:1180px){.header-mid{display:none}.archive-sheet{width:320px;right:2.3%}.main-scene{right:22%;left:17%}.category-nav{left:2.5%;width:18%}.site-head{padding:0 2.5%}.presentation-footer{padding:0 2.5%}.footer-notation{display:none}}
@media(max-width:850px){.app{min-height:550px}.site-head{height:72px}.brand{min-width:0}.brand strong{font-size:17px}.brand small{font-size:8px}.brand-symbol{font-size:32px}.top-actions{gap:8px}.top-actions .text-button{display:none}.index-button{padding:9px 11px;font-size:10px;gap:7px}.category-nav{top:90px;left:5%;width:90%;max-width:none}.category-nav .section-label,.category-nav .side-indicator{display:none}.category-buttons{display:flex;gap:0;margin:0;justify-content:space-between}.category-buttons button{display:block;width:auto;padding:10px 4px;white-space:nowrap;border-bottom:1px solid #444}.category-buttons button strong{font-size:12px}.category-buttons button span,.category-buttons button .cat-arrow{display:none}.category-buttons button.active{padding-left:4px;border-bottom-color:var(--accent)}.category-buttons button.active:before{display:none}.main-scene{inset:135px 3% 260px}.graphic-ring{width:min(80vw,49vh);height:min(80vw,49vh)}.archive-sheet{right:0;top:auto;left:0;bottom:82px;width:100%;min-height:unset;height:235px;padding:17px 5% 18px;box-shadow:0 -22px 30px #0005}.archive-sheet.collapsed{transform:translateY(calc(100% - 35px))}.sheet-topline{padding-bottom:10px}.sheet-main{padding-top:10px}.sheet-main h1{font-size:28px;margin:12px 0 5px}.sheet-main .eyebrow,.sheet-number,.rule-with-marker,.facts,.file-footnote{display:none}.sheet-main .english-title{font-size:9px}.body-copy{font-size:11px;line-height:1.7;margin-top:9px;max-width:75%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sheet-bottom{position:absolute;right:5%;bottom:22px}.primary-button{padding:11px 13px;font-size:10px;gap:8px}.collapse-sheet{left:50%;top:-29px;height:29px;width:60px;transform:translateX(-50%) rotate(90deg)}.archive-sheet.collapsed .collapse-sheet{transform:translateX(-50%) rotate(-90deg)}.presentation-footer{height:80px;grid-template-columns:1fr auto;gap:5px}.footer-left{display:none}.view-control{grid-column:1;gap:11px}.footer-right{grid-column:2;gap:12px}.footer-right #presetBtn{display:none}.floating-tool{bottom:85px;right:5%;gap:15px}.scene-cap{display:none}.index-entry{grid-template-columns:40px 1fr 24px}.index-entry small{display:none}.modal-head{padding-top:32px}.detail-copy{width:100%;height:65%;min-height:600px}.detail-art{position:relative;width:100%;height:440px}.detail-body{padding:0 7%}.detail-copy .modal-head{padding:30px 7%}.detail-nav{padding:25px 7%}.editor-scroll{grid-template-columns:1fr}.intro-word{margin-top:-35px}.intro-insignia{width:min(66vw,310px)}}
@media(max-width:480px){.main-scene{bottom:270px}.brand strong{font-size:15px}.brand small{font-size:7px}.brand-symbol{font-size:27px}.archive-sheet{height:245px}.body-copy{max-width:98%}.sheet-bottom{bottom:13px}.footer-right #resetBtn{display:none}.footer-right{gap:5px}.index-entry{padding:22px 0}.category-buttons button strong{font-size:11px}.intro-sub{font-size:9px;letter-spacing:.11em}.intro-band{width:73%}}

.atlas-button{position:absolute;bottom:8%;left:9%;border:1px solid #aaa7;font-size:12px;padding:14px 23px;color:#eee;background:transparent;transition:.25s}.atlas-button:hover{background:var(--accent);color:#090909;border-color:var(--accent)}
.gallery-modal{background:#090a0a;color:#eee;padding:34px 5%;overflow:auto}.gallery-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #555;padding-bottom:25px}.gallery-head h2{font-size:clamp(42px,6vw,80px);letter-spacing:-.06em;margin:12px 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 38px;margin-top:50px}.gallery-card{height:210px;background:#020303;border:1px solid #333;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;position:relative;overflow:hidden}.gallery-card:before{content:'';position:absolute;inset:20px;background:repeating-linear-gradient(130deg,transparent 0 18px,#444 19px 20px);opacity:.25}.gallery-thumb{position:absolute;top:20px;left:20px;color:#ddd;letter-spacing:.2em;font-size:12px}.gallery-card b,.gallery-card span{position:relative}.gallery-card span{font-size:10px;color:#888;letter-spacing:.15em;margin-top:8px}
@media(max-width:850px){.gallery-grid{grid-template-columns:1fr 1fr}.atlas-button{left:5%;bottom:5%}}

/* Classification step: paper canvas and tall archive cards */
.classification-modal{background:#e4e4df;color:#111;padding:34px 5%;}
.classification-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;}
.classification-head h2{font-size:clamp(34px,4vw,64px);letter-spacing:-.06em;margin:16px 0 30px;}
.classification-modal .eyebrow{color:#686c65;}
.classification-modal .close-btn:hover{color:#111;text-decoration:underline;text-decoration-color:#899300;}
.classification-toolbar{display:flex;gap:24px;align-items:center;border-top:1px solid #1114;border-bottom:1px solid #1114;padding:18px 0;}
.classification-toolbar label{font-size:10px;letter-spacing:.16em;white-space:nowrap;}
.classification-search{display:flex;align-items:center;gap:12px;flex:1;max-width:540px;border-bottom:1px solid #1117;}
.classification-search input{width:100%;min-width:0;background:transparent;border:0;padding:12px 0;color:#111;font-size:13px;outline-offset:2px;}
.classification-search button{white-space:nowrap;font-size:11px;}
#classificationCount{margin-left:auto;font-size:11px;letter-spacing:.1em;white-space:nowrap;}
.classification-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.7vw;margin:7vh auto 5vh;max-width:1600px;}
.classification-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;gap:5vw;}
.classification-card{position:relative;isolation:isolate;overflow:hidden;text-align:left;display:flex;flex-direction:column;min-height:330px;height:46vh;max-height:560px;padding:26px;color:#eee;background:#080909;border:1px solid #343631;transition:transform .25s,border-color .25s;}
.classification-card:hover,.classification-card:focus-visible{transform:translateY(-7px);border-color:#899300;box-shadow:0 6px 0 var(--accent);}
.classification-code{font-size:10px;letter-spacing:.18em;}
.classification-contours{position:absolute;z-index:-1;inset:15% -50% 20% -50%;opacity:.35;background:repeating-radial-gradient(ellipse at 50% 140%,transparent 0 15px,#686b63 16px 17px,transparent 18px 26px);transform:rotate(-25deg);}
.classification-number{font-size:clamp(64px,9vw,150px);line-height:1;font-weight:900;letter-spacing:-.08em;color:#ffffff14;margin:auto 0;}
.classification-card strong{font-size:clamp(28px,3.2vw,48px);letter-spacing:-.05em;}
.classification-english{font-size:10px;letter-spacing:.18em;color:#999d94;margin-top:10px;}
.classification-link{display:block;border-top:1px solid #ffffff30;margin-top:25px;padding-top:16px;font-size:11px;letter-spacing:.13em;}
.classification-card:hover .classification-link,.classification-card:focus-visible .classification-link{color:var(--accent);}
.classification-foot{display:flex;justify-content:space-between;gap:20px;color:#62655e;font-size:9px;letter-spacing:.15em;border-top:1px solid #1113;padding:20px 0;}
.classification-empty{padding:70px 0;text-align:center;font-size:14px;color:#555;}
.detail-art .light-outline{color:#eee;}.detail-art .light-outline:hover{color:#111;}
@media(max-width:850px){.classification-grid,.classification-grid[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px auto;}.classification-card{height:360px;min-height:300px;padding:23px;}.classification-toolbar{flex-wrap:wrap;gap:10px 20px;}.classification-search{order:3;flex-basis:100%;max-width:none;}.classification-foot span:last-child{display:none;}}
@media(max-width:480px){.classification-modal{padding:28px 6%;}.classification-head h2{font-size:30px;}.classification-head{gap:10px;}.classification-card{height:285px;min-height:0;padding:16px;}.classification-grid,.classification-grid[data-columns="3"]{gap:14px;}.classification-card strong{font-size:28px;}.classification-english{font-size:8px;}.classification-number{font-size:70px;}.gallery-grid{grid-template-columns:1fr;}}

[hidden]{display:none!important}
.gallery-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.record-action{border:1px solid currentColor;padding:12px 17px;font-size:12px;white-space:nowrap}.record-action:hover{background:var(--accent);color:#111;border-color:var(--accent)}.gallery-head>div:first-child{min-width:0}.gallery-head h2{overflow-wrap:anywhere}.gallery-head .gallery-actions{padding-top:8px;min-width:205px}#galleryNotice{font-size:12px;color:#d0d3ac;min-height:18px;margin:16px 0}.interactive-record{padding:0;transition:border-color .2s}.interactive-record:hover{border-color:var(--accent)}.interactive-record:before{pointer-events:none}.record-open{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;width:100%;height:100%;padding:20px;z-index:1}.record-open b{font-size:18px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.record-open:focus-visible{outline-offset:-3px}.record-label{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1;padding:20px;font-size:11px;color:#aaa}.record-name-input{background:#191b17;color:#fff;border:1px solid #898d79;width:100%;padding:12px;font-size:18px}.search-specimen-card strong{font-size:clamp(22px,2.5vw,40px);overflow-wrap:anywhere}.specimen-modal{background:linear-gradient(90deg,#e4e4df 50%,#080909 50%);color:#111;padding:32px 5%;}.specimen-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;}.specimen-header p{font-size:12px;max-width:40vw;overflow-wrap:anywhere;line-height:1.8}.specimen-header .gallery-actions{color:#eee}.specimen-spread{display:grid;grid-template-columns:1fr 1fr;margin:8vh auto 6vh;width:80%;min-height:54vh;}.specimen-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:#080909;color:#eee;padding:30px;font-size:11px;letter-spacing:.15em;min-height:440px;}.specimen-art-lines{position:absolute;inset:0;opacity:.18;background:repeating-radial-gradient(ellipse at 20% 90%,transparent 0 25px,#999 26px 27px,transparent 28px 40px);pointer-events:none;}.specimen-placeholder{text-align:center;position:relative;color:#9a9d95;}.specimen-placeholder>span{font-size:60px;font-weight:100;color:#dce6b2}.specimen-placeholder small{font-size:10px}.specimen-info{padding:40px;background:#e4e4df;overflow-wrap:anywhere;}.specimen-info h2{font-size:clamp(32px,4vw,64px);line-height:1.2;letter-spacing:-.05em;margin:20px 0 10px}.specimen-info p{font-size:14px;line-height:1.9;white-space:pre-wrap}#specimenEnglish{font-size:11px;letter-spacing:.15em;color:#666}#specimenSummary{border-top:1px solid #1114;padding-top:24px;margin-top:25px}.specimen-info dl{display:grid;grid-template-columns:100px 1fr;gap:16px 14px;border-block:1px solid #1113;padding:22px 0;font-size:12px;line-height:1.7}.specimen-info dd{margin:0;color:#666;white-space:pre-wrap}.specimen-info dt{font-weight:700}.specimen-form{background:#e4e4df;border:1px solid #aaa;padding:30px;width:80%;margin:0 auto 40px;}.specimen-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.record-field{display:flex;flex-direction:column;gap:10px;font-size:12px;}.record-field input,.record-field textarea{width:100%;padding:12px;border:1px solid #777;background:#f0f0ec;color:#111;}.record-field textarea{min-height:110px;resize:vertical;}.record-field:has(textarea){grid-column:1/-1}#specimenNotice{background:#e4e4df;font-size:12px;padding:12px;width:80%;margin:0 auto;}#specimenNotice:empty{display:none}
@media(max-width:850px){.gallery-head{flex-direction:column;gap:10px}.gallery-head .gallery-actions{justify-content:flex-start}.specimen-spread,.specimen-form{width:94%}.specimen-info{padding:25px}.specimen-info dl{grid-template-columns:1fr}.specimen-art{padding:20px}.specimen-spread{margin-top:5vh}.specimen-header .gallery-actions{max-width:45%}}
@media(max-width:600px){.specimen-spread{grid-template-columns:1fr}.specimen-art{min-height:280px}.specimen-info{min-height:360px}.specimen-fields{grid-template-columns:1fr}.specimen-header p{max-width:42vw}.specimen-form{padding:20px}.specimen-header .record-action{padding:10px;font-size:11px}.gallery-actions{gap:12px}.specimen-info dl{grid-template-columns:95px 1fr}}

/* Square image area centred on the left archive panel. */
.specimen-image-frame{position:relative;z-index:1;width:68%;aspect-ratio:1/1;flex:none;margin:28px auto;background:#e4e4df26;display:grid;place-items:center;overflow:hidden;letter-spacing:normal;}
.specimen-image-frame>img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}.specimen-image-frame .specimen-placeholder{padding:18px;font-size:11px;letter-spacing:.1em;}.specimen-image-frame .specimen-placeholder>span{font-size:42px;}
.specimen-image-editor{display:flex;align-items:center;gap:25px;border-block:1px solid #1113;padding:22px 0;margin-bottom:25px;}.image-preview-frame{position:relative;flex:0 0 160px;aspect-ratio:1/1;background:#111;display:grid;place-items:center;overflow:hidden;color:#999;font-size:12px;}.image-preview-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}.image-import-controls{min-width:0;}.image-import-controls p{font-size:12px;line-height:1.8;max-width:520px;color:#555;}.image-import-label{display:inline-block;cursor:pointer;margin:0 12px 12px 0;}.image-import-label:hover{background:var(--accent);}.image-import-controls button{margin-bottom:12px;}button:disabled{opacity:.45;cursor:not-allowed;}#specimenImageStatus{color:#424a25;}
@media(max-width:600px){.specimen-image-editor{flex-direction:column;align-items:flex-start;}.image-preview-frame{flex-basis:auto;width:150px;}.specimen-image-frame{width:68%;max-width:320px;}.specimen-art{min-height:0;}}

/* Legal archive: offset editorial panels, retaining all existing controls. */
.law-modal{background:#0a0c0b;color:#e9e9e5;padding:38px 5% 48px;background-image:repeating-radial-gradient(ellipse at 100% 75%,transparent 0 48px,#c7cdc50a 49px 50px,transparent 51px 69px);}
.law-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;border-bottom:1px solid #ffffff28;padding-bottom:30px;position:relative;}
.law-head:after{content:'';position:absolute;bottom:-2px;left:0;width:58px;height:3px;background:var(--accent);}
.law-head .eyebrow{font-size:10px;letter-spacing:.24em;color:#91978c;}
.law-head h2{font-size:clamp(32px,4.3vw,70px);font-weight:800;letter-spacing:-.055em;line-height:1.2;margin:23px 0 0;overflow-wrap:anywhere;}
.law-head .gallery-actions{padding-top:6px;gap:22px;flex-shrink:0;}
.law-head .record-action{border-color:#697063;font-size:11px;padding:13px 22px;}
.law-head .record-action:hover{border-color:var(--accent);}
#lawBack,#cancelLaw{font-size:12px;color:#b7bcb2;padding:12px 0;}#lawBack:hover,#cancelLaw:hover{color:var(--accent);}
.law-book{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;align-items:start;gap:clamp(24px,4vw,76px);width:min(90%,1420px);margin:62px auto 32px;background:transparent;}
.law-book:before{content:'LEGAL / FIELD NOTES';position:absolute;left:-28px;top:0;writing-mode:vertical-rl;font-size:8px;letter-spacing:.22em;color:#646d60;}
.law-book:after{content:'';position:absolute;top:36px;bottom:36px;left:calc(51.2% - 1px);width:1px;background:linear-gradient(transparent,#8d958747,transparent);pointer-events:none;z-index:-1;}
.law-page{position:relative;min-width:0;min-height:440px;padding:88px clamp(26px,3vw,50px) 70px;border:1px solid #e8e9df55;background:#dedfd7;color:#1c211b;box-shadow:10px 12px 0 #ffffff04;}
.law-page:before{content:'01 / DOCUMENT';position:absolute;top:30px;left:clamp(26px,3vw,50px);right:clamp(26px,3vw,50px);font-size:10px;letter-spacing:.2em;color:#69705f;padding-bottom:19px;border-bottom:1px solid #18201535;}
.law-page:after{content:'';position:absolute;left:-1px;top:-1px;width:46px;height:4px;background:var(--accent);}
.law-page:nth-child(2){margin-top:64px;background:#151915e8;color:#e1e5db;border-color:#6e796247;box-shadow:none;}
.law-page:nth-child(2):before{content:'02 / DOCUMENT';color:#9ba58e;border-color:#dfe9cb29;}
.law-page:nth-child(2):after{left:auto;right:26px;top:30px;width:6px;height:6px;}
.law-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(16px,1.15vw,19px);line-height:2.1;letter-spacing:.03em;}
.law-text:empty:after{content:'暂无内容';white-space:pre-line;display:block;margin-top:55px;font-size:14px;line-height:2.2;letter-spacing:.1em;color:#7b8271;}
.law-page:nth-child(2) .law-text:empty:after{color:#7f8a72;}
.law-page-number{position:absolute;bottom:25px;left:clamp(26px,3vw,50px);right:clamp(26px,3vw,50px);border-top:1px solid #18201526;padding-top:15px;color:#777e6d;font-size:9px;letter-spacing:.18em;}
.law-page:nth-child(2) .law-page-number{border-color:#dfe9cb20;color:#9ba58e;}
.law-editor{display:flex;flex-direction:column;gap:12px;min-height:310px;}
.law-editor label,.law-editor>span{font-size:11px;color:#606951;letter-spacing:.07em;}.law-editor>span{text-align:right;}
.law-editor textarea{display:block;flex:1;min-height:265px;width:100%;resize:vertical;border:1px solid #7c86695c;background:#ffffff35;color:#1c211b;padding:16px;font-size:17px;line-height:2;}
.law-page:nth-child(2) .law-editor label,.law-page:nth-child(2) .law-editor>span{color:#a8b39a;}
.law-page:nth-child(2) .law-editor textarea{background:#060a0655;color:#e1e5db;border-color:#879d6555;}
.law-editor textarea::placeholder{color:#858e79;}.law-editor textarea[aria-invalid="true"]{border-color:#c45b4d;}
.law-notice{width:min(90%,1420px);margin:28px auto 0;padding-top:18px;border-top:1px solid #ffffff1c;font-size:11px;letter-spacing:.03em;color:#a9b09f;line-height:1.8;}.law-notice:empty{display:none}
@media(min-width:1700px){.law-page{min-height:490px;}}
@media(max-width:1000px){.law-head{flex-wrap:wrap;gap:22px}.law-book{width:96%;gap:24px;margin-top:40px;}.law-book:before{display:none}.law-page{padding:80px 25px 65px;}.law-page:before,.law-page-number{left:25px;right:25px}.law-notice{width:96%}.law-page:nth-child(2){margin-top:40px}}
@media(max-width:650px){.law-modal{padding:28px 6% 40px}.law-book{width:100%;grid-template-columns:1fr;gap:26px}.law-book:after{display:none}.law-page,.law-page:nth-child(2){margin-top:0;min-height:370px}.law-head h2{font-size:34px}.law-head .gallery-actions{gap:18px;flex-shrink:1}.law-head .record-action{padding:11px 17px}.law-notice{width:100%}.law-text{font-size:16px}.law-editor{min-height:290px}}

/* Classification emblems: shared visual language across land and water. */
.classification-emblem{position:absolute;right:20px;top:18px;width:66px;height:66px;color:#d8dcd4;pointer-events:none;transition:color .25s;}
.classification-emblem svg{display:block;width:100%;height:100%;}
.classification-card:hover .classification-emblem,.classification-card:focus-visible .classification-emblem{color:var(--accent);}
@media(max-width:480px){.classification-emblem{width:42px;height:42px;right:10px;top:45px;}}

/* Species outline logos, visually aligned with the monochrome archive. */
.gallery-card .species-emblem,.search-specimen-card .species-emblem{position:absolute;top:22px;right:24px;width:94px;height:94px;margin:0;color:#e8e9e3;pointer-events:none;z-index:2;transition:color .2s;}
.species-emblem svg{display:block;width:100%;height:100%;}
.gallery-card:hover .species-emblem,.gallery-card:focus-within .species-emblem,.search-specimen-card:hover .species-emblem,.search-specimen-card:focus-visible .species-emblem{color:var(--accent);}
@media(max-width:600px){.gallery-card .species-emblem{width:78px;height:78px;right:18px;top:18px;}.search-specimen-card .species-emblem{width:54px;height:54px;right:12px;top:44px;}}

#detailCanvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#detailCanvas:active{cursor:grabbing}

/* Three aligned case actions; existing two-button layouts are retained elsewhere. */
.case-simulation{position:absolute;bottom:8%;left:50%;transform:translateX(-50%);border:1px solid #aaa7;font-size:12px;padding:14px 18px;color:#eee;background:transparent;white-space:nowrap;transition:background .25s,color .25s;}
.case-simulation[hidden]{display:none;}
.case-simulation:hover,.case-simulation:focus-visible,.case-simulation:active{background:var(--accent);color:#090909;border-color:var(--accent);}
.has-case-actions .atlas-button{left:5%;padding:14px 18px;}
.has-case-actions .light-outline{right:5%;padding:14px 18px;}
.case-simulation-status{position:absolute;bottom:3.5%;left:5%;right:5%;text-align:center;color:#979d90;font-size:11px;pointer-events:none;}
.case-document .law-book:before{content:'CASE / FIELD NOTES';}
@media(min-width:851px) and (max-width:1100px){.has-case-actions .atlas-button,.has-case-actions .light-outline,.case-simulation{padding:13px 8px;font-size:11px;}}
@media(max-width:850px){.has-case-actions .atlas-button,.has-case-actions .light-outline,.case-simulation{bottom:8%;}}

/* Embedded standalone game; its own styles and logic remain isolated. */
.simulation-modal{background:#090a0a;overflow:hidden;display:flex;flex-direction:column;}
.simulation-header{height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 4%;border-bottom:1px solid #ffffff30;}
.simulation-header>div{display:flex;flex-direction:column;gap:6px;min-width:0;}
.simulation-header span{font-size:9px;letter-spacing:.18em;color:#9ba292;}
.simulation-header strong{font-size:15px;font-weight:500;color:#eee;}
.simulation-header button{border:1px solid #aaa7;padding:11px 18px;font-size:12px;white-space:nowrap;}
.simulation-header button:hover{background:var(--accent);color:#090909;border-color:var(--accent);}
#simulationFrame{width:100%;flex:1;min-height:0;border:0;display:block;background:#ede9df;}
@media(max-width:600px){.simulation-header{padding:10px 4%;height:80px;flex-basis:80px;gap:10px}.simulation-header strong{font-size:12px}.simulation-header span{font-size:8px;letter-spacing:.06em}.simulation-header button{padding:10px;font-size:11px}}

.photo-credit{position:relative;z-index:2;display:block;margin:0 auto 24px;max-width:90%;color:#aab0a2;font-size:10px;line-height:1.7;letter-spacing:0;overflow-wrap:anywhere;text-decoration:none}.photo-credit:hover{color:var(--accent)}

@media(max-width:600px){.app{min-height:0}.specimen-header .gallery-actions{max-width:none}.simulation-header{gap:8px}.simulation-header strong{font-size:12px}}
