:root{--bg1:#071a2f;--bg2:#0b2a4b;--text:#0a1a2b;--muted:#3a4b5c;--shadow:0 8px 24px rgba(0,0,0,.25);--r:14px;--pad:14px;--font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:var(--font);color:var(--text);
background:radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.9) 0 45%, transparent 50%),
radial-gradient(1.5px 1.5px at 60% 20%, rgba(255,255,255,.8) 0 45%, transparent 50%),
radial-gradient(1.2px 1.2px at 80% 60%, rgba(255,255,255,.7) 0 45%, transparent 50%),
linear-gradient(180deg, var(--bg2), var(--bg1));overflow-x:hidden}
a{color:inherit;text-decoration:none}
.container{padding:92px 14px 24px;max-width:520px;margin:0 auto}
.header{position:fixed;top:0;left:0;right:0;height:76px;z-index:50;
background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
radial-gradient(400px 120px at 50% 10%, rgba(120,200,255,.45), rgba(0,0,0,0)),
linear-gradient(180deg, rgba(5,20,40,.92), rgba(5,20,40,.75));
backdrop-filter:blur(8px);border-bottom:1px solid rgba(150,200,255,.25)}
.header-inner{max-width:520px;height:100%;margin:0 auto;display:flex;align-items:center;padding:10px 12px;gap:10px}
.head-center{flex:1;display:flex;flex-direction:column;align-items:center}
.title{font-weight:800;letter-spacing:.08em;color:#eaf6ff;text-shadow:0 2px 10px rgba(120,200,255,.35);font-size:22px}
.subtitle{color:rgba(234,246,255,.9);font-weight:700;letter-spacing:.04em;margin-top:-4px;font-size:12px}
.icon-btn{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(160,210,255,.45);
background:rgba(255,255,255,.08);color:#eaf6ff;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.icon-btn.small{width:40px;height:40px}
.ico{font-size:22px;font-weight:900;line-height:1}
.panel{background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(235,246,255,.86));
border:1px solid rgba(130,190,255,.65);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.panel-inner{padding:var(--pad)}
.name{font-size:30px;font-weight:800;letter-spacing:.04em;margin:0}
.furigana{margin:4px 0 0;color:var(--muted);font-weight:700;letter-spacing:.06em;font-size:14px}
.square{width:100%;aspect-ratio:1/1;background:rgba(0,0,0,.05);
border-top:1px solid rgba(130,190,255,.5);border-bottom:1px solid rgba(130,190,255,.5);position:relative;overflow:hidden}
.square img{width:100%;height:100%;object-fit:cover;display:block}
.placeholder{width:100%;height:100%;display:grid;place-items:center;
background:radial-gradient(320px 220px at 50% 20%, rgba(111,179,255,.25), rgba(0,0,0,0)),
linear-gradient(180deg, rgba(255,255,255,.8), rgba(220,240,255,.75))}
.placeholder .sil{width:58%;height:58%;background:rgba(60,80,100,.25);border-radius:50%;position:relative}
.placeholder .sil:after{content:"";position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);
width:140%;height:120%;background:rgba(60,80,100,.25);border-radius:42% 42% 38% 38%}
.carousel-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.carousel-dots span{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:0 0 10px rgba(0,0,0,.25)}
.carousel-dots span.active{background:rgba(255,255,255,.95)}
.rowline{display:flex;gap:10px;align-items:center;font-size:14px;padding:8px 2px;border-bottom:1px solid rgba(130,190,255,.25)}
.rowline:last-child{border-bottom:none}
.rowline .v{flex:1;min-width:0;font-weight:800;color:#0b2440}
.rowline.single .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section{margin-top:12px}
.section-title{padding:10px 12px;font-weight:900;color:#0b2440;background:linear-gradient(90deg, rgba(111,179,255,.25), rgba(255,255,255,0));
border-bottom:1px solid rgba(130,190,255,.35)}
.section-body{padding:12px;font-size:14px;line-height:1.6;color:#102a44;white-space:pre-wrap}
.btn-row{display:flex;gap:12px;margin-top:14px}
.btn{flex:1;padding:14px 12px;border-radius:12px;border:1px solid rgba(130,190,255,.65);
background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(220,240,255,.82));
font-weight:900;letter-spacing:.06em;color:#0b2440;box-shadow:0 10px 18px rgba(0,0,0,.22)}
.btn.primary{background:linear-gradient(180deg, rgba(160,220,255,.9), rgba(80,150,255,.65));
border-color:rgba(200,240,255,.85);color:#041524}
.form{padding:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12px;color:var(--muted);font-weight:900;letter-spacing:.04em}
label.sub{margin-top:6px}
.input,.textarea{width:100%;border-radius:12px;border:1px solid rgba(130,190,255,.55);background:rgba(255,255,255,.9);
padding:10px 12px;font-size:14px;font-weight:800;color:#0b2440}
.textarea{min-height:92px;resize:vertical;font-weight:700;line-height:1.5}
.hr{height:1px;background:linear-gradient(90deg, rgba(0,0,0,0), rgba(130,190,255,.5), rgba(0,0,0,0));margin:12px 0}
.small2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.thumb-row{display:flex;gap:10px;overflow-x:auto;padding:8px 2px 2px}
.thumb{width:78px;height:78px;border-radius:12px;border:1px solid rgba(130,190,255,.65);background:rgba(255,255,255,.85);
position:relative;flex:0 0 auto;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .x{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:8px;display:grid;place-items:center;
background:rgba(0,0,0,.55);color:#fff;font-weight:900;font-size:14px}
.thumb.add{display:grid;place-items:center;font-weight:900;color:#0b2440;cursor:pointer}
.muted12{font-size:12px;color:var(--muted);font-weight:800}
.muted14{font-size:14px;color:var(--muted);font-weight:800;line-height:1.6}
.footer-space{height:24px}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:60}
.drawer{position:fixed;top:0;right:0;width:min(320px, 88vw);height:100%;
background:linear-gradient(180deg, rgba(6,22,44,.96), rgba(6,22,44,.88));
border-left:1px solid rgba(160,210,255,.3);
transform:translateX(102%);transition:transform .25s ease;z-index:61;color:#eaf6ff}
.drawer.open{transform:translateX(0)}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.drawer-header{padding:14px 14px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(160,210,255,.25)}
.drawer-header .t{font-weight:900;letter-spacing:.08em}
.drawer-list{padding:12px;display:flex;flex-direction:column;gap:10px}
.drawer-item{padding:12px 12px;border-radius:12px;border:1px solid rgba(160,210,255,.3);background:rgba(255,255,255,.06);
display:flex;align-items:center;justify-content:space-between;font-weight:800}
.drawer-cta{margin:16px 12px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;z-index:80;padding:18px}
.modal.open{display:flex}
.modal-card{width:min(520px, 100%);background:rgba(245,252,255,.96);border:1px solid rgba(160,210,255,.65);
border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.45);overflow:hidden}
.modal-head{padding:12px 14px;font-weight:900;color:#0b2440;background:linear-gradient(90deg, rgba(111,179,255,.22), rgba(255,255,255,0));
border-bottom:1px solid rgba(130,190,255,.35)}
.crop-wrap{padding:12px}
.crop-viewport{width:100%;aspect-ratio:1/1;border-radius:14px;border:1px solid rgba(130,190,255,.55);
background:rgba(0,0,0,.08);overflow:hidden;position:relative;touch-action:none}
.crop-viewport img{position:absolute;left:50%;top:50%;
transform:translate(-50%,-50%);will-change:transform;user-select:none;-webkit-user-drag:none}
.modal-controls{display:flex;gap:10px;align-items:center;padding:10px 12px 12px}
.range{flex:1}
