:root{color-scheme:dark;--bg:#080d18;--panel:#101827;--water:#17243a;--line:#35445f;--text:#edf4ff;--muted:#b8c5d9;--gold:#f1d38e;--blue:#8fc6ee}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 system-ui,"Yu Gothic",sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:10px 16px;color:var(--text);background:var(--water)}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.15)}[hidden]{display:none!important}header,footer{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 40px}header>a{font-size:24px;color:var(--gold)}header>a span{font-size:15px;color:var(--text);margin-left:8px}.quiet{background:transparent;color:var(--muted);border-color:transparent}.quiet:hover{border-color:var(--line)}main{max-width:1240px;margin:auto;padding:28px 24px 48px}.intro{display:flex;justify-content:space-between;align-items:center;padding:0 0 28px}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--gold);margin:0 0 10px}h1{font-family:serif;font-size:62px;letter-spacing:.16em;font-weight:500;line-height:1.1;margin:0}h1 span{font:14px system-ui;letter-spacing:.3em;margin-left:20px;color:var(--muted)}.tagline{font-size:19px;margin:18px 0 0}.intro-note{color:var(--muted);border-left:1px solid var(--line);padding-left:30px;margin-right:6px}.setup{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:16px;border:1px solid var(--line);padding:22px;background:var(--panel);border-radius:12px;margin-bottom:24px}.field{display:flex;flex-direction:column;gap:6px}label{color:var(--muted);font-size:13px}select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:var(--bg);padding:8px;color:var(--text)}.start-actions{display:flex;gap:12px;grid-column:1/3}.primary{background:var(--gold);color:#101827;font-weight:700;border-color:var(--gold)}.primary span{margin-left:16px}.secondary{background:transparent}.set-note{grid-column:3/5;margin:8px 0;align-self:center;color:var(--muted);font-size:13px}.play-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px}.sea-panel{border:1px solid var(--line);border-radius:14px;background:radial-gradient(ellipse at 50% 45%,#1b3345 0,#111f30 47%,#101827 73%);overflow:hidden;align-self:start}.board-heading{padding:18px 24px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted);border-bottom:1px solid #35445f80}.board{width:100%;aspect-ratio:1;position:relative}.orbit,.inner-orbit{position:absolute;border:1px solid #718ca34d;border-radius:50%;inset:8%}.inner-orbit{inset:27%;border-style:dashed;border-color:#718ca32e}.compass{position:absolute;inset:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;gap:6px}.compass-mark{color:var(--gold);font-size:52px;line-height:1.2}.compass strong{font-family:serif;font-size:22px;font-weight:500}.compass span:not(.compass-mark),.compass small{color:var(--muted);font-size:12px}.island{position:absolute;transform:translate(-50%,-50%);width:clamp(44px,4.7vw,62px);height:clamp(44px,4.7vw,62px);padding:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;background:#192d42;border:1px solid #526b83;min-height:44px;transition:background .15s}.island .number{font-size:12px;color:var(--muted)}.island .value{font-weight:700;font-size:23px;margin:2px 0}.island .mark{position:absolute;bottom:-17px;font-size:12px;white-space:nowrap;color:var(--muted)}.island.legal{border:2px dashed var(--gold);background:#293742}.island.reverse{border-color:var(--blue);background:#20394f}.island.selected{outline:3px solid var(--gold);outline-offset:4px;border-style:solid;background:#554b34}.island.selected .mark{color:var(--gold);font-weight:700}.island.reply{box-shadow:0 0 0 4px #8fc6ee66}.island.claimed{opacity:.65;border-style:solid;background:#101c2b}.island.owner1 .value{color:var(--gold)}.island.owner2 .value{color:var(--blue)}.island.last{opacity:1;border:2px solid var(--text)}.island:disabled{cursor:default}.island:not(.claimed):disabled{opacity:1}.boat{position:absolute;transform:translate(-50%,-50%);font-size:26px;pointer-events:none;z-index:2;line-height:1}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin:0;padding:10px 14px 20px;color:var(--muted);font-size:12px}.dashboard{display:flex;flex-direction:column;gap:14px;min-width:0}.scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:12px}.player{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.player.active{border-color:currentColor}.p1{color:var(--gold)}.p2{color:var(--blue)}.player>span{font-size:13px}.player small{font-size:12px;color:var(--muted)}.player strong{font-size:40px;font-weight:500;line-height:1.4}.player strong small{margin-left:8px}.player>span:last-child{font-size:12px;color:var(--muted)}.round-score{font-size:12px;color:var(--muted);margin:-4px 0 0}.decision{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:20px}.decision h2{font-size:22px;line-height:1.4;margin:6px 0 10px}.decision p{margin:0 0 14px;color:var(--muted);font-size:14px}.preview{font-size:13px;color:var(--muted);background:var(--bg);border-radius:6px;padding:12px;margin-bottom:14px;min-height:70px}.preview strong{color:var(--text)}.decision>button{width:100%}.history{border-top:1px solid var(--line);padding-top:12px}.history h3{font-size:13px;font-weight:500;margin:0 0 8px;color:var(--muted)}.history ol{list-style:none;margin:0;padding:0;max-height:130px;overflow:auto;font-size:13px}.history li{padding:5px 0;border-bottom:1px solid #35445f40}.history li:first-child{color:var(--gold)}.rules-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;border-top:1px solid var(--line);padding-top:30px;margin-top:36px}.rules-strip b{font-size:12px;color:var(--gold);font-weight:400;letter-spacing:.15em}.rules-strip h3{font-size:18px;font-weight:500;margin:8px 0}.rules-strip p{font-size:14px;color:var(--muted);margin:0}footer{border-top:1px solid var(--line);font-size:12px;color:var(--muted)}dialog{width:min(540px,calc(100% - 32px));background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:30px;max-height:85dvh}dialog::backdrop{background:#020610c9}dialog h2{font-family:serif;font-size:26px;font-weight:500}dialog p,dialog li{font-size:14px;color:var(--muted)}dialog li{margin:12px 0}dialog ol{padding-left:22px}.close{float:right;padding:0;width:44px;background:transparent}.decision label{display:block;margin:10px 0 4px}
@media(min-width:1440px){main{max-width:1280px}.island{width:64px;height:64px}}
@media(max-width:850px){header,footer{padding:18px 24px}.play-layout{grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);gap:16px}.intro-note{display:none}.setup{grid-template-columns:1fr 1fr}.set-note{grid-column:1/3}.island{width:46px;height:46px}.compass strong{font-size:18px}.compass-mark{font-size:34px}.board-heading{padding:14px}.player{padding:12px}.decision{padding:16px}}
@media(max-width:650px){main{padding:12px 16px 30px}header{padding:16px}.intro{padding-bottom:22px}h1{font-size:50px}.tagline{font-size:17px}.eyebrow{font-size:11px;letter-spacing:.1em}.setup{padding:16px;gap:12px}.start-actions{flex-wrap:wrap}.start-actions button{flex:1;white-space:nowrap}.set-note{font-size:12px;margin:0}.play-layout{grid-template-columns:1fr;gap:16px}.board{max-width:480px;margin:auto}.island{width:46px;height:46px}.island .value{font-size:21px}.island .number{font-size:10px}.island .mark{font-size:10px;bottom:-14px}.compass strong{font-size:19px}.compass-mark{font-size:38px}.compass small{font-size:11px}.boat{font-size:23px}.board-heading{padding:12px 16px;font-size:12px}.legend{font-size:10px;gap:6px 10px;padding:10px 8px 16px}.dashboard{gap:12px}.player{padding:12px 16px}.player strong{font-size:34px}.decision{padding:18px}.decision h2{font-size:21px}.rules-strip{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-top:24px}.rules-strip h3{display:inline;margin-left:12px}.rules-strip p{margin-top:6px}footer{padding:18px 16px;flex-wrap:wrap;gap:10px}.history ol{max-height:104px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.island.cpu-source{box-shadow:0 0 0 4px #f08c46,0 0 20px #f08c4688;animation:cpu-pulse 1.1s ease-in-out infinite}.island.cpu-target{box-shadow:0 0 0 4px #9c6cff,0 0 22px #9c6cff99;animation:cpu-pulse 1.1s ease-in-out infinite}.boat.cpu-preview{filter:drop-shadow(0 0 9px #9c6cff)}@keyframes cpu-pulse{50%{filter:brightness(1.18)}}

.result-home-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:2px 9px;border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}.result-home-button:hover{color:var(--gold)}.decision .result-home-button{margin-top:7px}
