ddd
This commit is contained in:
parent
0a343ecbc5
commit
c3a6f5ff37
80 changed files with 2512 additions and 1625 deletions
200
style.css
200
style.css
|
|
@ -1,26 +1,8 @@
|
|||
@font-face{font-family:"DotGothic16Local";src:url("assets/fonts/DotGothic16-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
|
||||
:root{
|
||||
--bg:#121416;
|
||||
--panel:#1c1f22;
|
||||
--ink:#f3f4f5;
|
||||
--muted:#8b949b;
|
||||
--grid:rgba(198,210,218,.28);
|
||||
--accent:#d9f06f;
|
||||
--bad:#ff6e7a;
|
||||
--dot-font:"DotGothic16Local","DotGothic16","MS Gothic","MS ゴシック",ui-monospace,monospace;
|
||||
--emoji-font:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
|
||||
--bar-height:54px;
|
||||
--safe-top:env(safe-area-inset-top,0px);
|
||||
--safe-right:env(safe-area-inset-right,0px);
|
||||
--safe-bottom:env(safe-area-inset-bottom,0px);
|
||||
--safe-left:env(safe-area-inset-left,0px)
|
||||
}
|
||||
*{box-sizing:border-box;user-select:none;-webkit-user-select:none}
|
||||
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--dot-font);font-variant-ligatures:none;-webkit-font-smoothing:none;text-rendering:geometricPrecision}
|
||||
body,button,input,select,textarea{font-family:var(--dot-font)}
|
||||
button,input,select,textarea{font-size:inherit}
|
||||
button{font:inherit;color:inherit;letter-spacing:.04em}
|
||||
button:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff;outline-offset:3px}
|
||||
@import url("client/styles/tokens.css") layer(tokens);
|
||||
@import url("client/styles/base.css") layer(base);
|
||||
@import url("client/ui/cursor.css") layer(cursor);
|
||||
@import url("client/styles/accessibility.css") layer(accessibility);
|
||||
@layer tokens,base,layout,board,interactions,hud,dialogs,cursor,responsive,accessibility,legacy;
|
||||
#app{position:fixed;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.025),transparent 34%),var(--bg)}
|
||||
#topbar{
|
||||
position:absolute;z-index:50;left:0;right:0;top:0;
|
||||
|
|
@ -68,7 +50,7 @@ button:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff;outline-off
|
|||
#viewport.panning{cursor:grabbing}
|
||||
#world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
|
||||
|
||||
#overviewCanvas{position:absolute;left:0;top:0;display:block;pointer-events:none;z-index:3;transform-origin:0 0;will-change:transform;contain:strict}
|
||||
#overviewCanvas{position:absolute;left:0;top:0;display:block;pointer-events:none;z-index:3;transform-origin:0 0;will-change:transform}
|
||||
#overviewCanvas[hidden]{display:none}
|
||||
#viewport.canvas-overview #world{display:none}
|
||||
#minimap{
|
||||
|
|
@ -91,11 +73,13 @@ button:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff;outline-off
|
|||
.board-card.solved{z-index:0;pointer-events:auto}
|
||||
.board-card.solved:hover,.board-card.solved:focus,.board-card.solved:focus-within{z-index:2}
|
||||
.board-svg{position:absolute;inset:0;display:block;overflow:visible;touch-action:none;pointer-events:none;cursor:crosshair}
|
||||
.board-label{display:none;position:absolute;z-index:28;padding:3px 5px;border-radius:2px;background:rgba(12,14,16,.94);border:1px solid rgba(245,249,252,.62);border-left:3px solid var(--region);font-size:13px;letter-spacing:.05em;color:#eef2f4;pointer-events:auto;white-space:nowrap;box-shadow:0 3px 12px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.12),0 0 9px rgba(232,244,255,.16);text-shadow:0 1px 0 #000}
|
||||
.board-card.hud-current{z-index:4}
|
||||
.board-card.hud-current:not(.solved) .board-label{display:flex}
|
||||
#boardHudLayer{position:absolute;z-index:36;inset:0;overflow:hidden;pointer-events:none}
|
||||
.board-label{display:none;position:absolute;z-index:1;padding:4px 6px;border-radius:3px;background:rgba(8,11,13,.97);border:2px solid rgba(248,252,255,.96);border-left:5px solid var(--region);font-size:13px;letter-spacing:.05em;color:#eef2f4;pointer-events:auto;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,.58),0 0 0 2px rgba(8,11,13,.9),0 0 0 4px rgba(255,255,255,.24),0 0 16px rgba(232,244,255,.32);text-shadow:0 1px 0 #000}
|
||||
.board-card.hud-current{z-index:40;contain:layout style}
|
||||
.board-label.hud-visible:not([hidden]){display:flex}
|
||||
.board-label[hidden]{display:none!important}
|
||||
.board-label b{color:#f2f4f5;letter-spacing:.1em;margin:0}
|
||||
.board-card.solved .static-layer,.board-card.solved .special-cell-layer,.board-card.solved .number-layer,.board-card.solved .gate-layer,.board-card.solved .board-label{display:none}
|
||||
.board-card.solved .static-layer,.board-card.solved .special-cell-layer,.board-card.solved .number-layer,.board-card.solved .gate-layer{display:none}
|
||||
.board-card.solved .board-svg{pointer-events:none;cursor:default}
|
||||
.cell-shape{stroke:var(--grid);stroke-width:.8;vector-effect:non-scaling-stroke}
|
||||
.outer-edge{stroke:rgba(220,229,234,.72);stroke-width:1.8;vector-effect:non-scaling-stroke}
|
||||
|
|
@ -155,11 +139,11 @@ button:focus-visible,[tabindex]:focus-visible{outline:3px solid #fff;outline-off
|
|||
transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease
|
||||
}
|
||||
.line-store[hidden]{display:none}
|
||||
.line-store .shop-shell,.static-shop-icon .shop-shell{position:relative;display:block;width:30px;height:24px;border:1.5px solid #d9f06f;border-radius:5px;background:linear-gradient(180deg,#263940,#152026);box-shadow:inset 0 1px rgba(255,255,255,.08)}
|
||||
.line-store .shop-shell::before,.static-shop-icon .shop-shell::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:5px;border-radius:2px;background:linear-gradient(90deg,#5fd8ff,#a98cff)}
|
||||
.line-store .shop-shell::after,.static-shop-icon .shop-shell::after{content:"";position:absolute;left:3px;right:3px;top:11px;border-top:1px solid rgba(217,240,111,.65)}
|
||||
.line-store .shop-shell i,.static-shop-icon .shop-shell i{position:absolute;left:6px;bottom:3px;width:6px;height:6px;border:1px solid #5fd8ff;border-radius:1px;background:rgba(95,216,255,.14)}
|
||||
.line-store .shop-shell b,.static-shop-icon .shop-shell b{position:absolute;right:6px;bottom:0;width:7px;height:9px;border:1px solid #d9f06f;border-bottom:0;border-radius:2px 2px 0 0;background:#1c292e}
|
||||
.line-store .shop-shell{position:relative;display:block;width:30px;height:24px;border:1.5px solid #d9f06f;border-radius:5px;background:linear-gradient(180deg,#263940,#152026);box-shadow:inset 0 1px rgba(255,255,255,.08)}
|
||||
.line-store .shop-shell::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:5px;border-radius:2px;background:linear-gradient(90deg,#5fd8ff,#a98cff)}
|
||||
.line-store .shop-shell::after{content:"";position:absolute;left:3px;right:3px;top:11px;border-top:1px solid rgba(217,240,111,.65)}
|
||||
.line-store .shop-shell i{position:absolute;left:6px;bottom:3px;width:6px;height:6px;border:1px solid #5fd8ff;border-radius:1px;background:rgba(95,216,255,.14)}
|
||||
.line-store .shop-shell b{position:absolute;right:6px;bottom:0;width:7px;height:9px;border:1px solid #d9f06f;border-bottom:0;border-radius:2px 2px 0 0;background:#1c292e}
|
||||
.line-store small{font-size:6px;font-weight:950;letter-spacing:.18em;color:#dfeaec}
|
||||
.line-store:hover,.line-store:focus-visible{transform:translate(-50%,-50%) scale(1.06);border-color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.5),0 0 0 3px rgba(95,216,255,.15)}
|
||||
#toast{position:absolute;z-index:60;left:50%;bottom:calc(18px + var(--safe-bottom));max-width:min(92vw,720px);transform:translate(-50%,18px);opacity:0;padding:8px 10px;border-radius:2px;background:rgba(10,12,14,.92);border:1px solid rgba(255,255,255,.12);font-size:15px;pointer-events:none;transition:.2s ease;text-align:center}
|
||||
|
|
@ -335,14 +319,6 @@ body.archive-busy #viewport,body.archive-busy #minimap{opacity:.58}
|
|||
.toolbar .pill{min-width:0;font-size:9px}
|
||||
}
|
||||
|
||||
@media(prefers-reduced-motion:reduce){
|
||||
*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important}
|
||||
.board-card.revealing,.board-card.completing .path,.completion-burst,.gate-dot.frontier,.tutorial-demo *,.tutorial-demo::after,.num.turn-warning,.number-turn-warning,.pill.time-attack.active>span:first-child,.time-attack-clock.urgent,.completion-flash,.gate-connect-pulse,.number-match-orbit-holes,#viewport::before{animation:none!important}
|
||||
.completion-burst{opacity:1}
|
||||
.tutorial-path{stroke-dashoffset:0}
|
||||
.tutorial-shop-marker,.tutorial-number-pulse{transform:none}
|
||||
.tutorial-shop-score{opacity:1}
|
||||
}
|
||||
.cloud-status{min-width:72px;font-size:10px;font-weight:900;letter-spacing:.1em}
|
||||
.cloud-status[data-state="saved"]{border-color:rgba(217,240,111,.42);color:var(--accent)}
|
||||
.cloud-status[data-state="syncing"]{border-color:rgba(255,255,255,.36);animation:cloudPulse .8s steps(2,end) infinite}
|
||||
|
|
@ -469,10 +445,10 @@ body.archive-busy #viewport,body.archive-busy #minimap{opacity:.58}
|
|||
#timeAttackSuggestion[hidden]{display:none}#timeAttackSuggestion>div{display:grid;gap:2px}#timeAttackSuggestion b{color:#d9f06f;font-size:10px;letter-spacing:.12em}#timeAttackSuggestion span{font-size:11px;font-weight:800}#timeAttackSuggestion .quiet{min-width:30px;padding-inline:8px;opacity:.72}
|
||||
.cell-confirm-flash{fill:rgba(255,255,255,.56);pointer-events:none}
|
||||
@keyframes cellConfirmFlash{0%{fill:rgba(255,255,255,.45)}100%{fill:transparent}}
|
||||
body[data-cursor-style="drop-cyan"] #viewport,body[data-cursor-style="drop-cyan"] .board-svg,body[data-cursor-style="drop-cyan"] body[data-cursor-style="drop-cyan"] .gate-hit,body[data-cursor-style="drop-cyan"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='4'%20x2='24'%20y2='24'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2379f2df'%2F%3E%3Cstop%20offset='1'%20stop-color='%234aa7ff'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2'%20fill='%23101417'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="drop-rose"] #viewport,body[data-cursor-style="drop-rose"] .board-svg,body[data-cursor-style="drop-rose"] body[data-cursor-style="drop-rose"] .gate-hit,body[data-cursor-style="drop-rose"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='4'%20x2='24'%20y2='24'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23ffb0c9'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ff5f7f'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2'%20fill='%23101417'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="ring"] #viewport,body[data-cursor-style="ring"] .board-svg,body[data-cursor-style="ring"] body[data-cursor-style="ring"] .gate-hit,body[data-cursor-style="ring"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='none'%20stroke='white'%20stroke-width='2'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2.2'%20fill='%23d9f06f'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="comet"] #viewport,body[data-cursor-style="comet"] .board-svg,body[data-cursor-style="comet"] body[data-cursor-style="comet"] .gate-hit,body[data-cursor-style="comet"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='24'%20x2='22'%20y2='6'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%236b7cff'%20stop-opacity='.15'%2F%3E%3Cstop%20offset='1'%20stop-color='%23a98cff'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M5%2023L21%207'%20stroke='url(%23g)'%20stroke-width='4'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='21'%20cy='7'%20r='3.2'%20fill='white'%20stroke='%237c6cff'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 21 7,crosshair}
|
||||
body[data-cursor-style="drop-cyan"] #viewport,body[data-cursor-style="drop-cyan"] .board-svg,body[data-cursor-style="drop-cyan"] .gate-hit,body[data-cursor-style="drop-cyan"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='4'%20x2='24'%20y2='24'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%2379f2df'%2F%3E%3Cstop%20offset='1'%20stop-color='%234aa7ff'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2'%20fill='%23101417'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="drop-rose"] #viewport,body[data-cursor-style="drop-rose"] .board-svg,body[data-cursor-style="drop-rose"] .gate-hit,body[data-cursor-style="drop-rose"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='4'%20x2='24'%20y2='24'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23ffb0c9'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ff5f7f'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2'%20fill='%23101417'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="ring"] #viewport,body[data-cursor-style="ring"] .board-svg,body[data-cursor-style="ring"] .gate-hit,body[data-cursor-style="ring"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Ccircle%20cx='14'%20cy='14'%20r='8.5'%20fill='none'%20stroke='white'%20stroke-width='2'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='2.2'%20fill='%23d9f06f'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="comet"] #viewport,body[data-cursor-style="comet"] .board-svg,body[data-cursor-style="comet"] .gate-hit,body[data-cursor-style="comet"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='4'%20y1='24'%20x2='22'%20y2='6'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%236b7cff'%20stop-opacity='.15'%2F%3E%3Cstop%20offset='1'%20stop-color='%23a98cff'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M5%2023L21%207'%20stroke='url(%23g)'%20stroke-width='4'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='21'%20cy='7'%20r='3.2'%20fill='white'%20stroke='%237c6cff'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 21 7,crosshair}
|
||||
|
||||
|
||||
/* v47.14 radius items, expanded cursor catalog, and item debug mode */
|
||||
|
|
@ -480,51 +456,31 @@ body[data-cursor-style="comet"] #viewport,body[data-cursor-style="comet"] .board
|
|||
.debug-items-toggle input{width:18px;height:18px;accent-color:#d9f06f}.debug-items-toggle span{display:flex;align-items:baseline;gap:9px}.debug-items-toggle b{color:#d9f06f;font-size:10px;letter-spacing:.14em}.debug-items-toggle small{color:#96a2a8;font-size:9px;font-weight:800}
|
||||
body[data-debug-items="on"] .debug-items-toggle{border-color:rgba(217,240,111,.55);box-shadow:0 0 18px rgba(217,240,111,.08)}
|
||||
.inventory-item.debug-available{border-color:rgba(95,216,255,.2)}
|
||||
body[data-cursor-style="cross-lime"] #viewport,body[data-cursor-style="cross-lime"] .board-svg,body[data-cursor-style="cross-lime"] body[data-cursor-style="cross-lime"] .gate-hit,body[data-cursor-style="cross-lime"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='29'%20height='29'%3E%3Cpath%20d='M14.5%204v6M14.5%2019v6M4%2014.5h6M19%2014.5h6'%20stroke='%23d9f06f'%20stroke-width='1.8'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='14.5'%20cy='14.5'%20r='3.1'%20fill='%2311161a'%20stroke='white'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="prism"] #viewport,body[data-cursor-style="prism"] .board-svg,body[data-cursor-style="prism"] body[data-cursor-style="prism"] .gate-hit,body[data-cursor-style="prism"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='6'%20y1='25'%20x2='19'%20y2='4'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%235fd8ff'%20stop-opacity='.35'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ffffff'%20stop-opacity='.95'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M7%2025L14%204l8%2017-8-3z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") 14 4,crosshair}
|
||||
body[data-cursor-style="star-gold"] #viewport,body[data-cursor-style="star-gold"] .board-svg,body[data-cursor-style="star-gold"] body[data-cursor-style="star-gold"] .gate-hit,body[data-cursor-style="star-gold"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cpath%20d='M14%204v5M14%2019v5M4%2014h5M19%2014h5'%20stroke='%23ffd45f'%20stroke-width='2'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='4.2'%20fill='%23ffd45f'%20stroke='white'%20stroke-width='1.3'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='1.5'%20fill='%2317191b'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="diamond-violet"] #viewport,body[data-cursor-style="diamond-violet"] .board-svg,body[data-cursor-style="diamond-violet"] body[data-cursor-style="diamond-violet"] .gate-hit,body[data-cursor-style="diamond-violet"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='5'%20y1='5'%20x2='23'%20y2='23'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23d7c9ff'%2F%3E%3Cstop%20offset='1'%20stop-color='%237f64e8'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M14%204l10%2010-10%2010L4%2014z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='1.7'%20fill='%2317191b'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="orbit-blue"] #viewport,body[data-cursor-style="orbit-blue"] .board-svg,body[data-cursor-style="orbit-blue"] body[data-cursor-style="orbit-blue"] .gate-hit,body[data-cursor-style="orbit-blue"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='30'%20height='30'%3E%3Cellipse%20cx='15'%20cy='15'%20rx='11'%20ry='6.5'%20fill='none'%20stroke='%2372c8ff'%20stroke-width='1.8'%20transform='rotate(-28%2015%2015)'%2F%3E%3Ccircle%20cx='15'%20cy='15'%20r='3.2'%20fill='white'%20stroke='%234d82ff'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 15 15,crosshair}
|
||||
body[data-cursor-style="needle"] #viewport,body[data-cursor-style="needle"] .board-svg,body[data-cursor-style="needle"] body[data-cursor-style="needle"] .gate-hit,body[data-cursor-style="needle"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cpath%20d='M5%204l15%2012-7%201-4%208z'%20fill='white'%20stroke='%2315191c'%20stroke-width='1.5'%20stroke-linejoin='round'%2F%3E%3Ccircle%20cx='5'%20cy='4'%20r='1.7'%20fill='%23d9f06f'%2F%3E%3C%2Fsvg%3E") 5 4,crosshair}
|
||||
body[data-cursor-style="pixel-mint"] #viewport,body[data-cursor-style="pixel-mint"] .board-svg,body[data-cursor-style="pixel-mint"] body[data-cursor-style="pixel-mint"] .gate-hit,body[data-cursor-style="pixel-mint"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='26'%20height='26'%3E%3Crect%20x='6'%20y='6'%20width='14'%20height='14'%20rx='4'%20fill='%2372e3b4'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='13'%20cy='13'%20r='2'%20fill='%23112018'%2F%3E%3C%2Fsvg%3E") 13 13,crosshair}
|
||||
body[data-cursor-style="flame-orange"] #viewport,body[data-cursor-style="flame-orange"] .board-svg,body[data-cursor-style="flame-orange"] body[data-cursor-style="flame-orange"] .gate-hit,body[data-cursor-style="flame-orange"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='8'%20y1='24'%20x2='18'%20y2='5'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23ff9d55'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ffe36c'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M7%2025L14%205l7%2016-7-3z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") 14 5,crosshair}
|
||||
body[data-cursor-style="cross-lime"] #viewport,body[data-cursor-style="cross-lime"] .board-svg,body[data-cursor-style="cross-lime"] .board-input-surface,body[data-cursor-style="cross-lime"] .gate-hit,body[data-cursor-style="cross-lime"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='29'%20height='29'%3E%3Cpath%20d='M14.5%204v6M14.5%2019v6M4%2014.5h6M19%2014.5h6'%20stroke='%23d9f06f'%20stroke-width='1.8'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='14.5'%20cy='14.5'%20r='3.1'%20fill='%2311161a'%20stroke='white'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="prism"] #viewport,body[data-cursor-style="prism"] .board-svg,body[data-cursor-style="prism"] .board-input-surface,body[data-cursor-style="prism"] .gate-hit,body[data-cursor-style="prism"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='6'%20y1='25'%20x2='19'%20y2='4'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%235fd8ff'%20stop-opacity='.35'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ffffff'%20stop-opacity='.95'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M7%2025L14%204l8%2017-8-3z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") 14 4,crosshair}
|
||||
body[data-cursor-style="star-gold"] #viewport,body[data-cursor-style="star-gold"] .board-svg,body[data-cursor-style="star-gold"] .board-input-surface,body[data-cursor-style="star-gold"] .gate-hit,body[data-cursor-style="star-gold"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cpath%20d='M14%204v5M14%2019v5M4%2014h5M19%2014h5'%20stroke='%23ffd45f'%20stroke-width='2'%20stroke-linecap='round'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='4.2'%20fill='%23ffd45f'%20stroke='white'%20stroke-width='1.3'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='1.5'%20fill='%2317191b'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="diamond-violet"] #viewport,body[data-cursor-style="diamond-violet"] .board-svg,body[data-cursor-style="diamond-violet"] .board-input-surface,body[data-cursor-style="diamond-violet"] .gate-hit,body[data-cursor-style="diamond-violet"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='28'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='5'%20y1='5'%20x2='23'%20y2='23'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23d7c9ff'%2F%3E%3Cstop%20offset='1'%20stop-color='%237f64e8'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M14%204l10%2010-10%2010L4%2014z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%2F%3E%3Ccircle%20cx='14'%20cy='14'%20r='1.7'%20fill='%2317191b'%2F%3E%3C%2Fsvg%3E") 14 14,crosshair}
|
||||
body[data-cursor-style="orbit-blue"] #viewport,body[data-cursor-style="orbit-blue"] .board-svg,body[data-cursor-style="orbit-blue"] .board-input-surface,body[data-cursor-style="orbit-blue"] .gate-hit,body[data-cursor-style="orbit-blue"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='30'%20height='30'%3E%3Cellipse%20cx='15'%20cy='15'%20rx='11'%20ry='6.5'%20fill='none'%20stroke='%2372c8ff'%20stroke-width='1.8'%20transform='rotate(-28%2015%2015)'%2F%3E%3Ccircle%20cx='15'%20cy='15'%20r='3.2'%20fill='white'%20stroke='%234d82ff'%20stroke-width='1.4'%2F%3E%3C%2Fsvg%3E") 15 15,crosshair}
|
||||
body[data-cursor-style="needle"] #viewport,body[data-cursor-style="needle"] .board-svg,body[data-cursor-style="needle"] .board-input-surface,body[data-cursor-style="needle"] .gate-hit,body[data-cursor-style="needle"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cpath%20d='M5%204l15%2012-7%201-4%208z'%20fill='white'%20stroke='%2315191c'%20stroke-width='1.5'%20stroke-linejoin='round'%2F%3E%3Ccircle%20cx='5'%20cy='4'%20r='1.7'%20fill='%23d9f06f'%2F%3E%3C%2Fsvg%3E") 5 4,crosshair}
|
||||
body[data-cursor-style="pixel-mint"] #viewport,body[data-cursor-style="pixel-mint"] .board-svg,body[data-cursor-style="pixel-mint"] .board-input-surface,body[data-cursor-style="pixel-mint"] .gate-hit,body[data-cursor-style="pixel-mint"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='26'%20height='26'%3E%3Crect%20x='6'%20y='6'%20width='14'%20height='14'%20rx='4'%20fill='%2372e3b4'%20stroke='white'%20stroke-width='1.5'%2F%3E%3Ccircle%20cx='13'%20cy='13'%20r='2'%20fill='%23112018'%2F%3E%3C%2Fsvg%3E") 13 13,crosshair}
|
||||
body[data-cursor-style="flame-orange"] #viewport,body[data-cursor-style="flame-orange"] .board-svg,body[data-cursor-style="flame-orange"] .board-input-surface,body[data-cursor-style="flame-orange"] .gate-hit,body[data-cursor-style="flame-orange"] .endpoint-hit{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='28'%20height='30'%3E%3Cdefs%3E%3ClinearGradient%20id='g'%20x1='8'%20y1='24'%20x2='18'%20y2='5'%20gradientUnits='userSpaceOnUse'%3E%3Cstop%20stop-color='%23ff9d55'%2F%3E%3Cstop%20offset='1'%20stop-color='%23ffe36c'%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d='M7%2025L14%205l7%2016-7-3z'%20fill='url(%23g)'%20stroke='white'%20stroke-width='1.4'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") 14 5,crosshair}
|
||||
|
||||
/* Emoji cursors replace the earlier geometric catalog while retaining saved style IDs. */
|
||||
body[data-cursor-style="drop-cyan"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F642%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="drop-rose"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F604%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="ring"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F609%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="comet"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F60E%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="cross-lime"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F929%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="prism"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F60B%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="star-gold"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F7E1%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="diamond-violet"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x2B50%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="orbit-blue"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F315%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="needle"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x2600%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="pixel-mint"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F7E8%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="flame-orange"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F536%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-mode="dom"],body[data-cursor-mode="dom"] *{cursor:none!important}
|
||||
body[data-cursor-mode="native"] :is(#viewport,.board-svg,.gate-hit,.endpoint-hit){cursor:var(--active-native-cursor,auto)!important}
|
||||
.emoji-glyph,#customEmojiCursor{font-family:var(--emoji-font)!important;font-variant-emoji:emoji}
|
||||
.item-flag-image{display:block;width:34px;height:26px;object-fit:contain;pointer-events:none}
|
||||
#customEmojiCursor{position:fixed;z-index:300;left:0;top:0;display:none;width:32px;height:32px;place-items:center;overflow:visible;border:0;border-radius:0;background:transparent;font-size:26px;line-height:1;opacity:1;pointer-events:none;will-change:transform}
|
||||
#customEmojiCursor.visible{display:grid}
|
||||
#customEmojiCursor.flag-cursor{width:32px;height:32px;overflow:hidden;border:2px solid #101214;border-radius:50%;background:#f4d45f;font-size:26px;opacity:1;box-shadow:0 2px 7px rgba(0,0,0,.5)}
|
||||
#customEmojiCursor.flag-cursor img{position:absolute;left:50%;top:50%;display:block;width:140%;height:110%;margin:0;transform:translate(-50%,-50%);border-radius:0;object-fit:cover;object-position:center;clip-path:none}
|
||||
body[data-cursor-mode="native"] #customEmojiCursor{display:none!important}
|
||||
#pickupHandleOverlay{position:fixed;z-index:299;left:0;top:0;display:none;width:15px;height:15px;border:2px solid #111820;border-radius:50%;background:var(--pickup-color,#f4d45f);box-shadow:0 0 0 2px rgba(255,255,255,.82),0 2px 7px rgba(0,0,0,.48);pointer-events:none;will-change:transform;contain:strict;transition:transform 16.67ms linear}
|
||||
#pickupHandleOverlay.visible{display:block}
|
||||
|
||||
|
||||
|
||||
body[data-cursor-style="drop-cyan"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F642%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="drop-rose"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F604%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="ring"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F609%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="comet"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F60E%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="cross-lime"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F929%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="prism"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F60B%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="star-gold"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F7E1%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="diamond-violet"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x2B50%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="orbit-blue"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F315%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="needle"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x2600%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="pixel-mint"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F7E8%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
body[data-cursor-style="flame-orange"] :is(#viewport,.board-svg,.board-input-surface,.gate-hit,.endpoint-hit){cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width='32'%20height='32'%3E%3Ctext%20x='2'%20y='27'%20font-size='26'%3E%26%23x1F536%3B%3C/text%3E%3C/svg%3E") 16 16,auto}
|
||||
/* v47.36 uses a single route-free viewport canvas for distant world rendering. */
|
||||
|
||||
/* Nearby LOD keeps only board silhouettes and solved/partial route summaries. */
|
||||
.board-card.board-static{z-index:1;overflow:hidden;pointer-events:none;opacity:.9}
|
||||
.board-static-svg{position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none}
|
||||
.static-summary-fill{fill:transparent!important;stroke:rgba(225,237,243,.38);stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:stroke}
|
||||
.board-static.solved .static-summary-fill{fill:transparent!important;stroke:rgba(121,212,160,.42)}
|
||||
.static-summary-path{fill:none;stroke-width:var(--static-line-width,3);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9;pointer-events:none}
|
||||
.static-shop-icon{position:absolute;z-index:3;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:rgba(12,18,22,.82);transform:translate(-50%,-50%) scale(var(--inverse-camera-scale));transform-origin:center;box-shadow:0 4px 7px rgba(0,0,0,.55);cursor:pointer;pointer-events:auto}
|
||||
|
||||
|
||||
.drag-live-tail{pointer-events:none}
|
||||
|
|
@ -538,7 +494,6 @@ body.lightweight-rendering .path{filter:none!important;mix-blend-mode:normal!imp
|
|||
.claim-pending-halo{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.92);stroke-width:2;vector-effect:non-scaling-stroke}
|
||||
.claim-pending-knob{fill:#f4d45f;stroke:#15191d;stroke-width:1.5;vector-effect:non-scaling-stroke}
|
||||
.gate-knob.drag-target{opacity:1;transform:scale(1)}
|
||||
#noiseCanvas.interaction-muted{opacity:.035}
|
||||
body.reduced-effects #noiseCanvas,body.effects-paused #noiseCanvas{opacity:.045;transition:none}
|
||||
#topbar.drawing-active .brand,
|
||||
#topbar.drawing-active .stat:not(.score),
|
||||
|
|
@ -550,10 +505,10 @@ body.reduced-effects #noiseCanvas,body.effects-paused #noiseCanvas{opacity:.045;
|
|||
.board-card.input-active .path-layer,
|
||||
.board-card.input-active .gate-layer,
|
||||
.board-card.input-active .drag-layer{opacity:1;filter:none}
|
||||
:is(#world.camera-interacting,.board-card.input-active) .gate-dot.frontier,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .num.turn-warning,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .number-turn-warning.show,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .unfilled-warning-cells,
|
||||
.board-card.input-active .gate-dot.frontier,
|
||||
.board-card.input-active .num.turn-warning,
|
||||
.board-card.input-active .number-turn-warning.show,
|
||||
.board-card.input-active .unfilled-warning-cells,
|
||||
body.reduced-effects .gate-dot.frontier,
|
||||
body.reduced-effects .num.turn-warning,
|
||||
body.reduced-effects .number-turn-warning.show,
|
||||
|
|
@ -561,8 +516,7 @@ body.reduced-effects .unfilled-warning-cells{animation-play-state:paused!importa
|
|||
@media(prefers-reduced-motion:reduce){
|
||||
#topbar .brand,#topbar .stat,#topbar .toolbar>*,#saveStatus{transition:none}
|
||||
}
|
||||
:is(#world.camera-interacting,.board-card.input-active) .special-cell,
|
||||
#world.camera-interacting .overview-fill,
|
||||
.board-card.input-active .special-cell,
|
||||
body.reduced-effects .special-cell,
|
||||
body.reduced-effects .overview-fill{filter:none!important}
|
||||
body.effects-paused *{animation-play-state:paused!important}
|
||||
|
|
@ -605,11 +559,10 @@ body.effects-paused *{animation-play-state:paused!important}
|
|||
#presenceCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:25}
|
||||
.board-claim-badge{position:absolute;z-index:31;left:50%;top:8px;transform:translateX(-50%);max-width:calc(100% - 24px);padding:4px 7px;border:1px solid rgba(255,205,105,.65);background:rgba(19,16,12,.94);color:#ffe2a0;font:10px/1.2 var(--dot-font);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.36)}
|
||||
.board-claim-badge[hidden]{display:none}
|
||||
.board-card.claimed-other:not(.solved) .board-card.claimed-other:not(.solved) .gate-hit,.board-card.claimed-other:not(.solved) .endpoint-hit{cursor:not-allowed}
|
||||
.board-card.claimed-other:not(.solved) .gate-hit,.board-card.claimed-other:not(.solved) .endpoint-hit{cursor:not-allowed}
|
||||
.board-card.claimed-other:not(.solved) .static-layer,.board-card.claimed-other:not(.solved) .special-cell-layer,.board-card.claimed-other:not(.solved) .number-layer,.board-card.claimed-other:not(.solved) .gate-layer{opacity:.68}
|
||||
.board-card.claimed-other:not(.solved)::after{content:"";position:absolute;inset:var(--claim-inset,26px);z-index:29;border:2px dashed rgba(255,205,105,.5);background:rgba(28,20,8,.08);pointer-events:none}
|
||||
.board-card.claimed-own:not(.solved) .board-label{border-color:rgba(217,240,111,.7)}
|
||||
.board-static.claimed-other:not(.solved)::before,.board-static.claimed-own:not(.solved)::before{content:attr(data-claim-label);position:absolute;z-index:31;left:50%;top:8px;transform:translateX(-50%) scale(var(--inverse-camera-scale));transform-origin:top center;max-width:calc(100% - 24px);padding:4px 7px;border:1px solid rgba(255,205,105,.65);background:rgba(19,16,12,.94);color:#ffe2a0;font:10px/1.2 var(--dot-font);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 3px 12px rgba(0,0,0,.36)}
|
||||
.board-label.claimed-own{border-color:#f4ffad;box-shadow:0 5px 18px rgba(0,0,0,.58),0 0 0 2px rgba(8,11,13,.92),0 0 0 4px rgba(217,240,111,.35),0 0 18px rgba(217,240,111,.4)}
|
||||
@media(max-width:640px){.board-claim-badge{font-size:8px;padding:3px 5px}}
|
||||
|
||||
|
||||
|
|
@ -626,7 +579,7 @@ body.reaction-selecting #viewport{cursor:none!important}
|
|||
.fps-stat b{color:inherit;letter-spacing:.02em;font-weight:700}
|
||||
.unfilled-warning-cells{fill:#3b3430;stroke:#bda98b;stroke-width:1.4;vector-effect:non-scaling-stroke;pointer-events:none}
|
||||
.board-input-surface{outline:none}
|
||||
:is(#world.camera-interacting,.board-card.input-active) .unfilled-warning-cells,body.reduced-effects .unfilled-warning-cells{filter:none!important}
|
||||
.board-card.input-active .unfilled-warning-cells,body.reduced-effects .unfilled-warning-cells{filter:none!important}
|
||||
|
||||
#fpsCounter[data-fps=idle]{color:#aab4b9}#fpsCounter[data-fps=good]{color:#d9f06f}#fpsCounter[data-fps=ok]{color:#ffd46f}#fpsCounter[data-fps=low]{color:#ff7c88}
|
||||
|
||||
|
|
@ -665,21 +618,50 @@ body.lightweight-rendering *{transition-duration:0s!important}
|
|||
.board-card{isolation:auto}
|
||||
.board-svg{contain:layout style paint;backface-visibility:hidden}
|
||||
#presenceCanvas,#reactionCanvas{transform-origin:0 0;will-change:transform;contain:strict}
|
||||
#viewport.panning::after{display:none}
|
||||
#viewport.panning .board-label,
|
||||
#viewport.panning .solver-badge,
|
||||
#viewport.panning .claim-badge,
|
||||
#viewport.panning .score-lens-badge,
|
||||
#viewport.panning .line-store{visibility:hidden!important}
|
||||
#viewport.panning .board-svg{shape-rendering:optimizeSpeed}
|
||||
:is(#world.camera-interacting,.board-card.input-active) .number-match-orbit-holes,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .number-match-pulse,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .cell-confirm-flash{animation:none!important}
|
||||
:is(#world.camera-interacting,.board-card.input-active) .gate-knob,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .solver-badge,
|
||||
:is(#world.camera-interacting,.board-card.input-active) .line-store{transition:none!important}
|
||||
.board-card.input-active .number-match-orbit-holes,
|
||||
.board-card.input-active .number-match-pulse,
|
||||
.board-card.input-active .cell-confirm-flash{animation:none!important}
|
||||
.board-card.input-active .gate-knob,
|
||||
.board-card.input-active .solver-badge,
|
||||
.board-card.input-active .line-store{transition:none!important}
|
||||
body.lightweight-rendering .board-label,
|
||||
body.lightweight-rendering .solver-badge,
|
||||
body.lightweight-rendering .claim-badge,
|
||||
body.lightweight-rendering .line-store,
|
||||
body.lightweight-rendering .score-lens-badge{box-shadow:none!important;text-shadow:none!important}
|
||||
|
||||
/* v47.79: fixed active-board HUD and settings actions. */
|
||||
#boardHudLayer .board-label{max-width:calc(100% - 16px);align-items:center;gap:8px;min-height:32px;padding:4px 7px;font-size:14px;line-height:1.15;overflow:visible;contain:layout style;pointer-events:auto}
|
||||
#boardHudLayer .board-label>b{flex:0 0 auto}
|
||||
#boardHudLayer .board-actions{flex:0 0 auto}
|
||||
.settings-actions{justify-content:flex-end}.settings-actions #resetSettings{margin-right:4px}
|
||||
|
||||
|
||||
/* v47.83: active board emphasis, aligned settings actions, and cyber-pop stores. */
|
||||
.active-board-boundary-layer{display:none;pointer-events:none}
|
||||
.board-card.hud-current:not(.solved) .active-board-boundary-layer{display:block}
|
||||
.active-board-boundary-shadow,.active-board-boundary-dash{fill:none;vector-effect:non-scaling-stroke;pointer-events:none}
|
||||
.active-board-boundary-shadow{stroke:color-mix(in srgb,var(--region) 72%,#7cf7ff);stroke-width:9;opacity:.48;filter:drop-shadow(0 0 8px rgba(73,238,255,.8)) drop-shadow(0 0 16px rgba(255,71,199,.36))}
|
||||
.active-board-boundary-dash{stroke:#f5feff;stroke-width:9;stroke-dasharray:1 18;stroke-linecap:round;animation:activeBoardOrbit 9s linear infinite,activeBoardBreathe 3.4s ease-in-out infinite}
|
||||
@keyframes activeBoardOrbit{to{stroke-dashoffset:-96}}
|
||||
@keyframes activeBoardBreathe{0%,100%{opacity:.34}50%{opacity:1}}
|
||||
body.lightweight-rendering .active-board-boundary-layer{display:none!important}
|
||||
|
||||
.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
|
||||
.settings-actions .pill{flex:1 1 0;width:auto;margin:0!important}
|
||||
|
||||
.line-store{width:62px;height:58px;padding:5px 5px 4px;border:1px solid rgba(92,242,255,.86);border-radius:4px;background:linear-gradient(145deg,rgba(26,15,45,.98),rgba(8,30,43,.98));box-shadow:0 10px 26px rgba(0,0,0,.5),0 0 0 2px rgba(255,62,190,.2),0 0 18px rgba(50,226,255,.28);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
|
||||
.line-store .shop-shell{position:relative;display:block;width:40px;height:31px;border:1.5px solid #60f2ff;border-radius:2px;background:linear-gradient(135deg,#35164c 0 44%,#102f45 45% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),0 0 10px rgba(89,239,255,.38);clip-path:polygon(6px 0,100% 0,100% 25px,34px 31px,0 31px,0 6px)}
|
||||
.line-store .shop-shell::before{content:"";position:absolute;left:3px;right:3px;top:4px;height:7px;border-radius:0;background:repeating-linear-gradient(90deg,#ff45c5 0 6px,#ffe75f 6px 11px,#5ff3ff 11px 17px);box-shadow:0 0 7px rgba(255,69,197,.6)}
|
||||
.line-store .shop-shell::after{content:"";position:absolute;left:4px;right:4px;top:14px;border-top:1px solid rgba(95,243,255,.76);box-shadow:0 4px 0 rgba(255,69,197,.42)}
|
||||
.line-store .shop-shell i{position:absolute;left:6px;bottom:4px;width:9px;height:8px;border:1px solid #ff54ce;border-radius:0;background:rgba(255,84,206,.18);box-shadow:0 0 5px rgba(255,84,206,.55)}
|
||||
.line-store .shop-shell b{position:absolute;right:7px;bottom:0;width:9px;height:12px;border:1px solid #ffe96b;border-bottom:0;border-radius:1px 1px 0 0;background:#172636}
|
||||
.line-store .shop-shell em{position:absolute;left:18px;bottom:5px;width:5px;height:5px;border-radius:50%;background:#65f5ff;box-shadow:0 0 8px #65f5ff}
|
||||
.line-store small{font-size:6px;font-weight:950;letter-spacing:.11em;color:#f7f8ff;text-shadow:0 0 6px #ff4dcc}
|
||||
.line-store:hover,.line-store:focus-visible{transform:translate(-50%,-50%) scale(1.08);border-color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.56),0 0 0 3px rgba(255,67,197,.25),0 0 24px rgba(73,237,255,.52)}
|
||||
.minimap-legend .shop::before{width:7px;height:7px;background:linear-gradient(135deg,#ff45c5 0 50%,#5ff3ff 50%);box-shadow:0 0 4px rgba(95,243,255,.7)}
|
||||
|
||||
.special-internal-gate .special-cell-frame{fill:rgba(61,20,83,.28);stroke:#ef63ff;stroke-dasharray:3 3}
|
||||
.internal-gate-bracket{fill:none;stroke:#61f3ff;stroke-width:2.4;stroke-linecap:square;vector-effect:non-scaling-stroke}
|
||||
.gate-marker.internal{stroke:#ff6ed7;stroke-width:2.8}
|
||||
.gate-dot.internal{stroke:#5ff3ff;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(95,243,255,.75))}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue