:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2b2418;background:#efe3c6;font-synthesis:none;--ink: #2b2418;--muted: #756a58;--cream: #f7f0df;--paper: rgba(251, 247, 235, .93);--gold: #b98227;--gold-bright: #e7ba57;--green: #355b45;--green-deep: #183e30;--line: rgba(80, 61, 33, .16);--shadow: 0 22px 60px rgba(58, 42, 22, .2)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid rgba(231,186,87,.72);outline-offset:2px}.app-shell{min-height:100dvh;background:radial-gradient(circle at 10% 8%,rgba(255,255,255,.62),transparent 26rem),linear-gradient(135deg,#f4ead3,#e8dab8 52%,#d9c799)}.topbar{height:74px;padding:0 22px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;border-bottom:1px solid rgba(97,76,43,.18);background:#f9f4e6e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff8df;background:radial-gradient(circle at 36% 30%,#f9d987,#b2761f 65%,#654411);box-shadow:inset 0 0 0 1px #ffffff73,0 8px 22px #724d183d}.brand strong{display:block;font:700 22px/1 Iowan Old Style,Palatino Linotype,Georgia,serif;letter-spacing:.12em}.brand small{display:block;color:var(--muted);margin-top:2px}.topbar-center{display:flex;align-items:center;justify-content:center;gap:8px;color:#685d4d;font-size:12px;letter-spacing:.04em}.live-dot{width:7px;height:7px;border-radius:50%;background:#5d8a69;box-shadow:0 0 0 4px #5d8a691f}.divider-dot{opacity:.5}.top-actions{display:flex;justify-content:flex-end;gap:8px}.ghost-btn,.primary-btn,.secondary-btn,.icon-btn{border:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.ghost-btn{color:#5a4b35;background:transparent;padding:10px 12px;border-radius:11px}.ghost-btn:hover{background:#ffffff8c}.primary-btn,.secondary-btn{border-radius:12px;padding:11px 16px;font-weight:720;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-btn{color:#fffaf0;background:linear-gradient(145deg,#45684f,#234b37);box-shadow:0 9px 22px #1b433033,inset 0 1px #ffffff2e}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px)}.secondary-btn{color:#544731;background:#ffffffab;border:1px solid var(--line)}.primary-btn.full{width:100%;margin-top:14px}.icon-btn{width:34px;height:34px;border-radius:50%;background:#ffffffbd;color:#5f5039;font-size:22px;line-height:1;border:1px solid rgba(90,70,39,.12)}.world-layout{min-height:calc(100dvh - 74px);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;padding:18px}.map-stage{min-height:calc(100dvh - 110px);position:relative;border:1px solid rgba(94,68,33,.18);border-radius:24px;overflow:hidden;background:linear-gradient(#fff8e28f,#e3d0a673),url(/campus-look.jpg) center / cover;box-shadow:var(--shadow)}.transform-wrapper{width:100%!important;height:calc(100dvh - 153px)!important;overflow:hidden!important}.transform-content{width:100%!important;min-height:100%!important;display:flex!important;align-items:center;justify-content:center}.world-board{position:relative;width:min(100%,calc((100dvh - 160px)*.8294));min-width:520px;aspect-ratio:1327 / 1600;overflow:hidden;border-radius:18px;box-shadow:0 18px 48px #322a183b;background:#cbbd94;transform-origin:center}.campus-base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;filter:saturate(.96) contrast(1.03) brightness(1.02)}.sunwash{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,239,192,.08),transparent 38%,rgba(70,48,19,.08));mix-blend-mode:soft-light}.map-tools{position:absolute;left:14px;top:14px;z-index:10;display:flex;flex-direction:column;gap:5px;padding:6px;border-radius:14px;background:#fdf8ebe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #2c221229;border:1px solid var(--line)}.map-tools button{width:36px;height:36px;border:0;border-radius:9px;cursor:pointer;background:#ffffffa6;color:#4c412f;font-weight:800;font-size:18px}.map-tools button:hover{background:#fff}.path-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.path-layer path{fill:none;stroke:transparent;stroke-width:0;vector-effect:non-scaling-stroke;stroke-linecap:round}.path-layer path.is-recent{stroke:#f4be3ef5;stroke-width:2.5;stroke-dasharray:9 5;filter:drop-shadow(0 0 2px rgba(255,210,93,.98)) drop-shadow(0 0 6px rgba(235,164,31,.78));animation:goldPathFlow 2.8s linear infinite,pathPulse 2.4s ease-in-out infinite}@keyframes goldPathFlow{to{stroke-dashoffset:-28}}@keyframes pathPulse{50%{stroke-opacity:.62}}.hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);border:0;cursor:pointer;background:transparent;color:inherit;display:grid;justify-items:center}.place-hotspot .pin-core{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:800 12px/1 Georgia,serif;color:#fff9e8;background:linear-gradient(150deg,#d7ac52,#7f581b);box-shadow:0 0 0 4px #fff4cdb3,0 4px 14px #37270e59;transition:transform .2s ease,filter .2s ease}.place-hotspot:hover .pin-core,.member-hotspot:hover .member-ring{transform:scale(1.1)}.pin-label,.member-name{--label-edge-x: 0%;--label-nudge-x: 0px;--label-nudge-y: 0px;margin-top:5px;max-width:112px;padding:3px 7px;border-radius:999px;background:#faf6e7e0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#3c3426;font-size:9px;font-weight:800;letter-spacing:.02em;white-space:nowrap;box-shadow:0 3px 10px #261d101f;transform:translate(var(--label-edge-x)) translate(var(--label-nudge-x),var(--label-nudge-y))}.edge-left .pin-label,.edge-left .member-name{--label-edge-x: 50%}.edge-right .pin-label,.edge-right .member-name{--label-edge-x: -50%}.map-label-hidden{visibility:hidden!important;pointer-events:none!important}.member-ring{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:2px solid rgba(255,230,157,.95);background:#2a4e38db;box-shadow:0 0 0 4px #fff4d094,0 5px 17px #1e322454;transition:transform .2s ease,filter .2s ease}.member-ring i{width:13px;height:13px;border-radius:50%;background:#efd181;box-shadow:0 0 10px #f0c96c}.hotspot.stage-0 .pin-core,.hotspot.stage-0 .member-ring,.swatch.stage-0,.member-list .stage-0{filter:grayscale(1) sepia(.75) saturate(.3) contrast(.7);opacity:.76}.hotspot.stage-50 .pin-core,.hotspot.stage-50 .member-ring,.swatch.stage-50,.member-list .stage-50{filter:grayscale(.35) sepia(.22) saturate(.7) contrast(.9)}.hotspot.stage-100 .pin-core,.hotspot.stage-100 .member-ring,.swatch.stage-100,.member-list .stage-100{filter:saturate(1.18) contrast(1.04);box-shadow:0 0 16px #ebb74585}.map-caption{position:absolute;bottom:11px;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#fdf9eee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:9px;color:#6a5c48;white-space:nowrap;border:1px solid var(--line)}.map-caption i{width:16px;height:1px;background:linear-gradient(90deg,#8f7648,#d6b054)}.legend-rail{display:flex;flex-direction:column;gap:14px;min-width:0}.panel-surface{background:var(--paper);border:1px solid rgba(95,70,35,.15);box-shadow:0 18px 45px #3428172b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.legend-card{padding:22px;border-radius:22px}.eyebrow{display:block;color:#94702f;font-weight:850;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.legend-card h1,.panel-heading h2,.journey-card h2,.multiverse h1,.realm-card h2{font-family:Iowan Old Style,Palatino Linotype,Georgia,serif}.legend-card h1{font-size:31px;line-height:.99;margin:9px 0 11px;font-weight:600;color:#30291d}.legend-card p,.journey-card p,.detail-panel>p,.multiverse-header p,.realm-card p{color:var(--muted);line-height:1.55}.legend-card p{font-size:13px;margin:0}.legend-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px}.legend-progress div{text-align:center;padding:9px 4px;border:1px solid var(--line);border-radius:12px;background:#ffffff70}.legend-progress b,.legend-progress small{display:block}.legend-progress b{font-size:11px;margin-top:5px}.legend-progress small{font-size:9px;color:var(--muted)}.swatch{display:inline-block;width:24px;height:24px;border-radius:50%;background:linear-gradient(145deg,#d8b45e,#43634a)}.gold-path-key{margin-top:13px;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.gold-path-key span{width:22px;height:3px;border-radius:99px;background:#dca83e;box-shadow:0 0 8px #dfad42}.member-list{border-radius:22px;padding:15px;flex:1;min-height:0;overflow:auto}.section-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 10px}.section-title span{font-weight:850;color:#463b2c;font-size:12px}.section-title small{color:#9a8667;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.member-list button{width:100%;border:0;background:transparent;cursor:pointer;padding:9px 4px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;text-align:left;border-bottom:1px solid rgba(82,64,39,.09)}.member-list button:last-child{border-bottom:0}.member-list button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d9c075,#355a43);color:#fff;font:700 13px Georgia,serif}.member-list strong{display:block;font-size:11px;color:#423829}.member-list small{display:block;color:#8b7c65;font-size:9px;margin-top:2px}.member-list b{font-size:10px;color:#987334}.detail-panel,.journey-card,.command-center{position:fixed;z-index:70;right:20px;bottom:20px;width:min(390px,calc(100vw - 40px));max-height:calc(100dvh - 108px);overflow:auto;border-radius:23px;padding:20px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.panel-heading h2{margin:6px 0 0;font-size:27px;line-height:1;font-weight:600}.detail-panel>p{margin:13px 0;font-size:12px}.place-progress{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#ffffff80;padding:11px;border-radius:15px;margin:11px 0 16px}.progress-seal{width:46px;height:46px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e2c474,#53745a);color:#fff;font:800 11px Georgia,serif;border:3px solid rgba(255,255,255,.7)}.progress-seal.stage-0{filter:grayscale(1) sepia(.75) saturate(.25)}.progress-seal.stage-50{filter:grayscale(.3) sepia(.2)}.progress-seal.stage-100{box-shadow:0 0 18px #daa7387a}.place-progress strong,.place-progress small{display:block}.place-progress strong{font-size:12px}.place-progress small{color:var(--muted);font-size:9px;margin-top:3px}.task-list{display:grid;gap:6px}.task-row{display:grid;grid-template-columns:22px 1fr 28px;gap:7px;align-items:center;border:1px solid rgba(86,68,42,.1);border-radius:12px;padding:9px;background:#ffffff85}.task-row.is-done{opacity:.7}.task-check{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9dfc6;color:#49664f;font-weight:900;font-size:11px}.task-copy strong{display:block;font-size:10px;line-height:1.25;color:#403627}.task-copy small{display:block;font-size:8px;color:#8d7c61;margin-top:2px}.task-link{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;text-decoration:none;color:#7a5d27;background:#dcb96933;border:1px solid rgba(174,126,43,.18)}.quiet-note{margin-top:14px;border-radius:13px;padding:12px;background:#4f695314;color:#6e6555;font-size:10px;line-height:1.45}.journey-card{left:50%;right:auto;transform:translate(-50%);width:min(520px,calc(100vw - 32px));bottom:18px}.journey-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:7px}.journey-card h2{font-size:29px;margin:0;font-weight:600}.journey-title p{margin:3px 0 0;font-size:11px}.journey-card>p{font-size:12px;margin:11px 0 15px}.journey-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.camp-card{padding-top:15px}.camp-visual{height:90px;position:relative;border-radius:17px;overflow:hidden;margin-bottom:13px;background:linear-gradient(180deg,#f0dba5,#769071 65%,#436249)}.camp-visual:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-30px;height:62px;border-radius:50%;background:#31563f}.camp-tent{position:absolute;left:22%;bottom:20px;z-index:2;color:#f2d691;font:900 34px Georgia,serif;text-shadow:0 4px 13px #2b4838}.portal-ring{position:absolute;right:17%;top:11px;width:61px;height:75px;border-radius:50%;border:5px solid #d9b14d;box-shadow:0 0 0 4px #ffeba759,inset 0 0 21px #fff2bb,0 0 26px #efc75c;display:grid;place-items:center;z-index:3;background:radial-gradient(circle,rgba(255,251,214,.88),rgba(95,123,92,.35) 60%,transparent 61%)}.portal-ring i{position:absolute;inset:7px;border:1px dashed rgba(255,255,255,.75);border-radius:50%;animation:spin 8s linear infinite}.portal-ring span{color:#fff7cf;font-size:19px;text-shadow:0 0 9px #fff}@keyframes spin{to{transform:rotate(360deg)}}.portal-card{text-align:center}.portal-large{margin:0 auto 12px;width:94px;height:116px;border-radius:50%;display:grid;place-items:center;border:7px solid #d6ad48;background:radial-gradient(circle,#fff9dc 0,#aac09d 34%,#365d45 70%);box-shadow:inset 0 0 27px #fff5bb,0 0 34px #e2af3685}.portal-large span{font-size:28px;color:#fff9dc;text-shadow:0 0 12px #fff}.portal-card .journey-actions{justify-content:center}.command-center{top:92px;bottom:20px;width:min(420px,calc(100vw - 40px))}.command-center section{margin-top:19px}.quest-list{display:grid;gap:8px}.quest{padding:10px;border-radius:12px;background:#ffffff80;border:1px solid var(--line)}.quest>div:first-child{display:flex;justify-content:space-between;gap:8px}.quest strong{font-size:10px}.quest span{font-size:9px;color:#887758}.progress-track{height:6px;border-radius:999px;background:#e2d8bd;overflow:hidden;margin-top:7px}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9d742c,#e0b858,#4f7658)}.timeline{display:grid;gap:5px}.timeline a{display:grid;grid-template-columns:38px 1fr 18px;gap:7px;align-items:center;padding:8px 7px;text-decoration:none;color:#473c2d;border-bottom:1px solid rgba(80,61,38,.09)}.timeline time{font-size:9px;color:#987334;font-weight:800}.timeline span,.timeline b{font-size:10px}.multiverse{position:relative;min-height:100dvh;overflow:hidden;padding:44px max(24px,calc((100vw - 1180px)/2)) 70px;background:radial-gradient(circle at 50% 18%,rgba(249,212,113,.25),transparent 30rem),linear-gradient(180deg,#496b57,#274d3c 46%,#18392f);color:#fff9e8}.multiverse-sky{position:absolute;inset:0;pointer-events:none;opacity:.48;background:radial-gradient(circle at 12% 22%,rgba(255,239,176,.18) 0 2px,transparent 3px),radial-gradient(circle at 82% 16%,rgba(255,239,176,.24) 0 2px,transparent 3px),radial-gradient(circle at 71% 46%,rgba(255,239,176,.16) 0 1px,transparent 2px),linear-gradient(155deg,transparent 45%,rgba(237,184,69,.14) 46%,transparent 47%);background-size:170px 150px,220px 190px,130px 110px,auto}.multiverse-header{position:relative;display:flex;justify-content:space-between;gap:26px;align-items:end;margin-bottom:28px}.multiverse-header .eyebrow{color:#e5bd62}.multiverse-header h1{font-size:clamp(38px,6vw,72px);line-height:.92;font-weight:500;margin:8px 0 10px}.multiverse-header p{max-width:580px;color:#fffaebb8;margin:0}.multiverse-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.multiverse .secondary-btn{background:#ffffff1f;color:#fff9e7;border-color:#ffffff2e}.realm-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.realm-card{border-radius:24px;overflow:hidden;background:#faf4e1f2;color:#322b20;border:1px solid rgba(255,238,180,.26);box-shadow:0 22px 60px #071a1345}.realm-art{height:178px;position:relative;overflow:hidden;background:#c9b993}.realm-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:filter .28s ease,transform .28s ease}.realm-sketch-lines{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:multiply;background:repeating-linear-gradient(12deg,rgba(64,48,28,.18) 0 1px,transparent 1px 8px),repeating-linear-gradient(168deg,rgba(255,250,231,.15) 0 1px,transparent 1px 11px)}.realm-card.stage-0 .realm-art img{filter:grayscale(1) sepia(.35) contrast(.8)}.realm-card.stage-0 .realm-sketch-lines{opacity:.58}.realm-card.stage-50 .realm-art img{filter:saturate(.5)}.realm-card.stage-50 .realm-sketch-lines{opacity:.08}.realm-card.stage-100 .realm-art img{filter:saturate(1) contrast(1.02);transform:scale(1.02)}.realm-card.stage-100 .realm-art{box-shadow:inset 0 0 34px #f6c55480}.realm-card.stage-100 .realm-art:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 28px #ffda7970}.realm-copy{padding:18px}.realm-copy h2{margin:6px 0 7px;font-size:25px;font-weight:600}.realm-copy p{font-size:11px;margin:0 0 14px;min-height:35px}.realm-progress{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:12px}.realm-progress>span{height:7px;border-radius:99px;background:#dfd5bb;overflow:hidden}.realm-progress i{display:block;height:100%;background:linear-gradient(90deg,#ad8133,#e5bd60,#50735a)}.realm-progress b{font-size:10px;color:#85662e}@media(max-width:980px){.topbar{grid-template-columns:1fr auto}.topbar-center{display:none}.world-layout{grid-template-columns:1fr;padding:10px}.legend-rail{display:none}.map-stage{min-height:calc(100dvh - 94px);border-radius:18px}.transform-wrapper{height:calc(100dvh - 137px)!important}.world-board{min-width:430px;width:min(100%,calc((100dvh - 145px)*.8294))}.realm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.topbar{height:64px;padding:0 12px;gap:8px}.brand small{font-size:9px}.brand strong{font-size:18px}.brand-mark{width:32px;height:32px}.top-actions .ghost-btn{display:none}.top-actions .primary-btn{padding:9px 10px;font-size:10px}.world-layout{min-height:calc(100dvh - 64px);padding:0}.map-stage{min-height:calc(100dvh - 64px);border-radius:0;border-left:0;border-right:0}.transform-wrapper{height:calc(100dvh - 106px)!important}.world-board{min-width:430px;width:430px}.map-tools{left:8px;top:8px;padding:4px}.map-tools button{width:32px;height:32px}.pin-label,.member-name{font-size:8px}.map-caption{bottom:7px;max-width:calc(100vw - 20px);overflow:hidden;font-size:7px;gap:4px;padding:6px 8px}.map-caption i{width:8px}.detail-panel,.journey-card,.command-center{left:10px;right:10px;width:auto;transform:none;bottom:10px;max-height:min(58dvh,470px);padding:16px;border-radius:19px}.command-center{top:74px;bottom:10px;max-height:none}.journey-card{left:10px;right:10px}.journey-card h2{font-size:25px}.multiverse{padding:28px 14px 45px}.multiverse-header{align-items:flex-start;flex-direction:column;margin-bottom:18px}.multiverse-header h1{font-size:42px}.multiverse-header p{font-size:12px}.multiverse-actions{width:100%;justify-content:stretch}.multiverse-actions>*{flex:1}.realm-grid{grid-template-columns:1fr;gap:12px}.realm-card{display:grid;grid-template-columns:118px 1fr;border-radius:18px}.realm-art{height:100%;min-height:205px}.realm-copy{padding:14px}.realm-copy h2{font-size:21px}.realm-copy p{min-height:0}.realm-card .task-row{grid-template-columns:18px 1fr 24px;padding:7px}}@media(max-width:430px){.world-board{min-width:400px;width:400px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
