*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#000;overflow:hidden}
[hidden]{display:none!important}
#viewport{position:relative;width:100%;height:100vh;height:100svh;overflow:hidden;background:#000;outline:none;cursor:none;-webkit-tap-highlight-color:transparent}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--stage-scale,0));overflow:hidden;background:#000;isolation:isolate}
#background,#currents,#frame,#notification,#glass,.glass-border,#interference{position:absolute;inset:0;width:1920px;height:1080px}
#background,#currents,#frame,.glass-border,#interference{pointer-events:none}
#notification{color:#dcf5fa;font-family:Arial,Helvetica,sans-serif}
#frame{overflow:visible;filter:blur(1.15px)}
#side-circuits{filter:blur(.7px) drop-shadow(0 0 3px #184de999);opacity:.42}
#side-circuits,.glass-border{transform-origin:0 545.5px;transform:scaleY(var(--window-spread,1))}
#glass,#interference{clip-path:inset(var(--window-top,189px) 0 var(--window-bottom,178px) 0)}
.glass-border .edge{fill:none;stroke:#c5d3d2;stroke-opacity:.55;stroke-width:1.6;filter:drop-shadow(0 0 1.5px #bddde8)}
.glass-border .fringe{fill:none;stroke:#a50b42;stroke-opacity:.38;stroke-width:1.8}
.glass-border .fault{fill:none;stroke:#e0efeb;stroke-opacity:.6;stroke-width:1.6}
.notification-header{position:absolute;left:633px;top:287px;height:83px;display:flex;gap:25px;align-items:stretch;transform:skewX(-2.1deg)}
.notice-symbol,h1,.quest-check,button{border:1.3px solid #b2c7c17a;box-shadow:1.4px 0 #9a0b4155,-1px 0 #51c5cf44;background:#010b1245}
.notice-symbol{display:block;width:95px;height:82px}
.notice-symbol svg{width:100%;height:100%;fill:none;stroke:#e0fafb;stroke-width:3;filter:drop-shadow(0 0 4px #87efff) drop-shadow(0 0 11px #3eaaca)}
.notice-symbol .notice-dot{fill:#e6ffff;stroke:none}
h1{width:497px;height:84px;margin:0;display:flex;align-items:center;justify-content:center;padding:0 0 2px 3px;color:#e4f5f3;font-size:44px;font-weight:500;line-height:1;letter-spacing:3.1px;text-shadow:1.1px 0 1px #86ecff,-1px 0 1px #d097a6,0 0 5px #b4f4ff,0 0 16px #58cced,0 0 30px #3c95b488}
.message{position:absolute;inset:0;font-size:28px;line-height:1.25;letter-spacing:1.15px;text-shadow:1px 0 1px #73b5d0,-.6px 0 1px #cfbdac,0 0 6px #7bd5ed,0 0 17px #3292be99}
.message p{margin:0;white-space:nowrap}
.message strong{font-weight:700;text-shadow:0 0 2px #eaf9fc,0 0 7px #a4eaff,0 0 18px #45b6da}
.quest-copy{position:absolute;left:780px;top:441px;transform:skewX(-1.2deg)}
.quest-copy p+p{margin-top:30px}
.quest-copy strong{font-size:29px;letter-spacing:1.25px}
.quest-check{position:absolute;left:905px;top:660px;width:125px;height:95px;transform:skewX(-.5deg)}
.quest-check svg{width:100%;height:100%;fill:none;stroke-linejoin:round;stroke-linecap:round}
.check-box{stroke:#daf7f3;stroke-width:3.4;filter:drop-shadow(0 0 3px #72e0fb) drop-shadow(0 0 7px #66c5dd)}
.check-mark{stroke:#2affb2;stroke-width:3.8;filter:drop-shadow(0 0 5px #00ef95) drop-shadow(0 0 12px #00db8577)}
.invitation{left:710px;top:461px;width:650px;height:auto;transform:skewX(-1.2deg)}
.invitation p+p{margin-top:31px}
.invitation strong{font-size:30px}
.after-player{margin-left:24px}
.warning-copy{position:absolute;left:723px;top:431px;transform:skewX(-1.7deg)}
.warning-copy p+p{margin-top:20px}
.danger{color:#b40040;text-shadow:0 0 2px #9a054b99,0 0 8px #8d084459;letter-spacing:1.1px}
.choices{position:absolute;inset:0}
button{position:absolute;top:677px;height:63px;display:flex;align-items:center;justify-content:center;padding:0 0 2px;margin:0;color:#e2f5f3;font-family:Arial,Helvetica,sans-serif;font-size:38px;font-weight:400;letter-spacing:.7px;line-height:1;cursor:inherit;transform:skewX(-1.5deg);text-shadow:0 0 3px #abf1ff,0 0 11px #43c0e6,0 0 22px #3095b7}
#yes{left:696px;width:167px}
#no{left:1080px;width:158px;transform:skewX(1deg)}
button:focus-visible{outline:1px solid #ccecf0;outline-offset:3px}
#interference{opacity:0}
#interference .ghost{position:absolute;inset:0;pointer-events:none}
.ghost-choice{position:absolute;top:677px;height:63px;display:flex;align-items:center;justify-content:center;color:#e2f5f3;border:1px solid #b2c7c17a;font:38px Arial,sans-serif;letter-spacing:.7px;line-height:1;text-shadow:0 0 3px #abf1ff,0 0 11px #43c0e6}
.ghost-choice:first-child{left:696px;width:167px}
.ghost-choice:last-child{left:1080px;width:158px}
#viewport[data-choices-visible="true"]{cursor:default}
#notification,#glass,.message,.choices{pointer-events:none}
#stage canvas,#stage svg,#interference,#interference *{pointer-events:none}
#ending-wash{position:absolute;inset:0;z-index:20;overflow:hidden;pointer-events:none;opacity:var(--ending-white,0);background:#fff}
#ending-wash::before{content:"";position:absolute;inset:-18%;z-index:0;background:radial-gradient(ellipse at 50% 48%,rgba(220,253,255,.98) 0%,rgba(125,232,255,.72) 20%,rgba(56,179,250,.26) 45%,transparent 71%);opacity:var(--ending-bloom,0);filter:blur(30px);transform:scale(calc(1 + var(--ending-bloom,0) * .28));will-change:opacity,transform}
#ending-wash::after{content:"";position:absolute;inset:0;z-index:1;background:#fff;opacity:var(--ending-white,0);will-change:opacity}
#stage[data-ending-phase="final"] #ending-wash::before{opacity:0}
#stage[data-ending-active="true"] #notification{filter:brightness(calc(1 + var(--ending-brightness,0) * .65 + var(--ending-bloom,0) * .85)) saturate(calc(1 + var(--ending-bloom,0) * .22));will-change:filter}
#stage[data-ending-active="true"] #background{filter:brightness(calc(1 + var(--ending-brightness,0) * .28 + var(--ending-bloom,0) * .38));will-change:filter}
#system-space{position:absolute;inset:0;z-index:25;overflow:hidden;perspective:1650px;background:radial-gradient(ellipse at 53% 46%,#f4e9dc 0%,#decab8 54%,#b79d89 100%);font-family:Arial,Helvetica,sans-serif;color:#e9faff;isolation:isolate}
#system-space::before{content:"";position:absolute;inset:0;background:linear-gradient(108deg,rgba(255,255,255,.31),transparent 31%,rgba(255,248,239,.23) 71%,rgba(84,49,40,.13)),repeating-linear-gradient(0deg,transparent 0 89px,rgba(106,71,58,.045) 90px 92px);opacity:.9}
#system-space::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 47%,rgba(58,32,33,.22) 100%);pointer-events:none}
.system-panel{position:absolute;width:700px;height:430px;padding:72px 78px;background:linear-gradient(130deg,rgba(5,21,36,.95),rgba(2,12,24,.91));border:2px solid rgba(220,239,245,.75);box-shadow:0 0 0 2px rgba(40,173,255,.36),0 0 10px #37bfff,0 0 28px #167fc9aa,24px 29px 0 rgba(9,22,31,.28);transform-style:preserve-3d;opacity:0;transition:opacity .82s cubic-bezier(.16,.84,.26,1),transform 1.1s cubic-bezier(.14,.82,.2,1);overflow:hidden}
.system-panel::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(132deg,transparent 0 18px,rgba(45,158,226,.06) 19px 21px,transparent 22px 43px),linear-gradient(105deg,rgba(29,122,201,.18),transparent 38%);mix-blend-mode:screen;pointer-events:none}
.system-panel::after{content:"";position:absolute;left:-3%;right:-3%;top:-10px;height:11px;background:linear-gradient(90deg,#1551d6,#56efff 26%,#1d72e8 55%,#9bf5ff);box-shadow:0 0 8px #52dfff,0 0 22px #1679ff;transform:skewX(-3deg)}
.system-panel-head{position:relative;z-index:1;display:flex;align-items:center;gap:22px;font-size:37px;letter-spacing:4px;text-shadow:0 0 5px #9cf6ff,0 0 19px #42b8ea}
.system-mark{display:grid;place-items:center;width:75px;height:67px;border:2px solid #c7f4fc;font-size:47px;line-height:1;border-radius:1px;box-shadow:0 0 11px #49d9fa inset,0 0 13px #41b4ed}
.system-panel p{position:relative;z-index:1;margin:100px 0 0;font-size:27px;line-height:1.55;letter-spacing:1.25px;text-shadow:0 0 5px #64cef0,0 0 14px #3098c5}
.system-panel strong{font-weight:700}.panel-penalty strong{color:#ee1f62;text-shadow:0 0 10px #d80d4f}.panel-player strong{font-style:italic}.panel-reward p{margin-top:115px;text-align:center}
.panel-penalty{left:-102px;top:89px;transform:translate3d(-260px,-100px,-260px) rotateY(21deg) rotateX(6deg) rotateZ(-3deg)}
.panel-player{right:-160px;top:76px;transform:translate3d(280px,-120px,-260px) rotateY(-25deg) rotateX(7deg) rotateZ(4deg)}
.panel-reward{right:113px;bottom:-136px;transform:translate3d(220px,210px,-180px) rotateY(-15deg) rotateX(-8deg) rotateZ(3deg)}
#stage[data-system-active="true"] .system-panel{opacity:1}
#stage[data-system-active="true"] .panel-penalty{transform:translate3d(0,0,-260px) rotateY(21deg) rotateX(6deg) rotateZ(-3deg);animation:panel-drift-left 8s ease-in-out 1.1s infinite alternate}
#stage[data-system-active="true"] .panel-player{transform:translate3d(0,0,-260px) rotateY(-25deg) rotateX(7deg) rotateZ(4deg);animation:panel-drift-right 9s ease-in-out 1.1s infinite alternate}
#stage[data-system-active="true"] .panel-reward{transform:translate3d(0,0,-180px) rotateY(-15deg) rotateX(-8deg) rotateZ(3deg);animation:panel-drift-bottom 7.5s ease-in-out 1.1s infinite alternate}
@keyframes panel-drift-left{to{transform:translate3d(18px,-11px,-245px) rotateY(19deg) rotateX(5deg) rotateZ(-2deg)}}
@keyframes panel-drift-right{to{transform:translate3d(-14px,13px,-275px) rotateY(-23deg) rotateX(5deg) rotateZ(3deg)}}
@keyframes panel-drift-bottom{to{transform:translate3d(-16px,-9px,-165px) rotateY(-17deg) rotateX(-6deg) rotateZ(2deg)}}
.task-form button,.habit-row{position:static;top:auto;height:auto;margin:0;transform:none;box-shadow:none;text-shadow:none}
.task-form button{height:45px}
.habit-row small{display:block;margin-top:4px;color:#67b7ca;font-size:12px;letter-spacing:.7px}
#player-dashboard{position:absolute;inset:0;z-index:30;overflow:hidden;background:radial-gradient(ellipse at 50% 12%,#12385b 0%,#071729 42%,#020812 100%);color:#dff9ff;font-family:Arial,Helvetica,sans-serif;padding:90px 140px 50px;opacity:0;animation:dashboard-in .7s ease forwards}
.dashboard-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(#38c9ef18 1px,transparent 1px),linear-gradient(90deg,#38c9ef18 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 88%)}
.dashboard-top,.dashboard-main,.dashboard-foot{position:relative;z-index:1}.dashboard-top{height:150px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #7ceaff8c;box-shadow:0 12px 24px -25px #4bddff}.eyebrow{color:#55e5ff;font-size:17px;letter-spacing:5px}.dashboard-top h2{margin:9px 0;font-size:43px;font-weight:400;letter-spacing:2px;text-shadow:0 0 14px #4dddf8}.level-readout{display:grid;grid-template-columns:auto 80px;align-items:center;column-gap:18px;min-width:372px}.level-readout>span{font-size:15px;letter-spacing:3px;color:#83eafb}.level-readout strong{grid-row:span 2;font-size:76px;line-height:.9;font-weight:300;color:#fff;text-shadow:0 0 10px #bdfaff,0 0 30px #3bbaf0}.xp-track{height:7px;background:#0a2c45;border:1px solid #3db7df;overflow:hidden}.xp-track i,.quest-progress i{display:block;height:100%;background:linear-gradient(90deg,#30c7e9,#cbfbff);box-shadow:0 0 12px #39d7f6}.level-readout small{font-size:14px;color:#b6e8f3;letter-spacing:1.4px}.dashboard-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.92fr);gap:30px;padding-top:42px}.dashboard-column{min-width:0;min-height:616px;padding:26px;border:1px solid #4fc7e770;background:linear-gradient(145deg,#0b263cbd,#04111fcf);box-shadow:inset 0 0 35px #176d9828,0 0 18px #0b77aa2c}.section-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #56d7f66b;color:#aef7ff;font-size:17px;letter-spacing:2.8px}.section-title b{font-size:16px;color:#02131e;background:#75efff;padding:5px 9px;box-shadow:0 0 12px #48e4ff}.quest-list{display:grid;gap:20px;margin-top:22px}.quest-card{padding:20px;border-left:3px solid #45d9f8;background:#071c2dbd}.quest-card>div:first-child{display:flex;justify-content:space-between;font-size:16px;letter-spacing:2px}.quest-card>div b{color:#baf9ff}.quest-card p{font-size:17px;line-height:1.45;color:#c7e7ef}.quest-progress{height:5px;background:#0b4057;margin:18px 0 11px}.quest-card small{color:#62e5f7;letter-spacing:1.4px}.task-form{display:grid;grid-template-columns:minmax(0,1fr) 88px 72px;gap:8px;margin:23px 0}.task-form input,.task-form select,.task-form button{min-width:0;height:45px;border:1px solid #4dcae8;background:#061624;color:#e8fbff;font:16px Arial;padding:0 12px}.task-form button{background:#1388ae;letter-spacing:1.5px;cursor:pointer}.task-list,.habit-list{display:grid;gap:10px}.task-row,.habit-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:61px;padding:13px 14px;border:1px solid #2a7f9b8f;background:#061a2aaa;color:#e5faff;font-size:17px;cursor:pointer}.task-row span:nth-child(3),.habit-row span:nth-child(2){min-width:0}.task-row input{position:absolute;opacity:0}.task-check,.habit-orb{display:grid;place-items:center;width:21px;height:21px;border:1px solid #69dff3;color:#022;line-height:1}.task-row.done{opacity:.58;text-decoration:line-through}.task-row.done .task-check,.habit-row.complete .habit-orb{background:#8bf7ff;box-shadow:0 0 12px #49dced}.task-row em,.habit-row em{font-style:normal;color:#68e6f6;font-size:14px;white-space:nowrap}.section-note{color:#8eb7c5;line-height:1.4;font-size:15px;margin:23px 0}.habit-row{width:100%;text-align:left;font:17px Arial}.habit-row.complete{border-color:#80f6ff;background:#0a4052a8}.dashboard-foot{position:absolute;left:140px;right:140px;bottom:45px;display:flex;justify-content:space-between;color:#61cfe5;font-size:13px;letter-spacing:2px}.dashboard-foot span:nth-child(2){color:#d5f9ff;letter-spacing:1px}@keyframes dashboard-in{to{opacity:1}}
#yes,#no{pointer-events:auto;cursor:pointer;touch-action:manipulation;transition:color 150ms ease,border-color 150ms ease,text-shadow 150ms ease,box-shadow 150ms ease}
#yes{overflow:hidden;isolation:isolate}
#yes .choice-label{position:relative;z-index:1}
#yes::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#f7ffff;opacity:0}
#yes[aria-pressed="true"],#no[aria-pressed="true"]{border-color:#ccecf0}
#stage[data-choice-phase="yes-pressed"][data-selection="yes"] #yes,#stage[data-choice-phase="yes-click-animation"][data-selection="yes"] #yes{color:#f7ffff;border-color:#f5ffff;background:#061426;box-shadow:none;text-shadow:0 0 4px #fff,0 0 14px #cfffff,0 0 24px #37c9ff}
#stage[data-choice-phase="yes-click-animation"][data-selection="yes"] #yes::before{opacity:var(--yes-fill,0)}
#stage[data-scene="closing"][data-selection="yes"] #yes{color:#e2f5f3;border-color:#b2c7c17a;background:#010b1245;box-shadow:1.4px 0 #9a0b4155,-1px 0 #51c5cf44;text-shadow:0 0 3px #abf1ff,0 0 11px #43c0e6,0 0 22px #3095b7}
#stage[data-scene="closing"][data-selection="no"] #no{color:#9dfff3;border-color:#64ffe2;background:#063b426b;box-shadow:0 0 8px #37f6d0,0 0 24px #18b9c5;text-shadow:0 0 4px #d6fffb,0 0 15px #37f6d0,0 0 28px #18b9c5}
#yes:focus-visible,#no:focus-visible{color:#effcff;border-color:#abf1ff;box-shadow:1.4px 0 #9a0b4155,-1px 0 #51c5cf44,0 0 11px #43c0e64d;text-shadow:0 0 4px #ccecf0,0 0 13px #43c0e6,0 0 23px #3095b7}
@media (hover:hover) and (pointer:fine){
  #viewport:not([data-pointer-type="touch"]) #yes:hover,#viewport:not([data-pointer-type="touch"]) #no:hover{color:#effcff;border-color:#abf1ff;box-shadow:1.4px 0 #9a0b4155,-1px 0 #51c5cf44,0 0 11px #43c0e64d;text-shadow:0 0 4px #ccecf0,0 0 13px #43c0e6,0 0 23px #3095b7}
}
.congratulations{left:580px;top:500px;width:774px;height:auto;text-align:center;transform:skewX(-1.2deg);outline:none}
.congratulations strong{font-size:30px}
