*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#f6f7fb;--text:#1d2433;--muted:#677084;--accent:#2f57d3;--accent-hover:#294abb;--accent-soft:#eef3ff;--border:#dce3ef;--card:#ffffff;--surface:#fbfcff;--success:#1f7a4d;--danger:#b42318;--shadow:0 18px 42px rgba(29,36,51,0.07);--shadow-soft:0 8px 28px rgba(29,36,51,0.05)}html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#ffffff 0,var(--bg) 280px),var(--bg);font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.7}body,header{color:var(--text)}header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;padding:.9rem 1.5rem;font-size:.98rem;font-weight:700;letter-spacing:0}.container{width:min(100%,920px);margin:0 auto;padding:52px 2rem 64px}.content-stack{background:rgba(255,255,255,.58);border:1px solid rgba(220,227,239,.72);border-radius:8px;padding:1.35rem;box-shadow:var(--shadow-soft)}button,input,textarea{font:inherit}button{transition:background .15s,border-color .15s,color .15s,opacity .15s}input,textarea{min-width:0;width:100%;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:.9rem}input{padding:.68rem .78rem}textarea{padding:.75rem;line-height:1.65;resize:vertical}input:focus,textarea:focus{outline:3px solid rgba(47,87,211,.14);border-color:var(--accent)}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}.tomita-gpt{margin-bottom:1.35rem;padding:1.35rem;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.tomita-gpt-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.profile-admin-heading h1,.tomita-gpt-heading h1{color:var(--text);font-size:1.5rem;line-height:1.35;font-weight:700;margin-top:-.35rem}.ai-notice{color:var(--muted);font-size:.8rem;line-height:1.6;margin-top:.35rem}.status-badge{flex-shrink:0;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);padding:.28rem .72rem;font-size:.72rem;font-weight:600}.status-badge.unlocked{border-color:#b9e5cf;background:#edf9f2;color:var(--success)}.admin-chat-log,.chat-window{overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:1rem}.chat-window{min-height:220px;max-height:420px}.admin-chat-log{min-height:260px;max-height:420px}.chat-empty{color:var(--muted);font-size:.86rem}.chat-message{display:flex;flex-direction:column;gap:.22rem;margin-bottom:.85rem}.chat-message:last-child{margin-bottom:0}.chat-message span{color:var(--muted);font-size:.72rem;font-weight:700}.chat-message p{width:fit-content;max-width:min(100%,680px);border:1px solid var(--border);border-radius:8px;background:#fff;padding:.64rem .78rem;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.88rem;line-height:1.65}.chat-message.user{align-items:flex-end}.chat-message.user p{border-color:var(--accent);background:var(--accent);color:#fff}.chat-form,.theme-form-row{display:grid;gap:.6rem}.chat-form{grid-template-columns:minmax(0,1fr) auto;margin-top:.85rem}.theme-form-row{grid-template-columns:minmax(0,1fr) auto auto}.password-field{position:relative;min-width:0}.password-field input{padding-right:3.8rem}.password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);width:3rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--accent);padding:.32rem 0;font-size:.76rem;line-height:1}.password-toggle:hover:not(:disabled){background:var(--accent-soft)}.chat-form button,.draft-panel button,.interview-panel button[type=submit],.theme-form button{border:0;border-radius:6px;background:var(--accent);color:#fff;padding:.68rem 1.05rem;font-size:.88rem;font-weight:700;cursor:pointer}.chat-form button:hover:not(:disabled),.draft-panel button:hover:not(:disabled),.interview-panel button[type=submit]:hover:not(:disabled),.theme-form button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button,.theme-form .secondary-button{border:1px solid var(--border);background:#fff;color:var(--text)}.secondary-button:hover:not(:disabled),.theme-form .secondary-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chat-error{color:var(--danger);font-size:.8rem;margin-top:.6rem}.section{margin-bottom:46px}.section:last-of-type{margin-bottom:0}.section-title{display:flex;align-items:center;gap:.55rem;color:var(--accent);font-size:.92rem;font-weight:800;letter-spacing:0;margin-bottom:1rem}.section-title:before{content:"";display:block;width:.55rem;height:.55rem;border-radius:999px;background:var(--accent)}.career{display:flex;flex-direction:column;gap:.85rem}.career-item{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1.35rem;border:1px solid var(--border);border-radius:8px;background:var(--card);padding:1rem 1.1rem;box-shadow:0 1px 0 rgba(29,36,51,.02);transition:border-color .15s,box-shadow .15s,transform .15s}.career-item:hover{border-color:#c9d4e6;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.career-period{color:var(--muted);font-size:.75rem;font-weight:600}.career-body h3{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.5}.career-body p,.career-desc{color:var(--muted);font-size:.84rem}.career-desc{margin-top:.35rem}.skill-group{display:flex;flex-direction:column;border-top:1px solid var(--border);background:rgba(255,255,255,.42);border-radius:8px;overflow:hidden}.skill-group,.skill-row{border-bottom:1px solid var(--border)}.skill-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:1rem;align-items:start;padding:.85rem 1rem}.skill-row:last-child{border-bottom:0}.skill-label{color:var(--muted);font-size:.78rem;font-weight:700}.skills{display:flex;flex-wrap:wrap;gap:.42rem}.skill,.skill-etc{border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4}.skill{background:var(--accent-soft);color:var(--accent);padding:.26rem .76rem}.skill-etc{color:var(--muted);padding:.26rem 0}.presentation-list{display:flex;flex-direction:column;gap:.65rem;list-style:none}.presentation-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;background:var(--card);color:var(--text);padding:.78rem 1rem;font-size:.88rem;box-shadow:0 1px 0 rgba(29,36,51,.02)}.presentation-date{flex-shrink:0;color:var(--muted);font-size:.72rem}.link-btn{display:inline-block;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);text-decoration:none;padding:.42rem 1rem;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.link-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.atcoder-graphs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.atcoder-graphs figure{min-width:0}.atcoder-graphs img{display:block;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 1px 0 rgba(29,36,51,.02)}.atcoder-graphs figcaption{text-align:center;margin-top:.4rem}.atcoder-graphs figcaption,footer{color:var(--muted);font-size:.75rem}footer{border-top:1px solid var(--border);margin-top:52px;padding-top:1.5rem}.profile-admin{margin-bottom:64px}.profile-admin-heading{margin-bottom:1.35rem}.admin-login{max-width:560px}.theme-form{margin-bottom:1rem}.interview-panel label,.interview-question span,.profile-preview-heading span,.theme-form label{display:block;color:var(--muted);font-size:.74rem;font-weight:700;margin-bottom:.35rem}.profile-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.draft-panel,.interview-panel,.profile-preview{border:1px solid var(--border);border-radius:8px;background:var(--card);padding:1rem}.interview-question{margin-bottom:1rem}.interview-panel label+textarea{margin-bottom:.75rem}.draft-panel button,.interview-panel button[type=submit]{width:100%;margin-top:.75rem}.save-status{color:var(--success);font-size:.8rem;margin-top:.6rem}.profile-preview{grid-column:1/-1;max-height:720px;overflow:hidden}.profile-preview pre{max-height:650px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.6}@media (max-width:700px){header{font-size:.95rem;padding:.75rem 1.25rem}.container{padding:36px 1.15rem 44px}.content-stack,.tomita-gpt{padding:1rem}.tomita-gpt{margin-bottom:1rem}.tomita-gpt-heading{flex-direction:column;align-items:flex-start;gap:.8rem}.profile-admin-heading h1,.tomita-gpt-heading h1{font-size:1.24rem}.atcoder-graphs,.career-item,.chat-form,.profile-admin-grid,.skill-row,.theme-form-row{grid-template-columns:1fr}.chat-form button,.theme-form button{width:100%}.section{margin-bottom:42px}.career-item{gap:.35rem;padding:.95rem}.presentation-list li{flex-direction:column;align-items:flex-start;gap:.25rem}}