@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=LXGW+WenKai:wght@400;700&family=Noto+Sans+SC:wght@400;500;700&display=swap');
:root{--ink:#082b36;--paper:#e7e6d7;--mist:#9cb9b6;--teal:#1d7b72;--orange:#e57a38;--coral:#b64f46;--line:rgba(8,43,54,.18);--radius:2px;--display:'LXGW WenKai',serif;--body:'Noto Sans SC',sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header,footer{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:22px 32px;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:.04em}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:6px;border:1px solid var(--teal);border-radius:50%;color:var(--teal);font-family:var(--mono)}nav{display:flex;align-items:center;gap:24px;font-size:14px}nav>a:not(.button){border-bottom:1px solid transparent}nav>a:not(.button):hover{border-color:var(--ink)}.button{display:inline-flex;gap:11px;align-items:center;border:0;border-radius:var(--radius);padding:13px 18px;background:var(--orange);color:#fff;font-weight:700;box-shadow:3px 3px 0 var(--ink);transition:transform .18s,box-shadow .18s}.button:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.button-small{padding:8px 12px;font-size:14px;box-shadow:2px 2px 0 var(--ink)}.eyebrow,.mono{font-family:var(--mono);font-size:11px;letter-spacing:.11em}.eyebrow{color:var(--teal);font-weight:500}.hero{max-width:1240px;margin:auto;padding:85px 32px 92px;background:radial-gradient(circle at 72% 36%,rgba(29,123,114,.17),transparent 24%)}h1,h2{margin:0;font-family:var(--display);line-height:1.08}h1{font-size:clamp(45px,7vw,96px);letter-spacing:-.05em}h1 em{color:var(--teal);font-style:normal}.hero-copy{max-width:480px;margin:28px 0;color:rgba(8,43,54,.75);font-size:17px}.tide-line{position:relative;display:flex;align-items:center;gap:10px;max-width:760px;margin:48px 0 25px;height:24px;font-family:var(--mono);font-size:10px;color:var(--teal)}.tide-line span{width:min(58vw,520px);height:1px;background:var(--teal);transform-origin:left;animation:draw 1.5s ease-out}.tide-line i{width:12px;height:12px;border:2px solid var(--orange);border-radius:50%;background:var(--paper);animation:pulse 2s infinite}.tide-line b{font-weight:400}.text-link{font-weight:700;border-bottom:1px solid var(--ink)}.text-link span{color:var(--orange)}.works-section{max-width:1240px;margin:auto;padding:44px 32px 90px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h1,.section-heading h2{font-size:clamp(32px,4vw,52px)}.section-heading p{margin:0}.tag-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.tag-filter button{border:1px solid var(--line);background:transparent;padding:6px 10px;color:var(--ink);font-size:13px}.tag-filter button:hover,.tag-filter button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-card{display:flex;flex-direction:column;min-width:0;background:rgba(255,255,255,.18);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.work-card:hover{transform:translateY(-5px);box-shadow:5px 7px 0 rgba(8,43,54,.2)}.cover{aspect-ratio:1.35;overflow:hidden;background:var(--ink)}.cover img{display:block;width:100%;height:100%;object-fit:cover}.cover-placeholder{display:grid;place-items:center;height:100%;color:var(--mist);font-family:var(--display);font-size:25px;background:linear-gradient(135deg,var(--ink),#165464)}.card-content{display:flex;flex:1;flex-direction:column;padding:17px}.card-content h3{margin:0;font-family:var(--display);font-size:25px;line-height:1.2}.description{margin:10px 0 15px;font-size:14px;color:rgba(8,43,54,.72)}.card-meta{display:flex;gap:8px;align-items:center;margin-top:auto;font-size:13px}.role-badge{display:inline-flex;padding:2px 7px;border-radius:20px;background:#d2e1dc;color:var(--teal);font-size:11px;font-weight:700}.role-船长{background:#f1d28f;color:#674700}.role-大副{background:#c7ded0;color:#155339}.role-舵手{background:#c6dfe7;color:#176078}.role-领航员{background:#c9e3df;color:#167064}.role-炮手{background:#efd0c9;color:#8f382c}.role-瞭望员{background:#eee1b5;color:#77601d}.role-船医{background:#efd2d0;color:#963e38}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}.tag{font-family:var(--mono);font-size:10px;color:var(--teal)}.tag:before{content:'#'}.empty-state{padding:60px 0;text-align:center;border:1px dashed var(--line)}.hidden{display:none!important}footer{border-top:1px solid var(--line);border-bottom:0;font-size:12px;color:rgba(8,43,54,.68)}footer a{text-decoration:underline}.detail-page{max-width:900px;margin:auto;padding:44px 32px 92px}.back-link{font-size:14px;text-decoration:underline}.detail-cover{width:100%;max-height:500px;object-fit:cover;margin:28px 0}.detail-title{font-size:clamp(42px,6vw,76px)}.detail-summary{max-width:650px;font-size:19px;margin:18px 0 28px}.detail-byline{display:flex;gap:10px;align-items:center;margin-bottom:34px}.journey{max-width:720px;padding:28px 0;border-top:1px solid var(--line);white-space:pre-wrap}.journey h2{font-size:31px}.journey p{font-size:16px}.detail-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:22px;border-top:1px solid var(--line)}.form-page{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(360px,1fr);gap:80px;max-width:1040px;margin:auto;padding:70px 32px 100px}.form-intro h1{font-size:clamp(43px,5vw,70px)}.form-intro p{color:rgba(8,43,54,.72)}.form-note{font-size:13px;border-left:2px solid var(--orange);padding-left:12px}.work-form,.admin-login{display:flex;flex-direction:column;gap:20px;padding:26px;border:1px solid var(--line);background:rgba(255,255,255,.2)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.muted{font-weight:400;color:rgba(8,43,54,.6)}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:0;padding:10px;background:rgba(255,255,255,.45);color:var(--ink);outline:none;font-weight:400}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(29,123,114,.18)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-message{margin:0;font-size:13px;color:var(--teal)}.form-message.error{color:var(--coral)}.admin-page{max-width:1040px;margin:auto;padding:55px 32px 90px}.admin-login{max-width:400px}.text-button{border:0;background:none;color:var(--teal);text-decoration:underline}.review-list{display:grid;gap:16px}.review-card{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px;border:1px solid var(--line)}.review-card .cover{height:110px}.review-card h3{margin:0;font-family:var(--display);font-size:28px}.review-card p{margin:7px 0;font-size:14px}.review-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:15px}.review-actions select{width:auto;min-width:130px}.danger{background:var(--coral)}.status-note{font-size:12px;color:var(--coral)}@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(229,122,56,.2)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:760px){.site-header,footer{padding:17px 20px}.site-header nav{gap:12px}.site-header nav>a:not(.button){display:none}.hero,.works-section{padding-left:20px;padding-right:20px}.hero{padding-top:58px}.works-grid{grid-template-columns:1fr}.form-page{grid-template-columns:1fr;gap:35px;padding:48px 20px 65px}.form-row{grid-template-columns:1fr}.detail-page,.admin-page{padding-left:20px;padding-right:20px}.review-card{grid-template-columns:1fr}.review-card .cover{height:auto}.detail-bottom{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap;gap:8px}}
