/* The public account pages use only their own artwork. */
:root {
  color-scheme:dark;
  --ink:#352a18;
  --forest:#103324;
  --forest-deep:#09251b;
  --cream:#fff0c8;
  --gold:#e7bd6b;
  --brass:#a27e41;
  --rule:#91783f;
  --serif:Georgia,'Times New Roman',serif;
}
* {box-sizing:border-box;}
html {min-height:100%;background:#071b12;}
body {margin:0;color:var(--cream);font:14px/1.4 'Segoe UI',Arial,sans-serif;}
.gate-page {min-height:100vh;background:radial-gradient(ellipse at 50% 4%,#254730 0,#112e20 48%,#081d14 90%);}
.gate-wrap {max-width:1586px;margin:auto;padding-bottom:env(safe-area-inset-bottom);}
.gate-defs {position:absolute;pointer-events:none;}
img,svg {display:block;max-width:100%;}
a {color:inherit;text-decoration:none;}
button,input {font:inherit;}
:focus-visible {outline:3px solid #ffe39a;outline-offset:2px;}
.gate-skip {position:fixed;z-index:9;inset:4px auto auto 8px;padding:8px 13px;color:var(--ink);background:#fff1ca;transform:translateY(-160%);}
.gate-skip:focus {transform:none;}
.gate-header {position:relative;background:var(--forest-deep);border-bottom:2px solid #8b703c;}
.gate-masthead {position:relative;display:flex;align-items:center;height:clamp(66px,5vw,82px);padding-inline:clamp(19px,4.5vw,78px);background:linear-gradient(90deg,#071e15f7 0%,#0b291ae6 11%,#0d2b1db5 21%,transparent 39%),url('gate-skyline.webp') 55% 47% / cover no-repeat;}
.gate-brand {display:inline-flex;align-items:center;gap:7px;min-height:44px;min-width:0;max-width:100%;text-shadow:0 2px 3px #06180e;}
.gate-brand img {flex:none;width:clamp(40px,3.6vw,54px);height:auto;filter:drop-shadow(0 2px 2px #07190a);}
.gate-brand span {min-width:0;}
.gate-brand strong,.gate-brand small {display:block;overflow-wrap:anywhere;}
.gate-brand strong {font:700 clamp(26px,2.35vw,36px)/1 var(--serif);color:#ffe3a0;}
.gate-brand small {margin-top:1px;color:#ffedc3;font:clamp(12px,.95vw,14px)/1.15 var(--serif);}
.gate-nav {position:relative;display:flex;align-items:center;gap:3px;min-height:39px;padding:2px clamp(9px,4.4vw,78px);background:linear-gradient(90deg,#0c2519,#163b28 42%,#0a251b);border-top:1px solid #a88c4e;}
.gate-nav::after {content:'';position:absolute;right:1%;bottom:-7px;height:43px;width:53px;background:url('gate-leaves.webp') center/contain no-repeat;pointer-events:none;}
.gate-nav a,.gate-primary,.gate-account .wg-button,.wg-register-form button,.gate-join a {
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;
  padding:5px 12px;max-width:100%;border:0;color:var(--cream);
  background:linear-gradient(145deg,#c29b51,#fae2a2 18%,#84602c 45%,#73522a 69%,#e7c57c 90%);
  font:700 14px/1.2 var(--serif);cursor:pointer;text-align:center;
  clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);
}
.gate-nav a::before,.gate-primary::before,.gate-account .wg-button::before,.wg-register-form button::before,.gate-join a::before {
  content:'';position:absolute;z-index:-1;inset:2px;background:linear-gradient(#244b32,#0b2a1f 78%);clip-path:inherit;box-shadow:inset 0 0 0 1px #dfc17a48;
}
.gate-nav .wg-icon,.gate-primary .wg-icon,.gate-panel-title svg {width:17px;height:17px;flex:none;color:var(--gold);}
.gate-nav a {min-width:clamp(96px,8.8vw,136px);font-weight:400;}
.gate-nav a[aria-current=page]::before,.gate-nav a:hover::before {background:linear-gradient(#9a712c,#553813 72%);box-shadow:inset 0 0 0 1px #e4b860;}
.gate-nav a[aria-current=page] {color:#fff5ce;}
.gate-nav a:focus-visible,.gate-primary:focus-visible,.gate-account .wg-button:focus-visible,.wg-register-form button:focus-visible,.gate-join a:focus-visible {background:#fff4ce;}
.gate-board {display:grid;grid-template-columns:minmax(205px,.94fr) minmax(0,2.43fr) minmax(267px,1fr);grid-template-areas:'classes world account';align-items:start;gap:clamp(6px,.55vw,9px);padding:7px clamp(5px,.55vw,10px) 0;}
.gate-world {grid-area:world;display:grid;gap:5px;min-width:0;}
.gate-rim {position:relative;isolation:isolate;min-width:0;border:2px solid #a68245;background-color:var(--forest-deep);box-shadow:inset 0 0 0 1px #ebcc82,0 0 0 1px #4a3c22,0 2px 6px #0005;}
.gate-rim::before,.gate-rim::after,.gate-atlas picture::before,.gate-atlas picture::after {
  content:'';position:absolute;z-index:3;pointer-events:none;width:var(--ornament,32px);aspect-ratio:86/83;background:url('gate-corner.webp') center/contain no-repeat;
}
.gate-rim::before {inset:-2px auto auto -2px;}
.gate-rim::after {inset:auto -2px -2px auto;transform:rotate(180deg);}
.gate-atlas {--ornament:clamp(32px,3.35vw,55px);aspect-ratio:16/9;margin:0;}
.gate-atlas picture {display:block;position:absolute;inset:0;}
.gate-atlas picture::before {inset:-2px -2px auto auto;transform:scaleX(-1);}
.gate-atlas picture::after {inset:auto auto -2px -2px;transform:scaleY(-1);}
.gate-atlas__scene {width:100%;height:100%;object-fit:cover;}
.gate-plaque {position:absolute;z-index:4;top:-5px;left:50%;transform:translateX(-50%);margin:0;width:max-content;max-width:86%;text-align:center;color:#ffedb3;font:700 clamp(18px,1.75vw,28px)/1.15 var(--serif);text-shadow:0 2px 2px #041b11;filter:drop-shadow(0 2px 2px #192318bb);}
.gate-plaque span {position:relative;isolation:isolate;display:block;padding:3px clamp(16px,2vw,29px) 4px;background:linear-gradient(#f5d79a,#957139 38%,#8d6936 66%,#e8bf76);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);}
.gate-plaque span::before {content:'';position:absolute;z-index:-1;inset:2px;clip-path:inherit;background:linear-gradient(#214533,#0a291f 72%);}
.gate-plaque::before,.gate-plaque::after {content:'';position:absolute;top:-4px;width:28px;height:calc(100% + 6px);background:url('gate-leaves.webp') center/contain no-repeat;pointer-events:none;}
.gate-plaque::before {left:-19px;transform:scaleX(-1);}
.gate-plaque::after {right:-19px;}
.gate-rose {position:absolute;z-index:2;top:5%;right:3%;width:clamp(30px,4.1vw,64px);height:auto;color:#e3bf77;filter:drop-shadow(0 2px 2px #2f2516);}
.gate-caption,.gate-paper,.gate-join {color:var(--ink);background:radial-gradient(ellipse at 46% 35%,#fff1d1,transparent 76%),linear-gradient(110deg,#d6b373,#f6e5bf 18%,#efdbb2 79%,#caab71);}
.gate-caption {--ornament:19px;display:flex;align-items:center;gap:9px;min-height:46px;padding:7px clamp(13px,1.5vw,22px);}
.gate-caption .wg-icon {width:23px;height:23px;color:#8a662d;flex:none;}
.gate-caption p {margin:0;font:clamp(13px,1vw,15px)/1.4 var(--serif);}
.gate-classes,.gate-auth {background:linear-gradient(125deg,#183b2a,#0e2d21 68%,#0a231a);}
.gate-classes {grid-area:classes;padding:0 8px 8px;}
.gate-auth {grid-area:account;}
.gate-panel-title {position:relative;display:flex;align-items:center;gap:7px;padding:6px 13px;margin:0;min-height:36px;color:#ffe9ae;background:linear-gradient(100deg,#1d4431,#0b291d);border-bottom:1px solid #aa8647;font:700 clamp(17px,1.28vw,20px)/1.15 var(--serif);text-shadow:0 2px 2px #081a11;}
.gate-panel-title::after {content:'';position:absolute;right:0;top:-4px;width:36px;height:30px;pointer-events:none;background:url('gate-leaves.webp') right top/contain no-repeat;}
.gate-classes .gate-panel-title {margin-inline:-8px;}
.gate-portrait {display:block;position:relative;margin-top:6px;border:1px solid #7e673b;}
.gate-portrait img {width:100%;height:auto;}
.gate-portrait > span {position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;color:#ffecb4;font:700 16px/1.1 var(--serif);background:linear-gradient(90deg,#133323,#23452d,#102c20);border-top:1px solid #957b41;}
.gate-portrait i,.gate-class-list i {color:var(--gold);font:19px/1 var(--serif);}
.gate-class-list {margin-top:4px;}
.gate-class-list a {display:flex;align-items:center;gap:7px;min-height:33px;padding:2px 9px;border-bottom:1px solid #6c6940;color:#fff0c7;background:linear-gradient(90deg,#1a3a29,#0f2f22);font:14px/1.15 var(--serif);}
.gate-class-list img {width:24px;height:26px;object-fit:contain;}
.gate-class-list i {margin-left:auto;}
.gate-portrait:hover > span,.gate-class-list a:hover {background:#335133;color:#fff6d9;}
.gate-login__body {--form-inset:clamp(12px,1.1vw,17px);padding:var(--form-inset);}
.gate-login__form {display:grid;grid-template-columns:minmax(0,1fr);gap:3px;}
.gate-account label {font-size:14px;font-weight:600;}
.gate-label-row {display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;}
.gate-label-row a {display:inline-flex;align-items:center;min-height:26px;color:#efd080;text-decoration:underline;text-underline-offset:3px;font-size:13px;}
.gate-account input:not([type=hidden],[type=checkbox],[type=radio],[type=submit]),.gate-account select,.gate-account textarea {
  display:block;width:100%;max-width:100%;min-height:36px;padding:5px 8px;border:1px solid #b39859;border-radius:0;color:#fff0cf;background:#071f17;font-size:14px;
  box-shadow:inset 0 1px 4px #0006;
}
.gate-account input:-webkit-autofill {-webkit-text-fill-color:#302818;}
.gate-login__form .gate-primary {justify-self:start;min-width:min(100%,9rem);margin-top:8px;color:#3a260c;text-shadow:0 1px #ffeebb;font-size:16px;}
.gate-primary .wg-icon {color:#51310b;}
.gate-primary::before {background:linear-gradient(#ffecb6,#f3ca70 63%,#ddb052);box-shadow:inset 0 0 0 1px #8b642d;}
.gate-primary:hover::before {background:linear-gradient(#fff2c8,#ffda87 65%,#eabd60);}
.gate-join {margin:12px calc(-1 * var(--form-inset)) calc(-1 * var(--form-inset));padding:8px var(--form-inset);border-top:2px solid #967338;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;}
.gate-join > span {font:14px/1.3 var(--serif);}
.gate-join a span {color:var(--gold);font:18px/1 var(--serif);}
.gate-alert,.gate-account .klaida {margin:0 0 8px;padding:6px 9px;border-left:3px solid #dca769;background:#f6dfbc;color:#622f21;}
.gate-interior {max-width:1000px;margin:10px auto 0;}
.gate-interior__heading {padding:9px clamp(15px,2.2vw,28px);border-bottom:2px solid var(--brass);background:linear-gradient(90deg,#0b291cea 5%,#12312091 65%,#17362426),url('gate-skyline.webp') center/cover;}
.gate-interior__heading h1 {margin:0;color:#ffe6a6;font:700 clamp(21px,2.15vw,29px)/1.17 var(--serif);text-shadow:0 2px 2px #081810;}
.gate-paper {color-scheme:light;min-width:0;padding:clamp(12px,1.9vw,25px);}
.gate-paper h2,.gate-paper .title:not(input) {margin:0;color:#243a26;font:700 clamp(18px,1.7vw,23px)/1.19 var(--serif);}
.gate-paper p {margin:5px 0 9px;}
.gate-paper a:not(.wg-button,.wg-choice-option) {color:#315234;text-decoration:underline;text-underline-offset:3px;}
.gate-paper .wg-panel__body,.gate-paper .meniuc,.gate-paper .meniu {padding:5px 0;}
.gate-paper input:not([type=hidden],[type=checkbox],[type=radio],[type=submit]) {color:var(--ink);background:#fff8e5;box-shadow:inset 0 1px 3px #92753821;}
.gate-paper :focus-visible {outline-color:#855a20;}
.wg-choice-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:8px 0;}
.wg-choice-grid:has(>:nth-child(2):last-child) {grid-template-columns:repeat(2,minmax(0,195px));}
.wg-choice-option {display:grid;align-content:end;justify-items:center;gap:4px;min-width:0;padding:6px 4px;border:1px solid #a4844b;color:#ffe4a9;background:radial-gradient(ellipse at 48% 78%,#446840,#163c28 70%,#0e281a);}
.wg-choice-option:hover {background:#345638;}
.wg-choice-option img {width:100%;height:clamp(65px,8.2vw,108px);object-fit:contain;}
.wg-choice-option strong {text-align:center;font:700 14px/1.25 var(--serif);overflow-wrap:anywhere;}
.wg-register-form {display:grid;gap:5px;max-width:30rem;margin-top:8px;}
.wg-register-form small {color:#675238;font-weight:400;}
.wg-register-form img {height:auto;justify-self:start;}
.wg-register-form button {justify-self:start;margin-top:5px;}
.rg-return-links {display:flex;flex-wrap:wrap;gap:5px 10px;padding-top:5px;margin-top:9px;border-top:1px solid #c4ac73;}
.rg-return-links a {display:inline-flex;align-items:center;min-height:34px;}
@media (min-width:721px) and (max-width:1099px) {
  .gate-board {grid-template-columns:minmax(0,1.8fr) minmax(264px,1fr);grid-template-areas:'world account' 'classes classes';}
  .gate-classes {display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:8px 16px;}
  .gate-classes .gate-panel-title {grid-column:1/-1;}
  .gate-portrait {margin:0;}
  .gate-class-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 9px;}
  .gate-class-list a {min-height:40px;}
  .gate-interior {margin-inline:8px;}
}
@media (max-width:720px) {
  .gate-wrap {max-width:640px;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);}
  .gate-masthead {height:56px;padding:0 14px;background-image:linear-gradient(90deg,#09291cf7 0%,#0a291de8 30%,#0b291dbb 49%,#0b291d22 70%,transparent),url('gate-skyline.webp');background-position:center,60% center;}
  .gate-brand {gap:7px;}
  .gate-brand img {width:36px;}
  .gate-brand strong {font-size:25px;}
  .gate-brand small {font-size:12px;}
  .gate-nav {gap:3px;padding:1px 5px;min-height:42px;}
  .gate-nav a {flex:1 1 auto;min-width:0;gap:4px;font-size:13px;padding:4px;}
  .gate-nav .wg-icon {width:16px;height:16px;}
  .gate-nav::after {display:none;}
  .gate-board {grid-template-columns:minmax(0,1fr);grid-template-areas:'world' 'account' 'classes';gap:6px;padding:6px 6px 0;}
  .gate-world {gap:0;}
  .gate-atlas {--ornament:30px;aspect-ratio:2.22;max-height:254px;}
  .gate-atlas__scene {object-position:50% 4%;}
  .gate-plaque {font-size:18px;top:-5px;}
  .gate-plaque span {padding:3px 19px 4px;}
  .gate-rose {width:33px;}
  .gate-caption {display:none;}
  .gate-login__body {--form-inset:12px;}
  .gate-panel-title {min-height:34px;padding:5px 12px;font-size:17px;}
  .gate-label-row {margin-top:2px;}
  .gate-login__form .gate-primary {margin-top:5px;}
  .gate-join {margin-top:9px;padding-block:5px;}
  .gate-join a {padding-inline:11px;}
  .gate-classes {display:grid;grid-template-columns:minmax(90px,.84fr) minmax(0,1.16fr);gap:5px 8px;}
  .gate-classes .gate-panel-title {grid-column:1/-1;}
  .gate-portrait {align-self:start;margin:0;}
  .gate-class-list {margin:0;}
  .gate-class-list a {min-height:40px;padding:2px 6px;gap:5px;font-size:14px;}
  .gate-class-list img {width:21px;height:24px;}
  .gate-interior {margin:8px 6px 0;}
  .wg-choice-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:420px) {
  .wg-choice-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:720px), (pointer:coarse) {
  .gate-nav a,.gate-primary,.gate-account .wg-button,.wg-register-form button,.gate-join a,
  .gate-label-row a,.gate-class-list a,.rg-return-links a {min-height:40px;}
  .gate-account input:not([type=hidden],[type=checkbox],[type=radio],[type=submit]),.gate-account select,.gate-account textarea {min-height:40px;font-size:16px;}
}
