/* W416 · 庚辛岛：阅读控制收进底部胶囊；点开是面板，点外面/下滑/Esc/闲置即收；书签卡 10 款用研究院自有示意图。旧 W402 由本层取代。 */
#gx-island-root{--gi-ease:cubic-bezier(.32,.72,0,1);--gi-gold:#c9a86a;--gi-gold2:#f0d696;--gi-ink:#eef2f8;--gi-sub:#9aa8c2;--gi-glass:rgba(9,15,31,.8);--gi-glass2:rgba(9,15,31,.9);--gi-hair:rgba(255,255,255,.1)}
html.gi-ready #gx-listen-cluster,html.gi-ready #gx-tts-panel,html.gi-ready #gx-resume,html.gi-ready #rd-resume{display:none!important}
#gi-scrim{position:fixed;inset:0;z-index:98;background:rgba(3,8,20,.24);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;touch-action:none;-webkit-tap-highlight-color:transparent}
#gi-scrim.on{opacity:1;visibility:visible;transition:opacity .3s ease}
#gx-island{position:fixed;left:50%;bottom:calc(var(--gi-b,14px) + env(safe-area-inset-bottom,0px));z-index:99;transform:translate(-50%,12px);opacity:0;transition:opacity .5s ease,transform .6s var(--gi-ease),bottom .35s var(--gi-ease);font:500 13px/1.25 -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;color:var(--gi-ink);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-align:left}
#gx-island.on{opacity:1;transform:translate(-50%,0)}
#gx-island button{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;-webkit-tap-highlight-color:transparent}
#gx-island button:focus-visible,#gx-studio button:focus-visible,#gx-island a:focus-visible{outline:2px solid var(--gi-gold);outline-offset:2px}
.gi-cap{position:relative;display:flex;align-items:center;height:52px;padding:0 4px 0 6px;border-radius:26px;background:var(--gi-glass);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);box-shadow:inset 0 0 0 .5px var(--gi-hair),0 12px 32px -10px rgba(2,8,24,.5);transition:opacity .22s ease,transform .5s var(--gi-ease),box-shadow .6s ease}
#gx-island.ping .gi-cap{box-shadow:inset 0 0 0 1px rgba(201,168,106,.85),0 0 0 7px rgba(201,168,106,.14),0 12px 32px -10px rgba(2,8,24,.5)}
.gi-play{flex:none;width:40px;height:40px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:var(--gi-gold);color:#0b1630!important;cursor:pointer;transition:transform .2s var(--gi-ease)}
.gi-play:active{transform:scale(.92)}
.gi-play svg{width:18px;height:18px;display:block}
.gi-open{display:flex;align-items:center;gap:10px;height:44px;margin-left:2px;padding:0 10px;border:0;background:transparent;cursor:pointer;max-width:min(560px,calc(100vw - 86px));overflow:hidden;white-space:nowrap}
.gi-label{overflow:hidden;text-overflow:ellipsis;max-width:40vw;font-weight:600;letter-spacing:.02em}
@media(min-width:721px){.gi-label{max-width:300px}}
.gi-div{flex:none;width:1px;height:16px;background:rgba(255,255,255,.16)}
.gi-nav{display:flex;gap:2px;margin-left:2px}
.gi-nav a{display:flex;align-items:center;height:38px;padding:0 12px;border-radius:19px;color:#dfe6f2!important;text-decoration:none!important;font-weight:600;font-size:12.5px;letter-spacing:.02em;border:0!important;white-space:nowrap}
.gi-nav a:hover{background:rgba(255,255,255,.08);color:#fff!important}
.gi-nav a.cur{background:var(--gi-gold);color:#0b1630!important;pointer-events:none}
#gx-island.has-nav .gi-open{padding-left:6px}
.gi-dwell{flex:none;display:flex}
.gi-dwell #gx-dwell-chip{position:static!important;inset:auto!important;opacity:1!important;transform:none!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;gap:6px!important;font-size:12px!important;color:var(--gi-sub)!important;z-index:auto!important}
.gi-dwell #gx-dwell-chip b{color:var(--gi-gold2)!important}
.gi-chev{flex:none;display:grid;place-items:center;width:18px;height:18px;color:var(--gi-sub)}
.gi-chev svg{width:18px;height:18px;display:block}
.gi-eq{display:none;flex:none;align-items:flex-end;gap:2px;height:12px}
.gi-eq i{display:block;width:2px;height:4px;border-radius:1px;background:var(--gi-gold2)}
#gx-island[data-mode=listen] .gi-eq{display:flex}
#gx-island[data-mode=listen]:not(.paused) .gi-eq i{animation:gi-eq 1s ease-in-out infinite}
#gx-island .gi-eq i:nth-child(2){animation-delay:-.33s}
#gx-island .gi-eq i:nth-child(3){animation-delay:-.66s}
@keyframes gi-eq{0%,100%{height:3px}50%{height:12px}}
@media(max-width:720px){
 #gx-island.mini .gi-open{padding:0 6px 0 4px}
 #gx-island.mini .gi-eq,#gx-island.mini .gi-label,#gx-island.mini .gi-div,#gx-island.mini .gi-dwell{display:none!important}
}
@media(max-width:400px){#gx-island[data-mode=listen] .gi-dwell #gx-dwell-chip i,#gx-island[data-mode=scroll] .gi-dwell #gx-dwell-chip i,#gx-island[data-mode=flip] .gi-dwell #gx-dwell-chip i{display:none!important}}
#gx-island[data-state=expanded] .gi-cap,#gx-island[data-state=alert] .gi-cap{opacity:0;transform:scale(.9);pointer-events:none}
.gi-sheet,.gi-alert{position:absolute;left:50%;bottom:0;box-sizing:border-box;transform:translate(-50%,18px) scale(.94);transform-origin:50% 100%;opacity:0;visibility:hidden;pointer-events:none;background:var(--gi-glass2);-webkit-backdrop-filter:blur(30px) saturate(1.7);backdrop-filter:blur(30px) saturate(1.7);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.12),0 28px 70px -18px rgba(2,8,24,.65);transition:transform .5s var(--gi-ease),opacity .22s ease,visibility 0s linear .5s}
#gx-island[data-state=expanded] .gi-sheet,#gx-island[data-state=alert] .gi-alert{transform:translate(-50%,0) scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:transform .5s var(--gi-ease),opacity .18s ease,visibility 0s}
.gi-sheet{width:min(420px,calc(100vw - 16px));border-radius:30px;padding:4px 18px 16px;touch-action:none;max-height:calc(100vh - 24px);overflow:hidden}
.gi-sheet.drag{transition:none!important}
.gi-alert{width:min(380px,calc(100vw - 20px));border-radius:26px;padding:15px 16px 14px 18px}
@supports (corner-shape:squircle){.gi-sheet{corner-shape:squircle;border-radius:50px}.gi-alert{corner-shape:squircle;border-radius:44px}#gx-studio .gs-stage img{corner-shape:squircle;border-radius:26px}}
/* W421 · Safari/Firefox 没有 corner-shape：用超椭圆 SVG 遮罩切角（外投影靠 mask-clip:no-clip 保住），发丝框用同一条超椭圆描边 */@supports not (corner-shape:squircle){.gi-sheet,.gi-alert{border-radius:0!important;box-shadow:0 28px 70px -18px rgba(2,8,24,.65)}.gi-sheet{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 50 0.03 38.924 0.121 34.346 0.271 30.847 0.483 27.915 0.755 25.353 1.088 23.061 1.483 20.979 1.941 19.069 2.461 17.306 3.045 15.671 3.693 14.15 4.408 12.732 5.189 11.409 6.039 10.176 6.961 9.026 7.955 7.955 9.026 6.961 10.176 6.039 11.409 5.189 12.732 4.408 14.15 3.693 15.671 3.045 17.306 2.461 19.069 1.941 20.979 1.483 23.061 1.088 25.353 0.755 27.915 0.483 30.847 0.271 34.346 0.121 38.924 0.03 50 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M50 0 L50 50 49.97 38.924 49.879 34.346 49.729 30.847 49.517 27.915 49.245 25.353 48.912 23.061 48.517 20.979 48.059 19.069 47.539 17.306 46.955 15.671 46.307 14.15 45.592 12.732 44.811 11.409 43.961 10.176 43.039 9.026 42.045 7.955 40.974 6.961 39.824 6.039 38.591 5.189 37.268 4.408 35.85 3.693 34.329 3.045 32.694 2.461 30.931 1.941 29.021 1.483 26.939 1.088 24.647 0.755 22.085 0.483 19.153 0.271 15.654 0.121 11.076 0.03 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M0 50 L0 0 0.03 11.076 0.121 15.654 0.271 19.153 0.483 22.085 0.755 24.647 1.088 26.939 1.483 29.021 1.941 30.931 2.461 32.694 3.045 34.329 3.693 35.85 4.408 37.268 5.189 38.591 6.039 39.824 6.961 40.974 7.955 42.045 9.026 43.039 10.176 43.961 11.409 44.811 12.732 45.592 14.15 46.307 15.671 46.955 17.306 47.539 19.069 48.059 20.979 48.517 23.061 48.912 25.353 49.245 27.915 49.517 30.847 49.729 34.346 49.879 38.924 49.97 50 50 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M50 50 L50 0 49.97 11.076 49.879 15.654 49.729 19.153 49.517 22.085 49.245 24.647 48.912 26.939 48.517 29.021 48.059 30.931 47.539 32.694 46.955 34.329 46.307 35.85 45.592 37.268 44.811 38.591 43.961 39.824 43.039 40.974 42.045 42.045 40.974 43.039 39.824 43.961 38.591 44.811 37.268 45.592 35.85 46.307 34.329 46.955 32.694 47.539 30.931 48.059 29.021 48.517 26.939 48.912 24.647 49.245 22.085 49.517 19.153 49.729 15.654 49.879 11.076 49.97 0 50 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);-webkit-mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;-webkit-mask-size:50px 50px,50px 50px,50px 50px,50px 50px,calc(100% + 600px) calc(100% + 600px);-webkit-mask-repeat:no-repeat;-webkit-mask-clip:no-clip;-webkit-mask-composite:xor,xor,xor,xor,source-over;mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 50 0.03 38.924 0.121 34.346 0.271 30.847 0.483 27.915 0.755 25.353 1.088 23.061 1.483 20.979 1.941 19.069 2.461 17.306 3.045 15.671 3.693 14.15 4.408 12.732 5.189 11.409 6.039 10.176 6.961 9.026 7.955 7.955 9.026 6.961 10.176 6.039 11.409 5.189 12.732 4.408 14.15 3.693 15.671 3.045 17.306 2.461 19.069 1.941 20.979 1.483 23.061 1.088 25.353 0.755 27.915 0.483 30.847 0.271 34.346 0.121 38.924 0.03 50 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M50 0 L50 50 49.97 38.924 49.879 34.346 49.729 30.847 49.517 27.915 49.245 25.353 48.912 23.061 48.517 20.979 48.059 19.069 47.539 17.306 46.955 15.671 46.307 14.15 45.592 12.732 44.811 11.409 43.961 10.176 43.039 9.026 42.045 7.955 40.974 6.961 39.824 6.039 38.591 5.189 37.268 4.408 35.85 3.693 34.329 3.045 32.694 2.461 30.931 1.941 29.021 1.483 26.939 1.088 24.647 0.755 22.085 0.483 19.153 0.271 15.654 0.121 11.076 0.03 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M0 50 L0 0 0.03 11.076 0.121 15.654 0.271 19.153 0.483 22.085 0.755 24.647 1.088 26.939 1.483 29.021 1.941 30.931 2.461 32.694 3.045 34.329 3.693 35.85 4.408 37.268 5.189 38.591 6.039 39.824 6.961 40.974 7.955 42.045 9.026 43.039 10.176 43.961 11.409 44.811 12.732 45.592 14.15 46.307 15.671 46.955 17.306 47.539 19.069 48.059 20.979 48.517 23.061 48.912 25.353 49.245 27.915 49.517 30.847 49.729 34.346 49.879 38.924 49.97 50 50 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 50 50%22%3E%3Cpath fill=%22%23000%22 d=%22M50 50 L50 0 49.97 11.076 49.879 15.654 49.729 19.153 49.517 22.085 49.245 24.647 48.912 26.939 48.517 29.021 48.059 30.931 47.539 32.694 46.955 34.329 46.307 35.85 45.592 37.268 44.811 38.591 43.961 39.824 43.039 40.974 42.045 42.045 40.974 43.039 39.824 43.961 38.591 44.811 37.268 45.592 35.85 46.307 34.329 46.955 32.694 47.539 30.931 48.059 29.021 48.517 26.939 48.912 24.647 49.245 22.085 49.517 19.153 49.729 15.654 49.879 11.076 49.97 0 50 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;mask-size:50px 50px,50px 50px,50px 50px,50px 50px,calc(100% + 600px) calc(100% + 600px);mask-repeat:no-repeat;mask-clip:no-clip;mask-composite:exclude,exclude,exclude,exclude,add}.gi-alert{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 44 0.027 34.253 0.106 30.225 0.239 27.146 0.425 24.566 0.664 22.311 0.958 20.294 1.305 18.461 1.708 16.781 2.166 15.229 2.679 13.79 3.25 12.452 3.879 11.204 4.566 10.04 5.315 8.955 6.125 7.943 7.001 7.001 7.943 6.125 8.955 5.315 10.04 4.566 11.204 3.879 12.452 3.25 13.79 2.679 15.229 2.166 16.781 1.708 18.461 1.305 20.294 0.958 22.311 0.664 24.566 0.425 27.146 0.239 30.225 0.106 34.253 0.027 44 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M44 0 L44 44 43.973 34.253 43.894 30.225 43.761 27.146 43.575 24.566 43.336 22.311 43.042 20.294 42.695 18.461 42.292 16.781 41.834 15.229 41.321 13.79 40.75 12.452 40.121 11.204 39.434 10.04 38.685 8.955 37.875 7.943 36.999 7.001 36.057 6.125 35.045 5.315 33.96 4.566 32.796 3.879 31.548 3.25 30.21 2.679 28.771 2.166 27.219 1.708 25.539 1.305 23.706 0.958 21.689 0.664 19.434 0.425 16.854 0.239 13.775 0.106 9.747 0.027 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M0 44 L0 0 0.027 9.747 0.106 13.775 0.239 16.854 0.425 19.434 0.664 21.689 0.958 23.706 1.305 25.539 1.708 27.219 2.166 28.771 2.679 30.21 3.25 31.548 3.879 32.796 4.566 33.96 5.315 35.045 6.125 36.057 7.001 36.999 7.943 37.875 8.955 38.685 10.04 39.434 11.204 40.121 12.452 40.75 13.79 41.321 15.229 41.834 16.781 42.292 18.461 42.695 20.294 43.042 22.311 43.336 24.566 43.575 27.146 43.761 30.225 43.894 34.253 43.973 44 44 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M44 44 L44 0 43.973 9.747 43.894 13.775 43.761 16.854 43.575 19.434 43.336 21.689 43.042 23.706 42.695 25.539 42.292 27.219 41.834 28.771 41.321 30.21 40.75 31.548 40.121 32.796 39.434 33.96 38.685 35.045 37.875 36.057 36.999 36.999 36.057 37.875 35.045 38.685 33.96 39.434 32.796 40.121 31.548 40.75 30.21 41.321 28.771 41.834 27.219 42.292 25.539 42.695 23.706 43.042 21.689 43.336 19.434 43.575 16.854 43.761 13.775 43.894 9.747 43.973 0 44 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);-webkit-mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;-webkit-mask-size:44px 44px,44px 44px,44px 44px,44px 44px,calc(100% + 600px) calc(100% + 600px);-webkit-mask-repeat:no-repeat;-webkit-mask-clip:no-clip;-webkit-mask-composite:xor,xor,xor,xor,source-over;mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 44 0.027 34.253 0.106 30.225 0.239 27.146 0.425 24.566 0.664 22.311 0.958 20.294 1.305 18.461 1.708 16.781 2.166 15.229 2.679 13.79 3.25 12.452 3.879 11.204 4.566 10.04 5.315 8.955 6.125 7.943 7.001 7.001 7.943 6.125 8.955 5.315 10.04 4.566 11.204 3.879 12.452 3.25 13.79 2.679 15.229 2.166 16.781 1.708 18.461 1.305 20.294 0.958 22.311 0.664 24.566 0.425 27.146 0.239 30.225 0.106 34.253 0.027 44 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M44 0 L44 44 43.973 34.253 43.894 30.225 43.761 27.146 43.575 24.566 43.336 22.311 43.042 20.294 42.695 18.461 42.292 16.781 41.834 15.229 41.321 13.79 40.75 12.452 40.121 11.204 39.434 10.04 38.685 8.955 37.875 7.943 36.999 7.001 36.057 6.125 35.045 5.315 33.96 4.566 32.796 3.879 31.548 3.25 30.21 2.679 28.771 2.166 27.219 1.708 25.539 1.305 23.706 0.958 21.689 0.664 19.434 0.425 16.854 0.239 13.775 0.106 9.747 0.027 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M0 44 L0 0 0.027 9.747 0.106 13.775 0.239 16.854 0.425 19.434 0.664 21.689 0.958 23.706 1.305 25.539 1.708 27.219 2.166 28.771 2.679 30.21 3.25 31.548 3.879 32.796 4.566 33.96 5.315 35.045 6.125 36.057 7.001 36.999 7.943 37.875 8.955 38.685 10.04 39.434 11.204 40.121 12.452 40.75 13.79 41.321 15.229 41.834 16.781 42.292 18.461 42.695 20.294 43.042 22.311 43.336 24.566 43.575 27.146 43.761 30.225 43.894 34.253 43.973 44 44 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Cpath fill=%22%23000%22 d=%22M44 44 L44 0 43.973 9.747 43.894 13.775 43.761 16.854 43.575 19.434 43.336 21.689 43.042 23.706 42.695 25.539 42.292 27.219 41.834 28.771 41.321 30.21 40.75 31.548 40.121 32.796 39.434 33.96 38.685 35.045 37.875 36.057 36.999 36.999 36.057 37.875 35.045 38.685 33.96 39.434 32.796 40.121 31.548 40.75 30.21 41.321 28.771 41.834 27.219 42.292 25.539 42.695 23.706 43.042 21.689 43.336 19.434 43.575 16.854 43.761 13.775 43.894 9.747 43.973 0 44 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;mask-size:44px 44px,44px 44px,44px 44px,44px 44px,calc(100% + 600px) calc(100% + 600px);mask-repeat:no-repeat;mask-clip:no-clip;mask-composite:exclude,exclude,exclude,exclude,add}.gi-sheet::after,.gi-alert::after{content:"";position:absolute;inset:0;pointer-events:none;box-sizing:border-box;border:0 solid transparent;border-image-slice:50;border-image-width:50px;border-image-repeat:stretch;z-index:5}.gi-sheet::after{border-image-source:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 102 102%22%3E%3Cpath fill=%22none%22 stroke=%22rgba(255,255,255,.12)%22 stroke-width=%220.5%22 transform=%22translate(0.25 0.25) scale(0.995)%22 d=%22M0 50 L0.03 38.924 L0.121 34.346 L0.271 30.847 L0.483 27.915 L0.755 25.353 L1.088 23.061 L1.483 20.979 L1.941 19.069 L2.461 17.306 L3.045 15.671 L3.693 14.15 L4.408 12.732 L5.189 11.409 L6.039 10.176 L6.961 9.026 L7.955 7.955 L9.026 6.961 L10.176 6.039 L11.409 5.189 L12.732 4.408 L14.15 3.693 L15.671 3.045 L17.306 2.461 L19.069 1.941 L20.979 1.483 L23.061 1.088 L25.353 0.755 L27.915 0.483 L30.847 0.271 L34.346 0.121 L38.924 0.03 L50 0 L52 0 L63.076 0.03 L67.654 0.121 L71.153 0.271 L74.085 0.483 L76.647 0.755 L78.939 1.088 L81.021 1.483 L82.931 1.941 L84.694 2.461 L86.329 3.045 L87.85 3.693 L89.268 4.408 L90.591 5.189 L91.824 6.039 L92.974 6.961 L94.045 7.955 L95.039 9.026 L95.961 10.176 L96.811 11.409 L97.592 12.732 L98.307 14.15 L98.955 15.671 L99.539 17.306 L100.059 19.069 L100.517 20.979 L100.912 23.061 L101.245 25.353 L101.517 27.915 L101.729 30.847 L101.879 34.346 L101.97 38.924 L102 50 L102 52 L101.97 63.076 L101.879 67.654 L101.729 71.153 L101.517 74.085 L101.245 76.647 L100.912 78.939 L100.517 81.021 L100.059 82.931 L99.539 84.694 L98.955 86.329 L98.307 87.85 L97.592 89.268 L96.811 90.591 L95.961 91.824 L95.039 92.974 L94.045 94.045 L92.974 95.039 L91.824 95.961 L90.591 96.811 L89.268 97.592 L87.85 98.307 L86.329 98.955 L84.694 99.539 L82.931 100.059 L81.021 100.517 L78.939 100.912 L76.647 101.245 L74.085 101.517 L71.153 101.729 L67.654 101.879 L63.076 101.97 L52 102 L50 102 L38.924 101.97 L34.346 101.879 L30.847 101.729 L27.915 101.517 L25.353 101.245 L23.061 100.912 L20.979 100.517 L19.069 100.059 L17.306 99.539 L15.671 98.955 L14.15 98.307 L12.732 97.592 L11.409 96.811 L10.176 95.961 L9.026 95.039 L7.955 94.045 L6.961 92.974 L6.039 91.824 L5.189 90.591 L4.408 89.268 L3.693 87.85 L3.045 86.329 L2.461 84.694 L1.941 82.931 L1.483 81.021 L1.088 78.939 L0.755 76.647 L0.483 74.085 L0.271 71.153 L0.121 67.654 L0.03 63.076 L0 52 Z%22/%3E%3C/svg%3E")}.gi-alert::after{border-image-source:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 90 90%22%3E%3Cpath fill=%22none%22 stroke=%22rgba(255,255,255,.12)%22 stroke-width=%220.5%22 transform=%22translate(0.25 0.25) scale(0.994)%22 d=%22M0 44 L0.027 34.253 L0.106 30.225 L0.239 27.146 L0.425 24.566 L0.664 22.311 L0.958 20.294 L1.305 18.461 L1.708 16.781 L2.166 15.229 L2.679 13.79 L3.25 12.452 L3.879 11.204 L4.566 10.04 L5.315 8.955 L6.125 7.943 L7.001 7.001 L7.943 6.125 L8.955 5.315 L10.04 4.566 L11.204 3.879 L12.452 3.25 L13.79 2.679 L15.229 2.166 L16.781 1.708 L18.461 1.305 L20.294 0.958 L22.311 0.664 L24.566 0.425 L27.146 0.239 L30.225 0.106 L34.253 0.027 L44 0 L46 0 L55.747 0.027 L59.775 0.106 L62.854 0.239 L65.434 0.425 L67.689 0.664 L69.706 0.958 L71.539 1.305 L73.219 1.708 L74.771 2.166 L76.21 2.679 L77.548 3.25 L78.796 3.879 L79.96 4.566 L81.045 5.315 L82.057 6.125 L82.999 7.001 L83.875 7.943 L84.685 8.955 L85.434 10.04 L86.121 11.204 L86.75 12.452 L87.321 13.79 L87.834 15.229 L88.292 16.781 L88.695 18.461 L89.042 20.294 L89.336 22.311 L89.575 24.566 L89.761 27.146 L89.894 30.225 L89.973 34.253 L90 44 L90 46 L89.973 55.747 L89.894 59.775 L89.761 62.854 L89.575 65.434 L89.336 67.689 L89.042 69.706 L88.695 71.539 L88.292 73.219 L87.834 74.771 L87.321 76.21 L86.75 77.548 L86.121 78.796 L85.434 79.96 L84.685 81.045 L83.875 82.057 L82.999 82.999 L82.057 83.875 L81.045 84.685 L79.96 85.434 L78.796 86.121 L77.548 86.75 L76.21 87.321 L74.771 87.834 L73.219 88.292 L71.539 88.695 L69.706 89.042 L67.689 89.336 L65.434 89.575 L62.854 89.761 L59.775 89.894 L55.747 89.973 L46 90 L44 90 L34.253 89.973 L30.225 89.894 L27.146 89.761 L24.566 89.575 L22.311 89.336 L20.294 89.042 L18.461 88.695 L16.781 88.292 L15.229 87.834 L13.79 87.321 L12.452 86.75 L11.204 86.121 L10.04 85.434 L8.955 84.685 L7.943 83.875 L7.001 82.999 L6.125 82.057 L5.315 81.045 L4.566 79.96 L3.879 78.796 L3.25 77.548 L2.679 76.21 L2.166 74.771 L1.708 73.219 L1.305 71.539 L0.958 69.706 L0.664 67.689 L0.425 65.434 L0.239 62.854 L0.106 59.775 L0.027 55.747 L0 46 Z%22/%3E%3C/svg%3E");border-image-slice:44;border-image-width:44px}#gx-studio .gs-stage img{border-radius:0!important;box-shadow:0 30px 80px -24px rgba(0,0,0,.75);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 26 0.016 20.241 0.063 17.86 0.141 16.041 0.251 14.516 0.393 13.184 0.566 11.992 0.771 10.909 1.009 9.916 1.28 8.999 1.583 8.149 1.92 7.358 2.292 6.62 2.698 5.933 3.141 5.291 3.62 4.693 4.137 4.137 4.693 3.62 5.291 3.141 5.933 2.698 6.62 2.292 7.358 1.92 8.149 1.583 8.999 1.28 9.916 1.009 10.909 0.771 11.992 0.566 13.184 0.393 14.516 0.251 16.041 0.141 17.86 0.063 20.241 0.016 26 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M26 0 L26 26 25.984 20.241 25.937 17.86 25.859 16.041 25.749 14.516 25.607 13.184 25.434 11.992 25.229 10.909 24.991 9.916 24.72 8.999 24.417 8.149 24.08 7.358 23.708 6.62 23.302 5.933 22.859 5.291 22.38 4.693 21.863 4.137 21.307 3.62 20.709 3.141 20.067 2.698 19.38 2.292 18.642 1.92 17.851 1.583 17.001 1.28 16.084 1.009 15.091 0.771 14.008 0.566 12.816 0.393 11.484 0.251 9.959 0.141 8.14 0.063 5.759 0.016 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M0 26 L0 0 0.016 5.759 0.063 8.14 0.141 9.959 0.251 11.484 0.393 12.816 0.566 14.008 0.771 15.091 1.009 16.084 1.28 17.001 1.583 17.851 1.92 18.642 2.292 19.38 2.698 20.067 3.141 20.709 3.62 21.307 4.137 21.863 4.693 22.38 5.291 22.859 5.933 23.302 6.62 23.708 7.358 24.08 8.149 24.417 8.999 24.72 9.916 24.991 10.909 25.229 11.992 25.434 13.184 25.607 14.516 25.749 16.041 25.859 17.86 25.937 20.241 25.984 26 26 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M26 26 L26 0 25.984 5.759 25.937 8.14 25.859 9.959 25.749 11.484 25.607 12.816 25.434 14.008 25.229 15.091 24.991 16.084 24.72 17.001 24.417 17.851 24.08 18.642 23.708 19.38 23.302 20.067 22.859 20.709 22.38 21.307 21.863 21.863 21.307 22.38 20.709 22.859 20.067 23.302 19.38 23.708 18.642 24.08 17.851 24.417 17.001 24.72 16.084 24.991 15.091 25.229 14.008 25.434 12.816 25.607 11.484 25.749 9.959 25.859 8.14 25.937 5.759 25.984 0 26 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);-webkit-mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;-webkit-mask-size:26px 26px,26px 26px,26px 26px,26px 26px,calc(100% + 600px) calc(100% + 600px);-webkit-mask-repeat:no-repeat;-webkit-mask-clip:no-clip;-webkit-mask-composite:xor,xor,xor,xor,source-over;mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M0 0 L0 26 0.016 20.241 0.063 17.86 0.141 16.041 0.251 14.516 0.393 13.184 0.566 11.992 0.771 10.909 1.009 9.916 1.28 8.999 1.583 8.149 1.92 7.358 2.292 6.62 2.698 5.933 3.141 5.291 3.62 4.693 4.137 4.137 4.693 3.62 5.291 3.141 5.933 2.698 6.62 2.292 7.358 1.92 8.149 1.583 8.999 1.28 9.916 1.009 10.909 0.771 11.992 0.566 13.184 0.393 14.516 0.251 16.041 0.141 17.86 0.063 20.241 0.016 26 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M26 0 L26 26 25.984 20.241 25.937 17.86 25.859 16.041 25.749 14.516 25.607 13.184 25.434 11.992 25.229 10.909 24.991 9.916 24.72 8.999 24.417 8.149 24.08 7.358 23.708 6.62 23.302 5.933 22.859 5.291 22.38 4.693 21.863 4.137 21.307 3.62 20.709 3.141 20.067 2.698 19.38 2.292 18.642 1.92 17.851 1.583 17.001 1.28 16.084 1.009 15.091 0.771 14.008 0.566 12.816 0.393 11.484 0.251 9.959 0.141 8.14 0.063 5.759 0.016 0 0 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M0 26 L0 0 0.016 5.759 0.063 8.14 0.141 9.959 0.251 11.484 0.393 12.816 0.566 14.008 0.771 15.091 1.009 16.084 1.28 17.001 1.583 17.851 1.92 18.642 2.292 19.38 2.698 20.067 3.141 20.709 3.62 21.307 4.137 21.863 4.693 22.38 5.291 22.859 5.933 23.302 6.62 23.708 7.358 24.08 8.149 24.417 8.999 24.72 9.916 24.991 10.909 25.229 11.992 25.434 13.184 25.607 14.516 25.749 16.041 25.859 17.86 25.937 20.241 25.984 26 26 Z%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 26 26%22%3E%3Cpath fill=%22%23000%22 d=%22M26 26 L26 0 25.984 5.759 25.937 8.14 25.859 9.959 25.749 11.484 25.607 12.816 25.434 14.008 25.229 15.091 24.991 16.084 24.72 17.001 24.417 17.851 24.08 18.642 23.708 19.38 23.302 20.067 22.859 20.709 22.38 21.307 21.863 21.863 21.307 22.38 20.709 22.859 20.067 23.302 19.38 23.708 18.642 24.08 17.851 24.417 17.001 24.72 16.084 24.991 15.091 25.229 14.008 25.434 12.816 25.607 11.484 25.749 9.959 25.859 8.14 25.937 5.759 25.984 0 26 Z%22/%3E%3C/svg%3E"),linear-gradient(#000,#000);mask-position:0 0,100% 0,0 100%,100% 100%,-300px -300px;mask-size:26px 26px,26px 26px,26px 26px,26px 26px,calc(100% + 600px) calc(100% + 600px);mask-repeat:no-repeat;mask-clip:no-clip;mask-composite:exclude,exclude,exclude,exclude,add}}
.gi-grab{height:20px;display:grid;place-items:center}
.gi-grab i{display:block;width:36px;height:5px;border-radius:3px;background:rgba(255,255,255,.2)}
.gi-head{display:flex;align-items:flex-start;gap:12px;margin:2px 0 6px}
.gi-head>div{flex:1;min-width:0}
.gi-k{margin:0 0 5px;font:600 10.5px/1.2 -apple-system,"PingFang SC",sans-serif;letter-spacing:.14em;color:var(--gi-gold);text-transform:uppercase}
.gi-title{margin:0;font:600 16px/1.4 "Songti SC","Noto Serif SC",Georgia,serif;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:22px}
.gi-x{flex:none;position:relative;width:34px;height:34px;margin:-2px -6px 0 0;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#dfe6f2!important;cursor:pointer}
.gi-x::after{content:"";position:absolute;inset:-6px}
.gi-x svg{width:20px;height:20px;display:block}
.gi-tr{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;margin:6px 0 30px}
.gi-tr button[data-l]{position:relative}
.gi-tr button[data-l]::after{content:attr(data-l);position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:2px;white-space:nowrap;font:500 10.5px/1.2 -apple-system,"PingFang SC",sans-serif;letter-spacing:.02em;color:var(--gi-sub)}
.gi-tr button[data-l]:disabled::after{opacity:.9}
.gi-tr button{width:46px;height:46px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:transparent;color:#e9eef7!important;cursor:pointer;transition:transform .2s var(--gi-ease),opacity .2s}
.gi-tr button:active{transform:scale(.9)}
.gi-tr button svg{width:24px;height:24px;display:block}
.gi-tr button:disabled{opacity:.28;cursor:default}
.gi-tr .gi-pp{width:62px;height:62px;background:var(--gi-gold);color:#0b1630!important}
.gi-tr .gi-pp svg{width:26px;height:26px}
.gi-tr .gi-stop{position:absolute;right:0;top:50%;transform:translateY(-50%);width:auto;height:30px;padding:0 12px;border-radius:15px;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22);font-size:12px;font-weight:600;color:#cfd8e8!important}
.gi-tr .gi-stop:active{transform:translateY(-50%) scale(.94)}
#gx-island:not([data-mode=listen]) .gi-stop{display:none}
.gi-row{margin:0 0 10px}
.gi-row[hidden]{display:none}
.gi-rk{margin:0 0 6px;font:500 11px/1 -apple-system,"PingFang SC",sans-serif;color:var(--gi-sub);letter-spacing:.06em}
.gi-seg,#gi-rates #gx-tts-rates{display:flex!important;gap:3px!important;margin:0!important;padding:3px!important;border-radius:13px;background:rgba(255,255,255,.07)}
.gi-seg button,#gi-rates #gx-tts-rates button{flex:1 1 0!important;min-width:0;min-height:38px!important;margin:0!important;padding:4px 6px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#c9d3e4!important;font:600 12.5px/1.2 -apple-system,"PingFang SC",sans-serif!important;cursor:pointer;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:none!important;white-space:nowrap;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.gi-seg button small{font-size:10px;font-weight:500;opacity:.72}
.gi-seg button[aria-checked=true],.gi-modes button[aria-pressed=true],#gi-rates #gx-tts-rates button.act{background:var(--gi-gold)!important;color:#0b1630!important}
.gi-modes button{flex-direction:row!important;gap:6px!important}
#gi-minis .gx-mini{display:none;width:auto!important;margin:8px 2px 0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:var(--gi-sub)}
#gi-minis .gx-mini.open{display:block}
#gi-minis .gx-mini .mk{margin:0!important;font:500 11px/1.2 -apple-system,"PingFang SC",sans-serif!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--gi-sub)!important}
#gi-minis .gx-mini output{color:var(--gi-gold2)!important}
#gi-minis .gx-mini input[type=range]{width:100%;height:28px;margin:4px 0 0;accent-color:var(--gi-gold);touch-action:pan-x}
#gi-status{display:none;margin:2px 0 6px}
#gi-status.on{display:block}
#gi-status #gx-tts-now{margin:0!important;padding:0!important;border:0!important;font-size:12px!important;color:#f0c987!important;min-height:0!important}
.gi-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding-top:12px;box-shadow:inset 0 .5px 0 rgba(255,255,255,.1)}
.gi-links{display:flex;gap:2px;flex-wrap:wrap;margin-left:-10px}
.gi-links a{display:inline-flex;align-items:center;height:34px;padding:0 10px;border-radius:17px;color:#cfd8e8!important;text-decoration:none!important;font-size:12.5px;font-weight:500;border:0!important}
.gi-links a:hover{background:rgba(255,255,255,.07);color:#fff!important}
.gi-cardbtn{flex:none;height:34px;padding:0 14px;border-radius:17px;border:0;background:rgba(201,168,106,.14);box-shadow:inset 0 0 0 .5px rgba(201,168,106,.55);color:var(--gi-gold2)!important;font-weight:600!important;font-size:12.5px!important;cursor:pointer}
.gi-al-k{margin:0;font:600 11px/1.3 -apple-system,"PingFang SC",sans-serif;letter-spacing:.1em;color:var(--gi-gold)}
.gi-al-t{margin:6px 0 0;font:500 14px/1.55 -apple-system,"PingFang SC",sans-serif;color:var(--gi-ink)}
.gi-al-t[hidden]{display:none}
.gi-al-b{display:flex;gap:8px;margin-top:12px}
.gi-al-b button{flex:1;height:40px;border-radius:20px;border:0;padding:0 10px;background:rgba(255,255,255,.08);color:#dfe6f2!important;font-weight:600!important;font-size:13px!important;cursor:pointer}
.gi-al-b button.go{background:var(--gi-gold);color:#0b1630!important}
.gi-al-b button[hidden]{display:none}
html.gs-lock,html.gs-lock body{overflow:hidden!important}
#gx-studio{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;padding:calc(env(safe-area-inset-top,0px) + 8px) 16px calc(env(safe-area-inset-bottom,0px) + 14px);background:rgba(5,9,20,.84);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);color:var(--gi-ink);font:500 13px/1.3 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;opacity:0;transition:opacity .3s ease;overscroll-behavior:contain;touch-action:none;text-align:left}
#gx-studio[hidden]{display:none!important}
#gx-studio.on{opacity:1}
#gx-studio button{font:inherit;-webkit-tap-highlight-color:transparent;letter-spacing:normal}
.gs-top{flex:none;width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}
.gs-t{margin:0;font:600 16px/1.2 -apple-system,"PingFang SC",sans-serif;color:#fff}
.gs-s{margin:3px 0 0;font-size:12px;color:var(--gi-sub);font-variant-numeric:tabular-nums}
.gs-tr{display:flex;align-items:center;gap:10px}
.gs-draw{height:36px;padding:0 16px;border-radius:18px;border:0;background:rgba(201,168,106,.16);box-shadow:inset 0 0 0 .5px rgba(201,168,106,.6);color:var(--gi-gold2);font-weight:600!important;font-size:13px!important;cursor:pointer}
.gs-x{flex:none;position:relative;width:36px;height:36px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.gs-x::after{content:"";position:absolute;inset:-5px}
.gs-x svg{width:20px;height:20px;display:block}
.gs-stage{flex:1 1 auto;min-height:0;width:100%;max-width:480px;display:flex;align-items:center;justify-content:center;padding:10px 0;box-sizing:border-box}
.gs-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:14px;box-shadow:0 30px 80px -24px rgba(0,0,0,.75),0 0 0 .5px rgba(255,255,255,.12);-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;transition:opacity .2s ease,transform .3s var(--gi-ease)}
.gs-stage img:not([src]){visibility:hidden}
.gs-stage img.ld{opacity:.45}
.gs-stage img.pulse{transform:scale(.97)}
.gs-strip{flex:none;width:100%;max-width:480px;display:flex;gap:8px;overflow-x:auto;padding:6px 2px 22px;box-sizing:border-box;scroll-snap-type:x proximity;touch-action:pan-x;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gs-strip::-webkit-scrollbar{display:none}
.gs-strip button{position:relative;flex:none;width:52px;height:65px;padding:0;border:0;border-radius:8px;background:#141c33 center/cover no-repeat;opacity:.5;cursor:pointer;scroll-snap-align:center;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.14);transition:opacity .2s,box-shadow .2s}
.gs-strip button.act{opacity:1;box-shadow:0 0 0 2px var(--gi-gold)}
.gs-strip button span{position:absolute;left:-6px;right:-6px;top:calc(100% + 4px);font-size:10px;line-height:1.1;color:var(--gi-sub);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-strip button.act span{color:var(--gi-gold2)}
.gs-act{flex:none;width:100%;max-width:480px;display:flex;gap:10px}
.gs-act button{flex:1;height:48px;border-radius:24px;border:0;font-weight:600!important;font-size:14.5px!important;cursor:pointer}
.gs-save{background:var(--gi-gold);color:#0b1630}
.gs-all{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22);color:#eef2f8}
.gs-hint{flex:none;min-height:17px;margin:10px 0 0;font-size:12px;color:#d3dbe8;text-align:center}
.gs-gal{position:absolute;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:rgba(5,9,20,.97);padding:calc(env(safe-area-inset-top,0px) + 8px) 16px 40px;box-sizing:border-box}
.gs-gal[hidden]{display:none!important}
.gs-gtop{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;min-height:52px;background:rgba(5,9,20,.94);margin:0 -16px 8px;padding:0 16px}
.gs-gtop button{flex:none;height:36px;padding:0 14px;border-radius:18px;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-weight:600}
.gs-gtop p{margin:0;font-size:12.5px;color:#d3dbe8}
#gs-glist{display:flex;flex-direction:column;align-items:center;gap:16px}
#gs-glist img{display:block;width:min(420px,100%);height:auto;border-radius:12px;-webkit-touch-callout:default}
@media (prefers-reduced-motion:reduce){#gx-island,#gx-island *,#gx-studio,#gx-studio *,#gi-scrim{transition:none!important;animation:none!important}}
@media print{#gx-island-root{display:none!important}}
/* 岛上已含三站导航，隐藏原 gx-w405 药丸 */ #gx-w405{display:none!important}
/* ── W451 浮窗控制器（入口 + 扇形）· 面板是 W441 的转鼓 ────────── */
/* 旧的右下角白色 ≡ 由本层接管（节点也会被脚本摘掉，这里只是兜底） */
#w92-toc,#w92-tocpanel{display:none!important}

#w451-dial{
  --w451-sz:38px;--w451-hug:0px;--w451-slide:0px;
  --gold:#C4A46B;--navy:#041640;
  position:fixed;left:0;top:0;z-index:100;
  width:var(--w451-sz);height:var(--w451-sz);
  transform:translate3d(calc(var(--w451-hug) + var(--w451-slide)),0,0);
  transition:left .42s cubic-bezier(.34,1.56,.64,1),
             top .42s cubic-bezier(.34,1.56,.64,1),
             transform .42s cubic-bezier(.34,1.56,.64,1)}
@media(max-width:1199px){#w451-dial{--w451-sz:44px}}
#w451-dial[data-drag="1"]{transition:none}

#w451-orb{
  position:absolute;inset:0;margin:0;padding:0;
  display:grid;place-items:center;appearance:none;
  border:.5px solid rgba(196,164,107,.44);border-radius:50%;
  background:rgba(7,21,53,.70);color:#e6d3a6;cursor:grab;
  -webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
  box-shadow:0 6px 20px -8px rgba(2,10,30,.72),inset 0 0 0 .5px rgba(196,164,107,.24);
  touch-action:none;-webkit-tap-highlight-color:transparent;
  opacity:1;transform:scale(1);
  transition:opacity .34s ease,transform .34s cubic-bezier(.34,1.56,.64,1),
             border-color .2s ease,background .2s ease}
#w451-orb:active{cursor:grabbing}
#w451-orb:hover{border-color:rgba(196,164,107,.85);background:rgba(9,26,63,.88)}
#w451-orb:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* W441 塞进来的齿轮：居中、不吃指针 */
#w451-orb .gr-gear{width:20px;height:20px;pointer-events:none}
@media(max-width:1199px){#w451-orb .gr-gear{width:23px;height:23px}}
/* W441 塞进来的 01 / 37 读数：做成左侧小刻牌，默认不占地方 */
#w451-orb .gr-lab{
  position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%) translateX(5px);
  white-space:nowrap;pointer-events:none;
  font:500 10.5px/1 "Poppins",system-ui,sans-serif;letter-spacing:.14em;
  font-variant-numeric:tabular-nums;color:rgba(232,236,245,.84);
  background:rgba(7,21,53,.90);border:.5px solid rgba(196,164,107,.30);
  border-radius:4px;padding:3px 7px;opacity:0;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:opacity .2s ease,transform .2s ease}
#w451-orb .gr-lab b{font-weight:600;color:#e6d3a6;letter-spacing:.02em}
#w451-orb:hover .gr-lab,#w451-orb:focus-visible .gr-lab,
#w451-dial[data-open="1"] #w451-orb .gr-lab{opacity:1;transform:translateY(-50%) translateX(0)}
#w451-dial[data-side="l"] #w451-orb .gr-lab{
  right:auto;left:calc(100% + 9px);transform:translateY(-50%) translateX(-5px)}
#w451-dial[data-side="l"] #w451-orb:hover .gr-lab{transform:translateY(-50%) translateX(0)}

/* 闲置 / 打开 / 首屏三态 */
#w451-dial[data-idle="1"] #w451-orb{opacity:.38}
#w451-dial[data-open="1"] #w451-orb{opacity:1;border-color:var(--gold);background:rgba(9,26,63,.94)}
/* 首屏一律不出现：权重压过 idle / open 两态 */
#w451-dial[data-armed="0"] #w451-orb{opacity:0!important;pointer-events:none!important;transform:scale(.6)!important}
#w451-dial[data-armed="0"] .w451-pet{opacity:0!important;pointer-events:none!important}
/* 窄屏面板几乎占满宽度：浮窗整体让位（花瓣那条在扇形段之后，见下） */
#w451-dial[data-duck="1"]{pointer-events:none}
#w451-dial[data-duck="1"] #w451-orb{opacity:.12;pointer-events:none}

/* ── 扇形花瓣 ───────────────────────────────────────────────── */
#w451-fan{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
#w451-dial[data-open="1"] #w451-fan{pointer-events:auto}
.w451-pet{
  position:absolute;left:-19px;top:-19px;width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  border:.5px solid rgba(196,164,107,.42);border-radius:50%;
  background:rgba(6,18,46,.86);color:#e8e1d0;
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 5px 16px -6px rgba(2,10,30,.8);
  font:600 11.5px/1 "Poppins",-apple-system,system-ui,"PingFang SC",sans-serif;
  letter-spacing:.02em;cursor:pointer;padding:0;
  font-variant-numeric:tabular-nums;
  opacity:0;transform:translate(0,0) scale(.4);
  transition:opacity .2s ease,transform .38s cubic-bezier(.34,1.56,.64,1);
  transition-delay:0ms}
.w451-pet[data-k="top"]{color:var(--gold);font-size:14px}
.w451-pet:hover{border-color:rgba(196,164,107,.85);color:#fff}
.w451-pet:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#w451-dial[data-open="1"] .w451-pet{opacity:1;transform:translate(var(--px),var(--py)) scale(1)}
/* 让位态的花瓣必须排在上面那条之后，且权重更高（多一个属性选择器），
   否则同权重后来者胜，展开态会把让位态压回去 —— 这一条实测踩过。 */
#w451-dial[data-duck="1"][data-open="1"] .w451-pet{opacity:.12;pointer-events:none}

/* ── 几何冲突修正 ───────────────────────────────────────────── */
/* W441 用 [data-gr-entry] 当入口时会给 body 加 .gr-nocrown，
   那条 body.gr-nocrown>.gr-drum{right:18px} 会压住我这颗贴右边的浮窗。
   这里用权重覆盖推回 62px（W441 给自家表冠留的位置），不用 !important。 */
html body.gr-nocrown.w451-on>.gr-drum{right:62px}
@media(max-width:760px){
  html body.gr-nocrown.w451-on>.gr-drum{right:52px;width:min(296px,calc(100vw - 72px))}}

@media print{#w451-dial{display:none!important}}
@media(prefers-reduced-motion:reduce){
  #w451-dial,#w451-orb,.w451-pet{transition-duration:.12s!important;transition-timing-function:linear!important}
  .w451-pet{transition-delay:0ms!important}}

/* 中文站的「全部 N 张」早已隐藏；英文站这颗还开着，一并收起——入口藏了计数才藏得干净 */
#gx-studio #gs-all{display:none!important}

@media (max-width:768px){
  /* ① 手机没有 hover，idle 就是它唯一的常态——让常态本身就看得见 */
  #w451-dial[data-idle="1"] #w451-orb{opacity:.92}
  /* ② 拇指目标 ≥48px */
  #w451-dial{--w451-sz:52px}
  #w451-orb .gr-gear{width:27px;height:27px}
  /* ③ 从同色系背景里浮起来：描边加重 + 一圈极淡外发光 */
  #w451-orb{
    border-color:rgba(196,164,107,.85);
    background:rgba(7,21,53,.88);
    box-shadow:0 0 0 1px rgba(196,164,107,.16), 0 6px 18px rgba(2,8,22,.45);
  }
  /* ④ 甩出来那一下要占住拇指区 */
  #w451-dial{--w451-r:108px}
  .w451-pet{width:46px;height:46px;left:-23px;top:-23px;font-size:14px;letter-spacing:.02em}
  #w451-dial[data-open="1"] #w451-orb{box-shadow:0 0 0 2px rgba(196,164,107,.30), 0 8px 22px rgba(2,8,22,.55)}
}
@media (max-width:768px) and (prefers-reduced-motion:reduce){
  #w451-orb{box-shadow:none}
}

@media (max-width:768px){
  /* ① 拇指目标下限：所有可点的东西 ≥44×44 */
  /* 这些 !important 不是图省事：实测 `el.style.setProperty('min-height','44px','important')`
     当场从 38px 跳到 44px，去掉 important 又回到 38px —— 说明有一条带 important 的既有规则
     压着，非 important 的覆盖一律无效。加 important 是唯一能赢的写法。 */
  #gx-island button,#gi-sheet button,#gx-studio button{min-height:44px!important}
  #gi-al-go,#gs-draw,#gs-save,#gs-x,#gi-card{min-height:44px!important;min-width:44px!important}
  /* 收起 / 上一章 / 下一章 / 胶囊里的播放：原来 32~43px */
  #gi-close,#gi-prev,#gi-next,#gi-play,#gi-open{min-width:44px!important;min-height:44px!important}
  /* ② 声音与速度两排：原来高 36~38。
     速度档的真实结构是 #gi-rates > #gx-tts-rates > button，压它的规则是
     `#gi-rates #gx-tts-rates button`（两层 id + important）——单层 id 加 important 也赢不了，
     必须同权重再加 important，且本块在后。 */
  #gi-voice button,.gi-seg button,.w443-seg button{
    min-height:44px!important;padding-top:10px!important;padding-bottom:10px!important}
  #gi-rates #gx-tts-rates button,#gx-tts-rates button{
    min-height:44px!important;padding-top:10px!important;padding-bottom:10px!important}
  /* ③ 胶囊是 scale(.9) 的，44px 量出来只有 40 —— 触摸目标要按「缩放后」算，
     所以这里给到 50（50×0.9≈45）。**祖先 transform 会让 getBoundingClientRect 小于 CSS 值**，
     这一条今晚踩过两次：一次是动画中途采样，一次就是这个静态缩放。 */
  #gi-cap #gi-play,#gi-cap button{min-height:50px!important;min-width:50px!important}
  /* ④ 倒计时不是按钮，别占按钮的分量 —— 「只留一个动作」这件事要看得出来 */
  #gi-al-x.gx-w434-cd{min-height:0!important;min-width:0!important;padding:2px 4px!important;
    font-size:11px!important;opacity:.42!important}
  /* ⑤ 相邻可点元素之间留 8px，避免误触 */
  #gi-voice,#gi-rates,.gi-seg{gap:8px}
  /* ⑥ 明信片工作室：保存/再抽是主动作，撑满更好按 */
  #gx-studio .gs-act button{min-height:48px!important;flex:1 1 auto}
}
@media (max-width:768px) and (pointer:coarse){
  /* 触屏专属：点下去要有反馈，否则用户不知道点没点上 */
  #gx-island button:active,#gx-studio button:active{transform:scale(.97)}
}

/* ── 坞位 ────────────────────────────────────────────────────────
   底部坞沿用岛原本的 left:50% + translate(-50%)，一个字节都不改，
   只在手机上把左右也留出缝来——阿康要的「不是完全贴边缘」。 */
#gx-island[data-dock="bottom"]{--w462-gap:14px}
@media (max-width:768px){
  #gx-island[data-dock="bottom"]{
    max-width:calc(100vw - 30px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  }
  /* 腾出上面那 30px 的缝：导航片的左右内距收一点，够 375 宽塞下 */
  #gx-island[data-dock="bottom"] .gi-nav a{padding:0 9px}
}

/* 左右坞：竖向。top 用 --gi-y 记住用户放的高度，不是死居中 */
#gx-island[data-dock="left"],#gx-island[data-dock="right"]{
  left:auto;right:auto;bottom:auto;
  top:var(--gi-y,58%);
  transform:translateY(-50%);
  max-width:none;
}
#gx-island[data-dock="left"] {left:calc(10px + env(safe-area-inset-left,0px))}
#gx-island[data-dock="right"]{right:calc(10px + env(safe-area-inset-right,0px))}

/* ── 竖向版式 ────────────────────────────────────────────────── */
#gx-island[data-dock="left"] .gi-cap,#gx-island[data-dock="right"] .gi-cap{
  flex-direction:column;width:auto;min-width:0;
  padding:9px 7px;gap:7px;border-radius:27px;
}
#gx-island[data-dock="left"] .gi-nav,#gx-island[data-dock="right"] .gi-nav{
  flex-direction:column;margin-left:0;gap:5px;
}
/* 中文竖排立起来读，不是把字一个个摞着 */
#gx-island[data-dock="left"] .gi-nav a,#gx-island[data-dock="right"] .gi-nav a{
  writing-mode:vertical-rl;text-orientation:upright;
  height:auto;min-height:46px;min-width:34px;padding:9px 3px;
  letter-spacing:.16em;justify-content:center;
}
/* 「在庚辛 400 分钟」竖排太长：只留数字，点开面板里仍有全文 */
#gx-island[data-dock="left"] #gi-dwell,#gx-island[data-dock="right"] #gi-dwell{
  writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.1em;
  max-height:104px;overflow:hidden;
}
#gx-island[data-dock="left"] #gi-dwell .w462-hide,
#gx-island[data-dock="right"] #gi-dwell .w462-hide{display:none}

/* ── 抓手：让人看出来这东西能拖 ───────────────────────────────── */
#gx-island .w462-grip{
  position:absolute;pointer-events:none;opacity:.34;
  display:grid;gap:2.5px;transition:opacity .25s ease;
}
#gx-island .w462-grip i{display:block;width:3px;height:3px;border-radius:50%;
  background:currentColor;color:var(--gi-ink,#dfe6f2)}
#gx-island[data-dock="bottom"] .w462-grip{
  left:50%;top:4px;transform:translateX(-50%);grid-auto-flow:column;
}
#gx-island[data-dock="left"] .w462-grip,#gx-island[data-dock="right"] .w462-grip{
  top:50%;transform:translateY(-50%);grid-auto-flow:row;
}
#gx-island[data-dock="left"] .w462-grip{right:3px}
#gx-island[data-dock="right"] .w462-grip{left:3px}
#gx-island[data-dragging="1"] .w462-grip{opacity:.85}

/* ── 拖动中 ──────────────────────────────────────────────────── */
#gx-island[data-dragging="1"]{
  left:0!important;right:auto!important;top:0!important;bottom:auto!important;
  transition:none!important;
  transform:translate3d(var(--w462-x,0px),var(--w462-y,0px),0) scale(1.03)!important;
  cursor:grabbing;
}
#gx-island[data-dragging="1"] .gi-cap{
  box-shadow:0 18px 44px rgba(2,8,22,.55),0 0 0 1px rgba(196,164,107,.30);
}
/* 落坞那一下的弹簧。只在这一帧挂 class，不常驻，免得干扰岛自己的过渡 */
#gx-island[data-w462-fly="1"]{
  transition:transform .46s cubic-bezier(.22,1.12,.30,1)!important;
}
/* 吸边提示：拖到边缘附近，那一侧亮一条 */
.w462-edge{
  position:fixed;top:0;bottom:0;width:30px;z-index:98;pointer-events:none;
  opacity:0;transition:opacity .18s ease;
}
.w462-edge[data-on="1"]{opacity:1}
.w462-edge[data-s="l"]{left:0;background:linear-gradient(90deg,rgba(196,164,107,.26),transparent)}
.w462-edge[data-s="r"]{right:0;background:linear-gradient(270deg,rgba(196,164,107,.26),transparent)}

@media (prefers-reduced-motion:reduce){
  #gx-island[data-w462-fly="1"]{transition:none!important}
  #gx-island[data-dragging="1"]{transform:translate3d(var(--w462-x,0px),var(--w462-y,0px),0)!important}
}

/* 按下就有反馈：手指落下那一刻要看得出系统收到了 */
#gr-drum a.gr-it{-webkit-tap-highlight-color:transparent;transition:background .12s ease}
#gr-drum a.gr-it:active,#gr-drum a.gr-it[data-w464-hit="1"]{
  background:rgba(196,164,107,.16);
}
/* 压扁的行也要点得着：垫一层不影响版式的可点区域 */
#gr-drum a.gr-it{position:relative}
#gr-drum a.gr-it::after{
  content:"";position:absolute;left:0;right:0;top:50%;
  height:34px;transform:translateY(-50%);
}
@media (max-width:768px){
  #gr-drum a.gr-it::after{height:44px}
}
/* 刚跳到的那一章，给一下就散的高亮，告诉人「你到了这儿」 */
@keyframes w464Land{
  0%{box-shadow:inset 3px 0 0 rgba(196,164,107,.95),0 0 0 rgba(196,164,107,.26)}
  100%{box-shadow:inset 3px 0 0 rgba(196,164,107,0),0 0 0 rgba(196,164,107,0)}
}
.w464-landed{animation:w464Land 1.5s ease-out 1}
@media (prefers-reduced-motion:reduce){
  .w464-landed{animation:none}
  #gr-drum a.gr-it{transition:none}
}

/* 选中那一格是深字压金底，.62 只有 3.67 对比度（AA 要 4.5）。提到 .78 → 5.32。
   未选中那批是浅字压深底，.62 已有 5.39，这里**刻意不写**，保住「淡」。 */
#gi-voice button.w443-v[aria-checked="true"]>small,
#gi-voice button.w443-v.act>small,
#gi-voice button.w443-v[data-on="1"]>small{opacity:.78}

/* 触屏上解除 armed 接近闸：那道闸靠悬停指针喂坐标，触屏永远喂不到，
   于是 opacity:0 + pointer-events:none 成了永久状态。
   必须同样用 !important 才压得过 W451 那条 !important。 */
@media (hover:none),(pointer:coarse){
  #w451-dial[data-armed="0"] #w451-orb{
    opacity:.92!important;
    pointer-events:auto!important;
    transform:none!important;              /* 撤掉 scale(.6)：52×.6=31px，低于拇指下限 */
  }
  #w451-dial[data-armed="0"] .w451-pet{
    pointer-events:auto!important;          /* 花瓣的 opacity 交给展开态，这里只放开可点 */
  }
  /* 展开时花瓣才现身，收起时仍然藏着——不因为解闸把花瓣常亮 */
  #w451-dial[data-armed="0"][data-open="1"] .w451-pet{opacity:1!important}

  /* 常驻可见了，就得从深蓝背景里浮起来，并且够拇指点 */
  #w451-dial{--w451-sz:52px}
  #w451-orb{
    border-color:rgba(196,164,107,.85)!important;
    background:rgba(7,21,53,.90)!important;
    box-shadow:0 0 0 1px rgba(196,164,107,.18),0 6px 18px rgba(2,8,22,.48)!important;
  }
  /* 按下要有反馈，不然还是「感觉没动」 */
  #w451-orb:active{transform:scale(.94)!important}
}
@media (prefers-reduced-motion:reduce){
  #w451-orb:active{transform:none!important}
}
