
:root{--bg:#08131d;--panel:#142435;--panel2:#1b2e42;--text:#f5ebd5;--mute:#aab9ba;--gold:#edca79;--gold2:#a67b40;--line:#927b5166;--jade:#86cbb5;--violet:#d4b7ff;--r:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 30% 0%,#20364a,transparent 60%),#07111a;color:var(--text);font-family:system-ui,-apple-system,'Segoe UI','Noto Sans SC',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--violet);outline-offset:3px}h1,h2,h3,p{margin:0}button{border:0}.shell{max-width:1530px;margin:auto;min-height:100vh;border-left:1px solid #8b78402c;border-right:1px solid #8b78402c}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 23px;background:linear-gradient(90deg,#081521,#162539,#091826);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.crest{font-size:26px;background:#223343;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--gold2);border-radius:50%;box-shadow:0 0 0 4px #87703a18}.brand h1{font:700 20px Georgia,serif;letter-spacing:1px;color:var(--gold)}.brand small{display:block;color:#9fb0b5;font-size:10px;letter-spacing:2.1px;margin-top:1px}.nav{display:flex;gap:5px;background:#07121ba6;padding:4px;border:1px solid var(--line);border-radius:100px}.nav button{color:#bac9ce;background:transparent;padding:10px 16px;border-radius:99px;white-space:nowrap}.nav button.active{color:#162334;background:linear-gradient(#f7d995,#c69b55);font-weight:800}.tools{display:flex;align-items:center;gap:10px}.resource{border:1px solid #846e46;border-radius:12px;background:#202c3d;color:#f4d58b;padding:9px 13px;font-weight:700;font-size:14px}.micro{font-size:11px;color:#a7b7bb}.ghost{color:var(--gold);border:1px solid var(--line);background:#172a3b;border-radius:11px;padding:10px 12px}.view{display:none;animation:appear .22s ease both}.view.active{display:block}@keyframes appear{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}.world-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,.7fr);min-height:720px}.map-area{position:relative;overflow:hidden;background:#0b1c27;border-right:1px solid var(--line)}.map-scroll{position:relative;width:100%;overflow:auto;background:#091b28;scrollbar-color:#b29252 #061423;touch-action:pan-x pan-y}.map-stage{width:100%;aspect-ratio:986/625;position:relative;min-width:790px}.map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.map-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06152280,transparent 25%,transparent 78%,#06152230);pointer-events:none}.hotspot{position:absolute;width:62px;height:62px;border-radius:50%;border:2px solid #ffe8a982;background:#f5db8121;box-shadow:0 0 0 7px #e2b95c2b,inset 0 0 24px #e5cb8940,0 0 25px #fff9b87d;transform:translate(-50%,-50%);z-index:3;transition:.18s}.hotspot:hover{transform:translate(-50%,-50%) scale(1.13);background:#fff8bc50}.hotspot span{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);white-space:nowrap;font-weight:700;color:#fff5d8;background:#092135d9;border:1px solid #bd9a5a;border-radius:8px;padding:4px 9px;box-shadow:0 5px 20px #0009;font-size:12px}.hotspot:after{content:'✦';font-size:23px;color:#fff5aa;text-shadow:0 0 18px gold}.explorer-token{position:absolute;left:47%;top:50%;z-index:4;transform:translate(-50%,-50%);width:46px;height:46px;border:2px solid #ffe4a0;box-shadow:0 0 15px gold,0 0 0 8px #cbaa5240;border-radius:50%;background:url('portrait.jpg') center 22%/cover;pointer-events:none;transition:left 1s ease,top 1s ease}.world-floating{position:absolute;top:17px;left:19px;background:#081722d9;border:1px solid #cfab67a8;border-radius:12px;padding:13px 18px;z-index:5;pointer-events:none}.world-floating h2{font:700 25px Georgia,serif;color:#f2d48f}.world-floating p{font-size:11px;letter-spacing:2px;color:#d8bd86}.map-tip{position:absolute;bottom:20px;left:20px;z-index:5;color:#f9e8bb;background:#0d2034d9;padding:10px 14px;border:1px solid #ad94587b;border-radius:9px;font-size:12px;pointer-events:none}.side{background:linear-gradient(#152638,#0b1825);padding:20px;display:flex;flex-direction:column;gap:17px}.player{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#0a1825;display:grid;grid-template-columns:116px 1fr;min-height:190px}.player img{height:100%;width:100%;object-fit:cover;object-position:50% 15%}.player-info{padding:14px 12px}.overline{color:var(--gold);font-size:10px;letter-spacing:2px;text-transform:uppercase}.player h3{margin:9px 0;font:700 19px Georgia,serif}.muted{color:var(--mute);font-size:12px}.xp{background:#314155;border-radius:6px;height:7px;overflow:hidden;margin:13px 0 6px}.xp i{display:block;width:8%;height:100%;background:linear-gradient(90deg,#e9b565,#fff1b4)}.art-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#091824}.art-card img{width:100%;height:180px;object-fit:cover;display:block;filter:saturate(.9)}.art-card .overlay{position:absolute;inset:auto 0 0;padding:26px 15px 13px;background:linear-gradient(transparent,#03111be9)}.art-card strong{font-size:16px}.art-card small{display:block;margin-top:5px;color:#e3d9c1}.goldbtn{background:linear-gradient(180deg,#ffdfa3,#bd8d44);color:#1a2430;font-weight:900;padding:12px 17px;border:1px solid #f5ddac;border-radius:10px;box-shadow:inset 0 1px #fff9e5,0 4px 12px #0004}.goldbtn:hover{filter:brightness(1.08)}.panel{background:#102033;border:1px solid var(--line);border-radius:var(--r);padding:18px}.section{padding:24px;max-width:1280px;margin:auto}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-title h2{font:700 27px Georgia,'Noto Serif SC',serif;color:var(--gold)}.small-title{color:var(--gold);font:700 21px Georgia,serif}.subtitle{color:var(--mute);font-size:12px;margin-top:6px}.realm-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px}.realm-tile{min-height:260px;border:1px solid #c3a06888;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,#30485b,#101d2a);cursor:pointer;text-align:left;color:#fff}.realm-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform .35s}.realm-tile:hover img{transform:scale(1.04)}.realm-tile .realm-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 19px 18px;background:linear-gradient(transparent,#071624ed)}.realm-caption h3{font:700 21px Georgia,serif}.realm-caption p{font-size:12px;color:#e3d1ac;margin-top:7px}.realm-tile.not-ready{opacity:.7}.course-header{display:grid;grid-template-columns:1.1fr 1.5fr;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#142436;margin-bottom:24px}.course-header img{width:100%;height:235px;object-fit:cover}.course-header .copy{padding:25px;display:flex;flex-direction:column;justify-content:center;gap:12px}.course-header h2{font:700 29px Georgia,serif;color:#ffdfa0}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{background:#23354b;border:1px solid #bd9b5966;border-radius:99px;padding:7px 11px;color:#e7d5ab;font-size:12px}.course-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px}.search{background:#091a2b;color:#fff;border:1px solid #9984567b;border-radius:10px;padding:11px 14px;min-width:240px;max-width:100%;width:370px}.chapters{display:flex;flex-direction:column;gap:10px}.chapter{border:1px solid #7d724f75;border-radius:11px;overflow:hidden;background:#122237}.chapter summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:10px}.chapter summary::-webkit-details-marker{display:none}.chapter summary::after{content:'⌄';color:var(--gold);font-size:23px}.chapter[open] summary::after{content:'⌃'}.lesson{padding:9px 14px;border-top:1px solid #8b886222;display:flex;align-items:center;gap:12px;min-height:65px}.lesson-number{font:700 16px Georgia,serif;color:#b7a782;width:28px;flex:none}.lesson-info{flex:1;min-width:0}.lesson-title{font-size:14px;font-weight:600}.lesson-detail{color:#99adad;font-size:11px;margin-top:4px}.lesson-actions{display:flex;gap:8px;flex:none}.littlebtn{color:#efdab1;background:#223449;border:1px solid #ae8e5380;border-radius:9px;padding:10px 12px;min-height:42px}.littlebtn.checked{background:#285545;color:#beffdb;border-color:#5baf86}.note-count{color:#acbfc3}.library-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.course-card{padding:0;border:1px solid #aa8c5575;background:#142435;border-radius:13px;overflow:hidden;text-align:left;color:#f2e8d8}.course-card .cover{height:128px;background:radial-gradient(at 30% 25%,#536a75,#172535 70%);position:relative;overflow:hidden}.course-card .cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}.cover-emoji{position:absolute;bottom:13px;right:17px;font-size:35px;text-shadow:0 2px 9px #000}.course-card .body{padding:14px}.course-card h3{font-size:14px;margin-bottom:9px;line-height:1.45}.course-card p{font-size:12px;color:#b9c0bd}.treasure-shell{display:grid;grid-template-columns:1.6fr .85fr;gap:18px}.treasure-hero{border-radius:15px;position:relative;overflow:hidden;min-height:440px;background:#152438;border:1px solid var(--line)}.treasure-hero img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 43%}.treasure-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091a2e40,transparent 70%),linear-gradient(0deg,#071522aa,transparent 35%);pointer-events:none}.treasure-hero .legend{position:absolute;left:25px;bottom:24px;z-index:2;max-width:75%}.treasure-hero .legend h3{font:700 31px Georgia,serif;color:#ffe0a1;text-shadow:0 2px 12px #000}.treasure-hero .legend p{margin:8px 0 15px;color:#e8d9c3}.treasure-locations{display:grid;grid-template-columns:1fr 1fr;gap:9px}.site{background:#1b2c3c;color:#eddabc;border:1px solid #b598586b;border-radius:11px;text-align:left;min-height:70px;padding:12px}.site.active{border-color:#ffe3a5;background:#3d3f3e}.site.done{background:#25473d;border-color:#6dad84}.site strong{display:block;margin-bottom:6px}.treasure-result{display:none;align-items:center;justify-content:center;position:fixed;inset:0;background:#020914dd;z-index:100;padding:20px}.treasure-result.open{display:flex}.reward-card{border:2px solid #dbb367;border-radius:20px;background:#17253a;max-width:460px;width:100%;text-align:center;box-shadow:0 0 80px #e5b44b66;overflow:hidden;animation:pop .4s ease}@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.reward-card img{width:100%;height:220px;object-fit:cover}.reward-card h2{color:#f1cf88;font:700 28px Georgia,serif;margin:13px 0}.reward-card p{padding:0 20px 14px;color:#dde2db}.reward-card button{margin:0 0 20px}.progress-layout{display:grid;grid-template-columns:290px 1fr;gap:20px}.profile-large img{width:100%;height:270px;object-fit:cover;object-position:center 21%;border-radius:14px}.stat{margin:16px 0}.stat .line{display:flex;justify-content:space-between;color:#e5d5aa;font-size:13px}.track{height:9px;background:#233245;border-radius:8px;margin-top:8px;overflow:hidden}.track>i{display:block;height:100%;background:linear-gradient(90deg,#897ad5,#e2ca8a);border-radius:8px;transition:width .3s}.timeline{border-left:2px solid #987c4e60;margin-left:12px;padding-left:20px}.event{position:relative;padding:13px 10px 13px 0;border-bottom:1px solid #8d805532}.event:before{content:'✦';position:absolute;left:-27px;color:var(--gold)}.event small{color:#9eaba9}.event strong{font-size:13px}.event p{color:#ddcfba;font-size:12px;margin-top:5px;white-space:pre-wrap}.shade{display:none;position:fixed;inset:0;background:#03080fde;z-index:80;align-items:center;justify-content:center;padding:15px}.shade.open{display:flex}.dialog{background:#16273b;color:#f5ecd8;border:1px solid #c6a467;border-radius:17px;width:min(620px,100%);max-height:90vh;overflow:auto;padding:23px;box-shadow:0 30px 100px #000c}.dialog h3{font:700 24px Georgia,serif;color:#f1d38e}.dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.dialog label{display:block;font-size:12px;color:#dfcfab;margin-top:16px;margin-bottom:7px}.dialog textarea,.dialog input,.dialog select{display:block;background:#081827;border:1px solid #897754;border-radius:9px;color:#fff;width:100%;padding:12px;font-size:14px}.dialog textarea{min-height:100px;resize:vertical;line-height:1.55}.dialog .foot{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.note-history{display:flex;flex-direction:column;gap:8px;max-height:210px;overflow:auto;margin-top:14px}.note-item{background:#203348;border:1px solid #89795666;border-radius:9px;padding:10px 12px}.note-item small{color:#bbad91}.note-item p{white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:13px}.empty{padding:30px;color:#9db0b8;text-align:center;border:1px dashed #7c735c;border-radius:13px}.footbar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 24px;color:#94a6a8;border-top:1px solid var(--line);font-size:11px}.tiny{font-size:11px;color:#94adb1}.button-row{display:flex;gap:9px;flex-wrap:wrap}.illustration-caption{color:#d9c49a;font-size:12px;margin-top:9px}@media(max-width:1100px){.world-layout{grid-template-columns:minmax(0,1fr)}.side{display:grid;grid-template-columns:1fr 1fr}.side .panel{grid-column:1/-1}.map-area{border:0}.realm-grid{grid-template-columns:1fr 1fr}.treasure-shell{grid-template-columns:1fr 1fr}}@media(max-width:760px){.top{padding:12px;gap:9px}.brand h1{font-size:16px}.brand small{font-size:9px}.nav{order:3;width:100%;justify-content:space-between}.nav button{flex:1;padding:11px 5px;font-size:12px}.tools{margin-left:auto}.resource{padding:8px;font-size:12px}.world-layout{display:block}.map-stage{width:920px;min-width:920px}.map-scroll{height:450px}.world-floating{top:10px;left:10px;padding:9px 12px}.world-floating h2{font-size:18px}.side{display:grid;grid-template-columns:1fr;gap:10px;padding:12px}.side .art-card img{height:145px}.section{padding:14px}.section-title h2{font-size:23px}.realm-grid{grid-template-columns:1fr}.realm-tile{min-height:220px}.course-header{display:block}.course-header img{height:180px}.course-header .copy{padding:17px}.course-header h2{font-size:23px}.lesson{padding:9px 8px;gap:5px}.lesson-title{font-size:12px}.lesson-actions{gap:4px}.littlebtn{padding:10px 8px;font-size:11px}.lesson-number{width:22px}.treasure-shell{grid-template-columns:1fr}.treasure-hero{min-height:360px}.progress-layout{grid-template-columns:1fr}.profile-large img{height:240px}.player{min-height:165px}.map-tip{bottom:10px;left:10px}.footbar{display:block;text-align:center}.footbar span{display:block;margin:5px}.section-title{align-items:flex-start}.library-actions{justify-content:flex-start}}

/* Version 1.1 incremental enhancements; retains original fantasy artwork */
[hidden]{display:none!important}
.lk-filter-row{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0 20px}
.lk-filter{background:#172b3e;color:#d9dcd5;border:1px solid #6d674c72;border-radius:999px;padding:9px 13px;min-height:40px;font-size:13px}
.lk-filter.selected{background:linear-gradient(100deg,#f3d793,#be9653);color:#182334;border-color:#edca79;font-weight:800}
.lk-empty{grid-column:1/-1;text-align:center;border:1px dashed #927b5170;border-radius:16px;padding:42px 15px;color:#c3c5bb;background:#142435}
.lk-card-extra{font-size:12px;margin-top:8px;color:#edd494;font-weight:650}
.lk-course-tools{border-top:1px solid #aa91524b;margin-top:14px;padding-top:12px;display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lk-rating{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.lk-star{font-size:24px;color:#5e6270;background:none;line-height:1;padding:4px 2px;min-width:30px;min-height:36px}
.lk-star.filled{color:#efcc72;text-shadow:0 0 10px #cfa35174}
.lk-small{font-size:12px;color:#afbabd;line-height:1.4}
.lk-note-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.lk-note-head small{color:#c0b69e}
.lk-note-tools{display:flex;gap:8px}
.lk-textbtn{padding:7px 9px;border:1px solid #987e5340;background:#17283c;border-radius:8px;color:#e5ca8d;font-size:12px;min-height:32px}
.lk-textbtn.danger{color:#f2aaa6}
.lk-note-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.lk-note-edit-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.lk-helper{font-size:12px;line-height:1.6;color:#e8cb86;margin-bottom:6px}
.lk-manager-info{margin:12px 0 6px;color:#ddd0b8;font-size:13px}
#lk-append-lessons{min-height:145px}
@media(max-width:760px){.lk-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px}.lk-filter{flex:none;min-height:44px}.lk-course-tools{align-items:flex-start}.lk-rating{width:100%}.lk-note-head{align-items:flex-start}.lk-note-tools{flex-shrink:0}}

/* Version 1.2 Cloud Launch & Supabase Sync Styles */
.cloud-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 12px;border-radius:12px;cursor:pointer;transition:all .2s ease;font-weight:600}
.cloud-pill.status-guest{background:#152839;color:#b2c5cb;border:1px solid #7c8e9666}
.cloud-pill.status-syncing{background:#1c3746;color:#91e2ff;border:1px solid #3ca8d1;animation:pulseSync 1.5s infinite}
.cloud-pill.status-synced{background:#16382b;color:#a8f7c9;border:1px solid #489b6f}
.cloud-pill.status-pending{background:#3a3219;color:#ffdf8b;border:1px solid #c99c38}
.cloud-pill.status-error{background:#3d1a1a;color:#ff9e9e;border:1px solid #a84242}
@keyframes pulseSync{0%{filter:brightness(1)}50%{filter:brightness(1.25)}100%{filter:brightness(1)}}

.cloud-dialog{max-width:540px}
.cloud-status-banner{display:flex;align-items:center;gap:14px;background:#0d1d2c;border:1px solid #576d7866;border-radius:12px;padding:14px;margin-bottom:18px}
.cloud-status-icon{font-size:26px;flex:none}
.cloud-status-banner strong{font-size:15px;color:var(--gold);display:block;margin-bottom:3px}
.auth-tabs{display:flex;border-bottom:1px solid #8f794b55;margin-bottom:16px;gap:8px}
.auth-tab-btn{background:none;border:none;color:#9eb0b5;padding:8px 16px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent;border-radius:0}
.auth-tab-btn.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:bold}
.cloud-user-email{background:#0a1926;border:1px solid #4a5d6a;border-radius:8px;padding:12px 14px;font-size:13px;color:#d2e0e5;margin-bottom:14px}
.cloud-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ghost.danger{color:#ff9e9e;border-color:#a84242}
.cloud-settings-details{margin-top:18px;border:1px solid #6c5a3866;border-radius:10px;background:#0c1a27}
.cloud-settings-details summary{padding:12px 14px;cursor:pointer;font-weight:600;font-size:13px;color:#dfd2b2}
.cloud-settings-body{padding:0 14px 14px}
.cloud-footer-note{margin-top:20px;padding-top:14px;border-top:1px solid #846f483b;font-size:11px;color:#94a6aa;line-height:1.7}


