:root{--ui-text:#1d1d1f;--ui-secondary:#6e6e73;--ui-accent:#007aff;--ui-tint:#007aff10;--ui-line:#3c3c4314;--ui-glass:rgba(250,250,252,.87);--ui-surface:#fff;--ui-muted:#f2f2f7;--ui-shadow:0 12px 40px #17202c16,0 1px 3px #17202c0a;--ui-radius:24px;--ui-ease:cubic-bezier(.2,.8,.2,1);font-family:var(--ui-font);color:var(--ui-text)}*{box-sizing:border-box}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #007aff80;outline-offset:3px}[hidden]{display:none!important}.glass,.ui-surface{background:var(--ui-glass);border:1px solid #ffffffc9;box-shadow:var(--ui-shadow);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}.ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;color:var(--ui-text);background:transparent;transition:background .18s,transform .18s}.ui-icon-button:hover{background:#76768012}.ui-icon-button:active{transform:scale(.95)}.ui-primary,.ui-secondary{min-height:48px;padding:12px 24px;border:0;border-radius:16px;font-size:15px;font-weight:600;letter-spacing:-.2px;transition:background .18s,transform .18s}.ui-primary{background:var(--ui-accent);color:#fff}.ui-primary:hover{background:#0071ed}.ui-secondary{background:#76768012;color:var(--ui-text)}.ui-primary:active,.ui-secondary:active{transform:scale(.98)}.ui-eyebrow{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--ui-secondary)}.ui-title{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.7px;margin:8px 0 12px}.ui-description{font-size:15px;line-height:1.65;color:var(--ui-secondary);margin:0}.ui-caption{font-size:12px;line-height:1.5;color:var(--ui-secondary)}.ui-divider{height:1px;background:var(--ui-line);margin:20px 0}.ui-group{background:#76768009;border-radius:18px;overflow:hidden}.ui-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;min-height:62px}.ui-row+.ui-row{border-top:1px solid var(--ui-line)}.ui-row-label{font-size:14px;font-weight:500}.ui-segmented{display:flex;gap:2px;padding:3px;background:#76768012;border-radius:16px}.ui-segmented button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 17px;border:0;border-radius:13px;background:transparent;color:var(--ui-secondary);font-size:14px;font-weight:600;transition:background .18s,box-shadow .18s}.ui-segmented button[aria-pressed=true]{background:#fff;color:var(--ui-text);box-shadow:0 1px 5px #00000012}.ui-key{display:inline-block;min-width:24px;padding:2px 6px;text-align:center;border:1px solid #3c3c4320;border-radius:5px;background:#fff;font:11px var(--ui-font);box-shadow:0 1px 1px #00000008}.ui-actions{display:flex;gap:10px;margin-top:24px}.ui-actions>*{flex:1}.ui-stat{font-size:36px;font-weight:650;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.ui-stat-label{font-size:12px;color:var(--ui-secondary)}.ui-meter{height:4px;background:#76768018;border-radius:5px;overflow:hidden}.ui-meter span{display:block;height:100%;width:var(--value,0%);background:var(--ui-accent);border-radius:inherit;transition:width .25s}.ui-toast{background:var(--ui-glass);border:1px solid #fff9;border-radius:16px;padding:10px 18px;font-size:13px;box-shadow:var(--ui-shadow)}@media(prefers-reduced-transparency:reduce){.glass,.ui-surface{background:#f9f9fb;backdrop-filter:none;-webkit-backdrop-filter:none}}@supports not (backdrop-filter:blur(1px)){.glass,.ui-surface{background:#f9f9fb}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(prefers-contrast:more){:root{--ui-secondary:#3a3a3c;--ui-line:#3c3c4350;--ui-glass:#fafafc}.glass,.ui-surface{border-color:#777}.ui-caption{color:#3a3a3c}}#loading{display:grid;place-items:center;overflow:auto;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));z-index:10;--loading-bg-center: #ffffff;--loading-bg-mid: #fafafb;--loading-bg-edge: var(--ui-bg);--loading-progress: var(--ui-accent);background:radial-gradient(ellipse at 50% 42%,var(--loading-bg-center) 0%,var(--loading-bg-mid) 48%,var(--loading-bg-edge) 100%);color:var(--ui-text);opacity:1;transition:opacity var(--ui-duration) var(--ui-ease-out);overscroll-behavior:contain}.loading-content{width:min(440px,100%);text-align:center}.loading-eyebrow{margin:0 0 16px;color:var(--ui-secondary);font-size:var(--ui-text-footnote);font-weight:var(--ui-weight-semibold);letter-spacing:.5px;text-transform:none}.loading-scene{position:relative;width:100%;aspect-ratio:440 / 224;user-select:none}.loading-landscape{display:block;width:100%;height:100%;overflow:visible}.loading-cloud{animation:loading-cloud-drift 10s ease-in-out infinite alternate}.loading-cloud-far{animation-duration:14s;animation-delay:-6s}.loading-plane{animation:loading-plane-flight 9s ease-in-out infinite}.loading-tree-crown{transform-box:fill-box;transform-origin:50% 100%;animation:loading-tree-sway 4s ease-in-out infinite}.loading-tree-right{animation-duration:5.1s;animation-delay:-2s}.loading-window{animation:loading-window-glow 6s ease-in-out infinite}.loading-window-late{animation-delay:-3s}.loading-cat{position:absolute;left:50%;bottom:4%;width:94px;height:88px;margin-left:-47px;padding:0;border:0;border-radius:50%;background:transparent;touch-action:manipulation;color:inherit}.loading-cat svg{display:block;width:100%;height:100%;overflow:visible}.loading-cat:focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}.loading-cat:disabled{opacity:1}.loading-cat-body{transform-origin:50px 79px;animation:loading-cat-breathe 3.6s ease-in-out infinite}.loading-cat-head{transform-origin:50px 47px;animation:loading-cat-look 11s ease-in-out infinite}.loading-cat-tail{transform-origin:69px 66px;animation:loading-tail-swish 2.6s ease-in-out infinite}.loading-cat-eyes{transform-origin:49px 39px;animation:loading-cat-blink 5.4s linear infinite}.loading-cat-shadow{transform-origin:50px 81px}.cat-greeted .loading-cat-body{animation:loading-cat-hop .75s cubic-bezier(.3,0,.3,1)}.cat-greeted .loading-cat-shadow{animation:loading-shadow-hop .75s ease-in-out}.cat-greeted .loading-cat-tail{animation-duration:.45s}.cat-greeted .loading-cat-head{animation:loading-cat-acknowledge .75s ease-in-out}.loading-greeting{position:absolute;left:calc(50% + 28px);bottom:45%;max-width:calc(50% - 32px);box-sizing:border-box;padding:8px 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s) var(--ui-radius-s) var(--ui-radius-s) 3px;background:var(--ui-surface);box-shadow:var(--ui-shadow);color:var(--ui-text);font-size:var(--ui-text-footnote);line-height:1.4;opacity:0;transform:translateY(5px);transition:opacity var(--ui-duration-fast) var(--ui-ease-out),transform var(--ui-duration-fast) var(--ui-ease-out);pointer-events:none}.loading-greeting-word{display:block;overflow-wrap:anywhere}.loading-greeting-language{display:block;margin-top:4px;color:var(--ui-secondary);font-size:var(--ui-text-caption);line-height:1.4}.has-greeting .loading-greeting{opacity:1;transform:none}.loading-cat-invitation{margin:3px 0 28px;color:var(--ui-secondary);font-size:var(--ui-text-caption)}#loading-title{margin:0;color:var(--ui-text);font-size:var(--ui-text-title2);line-height:1.35;font-weight:var(--ui-weight-semibold);letter-spacing:.5px}.loading-progress-area{width:min(334px,100%);margin:20px auto 0}.loading-progress-meta{display:flex;justify-content:center;align-items:baseline;gap:12px;color:var(--ui-text);font-size:var(--ui-text-subhead);font-weight:var(--ui-weight-medium);line-height:1.5}#loading-percent{color:var(--ui-secondary);font-variant-numeric:tabular-nums;text-align:right}.loading-phase-detail{margin:6px 0 20px;color:var(--ui-secondary);font-size:var(--ui-text-caption);line-height:1.6;min-height:19px;text-wrap:balance}.loading-download-meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:var(--ui-text-caption);line-height:1.5}.loading-download-label{color:var(--ui-secondary);text-align:left;flex-shrink:0}.loading-delay-hint{margin:14px 0 0;color:var(--ui-secondary);font-size:var(--ui-text-footnote);line-height:1.6;text-wrap:balance}.loading-delay-hint[hidden]{display:none}.loading-track{width:100%;height:4px;border-radius:var(--ui-radius-pill);background:var(--ui-fill);overflow:hidden}.loading-track span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--loading-progress);transform:scaleX(var(--load-progress, 0));transform-origin:left;transition:transform var(--ui-duration) var(--ui-ease-out)}#loading[data-download-state=unknown] .loading-track span{transform:none;width:28%;animation-name:loading-indeterminate;animation-duration:2.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;opacity:.6}#progress{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.loading-tips{margin:32px auto 0;padding-top:18px;width:min(340px,100%);border-top:1px solid var(--ui-line)}.loading-tips-label{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 8px;color:var(--ui-secondary);font-size:var(--ui-text-caption);letter-spacing:.5px}.loading-tip-index{font-variant-numeric:tabular-nums;color:var(--ui-secondary)}#loading-tip{min-height:42px;margin:0;color:var(--ui-text);font-size:var(--ui-text-subhead);line-height:1.4;text-wrap:balance}.loading-tip-changed{animation:loading-tip-in .35s ease-out}#retry{margin-top:24px;min-width:180px;min-height:var(--ui-hit);border:0;border-radius:var(--ui-radius-pill);padding:12px 28px;background:var(--ui-accent);color:var(--ui-on-accent);font:var(--ui-weight-semibold) var(--ui-text-body)/1.2 var(--ui-font);cursor:pointer;transition:filter var(--ui-duration-fast) var(--ui-ease-out),transform var(--ui-duration-fast) var(--ui-ease-out)}#retry:hover{filter:brightness(1.08)}#retry:active{transform:scale(.97);filter:brightness(.94)}#retry:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}#retry[hidden]{display:none}#loading.exiting{opacity:0;pointer-events:none}#loading.failed{z-index:2147483000}body.campus-failed [data-scene-prompt]{display:none!important}#loading.failed .loading-progress-area{width:min(320px,100%)}#loading.failed .loading-progress-meta{justify-content:center;text-align:center;color:var(--ui-secondary);font-size:var(--ui-text-subhead)}#loading.failed .loading-download-meta,#loading.failed .loading-phase-detail,#loading.failed .loading-track,#loading.failed #loading-percent,#loading.failed .loading-tips,#loading.failed .loading-cat-invitation{display:none}#loading.failed #loading-title{margin-top:28px}#loading.is-paused *,#loading.is-paused *:before,#loading.is-paused *:after{animation-play-state:paused}@keyframes loading-indeterminate{0%{transform:translate(0)}to{transform:translate(255%)}}@keyframes loading-cloud-drift{0%{transform:translate(-8px)}to{transform:translate(10px)}}@keyframes loading-plane-flight{0%,to{transform:translate(290px,57px) rotate(-8deg)}25%{transform:translate(318px,32px) rotate(-18deg)}50%{transform:translate(348px,43px) rotate(8deg)}75%{transform:translate(320px,65px) rotate(12deg)}}@keyframes loading-tree-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(2deg)}}@keyframes loading-window-glow{0%,to{opacity:.3}45%,65%{opacity:.9}}@keyframes loading-tail-swish{0%,to{transform:rotate(-9deg)}50%{transform:rotate(13deg)}}@keyframes loading-cat-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.975)}}@keyframes loading-cat-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes loading-cat-look{0%,18%,46%,66%,to{transform:rotate(0)}25%,36%{transform:rotate(-4deg)}75%,86%{transform:rotate(3deg)}}@keyframes loading-cat-acknowledge{0%,to{transform:rotate(0)}38%{transform:rotate(-7deg)}70%{transform:rotate(3deg)}}@keyframes loading-cat-hop{0%,to{transform:translateY(0)}18%{transform:scale(1.06,.92)}45%{transform:translateY(-18px) rotate(-5deg)}70%{transform:translateY(0) scale(1.04,.96)}}@keyframes loading-shadow-hop{0%,to{transform:scaleX(1);opacity:1}45%{transform:scaleX(.65);opacity:.5}}@keyframes loading-tip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:600px){.loading-content{width:min(380px,100%)}.loading-cat{width:80px;height:76px;margin-left:-40px}.loading-eyebrow{margin-bottom:22px}.loading-cat-invitation{margin-bottom:24px}#loading-title{font-size:var(--ui-text-title2)}.loading-greeting{left:calc(50% + 22px);padding:7px 10px;font-size:var(--ui-text-caption)}}@media(max-height:600px){#loading{padding-top:16px;padding-bottom:16px}.loading-content{width:min(340px,100%)}.loading-eyebrow{margin-bottom:0}.loading-scene{max-width:290px;margin:auto}.loading-cat{width:76px;height:72px;margin-left:-38px}.loading-cat-invitation{margin-bottom:14px}#loading-title{font-size:var(--ui-text-title3)}.loading-progress-area{margin-top:12px}.loading-tips{margin-top:18px;padding-top:12px}#loading-tip{min-height:22px}}@media(max-height:420px){.loading-content{width:min(540px,100%);display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:center}.loading-eyebrow{grid-column:1;margin:0;align-self:end}.loading-scene{grid-column:1;grid-row:2 / 5}.loading-cat-invitation{grid-column:1;grid-row:5;margin:0}#loading-title{grid-column:2;grid-row:2}.loading-progress-area{grid-column:2;grid-row:3;margin-top:12px}.loading-phase-detail{margin-bottom:13px}.loading-download-meta{flex-direction:column;align-items:center;gap:2px}.loading-tips{grid-column:2;grid-row:4 / 6;margin-top:16px}#retry{grid-column:2;grid-row:4}}@media(prefers-contrast:more){.loading-track{background:var(--ui-fill-strong)}}@media(prefers-reduced-motion:reduce){#loading,#loading *,#loading *:before,#loading *:after{animation:none;transition:none}#loading[data-download-state=unknown] .loading-track span{width:100%;opacity:.3;animation:none}}#loading{background:radial-gradient(ellipse at 50% 38%,#fffdf8,#f6f1e7 52%,#ece4d6);overflow:hidden}.loading-content{width:min(360px,100%)}.loading-eyebrow,#loading-title,.loading-tips,.loading-phase-detail,.loading-download-label,.loading-delay-hint,#loading-status{display:none!important}.loading-scene{display:grid;place-items:center;aspect-ratio:auto;height:clamp(220px,34vh,300px)}.loading-landscape{display:none}.loading-cat{position:relative;left:auto;bottom:auto;width:150px;height:138px;margin:0;border-radius:0;filter:drop-shadow(0 14px 22px rgba(92,68,44,.1))}.loading-cat-hint{display:block;margin-top:2px;color:var(--ui-secondary);font-family:var(--ui-font-display);font-size:14px;letter-spacing:.12em;opacity:.78;animation:loading-hint-breathe 4.4s ease-in-out infinite}.loading-greeting{left:50%;bottom:64%;max-width:220px;transform:translate(-50%,5px);border-radius:14px 14px 14px 4px;background:#fffdf7f5;box-shadow:0 10px 30px #3e30201a;text-align:left}.has-greeting .loading-greeting{transform:translate(-50%)}.loading-greeting-word{font-family:var(--ui-font-display);font-size:19px;letter-spacing:.02em}.loading-greeting-language{font-size:11px;letter-spacing:.08em}.loading-progress-area{width:min(230px,100%);margin:2px auto 0}.loading-progress-meta{justify-content:center}#loading-percent{color:var(--ui-text);font-family:var(--ui-font-display);font-size:44px;font-weight:400;letter-spacing:-.04em;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.loading-track{height:2px;background:#3d34291f}.loading-track span{background:var(--ui-accent)}.loading-cat-invitation{display:none}@media(max-width:600px){.loading-scene{height:clamp(200px,31vh,260px)}.loading-cat{width:128px;height:118px}#loading-percent{font-size:38px}}@media(max-height:620px){.loading-scene{height:180px}.loading-cat{width:112px;height:104px}}@keyframes loading-hint-breathe{0%,to{opacity:.55}50%{opacity:.95}}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ui-bg,#f5f5f7);font-family:var(--ui-font)}#viewport,#labels-layer,#loading{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;visibility:hidden;touch-action:none}body.ready canvas{visibility:visible}#labels-layer{pointer-events:none;z-index:2}.map-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid var(--ui-glass-border);background:var(--ui-glass);color:var(--ui-text);font:500 var(--ui-text-caption)/1.3 var(--ui-font);white-space:nowrap;padding:7px 10px;border-radius:10px;box-shadow:0 1px 6px #18202b17;cursor:pointer;user-select:none;transition:color .15s,background .15s}.map-label:hover,.map-label[aria-pressed=true]{color:var(--ui-accent-text);background:var(--ui-surface);border-color:var(--ui-accent)}.map-label:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;margin:0 5px 2px 0;opacity:.65}#game-controls{display:none;position:fixed;inset:0;pointer-events:none;z-index:3;user-select:none}body.ready #game-controls{display:block}#game-controls button{pointer-events:auto;touch-action:manipulation;font-family:var(--ui-font)}#game-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round}.top-toolbar{position:absolute;top:calc(env(safe-area-inset-top) + 18px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:24px;pointer-events:auto;white-space:nowrap}.toolbar-divider{width:1px;height:24px;background:var(--ui-line);margin:0 2px}.toolbar-place{display:flex;gap:7px;align-items:center;border:0;background:transparent;min-height:44px;padding:0 13px;border-radius:16px;color:var(--ui-text);font-size:14px;font-weight:600}.toolbar-place:hover{background:var(--ui-fill)}.top-toolbar [aria-expanded=true]{color:var(--ui-accent-text);background:var(--ui-tint)}.action-controls{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.action-controls button{width:56px;height:56px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ui-text);touch-action:none;transition:transform .18s,background .18s}#game-controls .action-controls button{touch-action:none}.action-controls button span{font-size:var(--ui-text-caption);font-weight:500}.action-controls button[aria-pressed=true],.action-controls button.held{background:var(--ui-accent);color:#fff;border-color:transparent}.action-controls button:active{transform:scale(.95)}#game-controls .action-controls .flight-action{display:none}#game-controls[data-mode=fly] .action-controls .flight-action{display:flex}#joystick{display:none;position:absolute;left:max(26px,env(safe-area-inset-left));bottom:max(34px,env(safe-area-inset-bottom));width:110px;height:110px;border-radius:50%;pointer-events:auto;touch-action:none;background:#ffffff52;box-shadow:0 4px 24px #0000000b}#joystick i{position:absolute;inset:16px;border:1px solid #ffffff80;border-radius:50%}#joystick span{position:absolute;left:31px;top:31px;width:46px;height:46px;border-radius:50%;background:#fffffff0;box-shadow:0 2px 10px #00000014;pointer-events:none}#control-hint{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);padding:8px 14px;border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-s);color:var(--ui-secondary);background:var(--ui-glass);font-size:var(--ui-text-caption);white-space:nowrap;opacity:0;animation:hint-appear 9s 1s both;pointer-events:none}@keyframes hint-appear{0%,to{opacity:0}10%,75%{opacity:1}}.campus-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:transparent;padding:0;color:var(--ui-text);overflow:hidden}.campus-dialog::backdrop{background:var(--ui-scrim)}.sheet{position:absolute;right:max(24px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 86px);width:360px;max-height:calc(100dvh - 110px);border-radius:var(--ui-radius-xl);padding:24px;overflow:auto;overscroll-behavior:contain;animation:sheet-in .24s var(--ui-ease)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.sheet-header h2{font-size:22px;letter-spacing:-.5px;margin:0}.sheet-header .ui-icon-button{background:var(--ui-fill);width:32px;height:32px;min-width:32px}.sheet button svg{width:18px;height:18px}.setting-toggle{display:flex;align-items:center;gap:6px;min-height:44px;border:0;border-radius:12px;padding:0 10px;background:var(--ui-surface);color:var(--ui-accent-text,var(--ui-accent));font-size:13px}.setting-toggle:hover{background:var(--ui-tint)}.settings-help{display:grid;gap:12px;margin:0;font-size:13px;color:var(--ui-secondary)}.settings-help div{display:flex;justify-content:space-between;align-items:center}.search-field{display:flex;align-items:center;gap:9px;background:var(--ui-fill);border-radius:13px;padding:0 12px;margin-bottom:18px}.search-field svg{width:18px;height:18px;fill:none;stroke:var(--ui-secondary);stroke-width:var(--ui-icon-stroke)}.search-field input{border:0;outline:0;background:none;width:100%;height:44px;font-size:15px;color:var(--ui-text)}.place-list{display:grid;gap:1px}.place-item{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;width:100%;min-height:52px;border:0;border-bottom:1px solid var(--ui-line);background:transparent;padding:12px 4px;color:var(--ui-text);font-size:14px}.place-item:hover{color:var(--ui-accent)}.place-item svg{width:15px;height:15px;fill:none;stroke:var(--ui-secondary);stroke-width:var(--ui-icon-stroke)}.place-item[aria-current=true]{color:var(--ui-accent)}.no-results{padding:24px 0;text-align:center;color:var(--ui-secondary);font-size:14px}#navigation-status{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 94px);transform:translate(-50%);z-index:4;pointer-events:none;max-width:calc(100% - 40px);text-align:center}body.panel-open #control-hint{display:none}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}body.entering #game-controls,body.entering #labels-layer{opacity:0;pointer-events:none}body.entering #game-controls button,body.entering .map-label{pointer-events:none}#game-controls,#labels-layer{transition:opacity .45s}@media(pointer:coarse),(max-width:800px){#joystick{display:block}#control-hint{display:none}}@media(max-width:600px){.top-toolbar{top:calc(env(safe-area-inset-top) + 12px);gap:5px;padding:5px 7px;max-width:calc(100% - 24px);border-radius:22px}.mode-switch button{padding:0 12px;font-size:13px;gap:5px}.toolbar-place{padding:0 10px;font-size:13px}.toolbar-divider{margin:0}.top-toolbar .ui-icon-button{width:40px}.sheet{top:auto;right:0;bottom:0;width:100%;max-height:78dvh;border-radius:var(--ui-radius-xl) var(--ui-radius-xl) 0 0;padding:22px 24px max(24px,env(safe-area-inset-bottom));box-shadow:0 -8px 40px #00000012}.sheet:before{content:"";display:block;width:34px;height:4px;background:var(--ui-separator);border-radius:4px;margin:-10px auto 18px}.sheet-header .ui-icon-button{width:44px;height:44px}.map-label{font-size:var(--ui-text-caption);padding:7px 9px;border-radius:9px}.action-controls{right:max(24px,env(safe-area-inset-right))}#navigation-status{top:calc(env(safe-area-inset-top) + 84px);font-size:var(--ui-text-caption)}}@media(max-height:480px){.sheet{top:12px;bottom:12px;right:12px;width:360px;max-height:calc(100dvh - 24px);border-radius:var(--ui-radius-l)}.sheet:before{display:none}.top-toolbar{top:8px}}.touch-help{display:none}@media(pointer:coarse),(max-width:800px){.desktop-help{display:none}.touch-help{display:grid}}#joystick{width:110px;height:110px;left:calc(env(safe-area-inset-left) + 22px);bottom:calc(env(safe-area-inset-bottom) + 24px);border-radius:50%;background:var(--ui-glass);border:1px solid var(--ui-glass-border);backdrop-filter:var(--ui-blur);-webkit-backdrop-filter:var(--ui-blur);box-shadow:var(--ui-shadow);transition:background var(--ui-duration-fast) var(--ui-ease)}#joystick i{display:none}#joystick span{left:32px;top:32px;width:44px;height:44px;border-radius:50%;background:var(--ui-surface);box-shadow:var(--ui-shadow);transition:transform var(--ui-duration-fast) var(--ui-ease-out);will-change:transform}#joystick.is-active{background:var(--ui-glass)}#joystick.is-active span{transition:none}.action-controls{right:calc(env(safe-area-inset-right) + 22px);bottom:calc(env(safe-area-inset-bottom) + 30px);align-items:flex-end;gap:10px}.action-controls button{width:48px;height:48px;border-radius:var(--ui-radius-pill);background:var(--ui-glass);border:1px solid var(--ui-glass-border);box-shadow:var(--ui-shadow);backdrop-filter:var(--ui-blur);-webkit-backdrop-filter:var(--ui-blur)}.action-controls #fast-move{width:auto;min-width:100px;height:48px;padding:0 18px;flex-direction:row;gap:8px;border-radius:var(--ui-radius-pill)}.action-controls #fast-move span{font:600 13px var(--ui-font);letter-spacing:.1px}.action-controls #fast-move svg{width:20px;height:20px;stroke-width:var(--ui-icon-stroke)}.action-controls button[aria-pressed=true],.action-controls button.held{background:var(--ui-accent);color:var(--ui-on-accent);border-color:transparent;box-shadow:var(--ui-shadow)}@media(prefers-reduced-transparency:reduce){#joystick,.action-controls button{background:var(--ui-surface);backdrop-filter:none;-webkit-backdrop-filter:none}.action-controls button[aria-pressed=true],.action-controls button.held{background:var(--ui-accent)}}@media(max-width:600px){.top-toolbar .toolbar-place span{display:none}.top-toolbar .toolbar-place{padding:0 9px;gap:0}.top-toolbar .mode-switch button{padding:0 8px}}#advanced-settings{margin-top:16px}#advanced-settings summary{cursor:pointer;font-weight:650;padding:10px 0;list-style:none;display:flex;align-items:center;justify-content:space-between}#advanced-settings summary::-webkit-details-marker{display:none}#advanced-settings summary:after{content:"";width:9px;height:9px;border-right:2px solid var(--ui-secondary);border-bottom:2px solid var(--ui-secondary);transform:rotate(-45deg);transition:transform var(--ui-duration,.2s) var(--ui-ease)}#advanced-settings[open] summary:after{transform:rotate(45deg)}.settings-note{font-size:var(--ui-text-caption);line-height:1.6;color:var(--ui-secondary);margin:4px 0 10px}.sheet-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding-top:4px;font-size:var(--ui-text-caption);color:var(--ui-tertiary,var(--ui-secondary))}.sheet-legal a{color:var(--ui-accent-text,var(--ui-accent));text-decoration:none}.sheet-legal a:hover{text-decoration:underline}.sheet-legal span{color:var(--ui-separator,var(--ui-line))}#companion-settings{margin-top:20px}#companion-settings h3{font-size:var(--ui-text-subhead,15px);font-weight:600;margin:0 0 10px}#companion-settings .settings-note{margin-top:8px}.campus-minimap-launcher,.campus-minimap-dialog,.campus-minimap-toast{font-family:var(--ui-font,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif);box-sizing:border-box;color:var(--ui-text);-webkit-font-smoothing:antialiased}.campus-minimap-launcher{position:fixed;left:calc(env(safe-area-inset-left) + 22px);top:calc(env(safe-area-inset-top) + 22px);z-index:4;width:164px;padding:6px;border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-l);background:var(--ui-glass);backdrop-filter:var(--ui-blur);-webkit-backdrop-filter:var(--ui-blur);box-shadow:var(--ui-shadow);cursor:pointer;overflow:hidden;touch-action:manipulation;transition:box-shadow var(--ui-duration-fast) var(--ui-ease),transform var(--ui-duration-fast) var(--ui-ease)}.campus-minimap-launcher:hover{box-shadow:var(--ui-shadow-lg);transform:translateY(-1px)}.campus-minimap-launcher:active{transform:scale(.98)}.campus-minimap-launcher:disabled{opacity:.55;cursor:default;transform:none}.campus-minimap-launcher[hidden]{display:none!important}.campus-minimap-launcher>.campus-minimap-art{display:block;width:100%;height:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--ui-line)}.campus-minimap-caption{display:flex;align-items:center;justify-content:space-between;font-size:var(--ui-text-caption);font-weight:650;padding:8px 8px 3px;letter-spacing:.1px}.campus-minimap-shortcut{font:500 var(--ui-text-caption)/17px monospace;min-width:19px;padding:0 4px;border:1px solid var(--ui-line);border-radius:5px;background:var(--ui-fill);color:var(--ui-secondary);text-align:center}.campus-minimap-dialog{position:fixed;inset:0;margin:auto;width:min(1160px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-xl);background:var(--ui-surface);overflow:hidden;box-shadow:var(--ui-shadow-lg)}.campus-minimap-dialog::backdrop{background:var(--ui-scrim)}.campus-minimap-shell{padding:26px;box-sizing:border-box;max-height:calc(100dvh - 50px);display:flex;flex-direction:column}.campus-minimap-shell *{box-sizing:border-box}.campus-minimap-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.campus-minimap-header h2{font-size:var(--ui-text-title1);letter-spacing:-.7px;line-height:1.3;margin:4px 0 0;font-weight:700;color:var(--ui-text)}.campus-minimap-eyebrow{font-size:var(--ui-text-caption);font-weight:650;letter-spacing:.3px;color:var(--ui-secondary);margin:0}.campus-minimap-close{display:grid;place-items:center;border:0;border-radius:50%;background:radial-gradient(circle,var(--ui-fill) 15px,transparent 15.5px);color:var(--ui-secondary);width:44px;height:44px;flex-shrink:0;font:300 27px/1 sans-serif;cursor:pointer;touch-action:manipulation}.campus-minimap-close:hover{background:radial-gradient(circle,var(--ui-fill-strong) 15px,transparent 15.5px)}.campus-minimap-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.campus-minimap-help{font-size:var(--ui-text-footnote);line-height:1.6;color:var(--ui-secondary);margin:11px 0 22px}.campus-minimap-body{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:24px;min-height:0;overflow:hidden}.campus-minimap-map-column{min-width:0;display:flex;flex-direction:column;min-height:0}.campus-minimap-map-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px;min-height:44px}.campus-minimap-legend{display:flex;align-items:center;gap:8px;font-size:var(--ui-text-caption);color:var(--ui-secondary);white-space:nowrap}.campus-minimap-legend:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ui-accent);box-shadow:0 0 0 4px var(--ui-tint);margin-left:4px}.campus-minimap-map-tools{display:flex;align-items:center;gap:3px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:13px;padding:2px;box-shadow:var(--ui-shadow)}.campus-minimap-map-tools button{border:0;border-radius:10px;background:transparent;color:var(--ui-text);min-width:44px;height:44px;cursor:pointer;font-family:inherit;font-size:22px;font-weight:450;line-height:1;touch-action:manipulation}.campus-minimap-map-tools button:hover{background:var(--ui-fill)}.campus-minimap-map-tools .campus-minimap-locate{border-left:1px solid var(--ui-line);border-radius:0 9px 9px 0;font-size:var(--ui-text-caption);padding:0 13px;margin-left:3px}.campus-minimap-map-tools button:disabled{opacity:.35;cursor:default;background:transparent}.campus-minimap-zoom-value{min-width:38px;text-align:center;font-size:var(--ui-text-caption);color:var(--ui-secondary);font-variant-numeric:tabular-nums}.campus-minimap-scroll{position:relative;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ui-line);border-radius:19px;background:var(--ui-surface-2);min-height:180px;max-height:min(63dvh,550px);scrollbar-width:thin;touch-action:pan-x pan-y pinch-zoom;flex:1;cursor:grab;user-select:none;isolation:isolate;box-shadow:inset 0 1px 3px var(--ui-line)}.campus-minimap-scroll.is-dragging,.campus-minimap-scroll.is-dragging *{cursor:grabbing}.campus-minimap-stage{position:relative;width:calc(100% * var(--minimap-zoom,1));min-width:calc(650px * var(--minimap-zoom,1));isolation:isolate}.campus-minimap-stage>.campus-minimap-art{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.campus-minimap-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:10px solid transparent;padding:0;background:var(--ui-surface);background-clip:padding-box;border-radius:50%;color:var(--ui-secondary);font-family:inherit;font-size:var(--ui-text-caption);font-weight:700;line-height:24px;cursor:pointer;z-index:2;touch-action:manipulation}.campus-minimap-pin:before{position:absolute;content:"";inset:0;border:1px solid var(--ui-separator);border-radius:50%;pointer-events:none;box-shadow:0 1px 3px #00000014}.campus-minimap-pin:hover,.campus-minimap-pin:focus-visible,.campus-minimap-pin.is-preview,.campus-minimap-pin[aria-current=true]{background-color:var(--ui-accent);color:var(--ui-on-accent);z-index:5}.campus-minimap-pin[aria-current=true]:before{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-tint)}.campus-minimap-pin.is-muted{opacity:.18}.campus-minimap-pin:disabled{opacity:.4;cursor:default}.campus-minimap-pin-label{display:none;position:absolute;left:50%;bottom:33px;transform:translate(-50%);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);border:1px solid var(--ui-line);border-radius:9px;padding:8px 10px;font-size:var(--ui-text-caption);font-weight:600;line-height:1.4;white-space:nowrap;pointer-events:none}.campus-minimap-pin:hover .campus-minimap-pin-label,.campus-minimap-pin:focus-visible .campus-minimap-pin-label,.campus-minimap-pin.is-preview .campus-minimap-pin-label{display:block}.campus-minimap-map-note{font-size:var(--ui-text-caption);color:var(--ui-secondary);margin:11px 3px 0;line-height:1.6}.campus-minimap-sidebar{display:flex;flex-direction:column;min-height:0;max-height:min(69dvh,616px);padding:15px 12px 7px;border:1px solid var(--ui-line);border-radius:19px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}.campus-minimap-search{display:flex;flex-direction:column;gap:9px;font-size:var(--ui-text-caption);font-weight:650;color:var(--ui-secondary)}.campus-minimap-search>span{padding:0 3px}.campus-minimap-search input{width:100%;height:44px;border:1px solid var(--ui-separator);background:var(--ui-fill);border-radius:11px;padding:0 12px;font-family:inherit;font-size:var(--ui-text-footnote);font-weight:400;color:var(--ui-text);outline:none}.campus-minimap-search input::placeholder{color:var(--ui-secondary)}.campus-minimap-search input:focus{border-color:var(--ui-accent);background:var(--ui-surface);box-shadow:0 0 0 3px var(--ui-focus)}.campus-minimap-count{font-size:var(--ui-text-caption);color:var(--ui-secondary);margin:13px 3px 7px;min-height:16px}.campus-minimap-list{overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;padding:2px 3px 3px 0}.campus-minimap-place{width:100%;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;padding:10px 6px;min-height:62px;cursor:pointer;color:var(--ui-text);font-family:inherit;font-size:var(--ui-text-footnote);font-weight:550;touch-action:manipulation}.campus-minimap-place+.campus-minimap-place{margin-top:2px}.campus-minimap-place:hover,.campus-minimap-place.is-preview,.campus-minimap-place[aria-current=true]{background:var(--ui-tint);border-color:transparent;color:var(--ui-accent-text)}.campus-minimap-place:disabled{opacity:.45;cursor:default}.campus-minimap-number{flex-shrink:0;display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-fill);color:var(--ui-secondary);font-size:var(--ui-text-caption);font-variant-numeric:tabular-nums}.campus-minimap-place[aria-current=true] .campus-minimap-number{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}.campus-minimap-place-details{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;line-height:1.45;overflow-wrap:anywhere}.campus-minimap-place-details small{font-size:var(--ui-text-caption);color:var(--ui-secondary);font-weight:400}.campus-minimap-go{color:var(--ui-tertiary);font-size:18px;flex-shrink:0}.campus-minimap-empty,.campus-minimap-error{font-size:var(--ui-text-caption);line-height:1.7;padding:10px 3px;color:var(--ui-secondary)}.campus-minimap-error{color:var(--ui-danger)}.campus-minimap-dialog [hidden]{display:none!important}.campus-minimap-dialog button:focus-visible,.campus-minimap-launcher:focus-visible,.campus-minimap-scroll:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}.campus-minimap-toast{position:fixed;z-index:12;top:calc(env(safe-area-inset-top) + 88px);left:50%;transform:translate(-50%);padding:13px 20px;border:1px solid var(--ui-glass-border);border-radius:15px;background:var(--ui-glass);backdrop-filter:var(--ui-blur);-webkit-backdrop-filter:var(--ui-blur);box-shadow:var(--ui-shadow);color:var(--ui-text);font-size:var(--ui-text-footnote);max-width:calc(100vw - 32px);text-align:center;pointer-events:none}.campus-minimap-toast[hidden]{display:none!important}body.minimap-open #control-hint{display:none}@media(pointer:coarse){.campus-minimap-pin .campus-minimap-pin-label,.campus-minimap-shortcut{display:none}.campus-minimap-launcher:hover{transform:none}}@media(max-width:800px){.campus-minimap-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:23px}.campus-minimap-shell{padding:18px;max-height:calc(100dvh - 26px)}.campus-minimap-body{gap:14px;grid-template-columns:minmax(0,1fr) 225px}.campus-minimap-launcher{width:124px;top:calc(env(safe-area-inset-top) + 82px);left:calc(env(safe-area-inset-left) + 14px)}.campus-minimap-caption{font-size:var(--ui-text-caption);padding:6px 5px 2px}.campus-minimap-map-tools{gap:0}.campus-minimap-map-tools .campus-minimap-locate{padding:0 8px;margin-left:0}.campus-minimap-zoom-value{min-width:34px}}@media(max-width:600px)and (min-height:481px){.campus-minimap-dialog{inset:auto 0 0;margin:0;width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-radius:25px 25px 0 0}.campus-minimap-shell{padding:20px 16px max(16px,env(safe-area-inset-bottom));max-height:calc(100dvh - env(safe-area-inset-top) - 14px)}.campus-minimap-header h2{font-size:25px}.campus-minimap-help{font-size:var(--ui-text-caption);margin:9px 0 14px}.campus-minimap-body{display:flex;flex-direction:column;gap:12px;overflow:auto;overscroll-behavior:contain}.campus-minimap-map-column{flex:0 0 auto}.campus-minimap-map-toolbar{margin-bottom:9px}.campus-minimap-scroll{height:230px;max-height:29dvh;flex:none}.campus-minimap-map-note{font-size:var(--ui-text-caption);margin:7px 2px 0}.campus-minimap-sidebar{min-height:182px;max-height:none;overflow:visible;padding:12px 10px 5px}.campus-minimap-list{min-height:110px;max-height:25dvh;flex:1;flex-shrink:0}.campus-minimap-search{gap:6px}.campus-minimap-search>span{display:none}.campus-minimap-search input{font-size:16px}.campus-minimap-count{margin:9px 3px 5px}.campus-minimap-place{min-height:60px}.campus-minimap-launcher{width:114px;padding:5px}}@media(max-height:480px){.campus-minimap-launcher{width:106px;top:calc(env(safe-area-inset-top) + 12px);left:calc(env(safe-area-inset-left) + 12px)}.campus-minimap-dialog{width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px);max-height:calc(100dvh - 16px);border-radius:18px}.campus-minimap-shell{padding:12px 16px;max-height:calc(100dvh - 18px)}.campus-minimap-header h2{font-size:21px}.campus-minimap-eyebrow{display:none}.campus-minimap-help{font-size:var(--ui-text-caption);margin:3px 0 8px}.campus-minimap-body{grid-template-columns:minmax(0,1fr) 220px;gap:14px}.campus-minimap-scroll{max-height:calc(100dvh - 174px);min-height:110px}.campus-minimap-sidebar{max-height:calc(100dvh - 107px);padding:7px 9px 4px}.campus-minimap-map-toolbar{margin-bottom:6px;min-height:44px}.campus-minimap-map-tools{padding:0}.campus-minimap-zoom-value{min-width:32px}.campus-minimap-map-note{display:none}.campus-minimap-search{gap:0}.campus-minimap-search>span{display:none}.campus-minimap-search input{font-size:16px}.campus-minimap-count{margin:6px 3px 4px}.campus-minimap-place{min-height:56px}}@media(prefers-reduced-motion:reduce){.campus-minimap-launcher,.campus-minimap-launcher:is(:hover,:active){transition:none;transform:none}}@media(prefers-reduced-transparency:reduce){.campus-minimap-dialog::backdrop{background:var(--ui-scrim)}.campus-minimap-launcher,.campus-minimap-sidebar,.campus-minimap-toast{background:var(--ui-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){.campus-minimap-help,.campus-minimap-map-note,.campus-minimap-count,.campus-minimap-place-details small,.campus-minimap-eyebrow{color:var(--ui-text)}.campus-minimap-search input,.campus-minimap-sidebar,.campus-minimap-scroll{border-color:var(--ui-separator)}}.campus-map-launcher{position:relative;width:44px;height:44px;padding:0;border:1px solid var(--ui-glass-border);border-radius:50%;background:var(--ui-glass);box-shadow:var(--ui-shadow);color:var(--ui-text);display:grid;place-items:center;cursor:pointer}.campus-map-launcher svg{width:21px;height:21px}.campus-map-launcher:hover{background:var(--ui-surface)}.campus-map-veil{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ui-text);overflow:hidden;font-family:var(--ui-font)}.campus-map-veil::backdrop{background:#261f174d;backdrop-filter:blur(5px) saturate(.9);-webkit-backdrop-filter:blur(5px) saturate(.9)}.campus-map-veil-shell{position:absolute;inset:0;display:grid;place-items:center}.campus-map-veil-map{width:min(88vw,940px);height:min(76dvh,660px);opacity:.94;filter:drop-shadow(0 24px 50px rgba(45,34,22,.18));touch-action:none;cursor:crosshair}.campus-map-veil-art{display:block;width:100%;height:100%;overflow:visible;border-radius:22px}.campus-map-veil-art>rect:first-child{fill:#f2ede361}.campus-map-veil-art .campus-minimap-player circle{stroke:var(--ui-accent);fill:#fbf8f1e6}.campus-map-veil-art .campus-minimap-player path{fill:var(--ui-accent)}.campus-map-veil-marker{pointer-events:none;animation:map-marker-breathe 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.campus-map-veil-close{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:46px;height:46px;padding:12px;border:1px solid var(--ui-glass-border);border-radius:50%;background:var(--ui-glass);color:var(--ui-text);box-shadow:var(--ui-shadow);backdrop-filter:var(--ui-blur);cursor:pointer}.campus-map-veil-close svg{display:block;width:100%;height:100%}.campus-map-veil-hint{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);margin:0;padding:9px 16px;border:1px solid var(--ui-glass-border);border-radius:999px;background:var(--ui-glass);color:var(--ui-secondary);box-shadow:var(--ui-shadow);backdrop-filter:var(--ui-blur);font-size:12px;letter-spacing:.04em;white-space:nowrap}body.map-veil-open #game-controls,body.map-veil-open .campus-social-actions{opacity:.18;pointer-events:none}@keyframes map-marker-breathe{0%,to{opacity:.55}50%{opacity:1}}@media(max-width:600px){.campus-map-veil-map{width:94vw;height:72dvh}.campus-map-veil-hint{font-size:11px}}@media(prefers-reduced-motion:reduce){.campus-map-veil-marker{animation:none}}.campus-map-veil-map{width:min(72vw,820px);height:min(66dvh,560px)}@media(max-width:600px){.campus-map-veil-map{width:90vw;height:62dvh}}.campus-social-actions{display:none;position:fixed;right:20px;top:85px;z-index:6;gap:7px}body.ready .campus-social-actions{display:flex}.campus-social-actions a,.campus-social-actions button{font:500 12px var(--ui-font);text-decoration:none;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-separator);border-radius:12px;padding:11px 13px;box-shadow:0 2px 12px #0001}.campus-social-dialog{width:min(390px,calc(100% - 24px));border:1px solid var(--ui-separator);border-radius:20px;padding:20px;background:var(--ui-surface);color:var(--ui-text)}.campus-social-dialog::backdrop{background:#0005;backdrop-filter:blur(4px)}.campus-social-dialog header{display:flex;justify-content:space-between;align-items:center}.campus-social-dialog h2{font-size:17px;font-weight:550;margin:0}.campus-social-dialog button{border:0;border-radius:9px;padding:10px 14px;background:var(--ui-fill);color:var(--ui-text)}.campus-social-dialog header button{font-size:22px;background:transparent}.social-hint,.social-state{font-size:11px;color:var(--ui-secondary)}.social-log{min-height:150px;max-height:45vh;overflow:auto;font-size:13px}.social-log p{margin:12px 0}.social-log strong{display:block;font-size:10px;color:var(--ui-secondary);margin-bottom:3px;font-weight:500}.social-log span{white-space:pre-wrap;overflow-wrap:anywhere}.campus-social-dialog form{display:flex;gap:6px}.campus-social-dialog input{flex:1;width:0;min-width:0;border:1px solid var(--ui-separator);border-radius:9px;padding:10px;font:inherit;background:var(--ui-fill);color:var(--ui-text)}.campus-player-label{position:fixed;transform:translate(-50%,-100%);z-index:2;font:11px var(--ui-font);padding:4px 9px;border:1px solid var(--ui-separator);border-radius:8px;color:var(--ui-text);background:var(--ui-surface);box-shadow:0 1px 5px #0001}.campus-player-label[hidden]{display:none}@media(max-width:600px){.campus-social-actions{right:12px;top:82px;flex-direction:column}.campus-social-actions a,.campus-social-actions button{font-size:11px;padding:9px 11px}}@media(max-height:500px)and (orientation:landscape){.campus-social-actions{top:14px;right:12px}.social-log{max-height:40vh;min-height:70px}}.campus-self-profile{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-social-actions button{cursor:pointer;transition:background .18s,transform .18s}.campus-social-actions button:hover{background:#fff}.campus-social-actions button:active{transform:scale(.96)}.campus-social-actions button:focus-visible{outline:3px solid #007aff55;outline-offset:2px}#character-current{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.campus-self-profile{max-width:110px}#character-current{max-width:170px}}@media(prefers-reduced-motion:reduce){.campus-social-actions button{transition:none}.campus-social-actions button:active{transform:none}}.campus-social-dialog{max-height:calc(100dvh - 32px);overflow:auto}.campus-social-dialog button{cursor:pointer;min-height:40px}.campus-social-dialog button:disabled{opacity:.5;cursor:default}.campus-social-dialog button:focus-visible,.campus-player-label:focus-visible{outline:3px solid #007aff66;outline-offset:2px}.social-hint{line-height:1.65}.social-nearby-list{display:grid;gap:8px;margin:16px 0}.social-nearby-list .social-nearby-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:14px}.social-nearby-row strong{font-weight:550;overflow-wrap:anywhere}.social-nearby-row span{flex-shrink:0;font-size:12px;color:var(--ui-secondary)}.social-nearby-empty{font-size:13px;line-height:1.8;color:var(--ui-secondary)}.social-card-department{font-size:13px;color:var(--ui-secondary)}.social-card-bio{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.campus-social-dialog .social-greet{width:100%;background:var(--ui-accent);color:#fff;margin-top:10px}.campus-player-label{min-height:32px;cursor:pointer}.campus-player-label:hover{background:var(--ui-surface)}.campus-social-dialog h2{overflow-wrap:anywhere}.social-log:empty:before{content:"\8fd8\6ca1\6709\6d88\606f\ff0c\548c\540c\5b66\6253\4e2a\62db\547c\5427\3002";display:block;color:var(--ui-secondary);margin-top:20px}.campus-profile-college{font-size:12px;color:var(--ui-secondary);margin:10px 0}.campus-profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.campus-profile-tags[hidden]{display:none}.campus-profile-tags span{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--ui-fill);color:var(--ui-secondary)}.campus-profile-signature{font-size:14px;line-height:1.75;color:var(--ui-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 22px}.campus-social-proximity{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);transform:translate(-50%);z-index:5;box-sizing:border-box;width:min(580px,calc(100vw - 200px));padding:11px;border:1px solid var(--ui-separator);border-radius:18px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 6px 28px #0000001a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--ui-font,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif);pointer-events:auto}.campus-social-proximity[hidden],body:not(.ready) .campus-social-proximity,body.entering .campus-social-proximity,body.panel-open .campus-social-proximity{display:none!important}.campus-social-proximity header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px 9px;line-height:1.4}.campus-social-proximity header strong{font-size:12px;font-weight:600;white-space:nowrap}.campus-social-proximity header span{font-size:11px;color:var(--ui-secondary);text-align:right}.social-proximity-list{display:flex;gap:7px;align-items:stretch}.campus-social-proximity button{box-sizing:border-box;min-width:44px;min-height:54px;border:1px solid var(--ui-separator);border-radius:11px;background:var(--ui-fill);color:var(--ui-text);font:inherit;cursor:pointer;touch-action:manipulation}.social-proximity-greet{display:flex;flex:1;min-width:0!important;flex-direction:column;justify-content:center;gap:4px;padding:9px 10px;text-align:left}.social-proximity-greet strong{display:block;font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-proximity-greet span{font-size:11px;color:var(--ui-secondary);white-space:nowrap}.campus-social-proximity .social-proximity-more{flex:0 0 76px;padding:8px;font-size:11px;background:var(--ui-surface)}.campus-social-proximity button:hover{background:var(--ui-fill-strong,var(--ui-fill))}.campus-social-proximity button:focus-visible{outline:3px solid var(--ui-focus,#007aff88);outline-offset:2px}.campus-social-proximity button:active{background:var(--ui-fill-strong,var(--ui-fill))}body:has(.campus-social-proximity:not([hidden])) #control-hint{display:none}@media(pointer:coarse),(max-width:800px){.campus-social-proximity{width:min(580px,calc(100vw - 28px));bottom:calc(env(safe-area-inset-bottom) + 154px)}.campus-social-proximity[data-mode=fly]{bottom:calc(env(safe-area-inset-bottom) + 234px)}}@media(max-width:600px){.campus-social-proximity{padding:10px;border-radius:16px}.campus-social-proximity header{gap:6px}.campus-social-proximity header strong{font-size:11px}.campus-social-proximity header span{font-size:10px}.campus-social-proximity .social-proximity-more{flex-basis:65px}.social-proximity-greet{padding:9px 8px}.social-proximity-greet strong{font-size:12px}}@media(max-height:500px)and (orientation:landscape){.campus-social-proximity,.campus-social-proximity[data-mode=fly]{bottom:calc(env(safe-area-inset-bottom) + 16px);width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 310px);max-width:580px;padding:9px}.campus-social-proximity header{flex-wrap:wrap;padding-bottom:6px;gap:3px}.campus-social-proximity header span{text-align:left}.campus-social-proximity .social-proximity-more{flex-basis:64px}}@media(prefers-reduced-transparency:reduce){.campus-social-proximity{background:var(--ui-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(max-height:500px)and (orientation:landscape){.campus-social-actions{top:calc(env(safe-area-inset-top) + 78px)}}.camera-assist-settings{margin:22px 0 0;padding:18px 0 2px;border:0;border-top:1px solid var(--ui-line,#dedee4);min-width:0}.camera-assist-settings legend{float:left;width:100%;padding:0;margin:0 0 12px;font-size:14px;font-weight:650;color:var(--ui-text,#25252c)}.camera-assist-modes{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:var(--ui-fill);border-radius:14px}.camera-assist-modes button{min-width:0;min-height:44px;padding:8px 4px;border:0;border-radius:10px;background:transparent;color:var(--ui-secondary,#676771);font:inherit;font-size:var(--ui-text-caption);line-height:1.35;cursor:pointer;touch-action:manipulation}.camera-assist-modes button[aria-pressed=true]{background:var(--ui-surface,#fff);color:var(--ui-accent-text,#0066cc);box-shadow:0 1px 5px #0000000d;font-weight:650}.camera-assist-modes button:focus-visible,.camera-assist-recenter:focus-visible,.camera-assist-sensitivity input:focus-visible{outline:3px solid var(--ui-accent,#0071e3);outline-offset:2px}.camera-assist-description,.camera-assist-status{font-size:var(--ui-text-caption);line-height:1.6;margin:10px 2px;color:var(--ui-secondary,#676771)}.camera-assist-status{margin-bottom:0}.camera-assist-status:empty{display:none}.camera-assist-sensitivity{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;font-size:var(--ui-text-caption);line-height:1.5;margin:12px 2px 0;color:var(--ui-text,#25252c)}.camera-assist-sensitivity output{font-variant-numeric:tabular-nums;color:var(--ui-secondary,#676771)}.camera-assist-sensitivity input{grid-column:1/-1;min-width:0;width:100%;min-height:44px;margin:0;accent-color:var(--ui-accent,#0071e3);cursor:pointer}.camera-assist-recenter{display:block;min-height:44px;padding:7px 12px;border:1px solid var(--ui-line,#dedee4);border-radius:12px;background:transparent;color:var(--ui-accent-text,#0066cc);font:inherit;font-size:var(--ui-text-caption);cursor:pointer}.camera-assist-settings [hidden]{display:none}@media(prefers-contrast:more){.camera-assist-modes button[aria-pressed=true]{outline:2px solid currentColor}.camera-assist-description,.camera-assist-status{color:var(--ui-text,#25252c)}}.character-dialog{--character-blue: var(--ui-accent, #0071e3);--character-muted: var(--ui-secondary, #6e6e73);box-sizing:border-box;width:min(740px,calc(100vw - 48px));height:min(860px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #ffffffde;border-radius:38px;background:linear-gradient(145deg,#ffffffd9,#f8faffb8 58%,#f5f5fec7);color:#242631;box-shadow:0 28px 90px #333d6026,0 4px 20px #4d57700a,inset 0 0 0 1px #ffffff70;backdrop-filter:blur(44px) saturate(1.4);-webkit-backdrop-filter:blur(44px) saturate(1.4);font-family:var(--ui-font, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", sans-serif);overflow:hidden;overscroll-behavior:contain;isolation:isolate}.character-dialog[open]{display:flex;flex-direction:column}.character-dialog::backdrop{background:radial-gradient(ellipse at 15% 15%,#d2e2fbbf,transparent 65%),radial-gradient(ellipse at 85% 85%,#e1dff4c9,transparent 60%),#ecf0f6ba;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.character-dialog *{box-sizing:border-box}.character-header{display:flex;align-items:center;justify-content:space-between;flex:none;height:72px;padding:10px 26px 0 30px}.character-wordmark{font-size:15px;font-weight:600;letter-spacing:-.4px;color:#555b6a}.character-icon-button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:12px;border:1px solid #ffffffef;border-radius:50%;background:#ffffff70;box-shadow:0 2px 8px #353d5c08,inset 0 1px #ffffff80;color:#626979;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .18s,box-shadow .18s,transform .3s cubic-bezier(.2,1.5,.4,1)}.character-icon-button svg{display:block;width:100%;height:100%}.character-icon-button:hover{background:#ffffffde;box-shadow:0 3px 12px #353d5c0c}.character-icon-button:active{transform:scale(.89);transition-duration:.08s}.character-sound-mute,.character-sound[aria-pressed=false] .character-sound-waves{display:none}.character-sound[aria-pressed=false] .character-sound-mute{display:block}.character-sound[aria-pressed=false]{color:#9398a4}.character-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 34px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.character-introduction{flex:none;text-align:center;padding-top:8px}.character-title{margin:0;font-size:30px;font-weight:650;line-height:1.3;letter-spacing:-1px}.character-stage{position:relative;flex:0 0 clamp(180px,29dvh,280px);min-height:180px;margin:4px 0 0}.character-portrait{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#fff9,#edf0fd30 45%,transparent 70%);pointer-events:none}.character-hero{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.character-hero-placeholder{font-size:13px;color:var(--character-muted)}.character-previous,.character-next{position:absolute;top:48%;transform:translateY(-50%)}.character-previous{left:max(0px,calc(50% - 180px))}.character-next{right:max(0px,calc(50% - 180px))}.character-previous:active,.character-next:active{transform:translateY(-50%) scale(.89)}.character-details{flex:none;width:min(100%,448px);align-self:center}.character-selection{margin:10px 0 14px;color:var(--character-muted);font-size:13px;line-height:1.5}.character-fieldset{min-width:0;margin:0;padding:9px;border:1px solid #ffffffed;border-radius:29px;background:linear-gradient(155deg,#ffffffa8,#ffffff57);box-shadow:0 5px 18px #49577907,inset 0 1px 1px #fff}.character-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.character-card{display:flex;flex-direction:column;position:relative;min-width:0;min-height:44px;border:2px solid transparent;border-radius:14px;box-sizing:border-box;padding:3px;cursor:pointer;transition:border-color .2s,background .2s,transform .3s cubic-bezier(.2,1.5,.4,1),box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.character-card:hover{background:#ffffff90;transform:translateY(-2px)}.character-card:active{transform:scale(.9);transition-duration:.08s}.character-card.character-selected{border-color:var(--character-blue);background:#ffffffc0;box-shadow:0 2px 7px #007aff12}.character-card:has(.character-radio:focus-visible){outline:2px solid #007aff40;outline-offset:1px}.character-radio{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.character-picture{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:10px;background:linear-gradient(140deg,#e8edf4,#f2f2f9)}.character-picture img{position:absolute;top:-5%;left:50%;width:230%;height:auto;max-width:none;display:block;transform:translate(-50%)}.character-name{display:block;text-align:center;font-size:11px;line-height:1.4;padding:5px 0 2px;color:var(--character-muted);overflow-wrap:anywhere}.character-placeholder{position:absolute;inset:0;display:grid;place-content:center;font-size:15px;color:#8e95a2}.character-profile-field{display:grid;gap:7px;min-width:0}.character-nickname-field{margin-top:22px}.character-profile-field>label{padding-left:3px;font-size:var(--ui-text-caption);font-weight:600;color:#616777}.character-optional{margin-left:8px;font-size:var(--ui-text-caption, 12px);font-weight:400;color:var(--character-muted)}.character-name-input{position:relative}.character-name-input input{padding-right:48px}.character-name-idea{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;padding:12px;background:transparent;box-shadow:none;color:#747f93}.character-name-idea:hover{background:#edf2ff;box-shadow:none}.character-interests{min-width:0;border:0;padding:0;margin:18px 0 0}.character-interests legend{padding:0 3px;margin-bottom:8px;font-size:var(--ui-text-caption);font-weight:600;color:#616777}.character-interest-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.character-interest{min-height:var(--ui-hit);padding:8px 6px;border:1px solid #ffffffd6;border-radius:13px;background:#ffffff70;color:#626b7d;font:500 13px/1.4 var(--ui-font, -apple-system, sans-serif);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .2s;-webkit-tap-highlight-color:transparent}.character-interest:hover{background:#fff}.character-interest[aria-pressed=true]{border-color:#007aff50;background:#e4f0ffd4;color:var(--ui-accent-text, #0066cc)}.character-interest:active{transform:scale(.95)}.character-interest:focus-visible,.character-signature-idea:focus-visible{outline:3px solid #007aff55;outline-offset:2px}.character-interest:disabled,.character-signature-idea:disabled{opacity:.5;cursor:default}.character-signature-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#616777;font-size:var(--ui-text-caption);font-weight:600}.character-signature-idea{padding:6px 8px;margin:-6px -5px -6px 0;min-height:var(--ui-hit);border:0;border-radius:10px;background:transparent;color:var(--ui-accent-text, #0066cc);font:500 var(--ui-text-caption) var(--ui-font, -apple-system, sans-serif);cursor:pointer}.character-signature-idea:hover{background:#e4f0ff90}.character-profile-field input,.character-profile-field textarea{width:100%;min-width:0;border:1px solid #d3d8e383;border-radius:14px;padding:12px 14px;background:#ffffffa6;box-shadow:inset 0 1px 3px #58637a04;color:#242631;font:400 16px/1.4 var(--ui-font, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif);transition:border-color .18s,box-shadow .18s,background .18s}.character-profile-field input{min-height:48px}.character-profile-field textarea{resize:vertical;min-height:80px;max-height:160px}.character-profile-field :is(input,textarea)::placeholder{color:#969caa}.character-profile-field :is(input,textarea):focus{outline:none;border-color:#007aff85;background:#ffffffe0;box-shadow:0 0 0 3px #007aff16}.character-profile-field input[aria-invalid=true]{border-color:#c4453c}.character-field-error{margin:0;padding-left:3px;color:#a92f27;font-size:var(--ui-text-caption);line-height:1.5}.character-profile-more{margin-top:12px;border-radius:16px;background:#ffffff48}.character-profile-more summary{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 13px;list-style:none;font-size:13px;font-weight:500;color:#505767;cursor:pointer;border-radius:16px;-webkit-tap-highlight-color:transparent}.character-profile-more summary::-webkit-details-marker{display:none}.character-profile-more summary:hover{background:#ffffff60}.character-profile-more summary:focus-visible{outline:3px solid #007aff55;outline-offset:2px}.character-profile-more summary>span{color:var(--character-muted);font-size:var(--ui-text-caption, 12px);font-weight:400}.character-profile-more summary svg{margin-left:auto;width:14px;height:14px;color:#878e9d;transition:transform .2s}.character-profile-more[open] summary svg{transform:rotate(90deg)}.character-profile-fields{display:grid;gap:17px;padding:6px 13px 16px}.character-disclose{display:flex;align-items:center;gap:9px;min-height:var(--ui-hit);font-size:var(--ui-text-caption);line-height:1.5;color:#616777;cursor:pointer}.character-disclose input{flex:none;width:17px;height:17px;margin:0;accent-color:var(--character-blue)}.character-status{margin:14px 0 0;font-size:13px;line-height:1.6;color:#626979;overflow-wrap:anywhere}.character-status.character-error{color:#a92f27}.character-recovery{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.character-footer{display:flex;flex:none;justify-content:flex-end;gap:10px;align-items:center;margin:0;padding:16px 30px 24px;border-top:1px solid #ffffff80;background:#ffffff30}.character-button{min-height:48px;padding:12px 28px;border:1px solid transparent;border-radius:999px;font:600 14px/1.5 var(--ui-font, -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .18s,box-shadow .18s,transform .35s cubic-bezier(.2,1.5,.4,1)}.character-primary{width:260px;background:linear-gradient(#1686ff,#0075f5);color:#fff;border-color:#0a76ec;box-shadow:inset 0 1px #ffffff30,0 5px 14px #007aff1a}.character-primary:hover{background:linear-gradient(#2991ff,#087bfd);box-shadow:inset 0 1px #ffffff30,0 6px 18px #007aff28}.character-secondary{background:#ffffffa0;color:#515869;border-color:#ffffffdf;box-shadow:0 2px 5px #3e486209;white-space:nowrap}.character-secondary:hover{background:#fff}.character-button:active{transform:scale(.96);transition-duration:.08s}.character-button:disabled,.character-icon-button:disabled{opacity:.42;cursor:default}.character-button:focus-visible,.character-icon-button:focus-visible{outline:3px solid #007aff55;outline-offset:3px}.character-dialog[aria-busy=true] .character-card{cursor:wait}.character-dialog[aria-busy=true] .character-card:hover{transform:none}.character-dialog [hidden]{display:none!important}.character-dialog svg{stroke-width:var(--ui-icon-stroke)}.character-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.entry-companion{min-width:0;margin:18px 0 0;padding:0;border:0}.entry-companion legend{padding:0 3px;margin-bottom:9px;font-size:13px;font-weight:600}.entry-companion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.entry-companion-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:62px;padding:7px 2px;border:2px solid transparent;border-radius:14px;background:#ffffff91;color:#555b6a;font-size:var(--ui-text-caption);cursor:pointer;touch-action:manipulation}.entry-companion-icon{font-size:24px;line-height:1}.entry-companion-card input{position:absolute;width:1px;height:1px;opacity:0}.entry-companion-card:hover{background:#fff}.entry-companion-card.entry-companion-selected{border-color:var(--character-blue);background:#f4f9ff;color:#155aaf}.entry-companion-card:has(input:focus-visible){outline:3px solid #007aff66;outline-offset:2px}.entry-companion-card:has(input:disabled){cursor:wait;opacity:.6}#entry-companion-note{margin:8px 2px 0;color:var(--character-muted);font-size:var(--ui-text-caption, 12px);line-height:1.5}@media(max-width:600px){.character-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:32px}.character-header{height:61px;padding:9px 16px 0 22px}.character-wordmark{font-size:14px}.character-body{padding:0 15px 20px}.character-introduction{padding-top:14px}.character-title{font-size:25px;letter-spacing:-.7px}.character-stage{flex-basis:clamp(180px,29dvh,280px)}.character-previous{left:8px}.character-next{right:8px}.character-fieldset{padding:6px;border-radius:25px}.character-grid{gap:4px 0}.character-card{padding:2px}.character-footer{justify-content:center;padding:14px 15px max(16px,env(safe-area-inset-bottom));gap:8px}.character-footer .character-button{min-width:0;padding:12px 16px}.character-primary{flex:1;max-width:260px}}@media(max-width:759px){.character-dialog[data-entry=true] .character-stage{min-height:180px}}@media(max-width:374px){.character-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:27px}.character-header{height:54px;padding-top:6px}.character-body{padding:0 10px 14px}.character-introduction{padding-top:6px}.character-fieldset{padding:5px}.character-grid{gap:5px}.character-stage{min-height:150px;flex-basis:150px}.character-title{font-size:23px}.character-nickname-field{margin-top:14px}.character-footer{padding:12px 10px max(12px,env(safe-area-inset-bottom))}.character-footer .character-button{font-size:13px;padding:12px}}@media(max-width:759px)and (max-height:660px){.character-stage{min-height:120px;flex-basis:120px}.character-introduction{padding-top:4px}}@media(min-width:760px){.character-dialog{height:min(920px,calc(100dvh - 48px));width:min(1280px,calc(100vw - 64px))}.character-header{height:62px}.character-body{display:flex;flex-direction:row;align-items:stretch;gap:clamp(20px,3vw,48px);padding:12px 34px 24px;overflow:hidden}.character-introduction{text-align:left;padding-top:0}.character-title{font-size:28px}.character-stage{flex:1 1 46%;min-width:0;min-height:0;margin:0}.character-previous{left:-10px}.character-next{right:-10px}.character-details{flex:1 1 54%;align-self:stretch;width:auto;min-width:0;min-height:0;padding:0 8px 12px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.character-grid{gap:8px}.character-fieldset{padding:5px}.character-card{padding:2px}.character-footer{padding-top:16px}}@media(min-width:760px)and (max-height:720px){.character-dialog{height:calc(100dvh - 24px);width:min(1280px,calc(100vw - 32px));border-radius:30px}.character-body{padding:12px 30px 26px}}@media(prefers-reduced-motion:reduce){.character-card,.character-button,.character-icon-button,.character-profile-more summary svg,.character-interest{transition:none}.character-card:hover,.character-card:active,.character-button:active,.character-sound:active{transform:none}.character-previous:active,.character-next:active{transform:translateY(-50%)}.character-interest:active{transform:none}}@media(prefers-reduced-transparency:reduce){.character-dialog{background:#f4f6fb;backdrop-filter:none;-webkit-backdrop-filter:none}.character-dialog::backdrop{background:#e6ebf5;backdrop-filter:none;-webkit-backdrop-filter:none}.character-fieldset,.character-icon-button,.character-secondary,.character-profile-more,.character-profile-field :is(input,textarea){background:#fff}}@media(prefers-contrast:more){.character-dialog{--character-muted: #4c5361;border-color:#70798a}.character-wordmark,.character-icon-button{color:#4c5361}.character-profile-field :is(input,textarea){border-color:#70798a}.character-card{border-color:#858c9b}.character-card.character-selected{border-color:var(--character-blue);outline:1px solid var(--character-blue)}}.character-dialog{--character-blue: var(--ui-accent, #3d5a4a);--character-muted: var(--ui-secondary, #6b6459);color:var(--ui-text, #24211c);border-color:#fffdf7db;background:radial-gradient(ellipse at 22% 8%,rgba(255,252,244,.96),transparent 58%),linear-gradient(145deg,#fbf8f1,#f4eee2 56%,#ebe2d3);box-shadow:0 30px 90px #36281a29,inset 0 0 0 1px #fffdf7b3}.character-dialog::backdrop{background:radial-gradient(ellipse at 18% 14%,rgba(255,250,239,.7),transparent 62%),radial-gradient(ellipse at 84% 82%,rgba(197,174,143,.34),transparent 60%),#362c2057;backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}.character-header{position:relative;justify-content:flex-end;border-bottom:1px solid rgba(61,52,41,.06)}.character-wordmark{display:none}.character-mark{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);color:var(--ui-accent, #3d5a4a);opacity:.9}.character-mark svg{display:block;width:100%;height:100%}.character-icon-button{color:var(--ui-secondary, #6b6459);border-color:#fffdf7cc;background:#fffdf78f}.character-icon-button:hover{background:#fffdf7eb}.character-icon-button:active{transform:scale(.92)}.character-body{display:grid;grid-template-areas:"top top" "stage details";grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:10px clamp(22px,3.4vw,52px);align-items:stretch;padding:0 34px 24px;overflow:hidden}.character-topline{grid-area:top;display:grid;justify-items:center;gap:6px;padding:4px 0 8px;text-align:center}.character-introduction{padding:0;text-align:center}.character-title{margin:0;font-family:var(--ui-font-display, "Songti SC", serif);font-size:clamp(25px,2.5vw,34px);font-weight:500;line-height:1.25;letter-spacing:.01em;color:var(--ui-text, #24211c)}.character-lede{margin:0;color:var(--ui-secondary, #6b6459);font-size:13px;letter-spacing:.02em}.character-nickname-field{width:min(360px,100%);margin:4px 0 0;text-align:left}.character-nickname-field>label{padding-left:2px;color:var(--ui-secondary, #6b6459);font-size:11px;font-weight:500;letter-spacing:.12em}.character-name-input input{min-height:46px;border-color:#3d342924;background:#fffdf7b8;border-radius:13px;font-family:var(--ui-font-display, "Songti SC", serif);font-size:17px;letter-spacing:.02em;text-align:center}.character-name-input input:focus{border-color:#3d5a4a8c;box-shadow:0 0 0 3px #3d5a4a1f}.character-name-idea{color:var(--ui-secondary, #6b6459)}.character-name-idea:hover{background:#3d5a4a14}.character-stage{grid-area:stage;width:100%;min-height:0;margin:0;flex:none;border-radius:24px;background:radial-gradient(ellipse at 50% 62%,rgba(255,253,247,.92),transparent 62%),linear-gradient(160deg,#e0d7c847,#fffdf71a);animation:character-stage-breathe 8s ease-in-out infinite}.character-portrait{background:radial-gradient(ellipse at 50% 48%,rgba(255,253,247,.9),rgba(230,221,205,.18) 46%,transparent 72%)}.character-hero{animation:character-hero-float 7.5s ease-in-out infinite;will-change:transform}.character-previous,.character-next{width:44px;height:44px;border-radius:50%;color:var(--ui-text, #24211c);border-color:#fffdf7cc;background:#fffdf79e;box-shadow:0 4px 18px #36281a14}.character-previous{left:10px}.character-next{right:10px}.character-previous:hover,.character-next:hover{background:#fffdf7f5;transform:translateY(-50%) scale(1.04)}.character-details{grid-area:details;width:auto;min-height:0;align-self:stretch;padding:0 4px 8px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.character-selection{margin:0 0 10px;color:var(--ui-secondary, #6b6459);font-size:11px;letter-spacing:.1em;text-align:center}.character-fieldset{padding:8px;border-color:#fffdf7db;border-radius:22px;background:#fffdf775;box-shadow:inset 0 1px #fff9}.character-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:12px;align-items:start}.character-group{min-width:0}.character-group-title{display:flex;align-items:center;gap:6px;margin:2px 2px 8px;color:var(--ui-secondary, #6b6459);font-family:var(--ui-font-display, "Songti SC", serif);font-size:13px;letter-spacing:.14em}.character-group-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#3d5a4a14;color:var(--ui-accent, #3d5a4a);font-family:var(--ui-font);font-size:12px}.character-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.character-grid>.character-group:nth-child(2) .character-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-card{border-radius:13px;padding:3px;transition:border-color .22s,background .22s,transform .36s cubic-bezier(.2,1.3,.35,1),box-shadow .22s}.character-card:hover{background:#fffdf7d1;transform:translateY(-3px)}.character-card:active{transform:scale(.93)}.character-card.character-selected{border-color:var(--ui-accent, #3d5a4a);background:#fffdf7eb;box-shadow:0 0 0 3px #3d5a4a1a,0 8px 20px #36281a14;animation:character-selected-breathe 4.8s ease-in-out infinite}.character-card:has(.character-radio:focus-visible){outline:2px solid rgba(61,90,74,.35);outline-offset:1px}.character-picture{border-radius:9px;background:linear-gradient(145deg,#eee7da,#f8f3e9)}.character-placeholder{color:var(--ui-secondary, #6b6459);font-family:var(--ui-font-display, serif)}.character-card.character-selected .character-picture{background:linear-gradient(145deg,#e6ddce,#f9f4ea)}.character-interests,.character-profile-more,#character-skip{display:none!important}.character-footer{justify-content:center;border-top-color:#3d342914;background:linear-gradient(180deg,#fbf8f100,#fbf8f1b3)}.character-primary{width:min(300px,100%);background:var(--ui-accent, #3d5a4a);border-color:#2d4437e6;box-shadow:0 8px 22px #2d443729,inset 0 1px #ffffff29;letter-spacing:.06em}.character-primary:hover{background:#476754;box-shadow:0 10px 26px #2d443738}.character-secondary{background:#fffdf780;color:var(--ui-secondary, #6b6459);border-color:#3d34291a}.character-secondary:hover{background:#fffdf7e6}.character-button:focus-visible,.character-icon-button:focus-visible{outline-color:#3d5a4a66}.character-status{color:var(--ui-secondary, #6b6459);text-align:center}.character-profile-field :is(input,textarea):focus{border-color:#3d5a4a8c;box-shadow:0 0 0 3px #3d5a4a1f}.character-profile-field :is(input,textarea){background:#fffdf7b3;border-color:#3d34291f;color:var(--ui-text, #24211c)}@keyframes character-stage-breathe{0%,to{background-position:50% 50%;filter:saturate(.98)}50%{background-position:50% 54%;filter:saturate(1.03)}}@keyframes character-hero-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.006)}}@keyframes character-selected-breathe{0%,to{box-shadow:0 0 0 3px #3d5a4a1a,0 8px 20px #36281a14}50%{box-shadow:0 0 0 5px #3d5a4a0f,0 10px 24px #36281a1c}}@media(max-width:759px){.character-body{display:flex;flex-direction:column;gap:0;padding:0 15px 18px;overflow-y:auto}.character-topline{order:-1;padding:0 0 6px}.character-title{font-size:25px}.character-stage{flex:0 0 clamp(190px,30dvh,260px);border-radius:20px}.character-details{width:100%;overflow:visible;padding:8px 0 0}.character-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:9px}.character-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.character-grid>.character-group:nth-child(2) .character-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-nickname-field{width:min(340px,100%)}}@media(max-width:420px){.character-title{font-size:22px}.character-lede{font-size:12px}.character-grid{grid-template-columns:1fr}.character-group-grid,.character-grid>.character-group:nth-child(2) .character-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.character-stage,.character-hero,.character-card.character-selected{animation:none}}.entry-companion-name{font-size:11px;line-height:1.3;color:var(--ui-secondary);letter-spacing:.02em}.entry-companion-card{min-height:72px;gap:3px}.entry-companion-card.entry-companion-selected .entry-companion-name{color:var(--ui-accent-text)}#campus-onboarding,#campus-experience-tools,#campus-pause-dialog{font-family:var(--ui-font);color:var(--ui-text)}#campus-onboarding[hidden],#campus-experience-tools[hidden]{display:none!important}body:has(#campus-onboarding:not([hidden])) .campus-minimap-launcher{display:none}#campus-onboarding{position:fixed;z-index:5;top:calc(env(safe-area-inset-top) + 92px);left:20px;width:292px;box-sizing:border-box;padding:16px 18px;background:var(--ui-glass);border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);box-shadow:var(--ui-shadow);backdrop-filter:blur(12px)}.onboarding-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.onboarding-progress{font-size:var(--ui-text-footnote);font-weight:650;color:var(--ui-secondary)}#campus-onboarding h2{font-size:var(--ui-text-title3);line-height:1.4;margin:7px 0}.onboarding-instruction{font-size:var(--ui-text-subhead);line-height:1.65;margin:7px 0 12px}.onboarding-save{font-size:var(--ui-text-caption);line-height:1.5;margin:10px 0 0;color:var(--ui-secondary)}#campus-onboarding button,#campus-experience-tools button,#campus-pause-dialog button{min-height:44px;min-width:44px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);padding:8px 12px;background:var(--ui-surface);color:var(--ui-text);font:600 var(--ui-text-subhead)/1.4 var(--ui-font);cursor:pointer;touch-action:manipulation}#campus-onboarding .onboarding-skip{padding:4px 8px;font-size:var(--ui-text-footnote);background:transparent;border-color:transparent}.onboarding-actions{display:flex;gap:8px;flex-wrap:wrap}#campus-onboarding .onboarding-primary,#campus-resume{background:var(--ui-accent)!important;color:var(--ui-on-accent)!important;border-color:var(--ui-accent)!important}#campus-experience-tools{position:fixed;z-index:5;left:20px;bottom:calc(env(safe-area-inset-bottom) + 28px)}#campus-experience-tools button{background:var(--ui-glass);box-shadow:var(--ui-shadow)}#campus-pause-dialog{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;border:1px solid var(--ui-line);border-radius:var(--ui-radius-l);padding:24px;background:var(--ui-surface);overflow:auto}#campus-pause-dialog::backdrop{background:var(--ui-scrim);backdrop-filter:blur(4px)}#campus-pause-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}#campus-pause-dialog h2{font-size:var(--ui-text-title2);margin:0}#campus-pause-dialog p{font-size:var(--ui-text-subhead);line-height:1.7}.experience-controls{display:grid;gap:12px;font-size:var(--ui-text-subhead);line-height:1.5;margin:22px 0}.experience-controls div{display:grid;grid-template-columns:94px 1fr;gap:10px}.experience-controls dt{font-weight:650}.experience-controls dd{margin:0}.experience-dialog-actions{display:flex;flex-wrap:wrap;gap:10px}.experience-save{padding:12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);background:var(--ui-fill)}.experience-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px var(--ui-surface)!important}.sheet-header .ui-icon-button,.top-toolbar .ui-icon-button{min-width:44px!important;min-height:44px!important}.settings-help,.setting-toggle{font-size:var(--ui-text-subhead)}.action-controls button span{font-size:var(--ui-text-footnote)}#control-hint{font-size:var(--ui-text-footnote);max-width:calc(100vw - 280px);white-space:normal;text-align:center;line-height:1.45}.campus-more-menu header button,#activity-picker header button,.expansion-close{min-width:44px;min-height:44px}#control-hint[data-notice=true]{display:block;opacity:1;animation:none;background:var(--ui-surface);color:var(--ui-warning);border-color:var(--ui-line);max-width:calc(100vw - 48px);bottom:calc(env(safe-area-inset-bottom) + 96px)}#nearby-interior,#nearby-activity,.club-nearby{min-height:48px;font-size:var(--ui-text-subhead)!important;font-weight:650}.map-label[aria-pressed=true]:before{content:"\2713";width:auto;height:auto;background:none;border-radius:0}.mode-switch button[aria-pressed=true]{font-weight:650}.action-controls button[aria-pressed=true]{outline:2px solid var(--ui-surface);outline-offset:2px}@media(pointer:coarse),(max-width:800px){#campus-experience-tools{left:22px;bottom:calc(env(safe-area-inset-bottom) + 224px)}#campus-onboarding{width:min(292px,calc(100vw - 24px));left:12px;top:calc(env(safe-area-inset-top) + 82px);padding:12px 14px}.onboarding-instruction{font-size:var(--ui-text-subhead);margin-bottom:8px}#campus-onboarding h2{font-size:var(--ui-text-body);margin:3px 0}.onboarding-save{margin-top:8px}.onboarding-actions{gap:6px}#campus-onboarding button{font-size:var(--ui-text-footnote);padding:6px 10px}}@media(max-width:450px){#campus-onboarding{width:calc(100vw - 24px)}#campus-onboarding .onboarding-instruction{max-width:100%}.onboarding-heading{min-height:44px}#campus-onboarding .onboarding-skip{min-width:48px}#campus-onboarding:has(.onboarding-instruction){padding-bottom:10px}}@media(max-width:700px){.top-toolbar{gap:3px;padding:5px;box-sizing:border-box}.top-toolbar .toolbar-place{min-width:44px;min-height:44px;flex-shrink:0;padding:0 8px!important}.top-toolbar .toolbar-divider{display:none}.top-toolbar .mode-switch{flex-shrink:0}}@media(max-width:450px){.top-toolbar .mode-switch button{min-width:44px;padding:0 7px}.top-toolbar{gap:2px}}@media(max-height:500px){#campus-onboarding{top:78px;width:268px;padding:10px 12px}.onboarding-save{display:none}.onboarding-instruction{font-size:var(--ui-text-footnote);line-height:1.4;margin:4px 0}#campus-onboarding h2{font-size:var(--ui-text-body)}.onboarding-heading{height:28px}#campus-experience-tools{left:148px;bottom:22px}.experience-controls{gap:8px}#campus-pause-dialog{padding:18px}}@media(prefers-reduced-motion:reduce){#control-hint{animation:none;opacity:1}#joystick span,.action-controls button{transition:none}}#campus-onboarding{background:var(--ui-glass);max-height:calc(100dvh - 220px);overflow:auto}#campus-onboarding .onboarding-toggle{min-width:44px;padding:4px 8px;border-color:transparent;background:transparent;font-size:var(--ui-text-footnote)}#campus-onboarding #onboarding-detail[hidden]{display:none}#campus-onboarding .onboarding-cue{display:none;font-size:var(--ui-text-footnote);line-height:1.45;margin:3px 0 0;color:var(--ui-secondary)}#campus-onboarding[data-expanded=false]{padding:8px 12px;width:280px}#campus-onboarding[data-expanded=false] h2{font-size:var(--ui-text-subhead);margin:0 0 3px}#campus-onboarding[data-expanded=false] .onboarding-cue{display:block}#campus-onboarding[data-expanded=false] .onboarding-heading{min-height:36px}#campus-onboarding .onboarding-save{font-size:var(--ui-text-caption)}@media(max-width:700px){#campus-onboarding,#campus-onboarding[data-expanded=false]{top:calc(env(safe-area-inset-top) + 140px);left:12px;width:calc(100vw - 24px);max-height:calc(100dvh - 340px)}#campus-onboarding[data-expanded=false]{padding:6px 12px}#campus-onboarding[data-expanded=false] .onboarding-heading{min-height:32px}#campus-onboarding[data-expanded=false] .onboarding-progress{font-size:var(--ui-text-caption)}}@media(max-height:500px)and (min-width:701px){#campus-onboarding{max-height:calc(100dvh - 170px)}}@media(max-width:700px)and (min-height:561px){body.apple-interface.refined-campus :is(#nearby-interior,#nearby-activity,.club-nearby,#nearby-community-wall){bottom:calc(env(safe-area-inset-bottom) + 224px);width:min(240px,calc(100vw - 200px));max-width:calc(100vw - 200px);min-height:48px;white-space:normal;line-height:1.45;padding:10px 8px;text-align:center}}body:not(.campus-journal-exploring) .campus-exploration>:not(.exploration-action),body:has(#campus-onboarding:not([hidden])) .campus-exploration>:not(.exploration-action){display:none}body:not(.campus-journal-exploring) .campus-exploration:not(:has(.exploration-action:not([hidden]))),body:has(#campus-onboarding:not([hidden])) .campus-exploration:not(:has(.exploration-action:not([hidden]))){display:none}#campus-pause-dialog .experience-close{position:relative;display:grid;place-items:center;flex:none;width:var(--ui-hit);height:var(--ui-hit);padding:0;border:0;border-radius:var(--ui-radius-pill);background:transparent;color:var(--ui-secondary);font:var(--ui-weight-medium) var(--ui-text-title1)/1 var(--ui-font);isolation:isolate}#campus-pause-dialog .experience-close:before{content:"";position:absolute;inset:7px;border-radius:var(--ui-radius-pill);background:var(--ui-fill);z-index:-1}#campus-pause-dialog .experience-dialog-actions button{border:0;background:var(--ui-fill);color:var(--ui-text)}#campus-pause-dialog #campus-open-journal{background:var(--ui-tint);color:var(--ui-accent-text)}#campus-pause-dialog #campus-resume{background:var(--ui-accent);color:var(--ui-on-accent)}#campus-pause-dialog .experience-controls dd{color:var(--ui-secondary)}.onboarding-skip{display:none!important}.onboarding-card{max-width:380px}.apple-interface{font-family:var(--ui-font);color:var(--ui-text);-webkit-font-smoothing:antialiased;font-synthesis:none;accent-color:var(--ui-accent)}.apple-interface :is(button,input,select,textarea){font-family:var(--ui-font)}.apple-interface :is(button,a,input,textarea,select):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.apple-interface :is(.glass,.ui-surface){background:var(--ui-glass);border:1px solid var(--ui-glass-border);box-shadow:var(--ui-shadow);backdrop-filter:var(--ui-blur);-webkit-backdrop-filter:var(--ui-blur)}.apple-interface .top-toolbar{padding:7px;gap:4px;border-radius:var(--ui-radius-xl)}.apple-interface .ui-segmented{background:var(--ui-fill);border-radius:var(--ui-radius-m)}.apple-interface .ui-segmented button{border-radius:var(--ui-radius-s);font-weight:500}.apple-interface .ui-segmented button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}.apple-interface .ui-key{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-text);font-size:var(--ui-text-caption)}.apple-interface .toolbar-place{font-weight:500;border-radius:var(--ui-radius-l);min-width:44px}.apple-interface .top-toolbar .ui-icon-button{width:44px;flex:none}.apple-interface .map-label{border-radius:var(--ui-radius-s);color:var(--ui-secondary);background:var(--ui-glass);box-shadow:var(--ui-shadow)}.apple-interface .sheet{padding:26px;border-radius:var(--ui-radius-xl)}.apple-interface .sheet-header h2{font-weight:650;letter-spacing:-.6px}.apple-interface .ui-group{background:var(--ui-surface);border-radius:var(--ui-radius-l)}.apple-interface .ui-row{min-height:64px}.apple-interface .setting-toggle{background:transparent;color:var(--ui-text)}.apple-interface input[type=checkbox]{width:20px;height:20px;flex:none}.apple-interface .campus-social-actions{top:calc(env(safe-area-inset-top) + 94px);right:calc(env(safe-area-inset-right) + 22px);gap:2px;padding:5px;border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-l);background:var(--ui-glass);box-shadow:var(--ui-shadow);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}.apple-interface .campus-social-actions :is(a,button){display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 12px;border:0;border-radius:19px;color:var(--ui-text);background:transparent;box-shadow:none;font-size:var(--ui-text-caption);font-weight:500}.apple-interface .campus-social-actions :is(a,button):hover{background:var(--ui-fill)}.apple-interface .social-tool-icon{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round}.apple-interface .social-tool-label{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apple-interface .campus-self-profile{max-width:none}.apple-interface .campus-minimap-launcher{width:144px;border-radius:var(--ui-radius-l);background:var(--ui-glass);box-shadow:var(--ui-shadow)}.apple-interface .campus-minimap-caption{font-weight:500;color:var(--ui-text)}.apple-interface :is(.campus-minimap-sidebar,.campus-minimap-map-tools){background:var(--ui-surface);border-color:var(--ui-line);border-radius:var(--ui-radius-m)}.apple-interface :is(.campus-minimap-place,.campus-minimap-map-tools button){color:var(--ui-text)}.apple-interface .campus-minimap-search{background:var(--ui-fill);border-color:transparent;border-radius:var(--ui-radius-s)}.apple-interface :is(.campus-minimap-help,.campus-minimap-count,.campus-minimap-map-note,.campus-minimap-place-details small){color:var(--ui-secondary)}.apple-interface .campus-minimap-number{background:var(--ui-tint);color:var(--ui-accent-text);border-color:transparent;border-radius:var(--ui-radius-xs)}.apple-interface .campus-minimap-close{color:var(--ui-secondary);border:0}.apple-interface :is(.sheet-header .ui-icon-button,.campus-minimap-close){width:var(--ui-hit);height:var(--ui-hit);min-width:var(--ui-hit);padding:0;border-radius:var(--ui-radius-pill);color:var(--ui-secondary);background:radial-gradient(circle,var(--ui-fill) 15px,transparent 15.5px)}.apple-interface :is(.sheet-header .ui-icon-button,.campus-minimap-close):hover{background:radial-gradient(circle,var(--ui-fill-strong) 15px,transparent 15.5px)}.apple-interface :is(.sheet-header .ui-icon-button,.campus-minimap-close) svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.apple-interface .interior-picker{background:var(--ui-glass);color:var(--ui-text);border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-lg)}.apple-interface .interior-picker::backdrop{background:var(--ui-scrim)}.apple-interface .interior-picker h2{font-weight:600;letter-spacing:-.6px}.apple-interface .interior-card{color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-line);border-radius:var(--ui-radius-l)}.apple-interface .expansion-close{width:44px;height:44px;color:var(--ui-secondary);background:var(--ui-fill)}.apple-interface #nearby-interior{background:var(--ui-glass);color:var(--ui-accent-text);border-color:var(--ui-glass-border);box-shadow:var(--ui-shadow);letter-spacing:0}.apple-interface :is(.campus-social-dialog,#activity-picker,#campus-life-dialog,.campus-event-dialog,.club-portal-picker,.campus-minimap-dialog,#campus-community-dialog){border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-xl);background:var(--ui-glass);color:var(--ui-text);box-shadow:var(--ui-shadow-lg);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%)}.apple-interface :is(.campus-social-dialog,#activity-picker,#campus-life-dialog,.campus-event-dialog,.club-portal-picker)::backdrop,.apple-interface :is(.campus-minimap-dialog,#campus-community-dialog)::backdrop{background:var(--ui-scrim)}.apple-interface .campus-social-dialog{width:min(440px,calc(100vw - 32px));padding:26px}.apple-interface .campus-social-dialog h2{font-size:var(--ui-text-title2);font-weight:650;letter-spacing:-.6px}.apple-interface .campus-social-dialog button{min-height:44px;border-radius:var(--ui-radius-s);background:var(--ui-fill);color:var(--ui-accent-text)}.apple-interface .campus-social-dialog header button{width:44px;padding:0;border-radius:var(--ui-radius-pill);color:var(--ui-secondary)}.apple-interface :is(.social-hint,.social-state,.social-card-department,.social-nearby-empty,.campus-profile-college,.campus-profile-signature){color:var(--ui-secondary)}.apple-interface .social-hint{font-size:var(--ui-text-caption);margin:16px 0 20px}.apple-interface .social-log{min-height:220px;padding:4px 0 20px}.apple-interface .social-log strong{color:var(--ui-secondary);font-size:var(--ui-text-caption)}.apple-interface .social-log p{padding:12px 14px;margin:8px 0;background:var(--ui-fill);border-radius:var(--ui-radius-m)}.apple-interface .campus-social-dialog input{min-height:48px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);background:var(--ui-surface);font-size:16px}.apple-interface .campus-social-dialog :is(button[type=submit],.social-greet){background:var(--ui-accent);color:var(--ui-on-accent)}.apple-interface .social-nearby-list{gap:1px;border-radius:var(--ui-radius-m);overflow:hidden}.apple-interface .social-nearby-list .social-nearby-row{border-radius:0;background:var(--ui-surface);color:var(--ui-text);border-bottom:1px solid var(--ui-line);min-height:64px}.apple-interface .social-nearby-row span{color:var(--ui-secondary)}.apple-interface .campus-profile-tags span{background:var(--ui-tint);color:var(--ui-accent-text)}.apple-interface .campus-social-proximity{background:var(--ui-glass);color:var(--ui-text);border-radius:var(--ui-radius-l);box-shadow:var(--ui-shadow)}.apple-interface .campus-social-proximity button{border-color:var(--ui-line);background:var(--ui-surface);color:var(--ui-text);border-radius:var(--ui-radius-m)}.apple-interface :is(.social-proximity-greet span,.campus-social-proximity header span){color:var(--ui-secondary)}.apple-interface :is(#activity-picker,#campus-life-dialog,.club-portal-picker){padding:28px}.apple-interface :is(#activity-picker,#campus-life-dialog,.club-portal-picker) h2{font-size:var(--ui-text-title1);letter-spacing:-.8px;font-weight:650}.apple-interface :is(#activity-picker,#campus-life-dialog) p{color:var(--ui-secondary);font-size:var(--ui-text-footnote)}.apple-interface :is(#activity-picker header button,#campus-life-dialog header button,.club-portal-picker header button){min-width:44px;min-height:44px;border:0;border-radius:var(--ui-radius-pill);padding:0;color:var(--ui-secondary);background:var(--ui-fill)}.apple-interface :is(.activity-choice,#campus-life-dialog .life-card,.club-portal-cards article){border:1px solid var(--ui-line);border-radius:var(--ui-radius-l);background:var(--ui-surface);padding:22px;box-shadow:0 2px 8px #00000003}.apple-interface #activity-picker .activity-choice button{min-height:44px;border:0;border-radius:var(--ui-radius-s);color:var(--ui-accent-text);background:var(--ui-tint);font-weight:500}.apple-interface #activity-picker .activity-choice .activity-place{color:var(--ui-secondary);font-weight:500}.apple-interface :is(.activity-choice small,#campus-life-dialog header small,#campus-life-dialog .life-card small){color:var(--ui-secondary)}.apple-interface #campus-life-dialog .life-symbol{color:var(--ui-accent-text)}.apple-interface #campus-life-dialog .life-summary{background:var(--ui-fill);color:var(--ui-secondary);border-radius:var(--ui-radius-m)}.apple-interface #campus-life-dialog .life-card:hover{background:var(--ui-tint);border-color:var(--ui-separator)}.apple-interface :is(#campus-community-dialog>header,#campus-community-dialog iframe){background:var(--ui-bg);border-color:var(--ui-line)}.apple-interface #campus-community-dialog>header button{min-height:44px;border:0;border-radius:var(--ui-radius-m);background:var(--ui-fill);color:var(--ui-accent-text)}.apple-interface :is(#nearby-activity,.club-nearby,#nearby-community-wall){background:var(--ui-glass);color:var(--ui-accent-text);border-color:var(--ui-glass-border);border-radius:var(--ui-radius-l);box-shadow:var(--ui-shadow)}html:has(.apple-page){background:var(--ui-bg)}.apple-interface.apple-page{min-height:100dvh;background:var(--ui-bg);color:var(--ui-text);--accent: var(--ui-accent);--green: var(--ui-accent);--gold: var(--ui-accent);--ink: var(--ui-text);--muted: var(--ui-secondary);--paper: var(--ui-surface);--cream: var(--ui-surface);--line: var(--ui-line)}.apple-page :is(.community-shell,.ranking-page,.club-shell){max-width:1080px}.apple-page h1{font-weight:650;letter-spacing:-1.1px}.apple-page h2{font-weight:600;letter-spacing:-.5px}.apple-page :is(.eyebrow,.muted,.community-hint,.community-empty,.community-header p,.community-card small,.intro p,.small,.care-note,.care-rules p,.bag-help,.item p){color:var(--ui-secondary)}.apple-page :is(button,.detail-action,.play-link):not(:where(.board-grid button,.star-hole,.music-room button)){min-height:44px;border-radius:var(--ui-radius-s);background:var(--ui-tint);border:1px solid transparent;color:var(--ui-accent-text);font-weight:500}.apple-page button:hover:enabled:not(:where(.board-grid button,.star-hole,.music-room button)){background:var(--ui-fill-strong)}.apple-page a{color:var(--ui-accent-text)}.apple-page :is(input,select,textarea){color:var(--ui-text);border:1px solid var(--ui-separator);border-radius:var(--ui-radius-s);background:var(--ui-surface)}.apple-page :is(.community-card,.ranking-card,.item,.ledger,.pet-detail,.pet-roster,.care-rules,#guest-home,.club-board,.club-lobby,.campus-account){color:var(--ui-text);border-color:var(--ui-line);border-radius:var(--ui-radius-l);background:var(--ui-surface);box-shadow:0 4px 20px #00000003}.apple-page .campus-account .account-status{color:var(--ui-secondary)}.apple-page .community-tabs{display:flex;padding:4px;background:var(--ui-fill);border-radius:var(--ui-radius-m);gap:3px;width:fit-content}.apple-page .community-tabs button{background:transparent;color:var(--ui-secondary)}.apple-page .community-tabs button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-text);border-color:transparent;box-shadow:0 1px 5px #0000000a}.apple-page :is(.community-identity,.my-standing){background:var(--ui-fill);color:var(--ui-secondary);border-radius:var(--ui-radius-m)}.apple-page .wallet{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:var(--ui-radius-l);box-shadow:0 4px 24px #00000004}.apple-page .wallet strong{font-weight:600;letter-spacing:-2px;font-variant-numeric:tabular-nums}.apple-page :is(.wallet button,.care-actions button[data-action=feed],.period-tabs button[aria-pressed=true],.detail-action,.play-link,.campus-account button){background:var(--ui-accent);color:var(--ui-on-accent);border-color:transparent}.apple-page :is(.wallet .secondary,.campus-account [data-refresh],.campus-account [data-back],.campus-account [data-resend],.campus-account [data-logout]){background:var(--ui-fill);color:var(--ui-text)}.apple-page .bag-storage{background:var(--ui-surface-2);border-color:transparent;border-radius:var(--ui-radius-l)}.apple-page .inventory-slot{background:var(--ui-surface);border-color:transparent;color:var(--ui-text);border-radius:var(--ui-radius-m)}.apple-page .inventory-slot[aria-pressed=true]{border-color:var(--ui-accent);background:var(--ui-surface);box-shadow:0 0 0 3px var(--ui-tint)}.apple-page .empty-slot{background:var(--ui-surface-2);border-color:var(--ui-line)}.apple-page .item-detail{border-color:transparent;border-radius:var(--ui-radius-l)}.apple-page :is(.detail-icon,.item-kind,.badge){background:var(--ui-tint);color:var(--ui-accent-text)}.apple-page .pet-preview{background:radial-gradient(ellipse at 50% 85%,#e7eef8,#f5f7fb 65%,#fff)}.apple-page .pet-card{border-color:var(--ui-line);border-radius:var(--ui-radius-m)}.apple-page .pet-card[data-selected=true]{background:var(--ui-tint);border-color:var(--ui-accent)}.apple-page .club-seat{background:var(--ui-surface);border-color:var(--ui-line);border-radius:var(--ui-radius-m)}.apple-page .club-seat.self{background:var(--ui-tint);border-color:var(--ui-accent)}.apple-page .game-bag{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:var(--ui-radius-xl);box-shadow:0 16px 50px #1620300c}.apple-page .game-bag .coin-chip{background:var(--ui-tint);color:var(--ui-accent-text)}.apple-page .game-bag .icon-button{min-width:44px;min-height:44px;background:var(--ui-fill);color:var(--ui-text);border-color:transparent}.apple-page .game-bag #open-account{color:var(--ui-accent-text)}.apple-page .game-bag .bag-tabs{border-color:var(--ui-line)}.apple-page .game-bag .bag-tabs>button{color:var(--ui-secondary);background:transparent}.apple-page .game-bag .bag-tabs>button[aria-current=page]{color:var(--ui-accent-text)}.apple-page .game-bag .bag-tabs>button[aria-current=page]:after{background:var(--ui-accent);box-shadow:none;height:2px;border-radius:2px}.apple-page .game-bag :is(.status,.bag-help,.bag-empty,.bag-footer){color:var(--ui-secondary)}.apple-page .game-bag .inventory-slot[data-item]{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-line)}.apple-page .game-bag .inventory-slot[aria-pressed=true]{outline:2px solid var(--ui-accent);outline-offset:1px;box-shadow:0 0 0 4px var(--ui-tint)}.apple-page .game-bag .inventory-slot[aria-pressed=true]:after{display:none}.apple-page .game-bag .slot-icon{filter:none}.apple-page .game-bag .slot-quantity{background:var(--ui-tint);color:var(--ui-accent-text);border-radius:0 0 16px 16px}.apple-page .game-bag .item-detail{color:var(--ui-text);background:var(--ui-bg);box-shadow:none}.apple-page .game-bag .detail-banner{background:var(--ui-tint);color:var(--ui-text)}.apple-page .game-bag .detail-icon{width:auto;height:154px;background:transparent}.apple-page .game-bag .wallet strong{color:var(--ui-text)}.apple-page .game-bag .ledger .positive{color:var(--ui-success)}.apple-page .game-bag .ledger .negative{color:var(--ui-warning)}.apple-page #account-dialog{color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-lg)}.apple-page #account-dialog::backdrop{background:var(--ui-scrim)}.apple-page #account-dialog .campus-account button:not([data-refresh],[data-back],[data-resend],[data-logout]){background:var(--ui-accent);color:var(--ui-on-accent);border-radius:var(--ui-radius-s)}.apple-interface #campus-life-dialog.life-economy.life-expanded[open]{background:var(--ui-bg);border-color:var(--ui-on-accent);border-radius:var(--ui-radius-xl)}.apple-interface #campus-life-dialog.life-economy iframe{background:var(--ui-bg)}.apple-interface .character-dialog{background:linear-gradient(145deg,var(--ui-surface),var(--ui-bg));color:var(--ui-text);border-radius:var(--ui-radius-xl);box-shadow:0 24px 90px #18202b20}.apple-interface .character-dialog::backdrop{background:var(--ui-scrim)}.apple-interface .character-title{color:var(--ui-text);font-weight:600;letter-spacing:-1px}.apple-interface .character-interest{border-color:transparent;background:var(--ui-fill);color:var(--ui-secondary);font-weight:400}.apple-interface .character-interest[aria-pressed=true]{background:var(--ui-tint);color:var(--ui-accent-text);border-color:var(--ui-separator)}.apple-interface .character-fieldset{background:var(--ui-surface);box-shadow:none}.apple-interface .character-footer{background:var(--ui-surface-2);border-color:var(--ui-line)}.apple-interface :is(.character-wordmark,.character-profile-field>label,.character-interests legend){color:var(--ui-secondary);font-weight:500}.apple-interface .character-primary{background:var(--ui-accent);box-shadow:0 4px 12px var(--ui-fill-strong);font-weight:500}.apple-interface .character-secondary{background:var(--ui-fill);box-shadow:none;font-weight:500}.apple-interface .character-icon-button{box-shadow:none;background:var(--ui-surface)}.apple-interface .loading-eyebrow{color:var(--ui-secondary)}.apple-page :is(.activity-card,#intro,#result){background:var(--ui-glass);border:1px solid var(--ui-glass-border);color:var(--ui-text);border-radius:var(--ui-radius-xl);box-shadow:0 20px 60px #16203018}.apple-page .activity-header :is(a,button){background:var(--ui-glass);color:var(--ui-text);border-radius:var(--ui-radius-l);box-shadow:var(--ui-shadow)}.apple-page :is(#actions button.primary,#start,#restart){background:var(--ui-accent);color:var(--ui-on-accent)}.apple-page :is(#message,#help){color:var(--ui-secondary)}.apple-interface:has(#room-canvas){--paper: var(--ui-glass);--line: var(--ui-separator);--accent: var(--ui-accent);color:var(--ui-text)}.apple-interface :is(.room-header .back,.mode-bar,.room-header #account-button){border-radius:var(--ui-radius-l);background:var(--ui-glass);border-color:var(--ui-glass-border);box-shadow:var(--ui-shadow)}.apple-interface:has(#room-canvas) :is(.panel,dialog){border-radius:var(--ui-radius-l);background:var(--ui-glass);color:var(--ui-text)}.apple-interface .mode-bar button[aria-pressed=true]{color:var(--ui-text);background:var(--ui-surface);box-shadow:0 1px 5px #0000000a;border-radius:var(--ui-radius-m)}.apple-interface:has(#room-canvas) .primary{background:var(--ui-accent);border-color:transparent}@media(max-width:1100px){.apple-interface .campus-social-actions{top:calc(env(safe-area-inset-top) + 94px)}}@media(max-width:600px){.apple-interface .top-toolbar{top:calc(env(safe-area-inset-top) + 12px);padding:5px;gap:0;max-width:calc(100vw - 24px)}.apple-interface .top-toolbar .toolbar-divider{display:none}.apple-interface .top-toolbar .mode-switch{padding:0;gap:0;background:transparent;flex:none}.apple-interface .top-toolbar .toolbar-place{padding:0 8px}.apple-interface .top-toolbar .mode-switch button{padding:0;width:44px;font-size:0;gap:0}.apple-interface .campus-minimap-launcher{width:106px;top:calc(env(safe-area-inset-top) + 84px);left:calc(env(safe-area-inset-left) + 12px);padding:4px;border-radius:var(--ui-radius-m)}.apple-interface .campus-minimap-caption{padding:6px 6px 3px;font-size:var(--ui-text-caption)}.apple-interface .campus-social-actions{top:calc(env(safe-area-inset-top) + 84px);right:calc(env(safe-area-inset-right) + 12px);flex-direction:row;padding:4px;gap:0;border-radius:var(--ui-radius-l)}.apple-interface .campus-social-actions :is(a,button){flex-direction:column;gap:4px;width:44px;min-height:54px;padding:5px 2px;font-size:var(--ui-text-caption);border-radius:17px}.apple-interface .social-tool-label{max-width:42px}.apple-interface .campus-social-actions #open-player-profile .social-tool-label{font-size:0}.apple-interface .campus-social-actions #open-player-profile .social-tool-label:after{content:"\6211\7684";font-size:var(--ui-text-caption)}.apple-interface :is(#activity-picker,#campus-life-dialog,.club-portal-picker){padding:22px}.apple-interface :is(#activity-picker,#campus-life-dialog,.club-portal-picker) h2{font-size:var(--ui-text-title2)}.apple-interface .sheet{padding:22px 20px max(24px,env(safe-area-inset-bottom));border-radius:var(--ui-radius-xl) var(--ui-radius-xl) 0 0}.apple-interface .campus-social-dialog{padding:22px}.apple-page .community-tabs{width:100%}.apple-page .community-tabs button{flex:1;padding:8px 6px;font-size:var(--ui-text-caption)}}@media(max-height:500px)and (orientation:landscape){.apple-interface .campus-social-actions{top:calc(env(safe-area-inset-top) + 78px)}.apple-interface .campus-minimap-launcher{width:106px;top:14px}.apple-interface .sheet{top:12px;bottom:12px;right:12px;border-radius:var(--ui-radius-l)}.apple-interface .social-log{min-height:60px}}@media(max-width:360px){.apple-interface .top-toolbar{width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}.apple-interface .campus-social-actions{top:calc(env(safe-area-inset-top) + 144px)}.apple-interface .campus-minimap-launcher{top:calc(env(safe-area-inset-top) + 214px)}}@media(max-width:680px){.apple-page .game-bag{border:0;border-radius:0;box-shadow:none}.apple-page .game-bag .detail-icon{height:124px}.apple-interface #campus-life-dialog.life-economy.life-expanded[open]{border-radius:0}}@media(prefers-reduced-transparency:reduce){.apple-interface :is(.glass,.ui-surface,.campus-social-actions,.campus-social-proximity,.campus-social-dialog,#activity-picker,#campus-life-dialog,.campus-event-dialog,.club-portal-picker,.campus-minimap-dialog){background:var(--ui-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){:root{--ui-glass: var(--ui-surface)}.apple-interface :is(.glass,.ui-surface,.campus-social-actions,.campus-social-dialog){border-color:var(--ui-secondary)}}.hud-minimal .mode-switch{gap:2px;padding:3px}.hud-minimal .mode-switch button{width:44px;min-width:44px;padding:0;justify-content:center}.hud-minimal .mode-switch button span,.hud-minimal .flight-action span,.hud-minimal #fast-move span{display:none!important}.hud-minimal .mode-switch svg,.hud-minimal .flight-action svg,.hud-minimal #fast-move svg{width:20px;height:20px}.hud-minimal .mode-switch button[aria-pressed=true]{background:var(--ui-surface);color:var(--ui-accent);box-shadow:0 2px 10px #3e30201a}.hud-minimal .flight-action{width:44px;height:44px;min-width:44px;padding:0}.hud-minimal #fast-move,#open-places{display:none!important}.campus-minimap-launcher{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--ui-glass);border:1px solid var(--ui-glass-border);box-shadow:var(--ui-shadow)}.campus-minimap-launcher .campus-minimap-art{width:26px;height:26px;border-radius:50%}.campus-minimap-caption,.campus-minimap-shortcut{display:none!important}.hud-minimal #control-hint{max-width:min(320px,calc(100vw - 36px))}#open-campus-journey,#campus-life-journal,#campus-story-launch,#open-campus-nearby,#nearby-community-wall,.campus-exploration,.campus-journey-card{display:none!important}:root{--surface:var(--ui-surface);--surface-subtle:var(--ui-surface-2);--surface-border:var(--ui-line);--surface-float:var(--ui-glass);--surface-shadow:var(--ui-shadow)}.campus-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:var(--ui-icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none}body.apple-interface :is(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}body.apple-interface :is(button,a){transition:background var(--ui-duration-fast) ease,color var(--ui-duration-fast) ease,box-shadow var(--ui-duration-fast) ease}body.apple-interface :is(button,a):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}body.apple-interface :is(.eyebrow,.expansion-eyebrow){letter-spacing:.08em;font-size:var(--ui-text-caption);font-weight:500;color:var(--ui-secondary)}body.apple-interface :is(.sheet,.campus-social-dialog,.interior-picker,#activity-picker,#campus-life-dialog,.club-portal-picker,.campus-minimap-dialog){border-color:var(--ui-glass-border);background:var(--ui-glass);box-shadow:var(--ui-shadow-lg)}body.apple-interface :is(.campus-social-dialog,.interior-picker,#activity-picker,#campus-life-dialog,.club-portal-picker){border-radius:var(--ui-radius-xl)}body.apple-interface :is(.sheet-header h2,.campus-social-dialog h2,.interior-picker h2,#activity-picker h2,#campus-life-dialog h2,.club-portal-picker h2){font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.6px}body.apple-interface :is(.sheet-header,.campus-social-dialog header,.interior-picker header,#activity-picker header,#campus-life-dialog header,.club-portal-picker header){margin-bottom:22px}body.apple-interface .sheet-header .ui-icon-button{width:44px;height:44px}body.apple-interface :is(.club-portal-picker,.interior-picker,#activity-picker,#campus-life-dialog) p{color:var(--ui-secondary);line-height:1.65}body.apple-interface :is(.activity-choice,#campus-life-dialog .life-card,.club-portal-cards article,.interior-card){border:1px solid var(--surface-border);border-radius:var(--ui-radius-l);background:var(--ui-surface);box-shadow:none}body.apple-interface :is(.activity-choice,.club-portal-cards article){padding:22px}body.apple-interface :is(.activity-symbol,.club-symbol,#campus-life-dialog .life-symbol,.interior-card .room-symbol){display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--ui-accent-text);background:var(--ui-tint);margin-bottom:12px}body.apple-interface .activity-choice>small{display:block;letter-spacing:0;font-size:var(--ui-text-caption);color:var(--ui-secondary)}body.apple-interface :is(.club-portal-cards h3,.activity-choice h3,.room-card-title){font-size:18px;font-weight:600;letter-spacing:-.3px}body.apple-interface :is(.club-portal-cards p,.activity-choice p,.room-card-description){font-size:13px}body.apple-interface :is(.club-portal-cards button,#activity-picker .activity-choice button){width:100%;min-height:44px;border:0;border-radius:var(--ui-radius-s);background:var(--ui-fill);color:var(--ui-text);font-size:13px;font-weight:500}body.apple-interface .club-portal-cards>button{grid-column:1/-1;width:auto;justify-self:start;background:transparent;color:var(--ui-secondary);border:0;padding-left:0;font-size:var(--ui-text-caption)}body.apple-interface #campus-life-dialog .life-card{min-height:150px;padding:22px;gap:5px}body.apple-interface #campus-life-dialog .life-card strong{font-size:17px;font-weight:600}body.apple-interface #campus-life-dialog .life-symbol{margin:0 0 9px}body.apple-interface #campus-life-dialog .life-help{font-size:var(--ui-text-caption)}body.apple-interface .interior-card .room-card-enter{color:var(--ui-accent-text);letter-spacing:0;font-weight:500}body.apple-interface :is(.interior-picker-note,.expansion-eyebrow,.room-card-place){color:var(--ui-secondary)}body.apple-interface #campus-life-dialog.life-expanded header button{width:auto;border-radius:var(--ui-radius-s);padding:0 14px;font-size:13px}body.apple-interface :is(#campus-activity-stage,.club-portal-stage){inset:20px;margin:auto;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-height:none;max-width:1600px;border:1px solid var(--ui-glass-border);border-radius:var(--ui-radius-xl);background:var(--ui-bg);box-shadow:var(--ui-shadow-lg)}body.apple-interface :is(#campus-activity-stage,.club-portal-stage)::backdrop{background:var(--ui-scrim);backdrop-filter:blur(8px)}body.apple-interface :is(.club-portal-back,#campus-activity-stage .activity-back){min-height:44px;background:var(--ui-fill);color:var(--ui-accent-text);border:1px solid var(--surface-border);border-radius:var(--ui-radius-s)}body.refined-campus .top-toolbar{top:calc(env(safe-area-inset-top) + 22px);padding:5px;gap:3px;border-radius:22px}body.refined-campus .top-toolbar .ui-segmented{border-radius:var(--ui-radius-m);background:var(--ui-fill)}body.refined-campus .top-toolbar .ui-segmented button{border-radius:var(--ui-radius-s)}body.refined-campus .campus-social-actions{top:calc(env(safe-area-inset-top) + 22px);padding:5px;border-radius:22px}body.refined-campus .campus-social-actions :is(a,button){width:44px;min-height:44px;padding:0;border-radius:14px}body.refined-campus .campus-social-actions .social-tool-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body.refined-campus .campus-social-actions #open-player-profile .social-tool-label:after{content:none}body.refined-campus .campus-social-actions :is(a,button):hover{background:var(--ui-fill)}body.refined-campus .campus-minimap-launcher{width:128px;padding:5px;border-radius:20px;top:calc(env(safe-area-inset-top) + 22px);left:calc(env(safe-area-inset-left) + 22px)}body.refined-campus .campus-minimap-caption{font-size:var(--ui-text-caption);padding:7px 5px 3px}.campus-app-dock{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px;border:1px solid var(--ui-glass-border);border-radius:25px;background:var(--surface-float);box-shadow:var(--surface-shadow);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);pointer-events:auto}body.refined-campus .campus-app-dock .campus-dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:66px;min-width:0;height:62px;padding:6px;border:0;border-radius:18px;color:var(--ui-text);background:transparent;font:500 var(--ui-text-caption) var(--ui-font);text-decoration:none;cursor:pointer}body.refined-campus .campus-app-dock .campus-dock-item:hover{background:var(--ui-fill)}body.refined-campus .campus-app-dock .campus-dock-item[aria-expanded=true]{color:var(--ui-accent-text);background:var(--ui-tint)}body.refined-campus .campus-app-dock .campus-icon{width:24px;height:24px}body.refined-campus :is(#nearby-interior,#nearby-activity,.club-nearby,#nearby-community-wall){bottom:112px;font-size:var(--ui-text-caption);font-weight:500;padding:12px 20px;border-radius:18px}body.refined-campus #control-hint{bottom:110px;animation-duration:6s}body.refined-campus:has(:is(#nearby-interior,#nearby-activity,.club-nearby,#nearby-community-wall):not([hidden])) #control-hint{display:none}body.apple-interface #settings-dialog input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:40px;height:24px;margin:10px 2px;padding:2px;border:0;border-radius:var(--ui-radius-pill);background:var(--ui-fill-strong);cursor:pointer;transition:background var(--ui-duration-fast) var(--ui-ease)}body.apple-interface #settings-dialog input[type=checkbox]:before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:var(--ui-on-accent);box-shadow:var(--ui-shadow);transition:transform var(--ui-duration-fast) var(--ui-ease)}body.apple-interface #settings-dialog input[type=checkbox]:checked{background:var(--ui-success-fill)}body.apple-interface #settings-dialog input[type=checkbox]:checked:before{transform:translate(16px)}body.apple-interface #settings-dialog .ui-row-label{align-content:center;min-height:var(--ui-hit)}body.apple-interface #settings-dialog select.setting-toggle{appearance:none;-webkit-appearance:none;min-height:var(--ui-hit);max-width:65%;padding:0 32px 0 12px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-s);background-color:var(--ui-fill);background-image:var(--ui-select-chevron);background-position:right 11px center;background-size:10px 16px;background-repeat:no-repeat;color:var(--ui-text);cursor:pointer}body.apple-page{--muted:var(--ui-secondary);--green:var(--ui-accent);--paper:var(--ui-surface);--orange:var(--ui-warning)}body.apple-page :is(h1,h2,h3){color:var(--ui-text);letter-spacing:-.5px}body.apple-page :is(button,.detail-action,.play-link):not(:where(.board-grid button,.star-hole,.music-keyboard button)){background:var(--ui-fill);color:var(--ui-text);border-color:transparent;font-weight:500;box-shadow:none}body.apple-page :is(button,.detail-action,.play-link):hover:enabled:not(:where(.board-grid button,.star-hole,.music-keyboard button)){background:var(--ui-fill-strong)}body.apple-page :is(.primary,#start,#restart,.detail-action,.play-link,.care-actions [data-action=feed],.wallet button,#club-create,#club-ready,.dance-stage .dance-start,.music-room .music-unlock,#actions button.primary){background:var(--ui-accent);color:var(--ui-on-accent);border:0}body.apple-page :is(.primary,#start,#restart,.detail-action,.play-link,.care-actions [data-action=feed],.wallet button,#club-create,#club-ready,.dance-stage .dance-start,.music-room .music-unlock,#actions button.primary):hover:enabled{background:var(--ui-accent);color:var(--ui-on-accent)}body.apple-page :is(.campus-account [data-refresh],.campus-account [data-back],.campus-account [data-resend],.wallet .secondary){color:var(--ui-text);background:var(--ui-fill)}body.apple-page :is(.community-card,.ranking-card,.pet-detail,.pet-roster,.care-rules,.club-board,.room-card){border:1px solid var(--surface-border);border-radius:18px;background:var(--ui-surface);box-shadow:none}body.apple-page :is(.community-shell,.ranking-page,.club-shell){padding:32px}body.apple-page :is(.community-header,.club-header) h1{font-size:32px;font-weight:600}body.apple-page .community-tabs{border-radius:13px}body.apple-page .community-tabs button{border-radius:10px;background:transparent}body.apple-page .community-tabs button[aria-pressed=true]{background:var(--ui-surface)}body.apple-page :is(#club-status,.status,.room-card p,.club-header p,#club-rules,.club-board details p){color:var(--ui-secondary)}body.apple-page .club-header{margin-bottom:24px}body.apple-page #club-lobby{padding:24px;border:1px solid var(--surface-border);background:var(--ui-surface);border-radius:20px}body.apple-page .lobby-controls{margin-top:0}body.apple-page .club-seat{background:var(--ui-surface);border:1px solid var(--surface-border);border-radius:12px}body.apple-page .club-seat.self{border-color:var(--ui-accent);background:var(--ui-tint)}body.apple-page .room-toolbar{padding-bottom:16px;border-bottom:1px solid var(--surface-border)}body.apple-page:has(#club-room:not([hidden])) .club-header :is(p,#club-place){display:none}body.apple-page:has(#club-room:not([hidden])) .club-header h1{font-size:24px}body.apple-page:has(#club-room:not([hidden])) #club-status{font-size:var(--ui-text-caption);min-height:0;margin:12px 0}body.apple-page #club-room .room-toolbar{margin:8px 0 12px;padding-bottom:10px}body.apple-page #club-room .room-toolbar strong{font-size:var(--ui-text-caption)}body.apple-page #club-room .club-seats{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}body.apple-page #club-room .club-seat{flex:0 0 112px;padding:10px 12px;font-size:var(--ui-text-caption)}body.apple-page #club-room .club-seat strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.apple-page #club-room .club-seat small{font-size:var(--ui-text-caption);margin-top:4px}body.apple-page #club-room .seat-actions{margin:8px 0 14px}body.apple-page #club-room+#club-account{margin-top:24px}body.apple-page .campus-account :is([data-refresh],[data-logout]){background:var(--ui-fill);color:var(--ui-text)}body.apple-page footer{color:var(--ui-secondary)}body.apple-page .game-bag{border-radius:24px;box-shadow:none;border:1px solid var(--surface-border)}body.apple-page .game-bag .bag-storage{background:var(--ui-bg);border:1px solid var(--surface-border);border-radius:18px}body.apple-page .game-bag .inventory-slot{border-radius:12px;box-shadow:none}body.apple-page .game-bag .inventory-slot[data-item]{background:var(--ui-surface);border:1px solid var(--ui-line)}body.apple-page .game-bag .empty-slot{background:var(--ui-fill);border:1px solid var(--ui-line);box-shadow:none}body.apple-page .game-bag .inventory-slot[aria-pressed=true]{outline:2px solid var(--ui-accent);outline-offset:0;box-shadow:none}body.apple-page .game-bag .slot-quantity{background:transparent;border-radius:0}body.apple-page .game-bag .item-detail{border-radius:18px;border:1px solid var(--surface-border);background:var(--ui-surface)}body.apple-page .game-bag .detail-banner{background:transparent;border-bottom:1px solid var(--surface-border)}body.apple-page .game-bag .item-kind{background:transparent}body.apple-page .game-bag .detail-icon img{filter:drop-shadow(0 3px 4px #00000012)}body.apple-page .game-bag .bag-tabs>button{background:transparent}body.apple-page .activity-header{gap:14px;align-items:center}body.apple-page .activity-header>div{background:var(--surface-float);border:1px solid var(--ui-glass-border);border-radius:16px;padding:10px 16px;backdrop-filter:blur(20px)}body.apple-page .activity-header small{display:none}body.apple-page .activity-header h1{font-size:18px;font-weight:600;margin:0}body.apple-page .activity-header p{font-size:var(--ui-text-caption);color:var(--ui-secondary);margin:4px 0 0}body.apple-page .activity-header :is(a,button){min-height:44px;border-radius:16px;color:var(--ui-text);background:var(--surface-float);box-shadow:var(--surface-shadow);font-size:13px}body.apple-page .activity-card{padding:16px;border-radius:18px;background:var(--ui-glass);border-color:var(--ui-glass-border);box-shadow:var(--ui-shadow)}body.apple-page .activity-card .eyebrow{font-size:var(--ui-text-caption);letter-spacing:.03em}body.apple-page .activity-card h2{font-size:18px;font-weight:600;line-height:1.5;margin-bottom:12px}body.apple-page #stats{border-color:var(--surface-border);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}body.apple-page #order{font-size:13px}body.apple-page #actions{gap:8px}body.apple-page #actions button{min-height:48px;border:1px solid var(--ui-glass-border);border-radius:14px;padding:12px 18px;background:var(--surface-float);color:var(--ui-text);box-shadow:var(--ui-shadow);backdrop-filter:blur(16px)}body.apple-page #movement{grid-template-columns:44px 44px 44px}body.apple-page #movement button{min-width:44px;min-height:44px;padding:0;background:var(--surface-float);font-size:20px}body.apple-page :is(#intro,#result){max-width:460px;padding:32px;border-radius:24px;background:var(--ui-glass)}body.apple-page :is(#intro,#result)::backdrop{background:var(--ui-scrim);backdrop-filter:blur(8px)}body.apple-page :is(#intro,#result)>small{font-size:var(--ui-text-caption);color:var(--ui-secondary);letter-spacing:.05em}body.apple-page :is(#intro,#result) h2{font-size:28px;font-weight:600}body.apple-page :is(#intro,#result) p{font-size:14px;line-height:1.8;color:var(--ui-secondary)}body.apple-page :is(#intro,#result) button{min-height:48px;padding:12px 20px}body.apple-page .station-label{background:var(--ui-glass);color:var(--ui-text);border-color:var(--ui-glass-border);border-radius:10px;box-shadow:var(--ui-shadow)}body.apple-page .station-label.near{background:var(--ui-accent);color:var(--ui-on-accent)}body.apple-page .meter-track{background:var(--ui-fill-strong)}body.apple-page .meter-track i{background:var(--ui-success-fill)}body.apple-page .meter-track b{background:var(--ui-text)}body.apple-page:has(#badminton-court){--muted:var(--ui-secondary);--paper:var(--ui-surface)}body.apple-page .panel-stage{background:linear-gradient(90deg,var(--ui-scrim),transparent 80%)}body.apple-page .panel-stage.modal-stage{background:var(--ui-scrim);backdrop-filter:blur(12px)}body.apple-page :is(.lobby-card,.compact-card,.loading-card){background:var(--ui-glass);border:1px solid var(--ui-glass-border);border-radius:24px;box-shadow:var(--ui-shadow-lg)}body.apple-page .lobby-card{width:min(460px,100%);padding:30px}body.apple-page .lobby-card h1{font-size:34px;line-height:1.15;font-weight:600;letter-spacing:-1px}body.apple-page .lobby-card h1>span{font-size:15px;margin-top:12px;color:var(--ui-secondary);letter-spacing:0}body.apple-page :is(.intro,.practice-option,.guest-note,.option-row legend,.option-row small,.rules-preview>span,.score-middle,.compact-card>p,.loading-card p){color:var(--ui-secondary)}body.apple-page .intro{font-size:13px}body.apple-page :is(.rules-preview,.result-stats){border-color:var(--surface-border)}body.apple-page :is(.rules-preview b,.result-stats b){color:var(--ui-text);font-weight:600}body.apple-page .option-row label>span{min-height:60px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:12px;padding:12px 8px 12px 32px;font-size:13px}body.apple-page .option-row input:checked+span{background:var(--ui-tint);border-color:var(--ui-accent)}body.apple-page .option-row input{top:14px;accent-color:var(--ui-accent)}body.apple-page .practice-option input{accent-color:var(--ui-accent)}body.apple-page .practice-option{font-size:var(--ui-text-caption);margin:16px 0}body.apple-page :is(.scoreboard,.point-toast,.play-instructions,.timing-panel,.aim-hint,.countdown-panel,.lobby-tip){background:var(--surface-float);color:var(--ui-text);border:1px solid var(--ui-glass-border);box-shadow:var(--surface-shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}body.apple-page :is(.scoreboard,.point-toast,.countdown-panel){border-radius:20px}body.apple-page .scoreboard{gap:22px}body.apple-page .score-side b{color:var(--ui-text);font-size:32px}body.apple-page .score-side.you b{color:var(--ui-accent-text)}body.apple-page .rally-chip{background:var(--surface-float);color:var(--ui-text);border:1px solid var(--ui-glass-border);border-radius:14px;letter-spacing:0}body.apple-page .play-instructions{box-shadow:none;font-size:var(--ui-text-caption)}body.apple-page .play-instructions b{color:var(--ui-text);font-weight:500}body.apple-page .play-instructions button{color:var(--ui-accent-text);background:transparent;text-decoration:none;min-height:44px}body.apple-page .timing-panel{border-radius:12px;box-shadow:none}body.apple-page .timing-panel[data-state=ready]{color:var(--ui-success);background:var(--ui-success-tint);border-color:var(--ui-success-fill)}body.apple-page .timing-panel[data-state=queued]{color:var(--ui-accent-text);background:var(--ui-tint)}body.apple-page .timing-track{background:var(--ui-fill-strong)}body.apple-page .timing-track i{background:var(--ui-success-fill)}body.apple-page .aim-hint{color:var(--ui-secondary);text-shadow:none;box-shadow:none;border-radius:10px}body.apple-page .shot{min-height:48px;color:var(--ui-text);background:var(--surface-float);border:1px solid var(--ui-glass-border);box-shadow:var(--ui-shadow)}body.apple-page .shot.drive{color:var(--ui-on-accent);background:var(--ui-accent);border-color:transparent}body.apple-page .shot.drive:hover:enabled{color:var(--ui-on-accent);background:var(--ui-accent)}body.apple-page .shot.drive.smash-ready{background:var(--ui-accent)}body.apple-page .shot.suggested:not(.queued){border-color:var(--ui-focus);box-shadow:0 0 0 2px var(--ui-tint)}body.apple-page .shot.queued,body.apple-page .shot.struck{outline-color:var(--ui-accent)}body.apple-page .shot b{font-weight:600}body.apple-page .move-pad{width:108px;height:108px;border-radius:32px;background:var(--ui-glass);color:var(--ui-secondary);border:1px solid var(--ui-glass-border);box-shadow:var(--ui-shadow);backdrop-filter:blur(18px)}body.apple-page .move-pad>span{opacity:.3;font-size:16px}body.apple-page .move-pad>i{width:42px;height:42px;background:var(--ui-surface);border-color:var(--ui-glass-border);box-shadow:var(--ui-shadow)}body.apple-page .move-pad>small{letter-spacing:0;color:var(--ui-secondary)}body.apple-page .countdown-panel b{color:var(--ui-accent-text);font-size:60px}body.apple-page .countdown-panel>span:last-child{color:var(--ui-secondary);font-size:var(--ui-text-caption)}body.apple-page .result-score{color:var(--ui-text);letter-spacing:2px;font-weight:600}body.apple-page .result-stats{color:var(--ui-secondary)}body.apple-page .lobby-tip .tip-mark,body.apple-page .load-mark{color:var(--ui-accent-text)}body.apple-page .music-room{--music-ink:var(--ui-text);--music-gold:var(--ui-accent);color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--surface-border);border-radius:20px;font-family:var(--ui-font)}body.apple-page .music-room :is(p,.music-help,.music-muted,.music-event-list){color:var(--ui-secondary)}body.apple-page .music-room small{color:var(--ui-secondary);letter-spacing:.04em}body.apple-page .music-room :is(button,select,input[type=number]):not(:where(.music-keyboard button)){color:var(--ui-text);background:var(--ui-fill);border:1px solid transparent;border-radius:12px}body.apple-page .music-stage{background:var(--ui-bg);border:1px solid var(--surface-border);border-radius:16px}body.apple-page .music-beat{background:var(--ui-fill-strong)}body.apple-page .music-beat.active{background:var(--ui-accent);box-shadow:none}body.apple-page .music-player{background:var(--ui-fill-strong);color:var(--ui-text)}body.apple-page .music-player.playing{background:var(--ui-tint);color:var(--ui-accent-text)}body.apple-page .music-keyboard{padding:18px 0 8px;gap:4px}body.apple-page .music-keyboard button{min-height:160px;color:#303034;background:linear-gradient(#fff,#f5f5f7);border:1px solid #d1d1d6;border-bottom:3px solid #d1d1d6;border-radius:0 0 10px 10px}body.apple-page .music-keyboard button.accidental{min-height:110px;color:#fff;background:#303034;border-color:#1d1d1f}body.apple-page .music-keyboard button.playing{background:var(--ui-accent);color:var(--ui-on-accent);border-color:var(--ui-accent)}body.apple-page .music-keyboard.drums button{min-height:110px;border-radius:16px;background:var(--ui-tint);color:var(--ui-accent-text);border:1px solid var(--ui-line)}body.apple-page .music-event-list li{background:var(--ui-surface-2);border-radius:8px}body.apple-page .dance-stage{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--surface-border);border-radius:20px;font-family:var(--ui-font)}body.apple-page .dance-head h2{letter-spacing:-.7px;font-size:28px;font-weight:600}body.apple-page :is(.dance-eyebrow,.dance-rules,.dance-instructions,.dance-pad small,.dance-person-grade){color:var(--ui-secondary);letter-spacing:0}body.apple-page .dance-track{background:var(--ui-bg);box-shadow:none;border:1px solid var(--surface-border)}body.apple-page .dance-cue{color:var(--ui-text);font-weight:600}body.apple-page .dance-cue.on-beat{color:var(--ui-accent-text)}body.apple-page .dance-notes span{background:var(--ui-fill-strong);color:var(--ui-secondary)}body.apple-page .dance-notes .is-next{background:var(--ui-tint);color:var(--ui-accent-text)}body.apple-page .dance-person{background:var(--ui-bg);border-radius:16px}body.apple-page .dance-avatar span{background:#438df1}body.apple-page .dance-avatar .dance-head-dot{background:#96bfff}body.apple-page .dance-avatar .dance-leg{background:#2867bb}body.apple-page .dance-stage .dance-pad{background:var(--ui-surface-2);color:var(--ui-text);border-radius:16px}body.apple-page .dance-pads{margin:12px 0}body.apple-page .dance-pad:active:not(:disabled){background:var(--ui-tint);color:var(--ui-accent-text)}body.apple-page .dance-person[data-grade=perfect] .dance-person-grade{color:var(--ui-success)}body.apple-page .dance-person[data-grade=miss] .dance-person-grade{color:var(--ui-danger)}body.apple-page .board-grid{border-color:#c8bba6;border-width:4px;border-radius:8px}body.apple-page :is(.playing-card,.mahjong-tile){color:#1d1d1f;background:#fff;border:1px solid #d1d1d6;border-radius:8px;box-shadow:0 2px 3px #00000008}body.apple-page .mahjong-tile{border-bottom:4px solid #3b9974}body.apple-page .selected{box-shadow:inset 0 0 0 2px var(--ui-accent);background:var(--ui-tint)}body.apple-interface:has(#interior-viewport) :is(.back-button,.view-actions,.room-heading,.walk-hint,#interior-fast,.loading-card){color:var(--ui-text);background:var(--surface-float);border:1px solid var(--ui-glass-border);border-radius:18px;box-shadow:var(--surface-shadow);backdrop-filter:blur(20px)}body.apple-interface:has(#interior-viewport) .room-heading h1{letter-spacing:-.3px;font-weight:600}body.apple-interface:has(#interior-viewport) .eyebrow{color:var(--ui-secondary)}body.apple-interface:has(#interior-viewport) .view-actions button{min-height:44px;color:var(--ui-text)}body.apple-interface:has(#interior-viewport) .view-actions button:hover{background:var(--ui-fill)}body.apple-interface #interior-fast[aria-pressed=true]{background:var(--ui-accent);color:var(--ui-on-accent)}body.apple-interface #interior-joystick{background:var(--ui-glass);border:1px solid var(--ui-glass-border);border-radius:32px;box-shadow:var(--ui-shadow);backdrop-filter:blur(18px)}body.apple-interface #interior-joystick i{background:var(--ui-surface);box-shadow:var(--ui-shadow)}body.apple-interface:has(#room-canvas) :is(.panel,dialog){background:var(--ui-glass);border:1px solid var(--ui-glass-border)}body.apple-interface:has(#room-canvas) :is(input,select,textarea){color:var(--ui-text);background:var(--ui-surface);border-color:var(--surface-border);border-radius:12px}@media(max-width:900px){body.refined-campus .top-toolbar{left:50%;top:calc(env(safe-area-inset-top) + 14px)}body.refined-campus .campus-social-actions{top:calc(env(safe-area-inset-top) + 82px);right:calc(env(safe-area-inset-right) + 14px)}body.refined-campus .campus-minimap-launcher{top:calc(env(safe-area-inset-top) + 82px);left:calc(env(safe-area-inset-left) + 14px);width:110px}}@media(max-width:600px){body.refined-campus .top-toolbar{width:auto;max-width:calc(100vw - 24px);flex-wrap:nowrap;padding:5px;gap:3px}body.refined-campus .top-toolbar .mode-switch{background:var(--ui-fill);padding:2px;border-radius:var(--ui-radius-m)}body.refined-campus .top-toolbar .mode-switch button{width:44px;min-height:44px}body.refined-campus .top-toolbar .toolbar-place{width:44px;padding:0}body.refined-campus .campus-social-actions{padding:4px;border-radius:19px;gap:0}body.refined-campus .campus-social-actions :is(a,button){height:44px;min-height:44px;width:44px}body.refined-campus .campus-minimap-launcher{width:100px;border-radius:17px}body.refined-campus .campus-app-dock{bottom:calc(env(safe-area-inset-bottom) + 12px);padding:5px;gap:2px;border-radius:23px}body.refined-campus .campus-app-dock .campus-dock-item{width:52px;height:56px;gap:4px;border-radius:16px;font-size:var(--ui-text-caption)}body.refined-campus #joystick{bottom:calc(env(safe-area-inset-bottom) + 100px);width:104px;height:104px}body.refined-campus #joystick span{left:29px;top:29px}body.refined-campus .action-controls{bottom:calc(env(safe-area-inset-bottom) + 116px)}body.refined-campus :is(#nearby-interior,#nearby-activity,.club-nearby,#nearby-community-wall){bottom:calc(env(safe-area-inset-bottom) + 90px);max-width:calc(100vw - 48px)}body.refined-campus .campus-minimap-caption kbd{display:none}body.apple-interface :is(#campus-activity-stage,.club-portal-stage){inset:0;width:100vw;height:100dvh;border:0;border-radius:0}body.apple-interface :is(#activity-picker,#campus-life-dialog,.club-portal-picker,.interior-picker){padding:20px;border-radius:var(--ui-radius-xl)}body.apple-interface :is(#activity-picker h2,#campus-life-dialog h2,.club-portal-picker h2,.interior-picker h2){font-size:23px}body.apple-interface .club-portal-cards{gap:10px}body.apple-interface .club-portal-cards article{padding:18px}body.apple-interface #campus-life-dialog .life-card{padding:16px;min-height:146px}body.apple-interface #campus-life-dialog .life-card strong{font-size:16px}body.apple-page :is(.community-shell,.ranking-page,.club-shell){padding:20px 16px}body.apple-page .club-header h1{font-size:26px}body.apple-page #club-lobby{padding:16px}body.apple-page .game-bag{border:0;border-radius:0}body.apple-page .activity-header{gap:8px}body.apple-page .activity-header>div{min-width:0;padding:8px 10px;border-radius:13px}body.apple-page .activity-header h1{font-size:14px}body.apple-page .activity-header p{display:none}body.apple-page .activity-header :is(a,button){min-height:44px;font-size:var(--ui-text-caption);padding:10px;border-radius:13px}body.apple-page .activity-card{padding:10px 12px;border-radius:14px}body.apple-page .activity-card h2{font-size:14px;margin:0}body.apple-page #stats{font-size:var(--ui-text-caption)}body.apple-page #actions{gap:6px}body.apple-page #actions button{min-height:44px;font-size:var(--ui-text-caption);padding:10px 12px;border-radius:12px}body.apple-page #movement{grid-template-columns:44px 44px 44px}body.apple-page :is(#intro,#result){padding:26px}body.apple-page .lobby-card{padding:24px}body.apple-page .lobby-card h1{font-size:30px}body.apple-page .music-room{padding:16px;border-radius:18px}body.apple-page .music-keyboard button{min-height:128px}body.apple-page .music-keyboard button.accidental{min-height:88px}body.apple-page .music-keyboard.drums button{min-height:96px}body.apple-page .dance-head h2{font-size:25px}}@media(max-height:500px)and (orientation:landscape){body.refined-campus .top-toolbar,body.refined-campus .campus-social-actions{top:10px}body.refined-campus .campus-minimap-launcher{top:10px;width:90px}body.refined-campus .campus-app-dock{bottom:10px;padding:4px}body.refined-campus .campus-app-dock .campus-dock-item{width:52px;height:48px;gap:2px;font-size:var(--ui-text-caption)}body.refined-campus .campus-app-dock .campus-icon{width:20px;height:20px}body.apple-page .lobby-card{padding:22px}body.apple-page .activity-card{padding:10px}body.apple-page .activity-header h1{font-size:15px}}@media(prefers-reduced-motion:reduce){body.apple-interface *,body.apple-interface *:before,body.apple-interface *:after{transition:none!important;animation:none!important}}@media(prefers-reduced-transparency:reduce){:root{--surface-float:var(--ui-surface)}body.apple-interface :is(.campus-app-dock,.scoreboard,.activity-card,.timing-panel,.play-instructions,.move-pad,#interior-joystick){backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--ui-surface)}}@media(prefers-contrast:more){:root{--surface-border:var(--ui-line);--surface-float:var(--ui-surface)}body.apple-interface .campus-app-dock{border-color:var(--ui-secondary)}}body.refined-campus .campus-social-actions :is(a,button){position:relative}body.refined-campus #open-campus-chat[data-unread]:not([data-unread="0"]):after,body.refined-campus #open-campus-nearby[data-count]:not([data-count="0"]):after{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:var(--ui-danger);color:var(--ui-on-accent);font-size:var(--ui-text-caption);font-weight:600;border:1px solid var(--ui-surface);content:attr(data-unread)}body.refined-campus #open-campus-nearby[data-count]:not([data-count="0"]):after{content:attr(data-count);background:var(--ui-accent)}body.apple-page .status.error{color:var(--ui-danger)}body.apple-page #activity-viewport canvas:focus{outline:none}body.apple-page .activity-card>p:not(.eyebrow):not(#message):not(#help){font-size:var(--ui-text-caption);line-height:1.6;color:var(--ui-secondary)}body.apple-interface #settings-dialog .sheet{background:var(--ui-bg);padding:20px;scrollbar-width:thin}body.apple-interface #settings-dialog .ui-group{border:1px solid var(--ui-line);border-radius:18px;overflow:hidden;background:var(--ui-surface)}body.apple-interface #settings-dialog .ui-row{min-height:60px;padding:12px 16px;gap:16px;box-sizing:border-box}body.apple-interface #settings-dialog .ui-row-label{flex:1;min-width:0;min-height:0;font-size:14px;font-weight:500;line-height:1.45}body.apple-interface #settings-dialog .settings-row-hint{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--ui-secondary);font-weight:400}body.apple-interface #settings-dialog input[type=checkbox]{margin:10px 0;box-shadow:none}body.apple-interface #settings-dialog input[type=checkbox]:after{content:none}body.apple-interface #settings-dialog input[type=checkbox]:disabled{opacity:.55;cursor:default}body.apple-interface #settings-dialog select.setting-toggle{flex:none;max-width:52%;font-size:13px}body.apple-interface #settings-dialog :is(#companion-settings h3,.campus-settings-inline h2,#advanced-settings>summary){font-size:14px;font-weight:600;color:var(--ui-secondary);margin:0;padding:0 4px}body.apple-interface #settings-dialog #companion-settings{margin-top:22px}body.apple-interface #settings-dialog #companion-settings h3{margin-bottom:10px}body.apple-interface #settings-dialog .settings-note{padding:0 4px;margin:8px 0 0;font-size:12px}body.apple-interface #settings-dialog #advanced-settings{margin-top:22px}body.apple-interface #settings-dialog #advanced-settings>summary{min-height:44px}body.apple-interface #settings-dialog .campus-settings-inline{margin:22px 0 0;padding:0;border:0;background:transparent;overflow:visible}body.apple-interface #settings-dialog .campus-settings-inline header{margin:0 0 10px}body.apple-interface #settings-dialog .campus-audio-panel{border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-surface);padding:0 16px 6px;overflow:hidden}body.apple-interface #settings-dialog .campus-audio-panel>label{min-height:60px;margin:0;font-weight:500;border-bottom:1px solid var(--ui-line)}body.apple-interface #settings-dialog .campus-audio-panel>button{margin-top:12px;border-radius:10px;min-height:40px}body.apple-interface #settings-dialog .campus-audio-panel>p{margin:8px 0 12px}body.apple-interface #settings-dialog .campus-volume-settings{border-top:1px solid var(--ui-line)}body.apple-interface #settings-dialog .campus-volume-settings summary{min-height:48px;justify-content:space-between;font-size:14px}body.apple-interface #settings-dialog .campus-volume-settings summary:after{content:"+";font-size:18px;color:var(--ui-secondary)}body.apple-interface #settings-dialog .campus-volume-settings[open] summary:after{content:"\2212"}body.apple-interface #settings-dialog .campus-game-options:empty{display:none}:root{--ui-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Segoe UI", "Microsoft YaHei", sans-serif}:root{color-scheme:only light;--ui-bg: #f2ede3;--ui-surface: #fbf8f1;--ui-surface-2: #ebe4d7;--ui-glass: rgba(251, 248, 241, .84);--ui-glass-border: rgba(255, 253, 247, .82);--ui-text: #24211c;--ui-secondary: #6b6459;--ui-tertiary: #8d8578;--ui-line: rgba(61, 52, 41, .14);--ui-separator: rgba(61, 52, 41, .22);--ui-fill: rgba(95, 80, 60, .1);--ui-fill-strong: rgba(95, 80, 60, .18);--ui-accent: #3d5a4a;--ui-accent-text: #34503f;--ui-on-accent: #fbf8f1;--ui-tint: rgba(61, 90, 74, .12);--ui-success: #446b4a;--ui-success-tint: color-mix(in srgb, var(--ui-success-fill) 16%, var(--ui-surface));--ui-success-fill: #6f8f62;--ui-danger: #a3402f;--ui-warning: #98652c;--ui-scrim: rgba(32, 27, 21, .3);--ui-focus: rgba(61, 90, 74, .42);--ui-clay: #b4694f;--ui-gold: #b08a4a;--ui-font-display: "Songti SC", "Noto Serif SC", "Source Han Serif SC", "STSong", serif;--ui-shadow: 0 8px 28px rgba(62, 48, 32, .09), 0 1px 3px rgba(62, 48, 32, .05);--ui-shadow-lg: 0 24px 80px rgba(45, 34, 22, .18), 0 2px 8px rgba(45, 34, 22, .06);--ui-blur: blur(24px) saturate(130%);--ui-text-caption: 12px;--ui-text-footnote: 13px;--ui-text-subhead: 15px;--ui-text-body: 17px;--ui-text-title3: 20px;--ui-text-title2: 22px;--ui-text-title1: 28px;--ui-text-large: 34px;--ui-weight-regular: 400;--ui-weight-medium: 500;--ui-weight-semibold: 600;--ui-weight-bold: 700;--ui-radius-xs: 8px;--ui-radius-s: 12px;--ui-radius-m: 16px;--ui-radius-l: 22px;--ui-radius-xl: 28px;--ui-radius-pill: 999px;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px;--ui-space-8: 32px;--ui-hit: 44px;--ui-ease: cubic-bezier(.32, .72, 0, 1);--ui-ease-out: cubic-bezier(.22, 1, .36, 1);--ui-duration-fast: .16s;--ui-duration: .28s;--ui-icon-stroke: 1.7;--ui-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' viewBox='0 0 10 16' fill='none' stroke='%236e6e73' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 5 3-3 3 3m-6 6 3 3 3-3'/%3E%3C/svg%3E")}@media(prefers-contrast:more){:root{--ui-secondary: #3a3a3c;--ui-line: rgba(60, 60, 67, .36);--ui-glass: rgba(250, 250, 252, .96)}}html[data-campus-legal=pending] body>:not(.campus-legal-gate):not(.campus-legal-notice):not(noscript){display:none!important}.campus-legal-gate,.campus-legal-notice{position:fixed;inset:0;z-index:2147483000;overflow:auto;background:var(--ui-bg);color:var(--ui-text);font:var(--ui-text-body)/1.5 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:grid;place-items:center;padding:var(--ui-space-6);box-sizing:border-box}.legal-welcome,.legal-notice-card{width:min(100%,420px);box-sizing:border-box;padding:var(--ui-space-8) var(--ui-space-6);background:var(--ui-surface);border-radius:var(--ui-radius-xl);box-shadow:var(--ui-shadow-lg);text-align:center}.legal-brand{display:block;font-size:var(--ui-text-subhead);font-weight:var(--ui-weight-semibold);color:var(--ui-secondary);text-transform:none;letter-spacing:0}.legal-welcome h1,.legal-notice-card h1{font-size:var(--ui-text-title1);line-height:1.2;font-weight:var(--ui-weight-bold);margin:var(--ui-space-3) 0 0}.legal-welcome p,.legal-notice-card p{margin:var(--ui-space-3) 0 0;color:var(--ui-secondary)}.legal-brief{font-size:var(--ui-text-subhead);color:var(--ui-secondary)}.legal-welcome form{margin-top:var(--ui-space-6);text-align:left}.legal-consent-row{display:flex;gap:var(--ui-space-3);align-items:flex-start;font-size:var(--ui-text-subhead);line-height:1.5;color:var(--ui-text);margin:0 0 var(--ui-space-5)}.legal-consent-row input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:1.7px solid var(--ui-separator);border-radius:var(--ui-radius-pill);background:var(--ui-surface);cursor:pointer;display:grid;place-items:center;transition:background var(--ui-duration-fast) var(--ui-ease),border-color var(--ui-duration-fast) var(--ui-ease)}.legal-consent-row input[type=checkbox]:checked{background:var(--ui-accent);border-color:var(--ui-accent)}.legal-consent-row input[type=checkbox]:checked:after{content:"";width:12px;height:7px;margin-top:-2px;border-left:2px solid var(--ui-on-accent);border-bottom:2px solid var(--ui-on-accent);transform:rotate(-45deg)}.legal-consent-row input[type=checkbox]:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}.legal-consent-row label{cursor:pointer}.campus-legal-gate a,.campus-legal-notice a{color:var(--ui-accent-text);text-decoration:none}.campus-legal-gate a:hover,.campus-legal-notice a:hover{text-decoration:none}.legal-primary{display:block;width:100%;min-height:var(--ui-hit);padding:13px var(--ui-space-5);border:0;border-radius:var(--ui-radius-pill);text-align:center;text-decoration:none;background:var(--ui-accent);color:var(--ui-on-accent);box-sizing:border-box;font:var(--ui-weight-semibold) var(--ui-text-body)/1 -apple-system,system-ui,sans-serif;cursor:pointer;transition:opacity var(--ui-duration-fast) var(--ui-ease)}.legal-primary:hover{opacity:.9}.legal-primary:disabled{background:var(--ui-fill-strong);color:var(--ui-tertiary);cursor:default;opacity:1}.legal-primary:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}.legal-document a.legal-primary{color:var(--ui-on-accent)}.legal-document a.legal-primary:hover{text-decoration:none;opacity:.9}.legal-error{margin-top:var(--ui-space-3);color:var(--ui-danger);font-size:var(--ui-text-footnote);text-align:center}.legal-notice-card .legal-spinner{width:28px;height:28px;margin:var(--ui-space-2) auto 0;border:3px solid var(--ui-fill-strong);border-top-color:var(--ui-accent);border-radius:var(--ui-radius-pill);animation:legal-spin 1s linear infinite}@keyframes legal-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.legal-notice-card .legal-spinner{animation-duration:2.4s}}.legal-document{margin:0;background:var(--ui-bg);color:var(--ui-text);font:var(--ui-text-body)/1.6 -apple-system,BlinkMacSystemFont,system-ui,sans-serif}.legal-document main{max-width:680px;margin:auto;padding:var(--ui-space-8) var(--ui-space-5) 72px}.legal-document nav{display:flex;gap:var(--ui-space-2);flex-wrap:wrap;margin-bottom:var(--ui-space-6)}.legal-document nav a{display:inline-flex;align-items:center;min-height:36px;padding:6px var(--ui-space-4);border-radius:var(--ui-radius-pill);background:var(--ui-fill);color:var(--ui-accent-text);text-decoration:none;font-size:var(--ui-text-subhead);font-weight:var(--ui-weight-medium)}.legal-document nav a:hover{background:var(--ui-fill-strong)}.legal-document h1{font-size:var(--ui-text-large);font-weight:var(--ui-weight-bold);line-height:1.2;margin:0 0 var(--ui-space-3)}.legal-document h2{font-size:var(--ui-text-title2);font-weight:var(--ui-weight-semibold);line-height:1.3;margin:var(--ui-space-8) 0 var(--ui-space-3)}.legal-document p{margin:var(--ui-space-3) 0}.legal-document a{color:var(--ui-accent-text);text-decoration:none}.legal-document p a:hover{text-decoration:underline}.legal-document ul{padding-left:var(--ui-space-5)}.legal-document li{margin:var(--ui-space-2) 0}.legal-document table{border-collapse:collapse;width:100%;font-size:var(--ui-text-subhead);margin:var(--ui-space-3) 0}.legal-document th,.legal-document td{border:1px solid var(--ui-line);padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.legal-document th{background:var(--ui-surface-2);font-weight:var(--ui-weight-semibold)}.legal-document .legal-important{background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius-m);padding:var(--ui-space-4);margin:var(--ui-space-4) 0}.legal-document button{font:var(--ui-weight-medium) var(--ui-text-subhead)/1 -apple-system,system-ui,sans-serif;min-height:var(--ui-hit);padding:var(--ui-space-3) var(--ui-space-5);border:0;border-radius:var(--ui-radius-pill);background:var(--ui-fill);color:var(--ui-accent-text);cursor:pointer}.legal-document button:hover{background:var(--ui-fill-strong)}.legal-document button:disabled{color:var(--ui-tertiary);cursor:default}.legal-document button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:2px}.legal-meta{color:var(--ui-secondary);font-size:var(--ui-text-subhead)}.legal-links{font-size:var(--ui-text-footnote);display:flex;gap:var(--ui-space-4);flex-wrap:wrap;margin:var(--ui-space-4) 0}.legal-notfound{display:grid;place-items:center;min-height:100vh;min-height:100svh;text-align:center;padding:var(--ui-space-6)}.legal-notfound .legal-notice-card{text-align:center}@media(max-width:480px){.legal-welcome,.legal-notice-card{padding:var(--ui-space-6) var(--ui-space-5)}.legal-document main{padding:var(--ui-space-6) var(--ui-space-4) 56px}.legal-document table{font-size:var(--ui-text-footnote)}.legal-document th,.legal-document td{padding:7px}.legal-document h1{font-size:var(--ui-text-title1)}}.legal-consent-row a{white-space:nowrap}.campus-legal-gate{--welcome-ink:#193c33;--welcome-muted:#53665a;--welcome-paper:#f1f0e8;--ui-accent:#265f49;--ui-accent-text:#245a45;--ui-focus:#357653;background:#dce5dc;align-items:safe center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.campus-legal-gate .legal-welcome{display:grid;grid-template-columns:1.05fr 1fr;width:min(100%,940px);padding:0;border-radius:24px;border:1px solid #c4d1c3;background:var(--welcome-paper);box-shadow:0 18px 52px #2447351c;text-align:left;overflow:hidden}.legal-campus-scene{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:32px;background:#183c34;color:#edf0dc}.campus-legal-gate .legal-brand{display:flex;align-items:center;gap:10px;color:#edf0dc;font-size:17px;font-weight:600;letter-spacing:-.2px}.legal-brand svg{width:27px;height:27px;flex:none}.legal-campus-art{margin:6px -22px 0}.legal-campus-art>svg{display:block;width:100%;height:auto}.legal-scene-caption{display:flex;flex-direction:column;gap:5px;margin-top:14px}.legal-scene-caption span:first-child{font-size:22px;letter-spacing:.04em;font-weight:550}.legal-scene-caption span:last-child{font-size:12px;color:#b6cbb8}.legal-welcome-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:48px 40px;color:var(--welcome-ink)}.campus-legal-gate .legal-welcome-kicker{margin:0 0 18px;color:#536e5b;font-size:13px}.campus-legal-gate .legal-welcome h1{margin:0;color:var(--welcome-ink);font-size:clamp(28px,3vw,36px);font-weight:600;letter-spacing:-.04em;line-height:1.4}.campus-legal-gate .legal-welcome-intro{margin:12px 0 0;color:var(--welcome-muted);font-size:15px;line-height:1.8}.legal-entry-notes{margin-top:40px;padding-top:22px;border-top:1px solid #cfd7c9}.campus-legal-gate .legal-entry-notes p{margin:0;color:var(--welcome-muted);font-size:13px;line-height:1.8}.campus-legal-gate .legal-entry-notes .legal-brief{margin-top:4px}.campus-legal-gate .legal-welcome form{margin-top:22px}.campus-legal-gate .legal-consent-row{align-items:center;gap:8px;margin-bottom:20px;font-size:13px;line-height:1.8;color:#43594a}.campus-legal-gate .legal-consent-row input[type=checkbox]{font:inherit;box-sizing:border-box;width:1em;height:1em;border-radius:.2em;border-color:#849b87;background:#e6eadd}.campus-legal-gate .legal-consent-row input[type=checkbox]:checked:after{width:.5em;height:.25em;margin-top:-.15em;border-width:0 0 1.5px 1.5px}.campus-legal-gate .legal-consent-row label{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle}.campus-legal-gate .legal-consent-row input[type=checkbox]:checked{background:var(--ui-accent);border-color:var(--ui-accent)}.campus-legal-gate a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#819c85}.campus-legal-gate a:hover{text-decoration:underline;text-decoration-thickness:2px}.campus-legal-gate a:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px;border-radius:2px}.campus-legal-gate .legal-primary{min-height:52px;border-radius:12px;font-size:15px}.campus-legal-gate .legal-primary:disabled{background:#dce2d4;color:#667660}@media(max-width:720px){.campus-legal-gate{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.campus-legal-gate .legal-welcome{grid-template-columns:1fr;max-width:440px;border-radius:20px}.legal-campus-scene{padding:20px 24px;min-height:0;overflow:hidden}.legal-campus-art{display:flex;justify-content:center;height:142px;margin:0}.legal-campus-art>svg{width:240px;height:175px;flex:none;margin-top:-18px}.campus-legal-gate .legal-brand{font-size:14px;position:relative;z-index:1}.legal-brand svg{width:23px;height:23px}.legal-scene-caption{margin-top:6px;position:relative;z-index:1}.legal-scene-caption span:first-child{font-size:19px}.legal-scene-caption span:last-child{font-size:11px}.legal-welcome-content{padding:28px 24px}.campus-legal-gate .legal-welcome-kicker{margin-bottom:10px;font-size:12px}.campus-legal-gate .legal-welcome h1{font-size:29px}.campus-legal-gate .legal-welcome-intro{margin-top:8px;font-size:14px}.legal-entry-notes{margin-top:22px;padding-top:18px}.campus-legal-gate .legal-welcome form{margin-top:18px}}@media(max-width:360px){.legal-campus-scene{padding:18px}.legal-welcome-content{padding:24px 18px}.campus-legal-gate .legal-consent-row{font-size:12px}}@media(max-height:650px){.campus-legal-gate{place-items:start center}}@media(prefers-reduced-motion:reduce){.campus-legal-gate *,.campus-legal-gate *:before,.campus-legal-gate *:after{animation:none!important;transition:none!important}}@media(forced-colors:active){.campus-legal-gate .legal-welcome{border:1px solid CanvasText}.campus-legal-gate .legal-consent-row input[type=checkbox]{appearance:auto}.campus-legal-gate .legal-consent-row input[type=checkbox]:after{display:none}.campus-legal-gate .legal-primary{border:1px solid ButtonText}}.profile-page{min-height:100dvh;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(ellipse at 50% 0%,#fffdf8,#f3eee4 60%,#e9e0d1);color:var(--ui-text)}.profile-sheet{width:min(560px,100%);padding:28px clamp(20px,4vw,42px) 34px;border:1px solid rgba(255,253,247,.86);border-radius:30px;background:#fbf8f1d1;box-shadow:var(--ui-shadow-lg);backdrop-filter:var(--ui-blur)}.profile-sheet header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ui-secondary);font-size:11px;letter-spacing:.12em}.profile-back{color:var(--ui-accent-text);text-decoration:none}.profile-kicker{margin:28px 0 8px;color:var(--ui-secondary);font-size:10px;letter-spacing:.22em}.profile-sheet h1{margin:0;font-family:var(--ui-font-display);font-size:44px;font-weight:500;letter-spacing:.02em;line-height:1.1}.profile-lede{margin:10px 0 24px;color:var(--ui-secondary);font-size:13px;line-height:1.7}.profile-sheet form{display:grid;gap:16px}.profile-sheet label{display:grid;gap:7px;color:var(--ui-secondary);font-size:11px;letter-spacing:.08em}.profile-sheet label span{color:var(--ui-tertiary);letter-spacing:0}.profile-sheet input,.profile-sheet textarea{width:100%;border:1px solid rgba(61,52,41,.14);border-radius:14px;padding:12px 14px;background:#fffdf7cc;color:var(--ui-text);font:15px/1.5 var(--ui-font);outline:none}.profile-sheet input:focus,.profile-sheet textarea:focus{border-color:#3d5a4a8c;box-shadow:0 0 0 3px #3d5a4a1f}.profile-sheet textarea{resize:vertical;min-height:74px}.profile-disclose{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px;font-size:12px;letter-spacing:0}.profile-disclose input{width:17px;height:17px;accent-color:var(--ui-accent)}.profile-actions{display:flex;align-items:center;gap:14px;margin-top:6px}.profile-save{min-height:46px;padding:10px 30px;border:0;border-radius:999px;background:var(--ui-accent);color:var(--ui-on-accent);font:600 14px var(--ui-font);letter-spacing:.08em;cursor:pointer}.profile-save:disabled{opacity:.5}#profile-status{margin:0;color:var(--ui-secondary);font-size:12px}#profile-status.is-error{color:var(--ui-danger)}.account-nudge{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:40;width:min(340px,calc(100vw - 36px));box-sizing:border-box;padding:18px 18px 14px;border:1px solid var(--ui-glass-border);border-radius:20px;background:var(--ui-glass);box-shadow:var(--ui-shadow-lg);backdrop-filter:var(--ui-blur);color:var(--ui-text);opacity:0;transform:translateY(10px);transition:opacity .32s var(--ui-ease-out),transform .32s var(--ui-ease-out)}.account-nudge[hidden]{display:none!important}.account-nudge.is-visible{opacity:1;transform:none}.account-nudge-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--ui-secondary);font:20px/1 var(--ui-font);cursor:pointer}.account-nudge-kicker{margin:0 0 6px;color:var(--ui-secondary);font-size:9px;letter-spacing:.22em}.account-nudge h2{margin:0;font-family:var(--ui-font-display);font-size:22px;font-weight:500;letter-spacing:.01em}.account-nudge p{margin:8px 0 0;color:var(--ui-secondary);font-size:12px;line-height:1.65}.account-nudge-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.account-nudge-primary{display:inline-grid;place-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--ui-accent);color:var(--ui-on-accent);text-decoration:none;font:600 13px var(--ui-font)}.account-nudge-later{min-height:40px;border:1px solid var(--ui-line);border-radius:999px;background:transparent;color:var(--ui-secondary);font:13px var(--ui-font);padding:0 14px;cursor:pointer}.account-nudge-legal{display:flex;gap:8px;justify-content:center;font-size:10px!important;color:var(--ui-tertiary)!important}.account-nudge-legal a{color:var(--ui-secondary)}@media(max-width:520px){.account-nudge{left:12px;right:12px;bottom:12px;width:auto}}
