.title-layout{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(100% - 64px),1120px);height:min(calc(100% - 48px),600px);display:grid;grid-template-columns:minmax(190px,290px) minmax(230px,290px) minmax(340px,390px);grid-template-rows:135px 110px minmax(180px,210px) 42px;grid-template-areas:"brand brand ." "guide dialogue form" "guide avatar form" "guide voice form";gap:clamp(12px,2vh,20px) clamp(24px,4vw,52px);justify-content:center;align-content:center;pointer-events:none}.title-layout [data-title-region=form]{margin-block:-12px}.title-name-field{position:relative;display:flex;align-items:center;box-sizing:border-box;border:4px solid #1f4fa8;background:#fffaf0;box-shadow:4px 4px #0e1b3d;font-family:var(--title-font, "Jersey 15", "Courier New", monospace)}.title-name-field:focus-within{outline:3px solid #ffc20e;outline-offset:3px}.title-name-field.invalid{border-color:#d7141e}.title-name-field input{width:100%;height:100%;min-width:0;box-sizing:border-box;border:0;outline:0;border-radius:0;padding:0 12px 0 44px;color:#14213d;caret-color:#d7141e;background:transparent;font:inherit;line-height:normal;-webkit-user-select:text;user-select:text;touch-action:manipulation}.title-name-field input::placeholder{color:#77777d;opacity:1}.title-name-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.title-name-icon{position:absolute;left:11px;top:50%;width:22px;height:26px;transform:translateY(-50%);color:#1f4fa8;pointer-events:none}.title-name-icon:before{content:"";position:absolute;left:7px;top:2px;width:8px;height:8px;background:currentColor}.title-name-icon:after{content:"";position:absolute;left:3px;top:13px;width:16px;height:10px;background:currentColor;clip-path:polygon(4px 0,12px 0,12px 2px,16px 2px,16px 10px,0 10px,0 2px,4px 2px)}.title-access-card{--title-font-scale: 1.3;font-weight:400;font-style:normal;box-sizing:border-box;color:#38261f;font-family:var(--title-font, "Jersey 15", "Courier New", monospace);text-align:center;-webkit-user-select:text;user-select:text}.title-access-card button,.title-access-card input{font-family:inherit;font-weight:400;font-style:normal}.title-access-card:not(.title-guest-root){padding:0;background:transparent;isolation:isolate;overflow:visible}.title-access-frame{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;height:100%;padding:2px 20px 16px;border:0;background:transparent}.title-access-header{position:relative;z-index:1;display:flex;flex:0 0 auto;align-items:center;justify-content:center;align-self:center;gap:10px;box-sizing:border-box;min-height:50px;padding:7px 12px 7px 40px;border:0;color:#fff;background:var(--header-face) center no-repeat;filter:drop-shadow(0 6px 0 #671525)}.title-access-header:before{content:"";position:absolute;z-index:-1;left:8px;right:8px;top:7px;height:4px;background:#ff6757;pointer-events:none}.title-access-header.welcome{flex-direction:column;gap:0;min-height:76px;padding-inline:12px}.title-access-header h2{margin:0;white-space:nowrap;font:var(--title-heading-size, 36px)/1 var(--title-font, "Jersey 15", "Courier New", monospace);text-shadow:2px 2px #671525}.title-access-header p{margin:5px 0 0;font:18px/1 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-home{position:absolute;left:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:29px;height:30px;padding:3px;border:0;color:#fff4d5;background:transparent;cursor:pointer;touch-action:manipulation}.title-access-home:hover{color:#ffc20e}.title-access-home .title-access-icon{width:18px;height:16px}.title-access-icon{width:22px;height:22px;flex:0 0 auto;color:#fff4d5}.title-access-scroll{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:12px 12px 5px;scrollbar-color:#b7893d #fff1cc;scrollbar-width:thin}.title-access-card[data-view=welcome] .title-access-scroll{display:flex;flex-direction:column;justify-content:center}.title-access-actions{display:grid;gap:16px}.title-access-action,.title-access-submit{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-height:42px;border:0;border-radius:0;padding:6px 12px;color:#fff;background:transparent;font:calc(24px * var(--title-font-scale))/1 var(--title-font, "Jersey 15", "Courier New", monospace);cursor:pointer;touch-action:manipulation}.title-access-action:before,.title-access-submit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--button-shine),var(--button-face);background-position:center 8px,center;background-size:calc(100% - 24px) var(--button-shine-height),auto;background-repeat:no-repeat;filter:drop-shadow(0 8px 0 var(--button-shadow-color));pointer-events:none}.title-access-action:active:before,.title-access-submit:active:before{filter:drop-shadow(0 4px 0 var(--button-shadow-color))}.title-access-action{min-height:54px}.title-access-action:hover,.title-access-submit:hover{transform:scale(1.03)}.title-access-action:active,.title-access-submit:active{transform:translateY(4px)}.title-access-action.google{color:#63442b}.title-access-google-mark{font:700 24px/1 Arial,sans-serif;color:#4285f4;background:conic-gradient(#4285f4,#4285f4 90deg,#34a853 90deg,#34a853 160deg,#fbbc05 160deg,#fbbc05 225deg,#ea4335 225deg,#ea4335 300deg,#4285f4 300deg);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.title-access-action.guest{color:#fff}.title-access-form{display:grid;gap:8px;margin:0;text-align:left}.title-access-field{display:grid;gap:1px;min-width:0}.title-access-field>label{color:#63442b;font:calc(16px * var(--title-font-scale))/1.05 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-input-row{position:relative;display:flex;align-items:stretch;box-sizing:border-box;min-width:0;min-height:34px;border:2px solid #1f4fa8;background:#fffaf0;box-shadow:3px 3px #0e1b3d}.title-access-input-row:focus-within{outline:2px solid #ffc20e;outline-offset:2px}.title-access-field.invalid .title-access-input-row{border-color:#d7141e}.title-access-field-icon{display:grid;place-items:center;flex:0 0 28px;align-self:stretch;color:#1f4fa8}.title-access-field-icon .title-access-icon,.title-access-eye .title-access-icon{display:block;width:20px;height:20px;color:inherit;pointer-events:none}.title-access-input-row input{box-sizing:border-box;width:100%;min-width:0;height:30px;border:0;border-radius:0;outline:0;padding:2px 8px;color:#14213d;caret-color:#d7141e;background:transparent;font:calc(20px * var(--title-font-scale))/1 var(--title-font, "Jersey 15", "Courier New", monospace);-webkit-user-select:text;user-select:text;touch-action:manipulation}.title-access-input-row input:focus-visible{outline:0}.title-access-eye{display:grid;place-items:center;padding:0;flex:0 0 35px;border:0;border-left:2px solid #c4a26b;border-radius:0;color:#1f4fa8;background:#f7e9bf;font:inherit;cursor:pointer;touch-action:manipulation}.title-access-steps{margin:0 0 4px;padding:0;list-style:none;counter-reset:step;display:grid;gap:8px}.title-access-steps li{counter-increment:step;display:flex;align-items:center;gap:10px;color:#3d2f1f;font:19px/1.1 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-steps li:before{content:counter(step);flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;color:#fff;background:#d7141e;box-shadow:0 3px #671525;font-size:18px}.title-access-guidance{margin:12px 0;color:#63442b;font:18px/1.2 var(--title-font, "Jersey 15", "Courier New", monospace);text-align:center}.title-access-error,.title-access-hint{display:block;min-height:0;color:#a71627;font:12px/1.05 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-hint{color:#805c38}.title-access-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;margin:1px 0 2px;font:14px/1.1 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-remember{display:inline-flex;align-items:center;gap:4px;color:#63442b;cursor:pointer}.title-access-remember input{width:15px;height:15px;accent-color:#d7141e}.title-access-submit{width:100%;min-height:34px;margin-top:2px}.title-access-submit.green,.title-access-submit.blue{color:#fff}.title-access-footer{margin:14px 0 5px;color:#63442b;font:17px/1.2 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-link{display:inline;border:0;border-radius:0;padding:0;color:#1f4fa8;background:transparent;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;touch-action:manipulation}.title-access-link:hover{color:#d7141e}.title-access-feedback{position:relative;z-index:1;flex:0 0 auto;min-height:0;margin:3px 6px 1px;color:#805c38;font:13px/1.05 var(--title-font, "Jersey 15", "Courier New", monospace)}.title-access-card button:focus-visible,.title-access-link:focus-visible,.title-access-remember input:focus-visible{outline:3px solid #ffc20e;outline-offset:3px}.title-access-action:focus-visible,.title-access-submit:focus-visible{outline-offset:-6px}.title-guest-root{position:relative;box-sizing:border-box;pointer-events:none}.title-guest-root .title-name-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto}.title-guest-back{z-index:2;transform:none;pointer-events:auto}.title-guest-back:focus-visible{outline:3px solid #ffc20e;outline-offset:2px}@media (max-height: 520px) and (orientation: landscape){.title-layout{width:calc(100% - 32px);height:calc(100% - 24px);grid-template-columns:minmax(120px,.85fr) minmax(150px,1fr) minmax(250px,1.45fr);grid-template-rows:76px 76px minmax(100px,1fr) 34px;gap:8px 20px}.title-layout [data-title-region=form]{margin-block:-24px 0}.title-name-field{border-width:3px;box-shadow:3px 3px #0e1b3d}.title-name-field input{padding-left:36px}.title-name-icon{left:7px}.title-access-frame{padding:2px 14px 12px}.title-access-header{min-height:36px;gap:6px;padding:3px 10px 3px 36px}.title-access-header.welcome{min-height:42px}.title-access-header p{font-size:12px}.title-access-icon{width:17px;height:17px}.title-access-scroll{padding:4px 8px 2px}.title-access-actions{gap:14px}.title-access-action,.title-access-submit{min-height:29px;padding:3px 7px;font-size:calc(17px * var(--title-font-scale))}.title-access-action{min-height:35px}.title-access-form{gap:2px}.title-access-field>label{font-size:calc(11px * var(--title-font-scale))}.title-access-input-row{min-height:25px;border-width:2px;box-shadow:2px 2px #0e1b3d}.title-access-input-row input{height:21px;padding:1px 6px;font-size:calc(13px * var(--title-font-scale))}.title-access-field-icon{flex-basis:23px}.title-access-eye{flex-basis:29px}.title-access-field-icon .title-access-icon,.title-access-eye .title-access-icon{width:16px;height:16px}.title-access-guidance{margin:8px 0 6px;font-size:14px}.title-access-steps{gap:5px}.title-access-steps li{gap:8px;font-size:15px}.title-access-steps li:before{width:20px;height:20px;font-size:14px}.title-access-error,.title-access-hint{font-size:10px}.title-access-options{font-size:12px}.title-access-remember input{width:13px;height:13px}.title-access-submit{min-height:28px;margin-bottom:6px}.title-access-footer{margin:5px 0 1px;font-size:12px}.title-access-feedback{margin:2px 4px 0;font-size:10px}}.passport-overlay{position:absolute;z-index:50000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;box-sizing:border-box;padding:clamp(8px,1.5vw,18px);overflow:hidden;color:#49372e;background:#080d1fd6;font-family:var(--passport-font, "Jersey 15", "Courier New", monospace);font-size:18px;font-weight:400;line-height:1.12;touch-action:auto;-webkit-tap-highlight-color:transparent}.passport-overlay,.passport-overlay *{box-sizing:border-box;font-weight:400}.passport-book{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:9px;width:min(1220px,100%);height:min(764px,100%);min-width:0;min-height:0;padding:17px 19px 12px;background:#87372f;box-shadow:inset 0 0 0 4px #5e2927,inset 0 0 0 8px #a7543e,inset 0 0 0 11px #6b302b,0 9px #512322,0 20px #00000047;clip-path:polygon(0 13px,13px 13px,13px 0,calc(100% - 13px) 0,calc(100% - 13px) 13px,100% 13px,100% calc(100% - 13px),calc(100% - 13px) calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,13px calc(100% - 13px),0 calc(100% - 13px))}.passport-spread{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.passport-page{position:relative;display:flex;flex-direction:column;gap:11px;min-width:0;min-height:0;overflow:auto;padding:15px 19px 18px;border:4px solid #ad7c4b;background-color:#fff4d8;box-shadow:inset 0 0 0 2px #efdcae,4px 5px #68362d;scrollbar-color:#ad7933 #f9e7b8;scrollbar-width:thin;overscroll-behavior:contain;touch-action:pan-y}.passport-page-profile{border-right:0}.passport-page-achievements{border-left:0}.passport-page:focus-visible{outline:3px solid #1f4fa8;outline-offset:-5px}.passport-ribbon{position:relative;display:flex;min-height:48px;flex:0 0 auto;align-items:center;padding:5px 17px 9px;color:#fff8e7;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 5px 0 var(--passport-shadow, #6f302c))}.passport-ribbon h2{position:relative;margin:0;font-size:clamp(24px,2.4vw,32px);line-height:.95;text-shadow:2px 2px 0 #7c1d28}.passport-profile{display:flex;min-width:0;align-items:center;gap:17px;padding:2px 1px 4px}.passport-portrait{display:block;width:96px;height:106px;flex:0 0 auto;image-rendering:pixelated;background:#bceaf2;border:4px solid #fff9e8;box-shadow:0 0 0 4px #a5784a,4px 6px #805735;clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}.passport-identity{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.passport-player-name{max-width:100%;margin:0;overflow-wrap:anywhere;color:#50352a;font-size:clamp(23px,2.4vw,31px);line-height:1}.passport-role{max-width:100%;overflow:hidden;padding:3px 9px 4px;color:#fff;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 3px 0 var(--passport-shadow, #14346d));font-size:18px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.passport-level{color:#79573c;font-size:17px}.passport-xp{display:grid;flex:0 0 auto;gap:7px;padding:9px 12px 10px;border:0;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 4px 0 var(--passport-shadow, #80531f))}.passport-xp-top,.passport-section-heading{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:10px}.passport-xp-label{color:#74563a;font-size:17px}.passport-xp-total{color:#6e351f;font-size:22px}.passport-progress{height:15px;overflow:hidden;border:3px solid #6f482e;background:#d6bd8d;box-shadow:inset 0 0 0 2px #fff0c1,2px 3px #805735;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.passport-progress-fill{display:block;height:100%;background:#2588d2;box-shadow:inset 0 3px #66c9ed}.passport-progress-label{color:#76583b;font-size:15px}.passport-section-heading{padding:2px 1px 5px;border-bottom:4px solid #d6bd8d}.passport-section-heading h3{margin:0;color:#70422d;font-size:21px;line-height:1}.passport-stars-total,.passport-achievement-count{color:#815c38;font-size:16px;text-align:right}.passport-houses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:0 0 auto;gap:6px;margin:-4px 0 0;padding:0;list-style:none}.passport-house{display:flex;flex-direction:column;min-width:0;min-height:130px;align-items:center;justify-content:center;gap:5px;padding:8px 3px;border:0;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 4px 0 #805735);text-align:center}.passport-house-emblem{display:block;width:48px;height:48px;image-rendering:pixelated}.passport-house-details{display:flex;min-width:0;flex-direction:column;gap:2px}.passport-house-name{max-width:100%;overflow:hidden;color:#523c2d;font-size:17px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.passport-house-xp{color:#806345;font-size:15px}.passport-house-stars{display:flex;align-items:center;gap:1px}.passport-star-icon{display:block;width:18px;height:18px;image-rendering:pixelated}.passport-spine{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;margin:-1px;background:#633b2f;border-right:4px solid #c28d48;border-left:4px solid #c28d48;box-shadow:inset 4px 0 #80513b,inset -4px 0 #3a2926}.passport-ring{display:block;width:21px;height:11px;flex:0 0 auto;border:4px solid #e7bc62;border-radius:0;background:#85603a;box-shadow:0 3px #3d2824,inset 0 2px #fff0a7;clip-path:polygon(0 3px,3px 3px,3px 0,calc(100% - 3px) 0,calc(100% - 3px) 3px,100% 3px,100% calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 3px),0 calc(100% - 3px))}.passport-achievement-heading{flex:0 0 auto}.passport-achievements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;margin:-4px 0 0;padding:0;list-style:none}.passport-achievement{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);min-width:0;min-height:80px;align-items:center;gap:8px;padding:8px 8px 7px;border:0;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 4px 0 var(--passport-shadow, #595044))}.passport-achievement.is-obtained{color:#513819}.passport-achievement.is-pending{color:#4c473e}.passport-achievement-icon{display:grid;width:40px;height:40px;place-items:center;border:3px solid #9b7044;background:#fff4d8;box-shadow:0 3px #805735;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.passport-achievement.is-obtained .passport-achievement-icon{border-color:#b17b28;background:#fff5cf}.passport-achievement.is-pending .passport-achievement-image{filter:grayscale(1)}.passport-achievement-image{display:block;width:32px;height:32px;image-rendering:pixelated}.passport-secret-icon{color:#705338;background:#e3d3b2;border-style:dashed;font-size:25px}.passport-achievement-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.passport-achievement-name{overflow-wrap:anywhere;color:#583d2d;font-size:20px;line-height:1}.passport-achievement-description{overflow-wrap:anywhere;color:#7b6b57;font-size:16px;line-height:1.05}.passport-achievement-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.passport-achievement.is-obtained:after{position:absolute;top:6px;right:6px;width:12px;height:9px;background:#387b4c;clip-path:polygon(0 3px,3px 3px,3px 5px,5px 5px,5px 3px,7px 3px,7px 1px,9px 1px,9px 0,12px 0,12px 3px,10px 3px,10px 5px,8px 5px,8px 7px,6px 7px,6px 9px,3px 9px,3px 7px,1px 7px,1px 5px,0 5px);content:""}.passport-campus{display:grid;flex:0 0 auto;gap:5px;margin:auto 0 0;padding-top:8px;border-top:4px solid #cba779;text-align:center}.passport-campus-scene{position:relative;display:flex;min-height:94px;align-items:center;justify-content:center;padding:8px 6px 12px;border:4px solid #80613a;background:#d1eef0;box-shadow:inset 0 0 0 3px #fff0c1,0 4px #805735;clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px))}.passport-campus-scene:after{position:absolute;z-index:0;right:4px;bottom:4px;left:4px;height:9px;background:#769449;content:"";pointer-events:none}.passport-campus-houses{position:relative;z-index:1;display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:3px;margin:0;padding:0;list-style:none}.passport-campus-house{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:end;gap:2px;padding:3px 1px 0;color:#49372e;background:#fff4d8;box-shadow:0 3px #805735;clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.passport-campus-house[data-visited=true]{box-shadow:inset 0 0 0 2px #9b7044,inset 0 4px 0 var(--house-color, #d7141e),0 3px #805735}.passport-campus-house[data-visited=false]{color:#5b554d;background:#d8d1c1;box-shadow:inset 0 0 0 2px #71695d,inset 0 4px #81796d,0 3px #595044}.passport-campus-house-image{display:block;max-width:100%;image-rendering:pixelated;image-rendering:crisp-edges}.passport-campus-house-name{max-width:100%;overflow:hidden;font-size:14px;line-height:.95;overflow-wrap:anywhere;text-overflow:ellipsis}.passport-campus-house-status{font-size:12px;line-height:1}.passport-campus-legend{color:#5b554d;font-size:13px;line-height:1}.passport-campus figcaption{color:#745735;font-size:16px}.passport-achievement.is-obtained .passport-achievement-status{color:#fff7dc;background:#89611d}.passport-footer{display:flex;min-height:42px;align-items:center;justify-content:center}.passport-close{position:relative;min-width:132px;min-height:40px;padding:4px 22px 6px;border:0;color:#fff;background-color:transparent;background-image:var(--passport-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 5px 0 var(--passport-shadow, #112957));font:inherit;font-size:22px;cursor:pointer;touch-action:manipulation}.passport-close:hover{transform:translateY(-1px);filter:brightness(1.08) drop-shadow(0 6px 0 var(--passport-shadow, #112957))}.passport-close:active{transform:translateY(3px);filter:drop-shadow(0 2px 0 var(--passport-shadow, #112957))}.passport-close:focus-visible{outline:4px solid #f8b826;outline-offset:3px}@media (max-height: 500px) and (min-width: 641px){.passport-overlay{padding:7px}.passport-book{gap:6px;padding:10px 12px 8px}.passport-spread{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.passport-page{gap:7px;padding:8px 11px 12px}.passport-ribbon{min-height:37px;padding:4px 12px}.passport-ribbon h2{font-size:24px}.passport-profile{gap:11px}.passport-portrait{width:72px;height:80px}.passport-player-name{font-size:23px}.passport-identity{gap:3px}.passport-role{padding:2px 7px 3px;font-size:16px}.passport-level{font-size:15px}.passport-xp{gap:4px;padding:5px 9px 6px}.passport-xp-label{font-size:15px}.passport-xp-total{font-size:19px}.passport-progress{height:12px}.passport-progress-label{font-size:14px}.passport-section-heading h3{font-size:19px}.passport-stars-total,.passport-achievement-count{font-size:14px}.passport-houses{gap:4px}.passport-house{min-height:108px;gap:4px;padding:5px 3px}.passport-house-emblem{width:34px;height:34px}.passport-house-name{font-size:16px}.passport-house-xp{font-size:14px}.passport-house-stars{gap:0}.passport-star-icon{width:17px;height:17px}.passport-achievements{gap:5px}.passport-achievement{grid-template-columns:33px minmax(0,1fr);min-height:82px;gap:6px;padding:6px 5px}.passport-achievement-icon{width:32px;height:32px}.passport-achievement-image{width:26px;height:26px}.passport-achievement-name{font-size:18px}.passport-achievement-description{font-size:15px}.passport-campus-scene{min-height:84px}.passport-campus figcaption{font-size:14px}.passport-footer{min-height:33px}.passport-close{min-width:106px;min-height:31px;padding:2px 17px 3px;font-size:18px}}@media (max-width: 900px){.passport-book,.passport-page{padding-right:12px;padding-left:12px}.passport-houses{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.passport-overlay{padding:6px}.passport-book{gap:6px;padding:10px 8px 7px}.passport-spread{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.passport-page{gap:7px;padding:8px 8px 12px}.passport-ribbon{min-height:38px;padding:4px 9px}.passport-ribbon h2{font-size:clamp(19px,5vw,25px)}.passport-profile{gap:8px}.passport-portrait{width:55px;height:61px;border-width:2px}.passport-identity{gap:3px}.passport-player-name{font-size:clamp(18px,4.7vw,23px)}.passport-role{max-width:100%;padding:2px 5px;font-size:15px}.passport-level{font-size:14px}.passport-xp{gap:4px;padding:5px 6px}.passport-xp-top{gap:4px}.passport-xp-label{font-size:14px}.passport-xp-total{font-size:17px;white-space:nowrap}.passport-progress{height:11px}.passport-progress-label{font-size:13px}.passport-section-heading{gap:4px}.passport-section-heading h3{font-size:17px}.passport-stars-total,.passport-achievement-count{font-size:12px}.passport-houses{gap:4px}.passport-house{min-height:98px;gap:4px;padding:4px 3px}.passport-house-emblem{width:29px;height:29px}.passport-house-name{font-size:14px}.passport-house-xp{font-size:12px}.passport-house-stars{gap:0}.passport-star-icon{width:14px;height:14px}.passport-achievements{gap:5px}.passport-achievement{grid-template-columns:26px minmax(0,1fr);min-height:91px;gap:4px;padding:5px 4px}.passport-achievement-icon{width:25px;height:25px}.passport-achievement-image{width:21px;height:21px}.passport-secret-icon{font-size:19px}.passport-achievement-copy{gap:3px}.passport-achievement-name{font-size:14px}.passport-achievement-description,.passport-achievement-status{font-size:12px}.passport-footer{min-height:31px}.passport-close{min-width:93px;min-height:30px;padding:2px 13px 3px;font-size:18px}}@media (prefers-reduced-motion: reduce){.passport-close{transition:none}}.ranking-overlay{position:absolute;z-index:50000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;box-sizing:border-box;padding:clamp(8px,1.5vw,20px);overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(255,210,117,.17) 0 2px,transparent 3px),radial-gradient(circle at 83% 72%,rgba(255,210,117,.13) 0 2px,transparent 3px),#070c1dc7;color:#3b2a31;font-family:var(--ranking-font, "Jersey 15", "Courier New", monospace);font-size:18px;line-height:1.1;touch-action:auto;-webkit-tap-highlight-color:transparent}.ranking-overlay,.ranking-overlay *{box-sizing:border-box}.ranking-window{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(1160px,100%);height:min(748px,100%);min-width:0;min-height:0;padding:clamp(14px,2.1vw,28px) clamp(14px,2.5vw,32px) clamp(12px,1.8vw,22px);background-color:#fff0ce;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 10px 0 var(--ranking-shadow, #641e2c)) drop-shadow(0 18px 24px rgba(0,0,0,.32))}.ranking-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:18px}.ranking-heading-block{min-width:0}.ranking-title{position:relative;display:inline-flex;min-height:56px;align-items:center;gap:12px;padding:6px 20px 7px 12px;color:#fff7dd;background-color:#d7141e;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 5px 0 var(--ranking-shadow, #76202e))}.ranking-title:before{position:absolute;top:8px;right:12px;left:12px;height:4px;background:#ffda80a6;content:"";pointer-events:none}.ranking-title h2{position:relative;margin:0;font-size:clamp(30px,3.1vw,42px);font-weight:400;line-height:.95;text-shadow:2px 2px 0 #8b1825}.ranking-trophy{position:relative;z-index:1;width:34px;height:34px;flex:0 0 auto;fill:#ffce45;filter:drop-shadow(2px 2px 0 #9b6121)}.ranking-subtitle{margin:9px 0 0 5px;color:#765d48;font-size:17px}.ranking-meta{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:9px}.ranking-mode,.ranking-local{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:5px 14px;background-color:#ffd56a;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 3px 0 var(--ranking-shadow, #886126));white-space:nowrap}.ranking-mode{min-width:92px;color:#623c21;font-size:20px}.ranking-local{color:#fff;font-size:17px}.ranking-content{display:grid;min-width:0;min-height:0;grid-template-columns:minmax(270px,.82fr) minmax(0,1.38fr);gap:16px}.ranking-podium-panel{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:14px 12px 12px;background-color:#ffe6b0;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 4px 0 var(--ranking-shadow, #a47535))}.ranking-podium-panel h3,.ranking-table-caption h3{margin:0;color:#7c3030;font-size:24px;font-weight:400}.ranking-podium-panel h3{padding-left:4px}.ranking-podium{display:grid;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr);align-items:end;gap:6px}.ranking-place{position:relative;display:flex;min-width:0;align-items:center;flex-direction:column;gap:4px;height:83%;padding:12px 5px 28px;overflow:hidden;color:#493224;background-color:#7395c7;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 3px 0 var(--ranking-shadow, #344c70));text-align:center}.ranking-place[data-position="1"]{height:100%}.ranking-place[data-position="3"]{height:72%}.ranking-place[data-ranking-skin=first]{background-color:#ffc20e}.ranking-place[data-ranking-skin=third]{background-color:#d7784a;color:#fff1cf}.ranking-place-rank{position:relative;z-index:1;align-self:flex-start;padding:1px 5px;color:#fff8df;background:#302a3ac7;font-size:17px}.ranking-portrait{display:block;width:64px;height:90px;flex:0 0 auto;margin-top:auto;image-rendering:pixelated;image-rendering:crisp-edges;filter:drop-shadow(0 2px 0 rgba(50,38,31,.45))}.ranking-place[data-position="1"] .ranking-portrait{width:76px;height:106px}.ranking-place-name,.ranking-place-detail,.ranking-place-xp{position:relative;z-index:1;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-place-name{font-size:19px;font-weight:400;line-height:1}.ranking-place-detail{color:#603e36;font-size:15px}.ranking-place-xp{font-size:15px}.ranking-place-base{position:absolute;right:5px;bottom:0;left:5px;display:grid;height:24px;place-items:center;color:#4a3321b8;border-top:3px solid rgba(255,244,206,.6);background:#fff1c680;font-size:18px}.ranking-place.vacant{justify-content:flex-start;padding-top:12px;color:#64584d;filter:grayscale(.35) opacity(.77)}.ranking-place.vacant .ranking-place-base{color:#65574e}.ranking-place-vacancy{margin:auto 0;font-size:16px}.ranking-table-panel{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:2px 0 0}.ranking-table-caption{display:flex;min-height:35px;align-items:center;justify-content:space-between;gap:10px;padding:0 8px}.ranking-table-caption span{color:#866c4b;font-size:16px}.ranking-scroll{min-width:0;min-height:0;overflow:auto;padding:0 7px 5px 2px;border:2px solid rgba(170,123,53,.5);background:#fff9e5c4;overscroll-behavior:contain;scrollbar-color:#ad7933 #ffe7ac;scrollbar-width:thin;touch-action:pan-y}.ranking-scroll:focus-visible{outline:3px solid #1f4fa8;outline-offset:2px}.ranking-table{width:100%;border-collapse:separate;border-spacing:0 4px;table-layout:fixed;color:#493b32;font-size:18px}.ranking-table thead th{position:sticky;z-index:2;top:0;padding:8px 7px;color:#6e4429;background:#f6dca2;border-bottom:3px solid #bd8738;font-size:17px;font-weight:400;text-align:left}.ranking-table thead th:first-child{width:64px;text-align:center}.ranking-table thead th:nth-child(3){width:174px}.ranking-table thead th:last-child{width:88px;text-align:right}.ranking-table tbody tr:not(.ranking-empty-row){height:47px;background-color:#fff3d5;box-shadow:0 2px #976a2f2e}.ranking-table tbody tr[data-current=true]{color:#fff;background-color:#2e66bf;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 2px 0 var(--ranking-shadow, #18376a))}.ranking-table tbody th,.ranking-table tbody td{min-width:0;padding:5px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-position{color:#855e36;font-size:19px;text-align:center}.ranking-table tr[data-current=true] .ranking-position{color:#ffdf7e}.ranking-name-cell{position:relative;padding-right:42px!important}.ranking-player-name,.ranking-role{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-player-name{font-size:19px;line-height:1}.ranking-role{margin-top:2px;color:#8d7356;font-size:14px;line-height:1}.ranking-table tr[data-current=true] .ranking-role{color:#d9e6ff}.ranking-you{position:absolute;top:50%;right:6px;transform:translateY(-50%);color:#58330c;background:#ffdc71;padding:2px 5px;font-size:14px}.ranking-level{color:#684d35}.ranking-table tr[data-current=true] .ranking-level,.ranking-table tr[data-current=true] .ranking-xp{color:#fff}.ranking-xp{color:#87492c;font-size:19px;text-align:right}.ranking-empty-row td{padding:44px 12px;color:#806746;text-align:center;white-space:normal}.ranking-empty-row strong,.ranking-empty-row span{display:block}.ranking-empty-row strong{margin-bottom:8px;color:#7c3030;font-size:24px;font-weight:400}.ranking-footer{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:18px;padding:8px 4px 0;border-top:2px dashed rgba(169,117,52,.55)}.ranking-footer p{margin:0;color:#785740;font-size:18px}.ranking-close{position:relative;min-width:126px;min-height:42px;padding:5px 18px;border:0;color:#fff;background-color:#1f4fa8;background-image:var(--ranking-face);background-position:center;background-repeat:no-repeat;background-size:100% 100%;filter:drop-shadow(0 5px 0 var(--ranking-shadow, #112957));font:inherit;font-size:22px;cursor:pointer;touch-action:manipulation}.ranking-close:hover{transform:translateY(-1px);filter:brightness(1.08) drop-shadow(0 6px 0 var(--ranking-shadow, #112957))}.ranking-close:active{transform:translateY(3px);filter:drop-shadow(0 2px 0 var(--ranking-shadow, #112957))}.ranking-close:focus-visible{outline:4px solid #f8b826;outline-offset:4px}@media (max-height: 500px) and (min-width: 641px){.ranking-overlay{padding:6px}.ranking-window{gap:7px;padding:9px 14px 8px}.ranking-header{gap:9px}.ranking-title{min-height:40px;gap:7px;padding:4px 11px 4px 7px}.ranking-title h2{font-size:30px}.ranking-trophy{width:25px;height:25px}.ranking-subtitle{display:none}.ranking-meta{flex-direction:row;gap:7px}.ranking-mode,.ranking-local{min-height:30px;padding:4px 9px;font-size:16px}.ranking-content{grid-template-columns:minmax(178px,.62fr) minmax(0,1.7fr);gap:9px}.ranking-podium-panel{gap:3px;padding:6px 6px 7px}.ranking-podium-panel h3,.ranking-table-caption h3{font-size:19px}.ranking-podium{gap:3px}.ranking-place{height:78%;gap:2px;padding:5px 3px 19px}.ranking-place[data-position="1"]{height:100%}.ranking-place[data-position="3"]{height:65%}.ranking-place-rank{font-size:14px}.ranking-portrait,.ranking-place[data-position="1"] .ranking-portrait{width:36px;height:50px}.ranking-place-name{font-size:15px}.ranking-place-detail,.ranking-place-vacancy,.ranking-place-xp{font-size:12px}.ranking-place-base{height:17px;font-size:14px}.ranking-table-panel{gap:2px}.ranking-table-caption{min-height:24px}.ranking-table-caption span{font-size:13px}.ranking-scroll{padding:0 4px 3px 2px}.ranking-table{border-spacing:0 2px;font-size:15px}.ranking-table thead th{padding:4px 5px;font-size:14px}.ranking-table thead th:first-child{width:42px}.ranking-table thead th:nth-child(3){width:130px}.ranking-table thead th:last-child{width:62px}.ranking-table tbody tr:not(.ranking-empty-row){height:34px}.ranking-table tbody th,.ranking-table tbody td{padding:3px 5px}.ranking-position,.ranking-player-name,.ranking-xp{font-size:16px}.ranking-role{font-size:11px}.ranking-name-cell{padding-right:34px!important}.ranking-you{right:4px;padding:1px 3px;font-size:11px}.ranking-footer{min-height:32px;flex-direction:row;gap:12px;padding-top:4px}.ranking-footer p{font-size:15px}.ranking-close{min-width:88px;min-height:30px;padding:3px 12px;font-size:18px}}@media (max-width: 640px){.ranking-overlay{padding:7px}.ranking-window{gap:8px;padding:12px 12px 10px}.ranking-header{align-items:flex-start;gap:8px}.ranking-title{min-height:44px;gap:7px;padding:4px 11px 4px 7px}.ranking-title h2{font-size:clamp(25px,7vw,34px)}.ranking-trophy{width:27px;height:27px}.ranking-subtitle{display:none}.ranking-meta{flex-direction:column;align-items:flex-end;gap:6px}.ranking-mode,.ranking-local{min-height:27px;padding:4px 8px;font-size:14px}.ranking-mode{min-width:70px}.ranking-local{max-width:44vw;overflow:hidden;text-overflow:ellipsis}.ranking-content{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(118px,.32fr) minmax(0,1fr);gap:8px}.ranking-podium-panel{gap:2px;padding:5px 6px 6px}.ranking-podium-panel h3,.ranking-table-caption h3{font-size:18px}.ranking-podium{gap:5px}.ranking-place,.ranking-place[data-position="1"],.ranking-place[data-position="3"]{display:flex;height:100%;align-items:center;flex-direction:column;justify-content:center;gap:1px;padding:4px 3px 18px;transform:none}.ranking-place-rank{position:absolute;top:4px;left:4px;padding:1px 3px;font-size:12px}.ranking-portrait,.ranking-place[data-position="1"] .ranking-portrait{width:30px;height:42px;margin-top:4px}.ranking-place-name{padding-left:0;font-size:14px}.ranking-place-detail,.ranking-place-xp{display:none}.ranking-place-vacancy{font-size:12px}.ranking-place-base{height:15px;font-size:13px}.ranking-table-panel{gap:2px}.ranking-table-caption{min-height:24px;padding:0 4px}.ranking-table-caption span{font-size:13px}.ranking-scroll{padding:0 3px 4px 1px}.ranking-table{border-spacing:0 2px;font-size:14px}.ranking-table thead th{padding:5px 4px;font-size:14px}.ranking-table thead th:first-child{width:41px}.ranking-table thead th:nth-child(3){width:100px}.ranking-table thead th:last-child{width:52px}.ranking-table tbody tr:not(.ranking-empty-row){height:37px}.ranking-table tbody th,.ranking-table tbody td{padding:3px 4px}.ranking-position,.ranking-player-name,.ranking-xp{font-size:17px}.ranking-role{display:none}.ranking-name-cell{padding-right:31px!important}.ranking-you{right:3px;padding:1px 3px;font-size:11px}.ranking-level{font-size:13px}.ranking-empty-row td{padding:24px 8px}.ranking-empty-row strong{font-size:20px}.ranking-footer{min-height:35px;gap:8px;padding-top:5px}.ranking-footer p{font-size:14px}.ranking-close{min-width:78px;min-height:30px;padding:3px 10px;font-size:17px}}@media (max-width: 380px){.ranking-window{padding-right:9px;padding-left:9px}.ranking-title h2{font-size:24px}.ranking-trophy{width:23px;height:23px}.ranking-local{max-width:42vw;font-size:12px}.ranking-table thead th:nth-child(3){width:86px}.ranking-table thead th:last-child{width:45px}.ranking-footer p{max-width:62%;font-size:12px}}
