/* Nori's Island — locally rendered WebGL adventure */
.island-invitation{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center;border-radius:28px;margin:26px 0;padding:32px 38px;background:#183e4a;color:#f8f3dc;overflow:hidden;position:relative}.island-invitation h2{font-size:clamp(30px,4vw,46px);margin:10px 0}.island-invitation h2 span{display:inline-block;font:700 15px system-ui;background:#f9cd73;color:#244954;padding:6px 10px;border-radius:9px;vertical-align:middle}.island-invitation p{color:#d0e4df;line-height:1.85}.island-kicker{color:#a5dfc5;font-size:13px;font-weight:700}.island-invitation .primary{background:#f4d483;color:#183e4a;border-color:#f4d483}.island-cover{height:250px;position:relative;display:grid;place-items:center;isolation:isolate;background:radial-gradient(ellipse,#467c7b88,transparent 65%)}.cover-island{width:180px;height:140px;border-radius:40px;transform:rotate(-15deg) skew(12deg);background:#b6d6a3;box-shadow:0 16px 0 #729f7a,0 32px 0 #577b68,0 45px 25px #102e3a70;position:relative}.cover-robot{width:65px;height:56px;position:absolute;top:24px;left:58px;background:#fff3da;border-radius:17px;box-shadow:0 8px 0 #5b9f99;display:flex;align-items:center;justify-content:center;gap:13px;transform:skew(-12deg) rotate(15deg)}.cover-robot i{background:#275769;width:9px;height:15px;border-radius:6px}.cover-island b{position:absolute;top:-10px;background:#ffe3a0;border-radius:10px;padding:8px 13px;color:#3c6370;transform:skew(-12deg) rotate(15deg);box-shadow:0 5px 0 #d4ac69}.cover-island b:last-child{right:-10px;top:85px;background:#c6bef1}.cover-crystal{position:absolute;color:#ffe3a0;top:2px;left:25%;font-size:36px}.cover-caption{position:absolute;bottom:0;font-size:12px;letter-spacing:1px;color:#c0dcd6}.island-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0 20px}.island-header h1{font-size:clamp(22px,3vw,33px);margin:8px 0;line-height:1.4}#island-object{font-size:clamp(24px,3vw,38px);max-width:40%;text-align:center;overflow-wrap:anywhere}.island-stage{position:relative;isolation:isolate;border:1px solid #c1dedb;border-radius:26px;overflow:hidden;background:#d4edf1;box-shadow:0 12px 28px #264b4710}#island-canvas{display:block;width:100%;height:clamp(370px,53vw,540px);cursor:pointer;touch-action:manipulation}#island-labels{position:absolute;inset:0;pointer-events:none}.island-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-width:50px;min-height:46px;border:2px solid #fff;background:#fffaf0;color:#244b55;border-radius:13px;font:700 23px inherit;font-family:inherit;font-size:23px;font-weight:750;box-shadow:0 4px 0 #c3bda5,0 7px 12px #1e4d4620;padding:5px 13px;white-space:nowrap}.island-label:hover:not(:disabled){background:#fff0b7}.island-label:disabled{opacity:.55}.island-scene-title{position:absolute;top:22px;left:24px;color:#325b61;pointer-events:none;letter-spacing:2px;font:700 11px system-ui}.island-scene-title span{display:block;letter-spacing:0;font:13px system-ui;margin-top:6px}.island-camera{position:absolute;bottom:18px;left:18px;display:flex;gap:8px;direction:ltr}.island-camera button{width:44px;height:44px;font-size:25px;background:#fffaf1e8;border:1px solid #fff;border-radius:50%;color:#305861}.island-controls{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:20px;padding:22px;background:#fffdf7;border:1px solid #e3e9de;border-radius:24px}.island-instruction{margin:0 0 12px;color:#526e67;font-size:14px}#island-answers{display:flex;gap:12px;flex-wrap:wrap}.island-choice{min-width:76px;min-height:48px;background:#fff;border:2px solid var(--station-color);border-bottom-width:5px;border-radius:13px;padding:8px 18px;font-family:inherit;font-size:23px;color:#204e56}.island-choice:disabled{opacity:.5}.island-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.island-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:6px;flex:none}.island-pad button{background:#edf3e9;border:1px solid #cfddcd;border-bottom:4px solid #bdcfbc;border-radius:12px;font:700 24px system-ui;color:#28584f}#island-up{grid-column:2}#island-left{grid-column:1;grid-row:2}#island-down{grid-column:2;grid-row:2}#island-right{grid-column:3;grid-row:2}.island-feedback{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 6px;min-height:80px}.island-feedback p{line-height:1.8;color:#335c53}.island-feedback button{flex:none}#island-fallback{position:absolute;inset:0;z-index:3;background:#eef4e9;align-content:center;text-align:center;padding:24px}#island-fallback[hidden]{display:none}
@media(max-width:650px){.island-invitation{grid-template-columns:1fr;padding:26px;gap:0}.island-cover{height:190px;grid-row:1}.cover-island{transform:scale(.85) rotate(-15deg) skew(12deg)}.island-header{display:block}#island-object{max-width:100%;text-align:right;font-size:27px}.island-controls{padding:16px;gap:14px;flex-wrap:wrap}.island-pad{margin:auto}.island-feedback{display:block}.island-feedback button{width:100%}.island-label{font-size:18px;min-width:40px;padding:4px 8px}.island-scene-title{top:14px;left:14px;font-size:9px}#island-canvas{height:390px}.island-tools{gap:6px}.island-tools .listen-button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.island-label,.island-choice{transition:none}}
#island-player-tag{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:#255a64;color:#fff8dc;border-radius:9px;padding:4px 9px;font-size:12px;box-shadow:0 2px 5px #254c5520;}
